JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.4.2 v3.4.2
authorJason Woofenden <jason@jasonwoof.com>
Mon, 26 Sep 2011 04:50:57 +0000 (00:50 -0400)
committerJason Woofenden <jason@jasonwoof.com>
Mon, 26 Sep 2011 04:50:57 +0000 (00:50 -0400)
161 files changed:
CHANGES.html
_samples/api.html
_samples/assets/output_for_flash.fla [new file with mode: 0644]
_samples/assets/output_for_flash.swf [new file with mode: 0644]
_samples/assets/swfobject.js [new file with mode: 0644]
_samples/index.html
_samples/output_for_flash.html [new file with mode: 0644]
_source/core/_bootstrap.js
_source/core/ajax.js
_source/core/ckeditor.js
_source/core/ckeditor_base.js
_source/core/ckeditor_basic.js
_source/core/command.js
_source/core/commanddefinition.js
_source/core/config.js
_source/core/dataprocessor.js
_source/core/dom.js
_source/core/dom/documentfragment.js
_source/core/dom/domobject.js
_source/core/dom/element.js
_source/core/dom/elementpath.js
_source/core/dom/nodelist.js
_source/core/dom/range.js
_source/core/dom/rangelist.js
_source/core/dom/walker.js
_source/core/dtd.js
_source/core/editor.js
_source/core/editor_basic.js
_source/core/env.js
_source/core/event.js
_source/core/eventInfo.js
_source/core/focusmanager.js
_source/core/htmlparser.js
_source/core/htmlparser/fragment.js
_source/core/imagecacher.js
_source/core/lang.js
_source/core/loader.js
_source/core/scriptloader.js
_source/core/skins.js
_source/core/tools.js
_source/lang/_translationstatus.txt
_source/lang/fi.js
_source/lang/uk.js
_source/plugins/a11yhelp/dialogs/a11yhelp.js
_source/plugins/autogrow/plugin.js
_source/plugins/basicstyles/plugin.js
_source/plugins/bidi/plugin.js
_source/plugins/button/plugin.js
_source/plugins/clipboard/dialogs/paste.js
_source/plugins/clipboard/plugin.js
_source/plugins/colorbutton/plugin.js
_source/plugins/colordialog/dialogs/colordialog.js
_source/plugins/contextmenu/plugin.js
_source/plugins/dialog/plugin.js
_source/plugins/dialogadvtab/plugin.js
_source/plugins/dialogui/plugin.js
_source/plugins/div/dialogs/div.js
_source/plugins/div/plugin.js
_source/plugins/domiterator/plugin.js
_source/plugins/editingblock/plugin.js
_source/plugins/enterkey/plugin.js
_source/plugins/entities/plugin.js
_source/plugins/filebrowser/plugin.js
_source/plugins/find/dialogs/find.js
_source/plugins/flash/plugin.js
_source/plugins/floatpanel/plugin.js
_source/plugins/forms/dialogs/button.js
_source/plugins/forms/dialogs/checkbox.js
_source/plugins/forms/dialogs/radio.js
_source/plugins/forms/plugin.js
_source/plugins/htmldataprocessor/plugin.js
_source/plugins/htmlwriter/plugin.js
_source/plugins/iframedialog/plugin.js
_source/plugins/image/dialogs/image.js
_source/plugins/indent/plugin.js
_source/plugins/justify/plugin.js
_source/plugins/keystrokes/plugin.js
_source/plugins/link/dialogs/link.js
_source/plugins/list/plugin.js
_source/plugins/listblock/plugin.js
_source/plugins/liststyle/dialogs/liststyle.js
_source/plugins/maximize/plugin.js
_source/plugins/menu/plugin.js
_source/plugins/newpage/plugin.js
_source/plugins/panel/plugin.js
_source/plugins/panelbutton/plugin.js
_source/plugins/pastefromword/filter/default.js
_source/plugins/popup/plugin.js
_source/plugins/removeformat/plugin.js
_source/plugins/resize/plugin.js
_source/plugins/richcombo/plugin.js
_source/plugins/scayt/dialogs/options.js
_source/plugins/scayt/plugin.js
_source/plugins/selection/plugin.js
_source/plugins/showblocks/plugin.js
_source/plugins/smiley/dialogs/smiley.js
_source/plugins/sourcearea/plugin.js
_source/plugins/specialchar/dialogs/specialchar.js
_source/plugins/styles/plugin.js
_source/plugins/stylescombo/plugin.js
_source/plugins/tab/plugin.js
_source/plugins/table/dialogs/table.js
_source/plugins/table/plugin.js
_source/plugins/tableresize/plugin.js
_source/plugins/tabletools/plugin.js
_source/plugins/templates/dialogs/templates.js
_source/plugins/templates/plugin.js
_source/plugins/toolbar/plugin.js
_source/plugins/uicolor/lang/he.js [new file with mode: 0644]
_source/plugins/uicolor/plugin.js
_source/plugins/undo/plugin.js
_source/plugins/wysiwygarea/plugin.js
_source/skins/kama/dialog.css
_source/skins/kama/menu.css
_source/skins/kama/skin.js
_source/skins/office2003/dialog.css
_source/skins/office2003/menu.css
_source/skins/office2003/skin.js
_source/skins/v2/dialog.css
_source/skins/v2/menu.css
_source/skins/v2/skin.js
_source/themes/default/theme.js
ckeditor.asp
ckeditor.js
ckeditor_basic.js
ckeditor_basic_source.js
ckeditor_php4.php
ckeditor_php5.php
ckeditor_source.js
contents.css
lang/_translationstatus.txt
lang/fi.js
lang/uk.js
plugins/a11yhelp/dialogs/a11yhelp.js
plugins/autogrow/plugin.js
plugins/colordialog/dialogs/colordialog.js
plugins/find/dialogs/find.js
plugins/forms/dialogs/button.js
plugins/forms/dialogs/checkbox.js
plugins/iframedialog/plugin.js
plugins/image/dialogs/image.js
plugins/link/dialogs/link.js
plugins/liststyle/dialogs/liststyle.js
plugins/pastefromword/filter/default.js
plugins/scayt/dialogs/options.js
plugins/smiley/dialogs/smiley.js
plugins/table/dialogs/table.js
plugins/tableresize/plugin.js
plugins/templates/dialogs/templates.js
plugins/uicolor/lang/he.js [new file with mode: 0644]
plugins/uicolor/plugin.js
skins/kama/dialog.css
skins/kama/editor.css
skins/kama/skin.js
skins/office2003/dialog.css
skins/office2003/editor.css
skins/office2003/skin.js
skins/v2/dialog.css
skins/v2/editor.css
skins/v2/skin.js
themes/default/theme.js

index cb79908..6cb8397 100644 (file)
@@ -35,6 +35,76 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                CKEditor Changelog\r
        </h1>\r
        <h3>\r
+                       CKEditor 3.4.2</h3>\r
+       <p>\r
+                       New features:</p>\r
+       <ul>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5024">#5024</a> : Added a sample that shows how to output HTML that is valid for Flash.</li>\r
+       </ul>\r
+       <p>\r
+                       Fixed issues:</p>\r
+       <ul>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5237">#5237</a> : English text in dialogs' title was flipped when using RTL language (office2003 and v2 skins).</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6289">#6289</a> : Deleting nested table removed the parent cell.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6341">#6341</a> : The editor contents now have the text cursor.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6153">#6153</a> : Chrome: tab focus is wrong.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6261">#6261</a> : Focus and infinite loop between multiple editors.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6170">#6170</a> : Dedicated class names are removed from floating panels when opening another panel.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6339">#6339</a> : Autogrow plugin now doesn't work on maximized editors.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6237">#6237</a> : BIDI: Applying same language direction to all paragraphs not working.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6353">#6353</a> : [IE] Resize was broken with office2003 and v2 skins.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6375">#6375</a> : Avoiding errors when hiding the editor after the blur event.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6133">#6133</a> : Styled paragraphs result on buggy list creation.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5074">#5074</a> : Link target is not removed when changing to popup.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6408">#6408</a> : [IE] Autogrow now works correctly on Quirks.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6420">#6420</a> : [IE] The table properties dialog now correctly retrieves the caption text.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6141">#6141</a> : It was impossible to outdent a list when indentOffset was set to 0.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6377">#6377</a> : FF width and height are not shown for smiley in Image properties dialog.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5399">#5399</a> : Lists pasted from Word do not maintain their nesting.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6225">#6225</a> : [FF] Cannot transform several lines to list with enterMode BR.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6467">#6467</a> : [FF] It is now possible to disable the plugin command on "mode" event.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6461">#6461</a> : Attributes are now being kept when changing block formatting.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6226">#6226</a> : BIDI: Language direction applied to a Paragraph is removed when we apply one of Paragraph formatting options.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5395">#5395</a> : [Opera] Native context menu incorrectly opened after Opera 10.2.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6444">#6444</a> : [Opera] Close panels and dialogs don't return focus to wysiwyg frame.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6332">#6332</a> : IE: V2 skin bottom dialog's border broken.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5646">#5646</a> : Parser incorrectly removes inline element when there's only one comment node enclosed.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6189">#6189</a> : Minor code size reduction.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5045">#5045</a> : uiColor behaved wrong if multiple editors were used with period in their names.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5766">#5766</a> : Config entry "ignoreEmptyParagraph" should only remove one single empty paragraph in document.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5931">#5931</a> : Unable to apply inline style because of nested elements with same style name.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6083">#6083</a> : Dialog close sometimes cause collapsed editor selection before the insertion.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6253">#6253</a> : BIDI: creating a Numbered/Bulleted list causing improper behavior on bidi.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/4023">#4023</a> : [Opera] Maximize plugin.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6403">#6403</a> : [Opera] Font name options are not correctly marked in dropdown list.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/4534">#4534</a> : [Opera] Arrow key to navigate through combo list has side effects of window scrolling.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6534">#6534</a> : [Opera] Menu key brings up both CKEditor and browser context menu.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6534">#6534</a> : [Opera] Menu key brings up both CKEditor and browser context menu.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6416">#6416</a> : [IE9] Unable to make text selection with mouse in source area.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6417">#6417</a> : [IE9] Context menu opens at the upper-left corner always.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6501">#6501</a> : [IE9] Context menu item layout is broken.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6099">#6099</a> : BIDI: when we apply explicit language direction to Numbered/Bulleted List the corresponding BIDI Tool bar icon is not highlighted in the Toolbar.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6100">#6100</a> : BIDI: when we change Table language direction indentation of text in Table cells is not applied correctly.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6376">#6376</a> : BIDI: buttons should not toggle the base language direction.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6235">#6235</a> : BIDI: Applying direction to multi-paragraph selection within a div.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6187">#6187</a> : [IE6] Multi-instance loading produces 404s on background images.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5446">#5446</a> : Setting config.filebrowserImageBrowseUrl results in displaying also Browser Server on links.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5626">#5626</a> : CKeditor 3.2.1 : html content attached makes ckeditor crash the browser FF/IE.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6508">#6508</a> : BiDi: Margin mirroring logic doesn't honor CSS direction.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6043">#6043</a> : BIDI: When we apply RTL direction to a right aligned Paragraph, Paragraph is not moved to the left & Alignment of Paragraph is not changed.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6485">#6485</a> : BIDI: When direction is applied on partial selected list, the style is been incorrectly applied to the entire list.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6087">#6087</a> : Cursor of input fields in dialog isn't visible in RTL.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5595">#5595</a> : Extra leading spaces added in preformatted block.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/6094">#6094</a> : Match full word option doesn't stop on block boundaries.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5730">#5730</a> : [Safari] Continual pastes (holding paste key) breaks document contents.</li>\r
+               <li><a href="http://dev.ckeditor.com/ticket/5850">#5850</a> : [IE] Inline style misbehaviors at the beginning of numbered/bulleted list.</li>\r
+               <li>Updated the following language files:<ul>\r
+                       <li><a href="http://dev.ckeditor.com/ticket/6427">#6427</a> : Ukrainian;</li>\r
+                       <li><a href="http://dev.ckeditor.com/ticket/6464">#6464</a> : Finnish;</li>\r
+                       <li>Hebrew;</li>\r
+               </ul></li>\r
+       </ul>\r
+       <h3>\r
                        CKEditor 3.4.1</h3>\r
        <p>\r
                        New features:</p>\r
index f853350..05f5b46 100644 (file)
@@ -59,7 +59,7 @@ function GetContents()
        alert( oEditor.getData() );\r
 }\r
 \r
-function ExecuteCommand(commandName)\r
+function ExecuteCommand( commandName )\r
 {\r
        // Get the editor instance that we want to interact with.\r
        var oEditor = CKEDITOR.instances.editor1;\r
@@ -109,7 +109,7 @@ function ResetDirty()
        </div>\r
        <form action="sample_posteddata.php" method="post">\r
                <p>\r
-                       This sample shows how to use the CKeditor JavaScript API to interact with the editor\r
+                       This sample shows how to use the CKEditor JavaScript API to interact with the editor\r
                        at runtime.</p>\r
                <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>\r
 \r
diff --git a/_samples/assets/output_for_flash.fla b/_samples/assets/output_for_flash.fla
new file mode 100644 (file)
index 0000000..27e68cc
Binary files /dev/null and b/_samples/assets/output_for_flash.fla differ
diff --git a/_samples/assets/output_for_flash.swf b/_samples/assets/output_for_flash.swf
new file mode 100644 (file)
index 0000000..dbe17b6
Binary files /dev/null and b/_samples/assets/output_for_flash.swf differ
diff --git a/_samples/assets/swfobject.js b/_samples/assets/swfobject.js
new file mode 100644 (file)
index 0000000..ef6d3b7
--- /dev/null
@@ -0,0 +1,18 @@
+/**\r
+ * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/\r
+ *\r
+ * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:\r
+ * http://www.opensource.org/licenses/mit-license.php\r
+ *\r
+ */\r
+/*\r
+Copyright (c) 2007 Geoff Stearns\r
+\r
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\r
+\r
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\r
+\r
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ */\r
+/*jsl:ignoreall*/\r
+if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;\r
index 679914b..3520811 100644 (file)
@@ -41,6 +41,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                <li><a href="jqueryadapter.html">jQuery adapter example</a></li>\r
                <li><a href="output_xhtml.html">Output XHTML</a></li>\r
                <li><a href="output_html.html">Output HTML</a></li>\r
+               <li><a href="output_for_flash.html">Output for Flash</a></li>\r
                <li><a href="autogrow.html">AutoGrow plugin</a></li>\r
        </ul>\r
        <div id="footer">\r
diff --git a/_samples/output_for_flash.html b/_samples/output_for_flash.html
new file mode 100644 (file)
index 0000000..67d1668
--- /dev/null
@@ -0,0 +1,257 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
+<!--\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+-->\r
+<html xmlns="http://www.w3.org/1999/xhtml">\r
+<head>\r
+       <title>Output for Flash</title>\r
+       <meta content="text/html; charset=utf-8" http-equiv="content-type" />\r
+       <script type="text/javascript" src="../ckeditor.js"></script>\r
+       <script src="sample.js" type="text/javascript"></script>\r
+       <link href="sample.css" rel="stylesheet" type="text/css" />\r
+       <script type="text/javascript" src="assets/swfobject.js"></script>\r
+       <script type="text/javascript">\r
+function sendToFlash()\r
+{\r
+       var html = CKEDITOR.instances.editor1.getData() ;\r
+       var flash = document.getElementById( 'ckFlash' ) ;\r
+       flash.setData( html ) ;\r
+}\r
+\r
+function init()\r
+{\r
+       var so = new SWFObject("assets/output_for_flash.swf", "ckFlash", "550", "400", "8", "#ffffff") ;\r
+       so.addParam("wmode", "transparent");\r
+       so.write("ckFlashContainer") ;\r
+}\r
+       </script>\r
+       </head>\r
+<body onload="init()">\r
+       <h1>\r
+               CKEditor Sample\r
+       </h1>\r
+       <!-- This <div> holds alert messages to be display in the sample page. -->\r
+       <div id="alerts">\r
+               <noscript>\r
+                       <p>\r
+                               <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript\r
+                               support, like yours, you should still see the contents (HTML data) and you should\r
+                               be able to edit it normally, without a rich editor interface.\r
+                       </p>\r
+               </noscript>\r
+       </div>\r
+\r
+       <div>\r
+               This sample shows CKEditor configured to produce HTML code that can be used with\r
+               <a href="http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000922.html">\r
+                       Flash</a>.\r
+       </div>\r
+       <hr />\r
+       <table width="100%" cellpadding="0" cellspacing="0">\r
+               <tr>\r
+                       <td style="width: 100%">\r
+                       <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;b&gt;sample text&lt;/b&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea>\r
+                       <script type="text/javascript">\r
+                       //<![CDATA[\r
+\r
+                               if ( document.location.protocol == 'file:' )\r
+                                       alert( 'Warning: This samples does not work when loaded from local filesystem due to security restrictions implemented in Flash.' +\r
+                                                                       '\n\nPlease load the sample from a web server instead.') ;\r
+\r
+                               CKEDITOR.replace( 'editor1',\r
+                                       {\r
+                                               height : 300,\r
+                                               width : '100%',\r
+                                               toolbar : [\r
+                                                               ['Source','-','Bold','Italic','Underline','-','BulletedList','-','Link','Unlink'],\r
+                                                               ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],\r
+                                                               '/',\r
+                                                               ['Font','FontSize','-','TextColor','-','About']\r
+                                                       ],\r
+\r
+                                               /*\r
+                                                * Style sheet for the contents\r
+                                                */\r
+                                               contentsCss : 'body {color:#000; background-color#FFF; font-family: Arial; font-size:80%;} p, ol, ul {margin-top: 0px; margin-bottom: 0px;}',\r
+\r
+                                               /*\r
+                                                * Quirks doctype\r
+                                                */\r
+                                               docType : '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">',\r
+\r
+                                               /*\r
+                                                * Core styles.\r
+                                                */\r
+                                               coreStyles_bold : { element : 'b' },\r
+                                               coreStyles_italic       : { element : 'i' },\r
+                                               coreStyles_underline    : { element : 'u'},\r
+\r
+                                               /*\r
+                                                * Font face\r
+                                                */\r
+                                               // Define the way font elements will be applied to the document. The "font"\r
+                                               // element will be used.\r
+                                               font_style :\r
+                                               {\r
+                                                               element         : 'font',\r
+                                                               attributes              : { 'face' : '#(family)' }\r
+                                               },\r
+\r
+                                               /*\r
+                                                * Font sizes.\r
+                                                * The CSS part of the font sizes isn't used by Flash, it is there to get the\r
+                                                * font rendered correctly in CKEditor.\r
+                                                */\r
+                                               fontSize_sizes : '8px/8;9px/9;10px/10;11px/11;12px/12;14px/14;16px/16;18px/18;20px/20;22px/22;24px/24;26px/26;28px/28;36px/36;48px/48;72px/72',\r
+                                               fontSize_style :\r
+                                                       {\r
+                                                               element         : 'font',\r
+                                                               attributes      : { 'size' : '#(size)' },\r
+                                                               styles          : { 'font-size' : '#(size)px' }\r
+                                                       } ,\r
+\r
+                                               /*\r
+                                                * Font colors.\r
+                                                */\r
+                                               colorButton_enableMore : true,\r
+\r
+                                               colorButton_foreStyle :\r
+                                                       {\r
+                                                               element : 'font',\r
+                                                               attributes : { 'color' : '#(color)' }\r
+                                                       },\r
+\r
+                                               colorButton_backStyle :\r
+                                                       {\r
+                                                               element : 'font',\r
+                                                               styles  : { 'background-color' : '#(color)' }\r
+                                                       },\r
+\r
+\r
+                                               on : { 'instanceReady' : configureFlashOutput }\r
+                                       });\r
+\r
+/*\r
+ * Adjust the behavior of the dataProcessor to match the\r
+ * requirements of Flash\r
+ */\r
+function configureFlashOutput( ev )\r
+{\r
+       var editor = ev.editor,\r
+               dataProcessor = editor.dataProcessor,\r
+               htmlFilter = dataProcessor && dataProcessor.htmlFilter;\r
+\r
+       // Out self closing tags the HTML4 way, like <br>.\r
+       dataProcessor.writer.selfClosingEnd = '>';\r
+\r
+       // Make output formatting match Flash expectations\r
+       var dtd = CKEDITOR.dtd;\r
+       for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) )\r
+       {\r
+               dataProcessor.writer.setRules( e,\r
+                       {\r
+                               indent : false,\r
+                               breakBeforeOpen : false,\r
+                               breakAfterOpen : false,\r
+                               breakBeforeClose : false,\r
+                               breakAfterClose : false\r
+                       });\r
+       }\r
+       dataProcessor.writer.setRules( 'br',\r
+               {\r
+                       indent : false,\r
+                       breakBeforeOpen : false,\r
+                       breakAfterOpen : false,\r
+                       breakBeforeClose : false,\r
+                       breakAfterClose : false\r
+               });\r
+\r
+       // Output properties as attributes, not styles.\r
+       htmlFilter.addRules(\r
+               {\r
+                       elements :\r
+                       {\r
+                               $ : function( element )\r
+                               {\r
+                                       var style, match, width, height, align;\r
+\r
+                                       // Output dimensions of images as width and height\r
+                                       if ( element.name == 'img' )\r
+                                       {\r
+                                               style = element.attributes.style;\r
+\r
+                                               if ( style )\r
+                                               {\r
+                                                       // Get the width from the style.\r
+                                                       match = /(?:^|\s)width\s*:\s*(\d+)px/i.exec( style );\r
+                                                       width = match && match[1];\r
+\r
+                                                       // Get the height from the style.\r
+                                                       match = /(?:^|\s)height\s*:\s*(\d+)px/i.exec( style );\r
+                                                       height = match && match[1];\r
+\r
+                                                       if ( width )\r
+                                                       {\r
+                                                               element.attributes.style = element.attributes.style.replace( /(?:^|\s)width\s*:\s*(\d+)px;?/i , '' );\r
+                                                               element.attributes.width = width;\r
+                                                       }\r
+\r
+                                                       if ( height )\r
+                                                       {\r
+                                                               element.attributes.style = element.attributes.style.replace( /(?:^|\s)height\s*:\s*(\d+)px;?/i , '' );\r
+                                                               element.attributes.height = height;\r
+                                                       }\r
+                                               }\r
+                                       }\r
+\r
+                                       // Output alignment of paragraphs using align\r
+                                       if ( element.name == 'p' )\r
+                                       {\r
+                                               style = element.attributes.style;\r
+\r
+                                               if ( style )\r
+                                               {\r
+                                                       // Get the align from the style.\r
+                                                       match = /(?:^|\s)text-align\s*:\s*(\w*);?/i.exec( style );\r
+                                                       align = match && match[1];\r
+\r
+                                                       if ( align )\r
+                                                       {\r
+                                                               element.attributes.style = element.attributes.style.replace( /(?:^|\s)text-align\s*:\s*(\w*);?/i , '' );\r
+                                                               element.attributes.align = align;\r
+                                                       }\r
+                                               }\r
+                                       }\r
+\r
+                                       if ( element.attributes.style == '' )\r
+                                               delete element.attributes.style;\r
+\r
+                                       return element;\r
+                               }\r
+                       }\r
+\r
+               } );\r
+}\r
+\r
+                       //]]>\r
+                       </script>\r
+                               <input type="button" value="Send to Flash" onclick="sendToFlash();" />\r
+                       </td>\r
+                       <td valign="top" style="padding-left: 15px" id="ckFlashContainer">\r
+                       </td>\r
+               </tr>\r
+       </table>\r
+\r
+       <div id="footer">\r
+               <hr />\r
+               <p>\r
+                       CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>\r
+               </p>\r
+               <p id="copy">\r
+                       Copyright &copy; 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico\r
+                       Knabben. All rights reserved.\r
+               </p>\r
+       </div>\r
+</body>\r
+</html>\r
index f351ce6..f6ba4d6 100644 (file)
@@ -66,9 +66,7 @@ CKEDITOR.plugins.load( CKEDITOR.config.corePlugins.split( ',' ), function()
                }\r
        });\r
 \r
-/*\r
-TODO: Enable the following and check if effective.\r
-\r
+// Needed for IE6 to not request image (HTTP 200 or 304) for every CSS background. (#6187)\r
 if ( CKEDITOR.env.ie )\r
 {\r
        // Remove IE mouse flickering on IE6 because of background images.\r
@@ -82,7 +80,14 @@ if ( CKEDITOR.env.ie )
                // line. For safety, let's just ignore errors.\r
        }\r
 }\r
-*/\r
+\r
+/**\r
+ * Indicates that CKEditor is running on a High Contrast environment.\r
+ * @name CKEDITOR.env.hc\r
+ * @example\r
+ * if ( CKEDITOR.env.hc )\r
+ *     alert( 'You're running on High Contrast mode. The editor interface will get adapted to provide you a better experience.' );\r
+ */\r
 \r
 /**\r
  * Fired when a CKEDITOR core object is fully loaded and ready for interaction.\r
index 078c15a..fccfd6a 100644 (file)
@@ -9,8 +9,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 \r
 /**\r
- * Ajax methods for data loading.\r
- * @namespace\r
+ * @namespace Ajax methods for data loading.\r
  * @example\r
  */\r
 CKEDITOR.ajax = (function()\r
index 068da31..59f76b7 100644 (file)
@@ -106,8 +106,28 @@ CKEDITOR.TRISTATE_OFF = 2;
 CKEDITOR.TRISTATE_DISABLED = 0;\r
 \r
 /**\r
+ * The editor which is currently active (have user focus).\r
+ * @name CKEDITOR.currentInstance\r
+ * @type CKEDITOR.editor\r
+ * @see CKEDITOR#currentInstance\r
+ * @example\r
+ * function showCurrentEditorName()\r
+ * {\r
+ *     if ( CKEDITOR.currentInstance )\r
+ *         alert( CKEDITOR.currentInstance.name );\r
+ *     else\r
+ *         alert( 'Please focus an editor first.' );\r
+ * }\r
+ */\r
+\r
+/**\r
  * Fired when the CKEDITOR.currentInstance object reference changes. This may\r
  * happen when setting the focus on different editor instances in the page.\r
  * @name CKEDITOR#currentInstance\r
  * @event\r
+ * var editor;  // Variable to hold a reference to the current editor.\r
+ * CKEDITOR.on( 'currentInstance' , function( e )\r
+ *     {\r
+ *         editor = CKEDITOR.currentInstance;\r
+ *     });\r
  */\r
index 75d2d0e..ded7e9e 100644 (file)
@@ -12,7 +12,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 // Must be updated on changes in the script, as well as updated in the\r
 // ckeditor_source.js and ckeditor_basic_source.js files.\r
 \r
-// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.4.1',rev:'5892',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();\r
+// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.4.2',rev:'6041',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();\r
 \r
 // #### Raw code\r
 // ATTENTION: read the above "Compressed Code" notes when changing this code.\r
@@ -20,9 +20,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 if ( !window.CKEDITOR )\r
 {\r
        /**\r
-        * This is the API entry point. The entire CKEditor code runs under this object.\r
         * @name CKEDITOR\r
-        * @namespace\r
+        * @namespace This is the API entry point. The entire CKEditor code runs under this object.\r
         * @example\r
         */\r
        window.CKEDITOR = (function()\r
@@ -43,24 +42,25 @@ if ( !window.CKEDITOR )
                        // The production implementation contains a fixed timestamp, unique\r
                        // for each release, generated by the releaser.\r
                        // (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122)\r
-                       timestamp : 'A8LE4JO',\r
+                       timestamp : 'AA4E4NT',\r
 \r
                        /**\r
                         * Contains the CKEditor version number.\r
                         * @type String\r
                         * @example\r
-                        * alert( CKEDITOR.version );  // e.g. 'CKEditor 3.0 Beta'\r
+                        * alert( CKEDITOR.version );  // e.g. 'CKEditor 3.4.1'\r
                         */\r
-                       version : '3.4.1',\r
+                       version : '3.4.2',\r
 \r
                        /**\r
                         * Contains the CKEditor revision number.\r
-                        * Revision number is incremented automatically after each modification of CKEditor source code.\r
+                        * The revision number is incremented automatically, following each\r
+                        * modification to the CKEditor source code.\r
                         * @type String\r
                         * @example\r
                         * alert( CKEDITOR.revision );  // e.g. '3975'\r
                         */\r
-                       revision : '5892',\r
+                       revision : '6041',\r
 \r
                        /**\r
                         * Private object used to hold core stuff. It should not be used out of\r
@@ -142,12 +142,15 @@ if ( !window.CKEDITOR )
                        /**\r
                         * Gets the full URL for CKEditor resources. By default, URLs\r
                         * returned by this function contains a querystring parameter ("t")\r
-                        * set to the {@link CKEDITOR.timestamp} value.\r
+                        * set to the {@link CKEDITOR.timestamp} value.<br />\r
+                        * <br />\r
                         * It's possible to provide a custom implementation to this\r
                         * function by setting a global variable named CKEDITOR_GETURL.\r
                         * This global variable must be set "before" the editor script\r
-                        * loading. If the custom implementation returns nothing, the\r
+                        * loading. If the custom implementation returns nothing (==null), the\r
                         * default implementation is used.\r
+                        * @param {String} resource The resource to which get the full URL.\r
+                        *              It may be a full, absolute or relative URL.\r
                         * @returns {String} The full URL.\r
                         * @example\r
                         * // e.g. http://www.example.com/ckeditor/skins/default/editor.css?t=87dm\r
index 239aca0..a2ef2cb 100644 (file)
@@ -29,7 +29,7 @@ if ( CKEDITOR.status == 'unloaded' )
                        // If not the basic code is not ready it, just mark it to be loaded.\r
                        if ( CKEDITOR.status != 'basic_ready' )\r
                        {\r
-                               CKEDITOR.loadFullCore._load = true;\r
+                               CKEDITOR.loadFullCore._load = 1;\r
                                return;\r
                        }\r
 \r
@@ -77,7 +77,7 @@ if ( CKEDITOR.status == 'unloaded' )
                 * // Disable the auto-replace feature.\r
                 * <b>CKEDITOR.replaceByClassEnabled</b> = false;\r
                 */\r
-               CKEDITOR.replaceByClassEnabled = true;\r
+               CKEDITOR.replaceByClassEnabled = 1;\r
 \r
                var createInstance = function( elementOrIdOrName, config, creationFunction, data )\r
                {\r
@@ -137,10 +137,7 @@ if ( CKEDITOR.status == 'unloaded' )
                        return createInstance( elementOrId, config, CKEDITOR.editor.appendTo, data );\r
                };\r
 \r
-               /**\r
-                * @ignore\r
-                * Documented at ckeditor.js.\r
-                */\r
+               // Documented at ckeditor.js.\r
                CKEDITOR.add = function( editor )\r
                {\r
                        // For now, just put the editor in the pending list. It will be\r
@@ -174,9 +171,9 @@ if ( CKEDITOR.status == 'unloaded' )
 \r
                        for ( var i = 0 ; i < textareas.length ; i++ )\r
                        {\r
-                               var config = null;\r
-                               var textarea = textareas[i];\r
-                               var name = textarea.name;\r
+                               var config = null,\r
+                                       textarea = textareas[i],\r
+                                       name = textarea.name;\r
 \r
                                // The "name" and/or "id" attribute must exist.\r
                                if ( !textarea.name && !textarea.id )\r
index 0a8d098..3c54807 100644 (file)
@@ -3,10 +3,44 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
+/**\r
+ * Creates a command class instance.\r
+ * @class Represents a command that can be executed on an editor instance.\r
+ * @param {CKEDITOR.editor} editor The editor instance this command will be\r
+ *             related to.\r
+ * @param {CKEDITOR.commandDefinition} commandDefinition The command\r
+ *             definition.\r
+ * @augments CKEDITOR.event\r
+ * @example\r
+ * var command = new CKEDITOR.command( editor,\r
+ *     {\r
+ *         exec : function( editor )\r
+ *         {\r
+ *             alert( editor.document.getBody().getHtml() );\r
+ *         }\r
+ *     });\r
+ */\r
 CKEDITOR.command = function( editor, commandDefinition )\r
 {\r
+       /**\r
+        * Lists UI items that are associated to this command. This list can be\r
+        * used to interact with the UI on command execution (by the execution code\r
+        * itself, for example).\r
+        * @type Array\r
+        * @example\r
+        * alert( 'Number of UI items associated to this command: ' + command.<b>uiItems</b>.length );\r
+        */\r
        this.uiItems = [];\r
 \r
+       /**\r
+        * Executes the command.\r
+        * @param {Object} [data] Any data to pass to the command. Depends on the\r
+        *              command implementation and requirements.\r
+        * @returns {Boolean} A boolean indicating that the command has been\r
+        *      successfully executed.\r
+        * @example\r
+        * command.<b>exec()</b>;  // The command gets executed.\r
+        */\r
        this.exec = function( data )\r
        {\r
                if ( this.state == CKEDITOR.TRISTATE_DISABLED )\r
@@ -20,9 +54,56 @@ CKEDITOR.command = function( editor, commandDefinition )
 \r
        CKEDITOR.tools.extend( this, commandDefinition,\r
                // Defaults\r
+               /** @lends CKEDITOR.command.prototype */\r
                {\r
+                       /**\r
+                        * The editor modes within which the command can be executed. The\r
+                        * execution will have no action if the current mode is not listed\r
+                        * in this property.\r
+                        * @type Object\r
+                        * @default { wysiwyg : 1 }\r
+                        * @see CKEDITOR.editor.prototype.mode\r
+                        * @example\r
+                        * // Enable the command in both WYSIWYG and Source modes.\r
+                        * command.<b>modes</b> = { wysiwyg : 1, source : 1 };\r
+                        * @example\r
+                        * // Enable the command in Source mode only.\r
+                        * command.<b>modes</b> = { source : 1 };\r
+                        */\r
                        modes : { wysiwyg : 1 },\r
-                       editorFocus : true,\r
+\r
+                       /**\r
+                        * Indicates that the editor will get the focus before executing\r
+                        * the command.\r
+                        * @type Boolean\r
+                        * @default true\r
+                        * @example\r
+                        * // Do not force the editor to have focus when executing the command.\r
+                        * command.<b>editorFocus</b> = false;\r
+                        */\r
+                       editorFocus : 1,\r
+\r
+                       /**\r
+                        * Indicates the editor state. Possible values are:\r
+                        * <ul>\r
+                        * <li>{@link CKEDITOR.TRISTATE_DISABLED}: the command is\r
+                        *              disabled. It's execution will have no effect. Same as\r
+                        *              {@link disable}.</li>\r
+                        * <li>{@link CKEDITOR.TRISTATE_ON}: the command is enabled\r
+                        *              and currently active in the editor (for context sensitive commands,\r
+                        *              for example).</li>\r
+                        * <li>{@link CKEDITOR.TRISTATE_OFF}: the command is enabled\r
+                        *              and currently inactive in the editor (for context sensitive\r
+                        *              commands, for example).</li>\r
+                        * </ul>\r
+                        * Do not set this property directly, using the {@link #setState}\r
+                        * method instead.\r
+                        * @type Number\r
+                        * @default {@link CKEDITOR.TRISTATE_OFF}\r
+                        * @example\r
+                        * if ( command.<b>state</b> == CKEDITOR.TRISTATE_DISABLED )\r
+                        *     alert( 'This command is disabled' );\r
+                        */\r
                        state : CKEDITOR.TRISTATE_OFF\r
                });\r
 \r
@@ -32,17 +113,45 @@ CKEDITOR.command = function( editor, commandDefinition )
 \r
 CKEDITOR.command.prototype =\r
 {\r
+       /**\r
+        * Enables the command for execution. The command state (see\r
+        * {@link CKEDITOR.command.prototype.state}) available before disabling it\r
+        * is restored.\r
+        * @example\r
+        * command.<b>enable()</b>;\r
+        * command.exec();    // Execute the command.\r
+        */\r
        enable : function()\r
        {\r
                if ( this.state == CKEDITOR.TRISTATE_DISABLED )\r
                        this.setState( ( !this.preserveState || ( typeof this.previousState == 'undefined' ) ) ? CKEDITOR.TRISTATE_OFF : this.previousState );\r
        },\r
 \r
+       /**\r
+        * Disables the command for execution. The command state (see\r
+        * {@link CKEDITOR.command.prototype.state}) will be set to\r
+        * {@link CKEDITOR.TRISTATE_DISABLED}.\r
+        * @example\r
+        * command.<b>disable()</b>;\r
+        * command.exec();    // "false" - Nothing happens.\r
+        */\r
        disable : function()\r
        {\r
                this.setState( CKEDITOR.TRISTATE_DISABLED );\r
        },\r
 \r
+       /**\r
+        * Sets the command state.\r
+        * @param {Number} newState The new state. See {@link #state}.\r
+        * @returns {Boolean} Returns "true" if the command state changed.\r
+        * @example\r
+        * command.<b>setState( CKEDITOR.TRISTATE_ON )</b>;\r
+        * command.exec();    // Execute the command.\r
+        * command.<b>setState( CKEDITOR.TRISTATE_DISABLED )</b>;\r
+        * command.exec();    // "false" - Nothing happens.\r
+        * command.<b>setState( CKEDITOR.TRISTATE_OFF )</b>;\r
+        * command.exec();    // Execute the command.\r
+        */\r
        setState : function( newState )\r
        {\r
                // Do nothing if there is no state change.\r
@@ -61,6 +170,12 @@ CKEDITOR.command.prototype =
                return true;\r
        },\r
 \r
+       /**\r
+        * Toggles the on/off (active/inactive) state of the command. This is\r
+        * mainly used internally by context sensitive commands.\r
+        * @example\r
+        * command.<b>toggleState()</b>;\r
+        */\r
        toggleState : function()\r
        {\r
                if ( this.state == CKEDITOR.TRISTATE_OFF )\r
@@ -71,3 +186,24 @@ CKEDITOR.command.prototype =
 };\r
 \r
 CKEDITOR.event.implementOn( CKEDITOR.command.prototype, true );\r
+\r
+/**\r
+ * Indicates the preivous command state.\r
+ * @name CKEDITOR.command.prototype.previousState\r
+ * @type Number\r
+ * @see #state\r
+ * @example\r
+ * alert( command.<b>previousState</b> );\r
+ */\r
+\r
+/**\r
+ * Fired when the command state changes.\r
+ * @name CKEDITOR.command#state\r
+ * @event\r
+ * @example\r
+ * command.on( <b>'state'</b> , function( e )\r
+ *     {\r
+ *         // Alerts the new state.\r
+ *         alert( this.state );\r
+ *     });\r
+ */\r
index c451274..e8a172d 100644 (file)
@@ -11,15 +11,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 /**\r
  * (Virtual Class) Do not call this constructor. This class is not really part\r
- *             of the API. It just illustrates the features of command objects to be\r
- *             passed to the {@link CKEDITOR.editor.prototype.addCommand} function.\r
+ * of the API.\r
  * @name CKEDITOR.commandDefinition\r
- * @constructor\r
+ * @class Virtual class that illustrates the features of command objects to be\r
+ *             passed to the {@link CKEDITOR.editor.prototype.addCommand} function.\r
  * @example\r
  */\r
 \r
  /**\r
- * Executes the command.\r
+ * The function to be fired when the commend is executed.\r
  * @name CKEDITOR.commandDefinition.prototype.exec\r
  * @function\r
  * @param {CKEDITOR.editor} editor The editor within which run the command.\r
@@ -38,9 +38,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 /**\r
  * Whether the command need to be hooked into the redo/undo system.\r
- * @name  CKEDITOR.commandDefinition.canUndo\r
- * @type {Boolean} If not defined or 'true' both hook into undo system, set it\r
- *             to 'false' explicitly  keep it out.\r
+ * @name  CKEDITOR.commandDefinition.prototype.canUndo\r
+ * @type {Boolean}\r
+ * @default true\r
  * @field\r
  * @example\r
  * editorInstance.addCommand( 'alertName',\r
@@ -54,18 +54,23 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 \r
 /**\r
- * Whether the command is asynchronous, which means the 'afterCommandExec' event\r
- * will be fired by the command itself manually, and the 'exec' function return value\r
- * of this command is not to be returned.\r
- * @name  CKEDITOR.commandDefinition.async\r
- * @type {Boolean} If defined as 'true', the command is asynchronous.\r
+ * Whether the command is asynchronous, which means that the\r
+ * {@link CKEDITOR.editor#event:afterCommandExec} event will be fired by the\r
+ * command itself manually, and that the return value of this command is not to\r
+ * be returned by the {@link CKEDITOR.command#exec} function.\r
+ * @name  CKEDITOR.commandDefinition.prototype.async\r
+ * @default false\r
+ * @type {Boolean}\r
  * @example\r
- * editorInstance.addCommand( 'alertName',\r
+ * editorInstance.addCommand( 'loadOptions',\r
  * {\r
  *     exec : function( editor )\r
  *     {\r
  *         // Asynchronous operation below.\r
- *         CKEDITOR.ajax.loadXml( 'data.xml' );\r
+ *         CKEDITOR.ajax.loadXml( 'data.xml', function()\r
+ *             {\r
+ *                 editor.fire( 'afterCommandExec' );\r
+ *             ));\r
  *     },\r
  *     async : true    // The command need some time to complete after exec function returns.\r
  * });\r
@@ -73,13 +78,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 /**\r
  * Whether the command should give focus to the editor before execution.\r
- * @name  CKEDITOR.commandDefinition.editorFocus\r
+ * @name  CKEDITOR.commandDefinition.prototype.editorFocus\r
  * @type {Boolean}\r
+ * @default true\r
+ * @see CKEDITOR.command#editorFocus\r
  * @example\r
  * editorInstance.addCommand( 'maximize',\r
  * {\r
  *     exec : function( editor )\r
  *     {\r
+ *         // ...\r
  *     },\r
  *     editorFocus : false    // The command doesn't require focusing the editing document.\r
  * });\r
@@ -88,7 +96,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 /**\r
  * Whether the command state should be set to {@link CKEDITOR.TRISTATE_DISABLED} on startup.\r
- * @name  CKEDITOR.commandDefinition.startDisabled\r
+ * @name  CKEDITOR.commandDefinition.prototype.startDisabled\r
  * @type {Boolean}\r
  * @default false\r
  * @example\r
@@ -96,7 +104,26 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * {\r
  *     exec : function( editor )\r
  *     {\r
+ *         // ...\r
  *     },\r
  *     startDisabled : true    // Command is unavailable until selection is inside a link.\r
  * });\r
  */\r
+\r
+/**\r
+ * The editor modes within which the command can be executed. The execution\r
+ * will have no action if the current mode is not listed in this property.\r
+ * @name  CKEDITOR.commandDefinition.prototype.modes\r
+ * @type Object\r
+ * @default { wysiwyg : 1 }\r
+ * @see CKEDITOR.command#modes\r
+ * @example\r
+ * editorInstance.addCommand( 'link',\r
+ * {\r
+ *     exec : function( editor )\r
+ *     {\r
+ *         // ...\r
+ *     },\r
+ *     modes : { wysiwyg : 1 }    // Command is available in wysiwyg mode only.\r
+ * });\r
+ */\r
index f18c50b..a408d93 100644 (file)
@@ -8,19 +8,34 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * default configuration settings.\r
  */\r
 \r
+/**\r
+ * Used in conjuction with {@link CKEDITOR.config.enterMode} and\r
+ * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce &lt;p&gt;\r
+ * tags when using the ENTER key.\r
+ * @constant\r
+ */\r
 CKEDITOR.ENTER_P       = 1;\r
+\r
+/**\r
+ * Used in conjuction with {@link CKEDITOR.config.enterMode} and\r
+ * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce &lt;br&gt;\r
+ * tags when using the ENTER key.\r
+ * @constant\r
+ */\r
 CKEDITOR.ENTER_BR      = 2;\r
+\r
+/**\r
+ * Used in conjuction with {@link CKEDITOR.config.enterMode} and\r
+ * {@link CKEDITOR.config.shiftEnterMode} to make the editor produce &lt;div&gt;\r
+ * tags when using the ENTER key.\r
+ * @constant\r
+ */\r
 CKEDITOR.ENTER_DIV     = 3;\r
 \r
 /**\r
- * Holds the default configuration settings. Changes to this object are\r
+ * @namespace Holds the default configuration settings. Changes to this object are\r
  * reflected in all editor instances, if not specificaly specified for those\r
  * instances.\r
- * @namespace\r
- * @example\r
- * // All editor created after the following setting will not load custom\r
- * // configuration files.\r
- * CKEDITOR.config.customConfig = '';\r
  */\r
 CKEDITOR.config =\r
 {\r
@@ -56,7 +71,7 @@ CKEDITOR.config =
         * The base href URL used to resolve relative and absolute URLs in the\r
         * editor content.\r
         * @type String\r
-        * @default '' (empty string)\r
+        * @default '' (empty)\r
         * @example\r
         * config.baseHref = 'http://www.example.com/path/';\r
         */\r
@@ -194,19 +209,29 @@ CKEDITOR.config =
 \r
        /**\r
         * Sets the "id" attribute to be used on the body element of the editing\r
-        * area.\r
+        * area. This can be useful when reusing the original CSS file you're using\r
+        * on your live website and you want to assing to the editor the same id\r
+        * you're using for the region that'll hold the contents. In this way,\r
+        * id specific CSS rules will be enabled.\r
         * @since 3.1\r
         * @type String\r
-        * @default ''\r
+        * @default '' (empty)\r
+        * @example\r
+        * config.bodyId = 'contents_id';\r
         */\r
        bodyId : '',\r
 \r
        /**\r
         * Sets the "class" attribute to be used on the body element of the editing\r
-        * area.\r
+        * area. This can be useful when reusing the original CSS file you're using\r
+        * on your live website and you want to assing to the editor the same class\r
+        * name you're using for the region that'll hold the contents. In this way,\r
+        * class specific CSS rules will be enabled.\r
         * @since 3.1\r
         * @type String\r
-        * @default ''\r
+        * @default '' (empty)\r
+        * @example\r
+        * config.bodyClass = 'contents';\r
         */\r
        bodyClass : '',\r
 \r
@@ -387,10 +412,10 @@ CKEDITOR.config =
 };\r
 \r
 /**\r
- * Indicates that some of the editor features, like alignement and text\r
+ * Indicates that some of the editor features, like alignment and text\r
  * direction, should used the "computed value" of the feature to indicate it's\r
- * on/off state, instead of using the "real value".\r
- *\r
+ * on/off state, instead of using the "real value".<br />\r
+ * <br />\r
  * If enabled, in a left to right written document, the "Left Justify"\r
  * alignment button will show as active, even if the aligment style is not\r
  * explicitly applied to the current paragraph in the editor.\r
index cb8fcba..fbd62ce 100644 (file)
@@ -15,18 +15,17 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * Generaly it will point to an instance of {@link CKEDITOR.htmlDataProcessor},\r
  * which handles HTML data. The editor may also handle other data formats by\r
  * using different data processors provided by specific plugins.\r
- * @name CKEDITOR.editor.dataProcessor\r
+ * @name CKEDITOR.editor.prototype.dataProcessor\r
  * @type CKEDITOR.dataProcessor\r
  */\r
 \r
 /**\r
- * Represents a data processor, which is responsible to translate and transform\r
- * the editor data on input and output.\r
- * This class is not really part of the API. It's here for documentation\r
- * purposes, and serves as the base ("interface") for data processors\r
+ * This class is here for documentation purposes only and is not really part of\r
+ * the API. It serves as the base ("interface") for data processors\r
  * implementation.\r
  * @name CKEDITOR.dataProcessor\r
- * @contructor\r
+ * @class Represents a data processor, which is responsible to translate and\r
+ *        transform the editor data on input and output.\r
  * @example\r
  */\r
 \r
index e56f71f..4090ea1 100644 (file)
@@ -9,10 +9,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 \r
 /**\r
- * DOM manipulation objects and function.<br /><br />\r
+ * @namespace DOM manipulation objects, classes and functions.\r
  * @see CKEDITOR.dom.element\r
  * @see CKEDITOR.dom.node\r
- * @namespace\r
  * @example\r
  */\r
 CKEDITOR.dom =\r
index f075562..5b03371 100644 (file)
@@ -2,13 +2,13 @@
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
+\r
 /**\r
- * DocumentFragment is a "lightweight" or "minimal" Document object. It is\r
+ * @class DocumentFragment is a "lightweight" or "minimal" Document object. It is\r
  * commonly used to extract a portion of a document's tree or to create a new\r
  * fragment of a document. Various operations may take DocumentFragment objects\r
  * as arguments and results in all the child nodes of the DocumentFragment being\r
  * moved to the child list of this node.\r
- *\r
  * @param {Object} ownerDocument\r
  */\r
 CKEDITOR.dom.documentFragment = function( ownerDocument )\r
index f10db99..bb029e0 100644 (file)
@@ -84,10 +84,10 @@ CKEDITOR.dom.domObject.prototype = (function()
                        {\r
                                var listener = nativeListeners[ eventName ] = getNativeListener( this, eventName );\r
 \r
-                               if ( this.$.addEventListener )\r
-                                       this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture );\r
-                               else if ( this.$.attachEvent )\r
+                               if ( this.$.attachEvent )\r
                                        this.$.attachEvent( 'on' + eventName, listener );\r
+                               else if ( this.$.addEventListener )\r
+                                       this.$.addEventListener( eventName, listener, !!CKEDITOR.event.useCapture );\r
                        }\r
 \r
                        // Call the original implementation.\r
@@ -107,10 +107,10 @@ CKEDITOR.dom.domObject.prototype = (function()
                                var listener = nativeListeners && nativeListeners[ eventName ];\r
                                if ( listener )\r
                                {\r
-                                       if ( this.$.removeEventListener )\r
-                                               this.$.removeEventListener( eventName, listener, false );\r
-                                       else if ( this.$.detachEvent )\r
+                                       if ( this.$.detachEvent )\r
                                                this.$.detachEvent( 'on' + eventName, listener );\r
+                                       else if ( this.$.removeEventListener )\r
+                                               this.$.removeEventListener( eventName, listener, false );\r
 \r
                                        delete nativeListeners[ eventName ];\r
                                }\r
@@ -128,10 +128,10 @@ CKEDITOR.dom.domObject.prototype = (function()
                        for ( var eventName in nativeListeners )\r
                        {\r
                                var listener = nativeListeners[ eventName ];\r
-                               if ( this.$.removeEventListener )\r
-                                       this.$.removeEventListener( eventName, listener, false );\r
-                               else if ( this.$.detachEvent )\r
+                               if ( this.$.detachEvent )\r
                                        this.$.detachEvent( 'on' + eventName, listener );\r
+                               else if ( this.$.removeEventListener )\r
+                                       this.$.removeEventListener( eventName, listener, false );\r
 \r
                                delete nativeListeners[ eventName ];\r
                        }\r
@@ -238,7 +238,11 @@ CKEDITOR.dom.domObject.prototype = (function()
        };\r
 \r
        /**\r
-        * @name CKEDITOR.dom.domObject.prototype.getCustomData\r
+        * Gets an ID that can be used to identiquely identify this DOM object in\r
+        * the running session.\r
+        * @name CKEDITOR.dom.domObject.prototype.getUniqueId\r
+        * @function\r
+        * @returns {Number} A unique ID.\r
         */\r
        domObjectProto.getUniqueId = function()\r
        {\r
index 77031f0..6c62613 100644 (file)
@@ -88,7 +88,7 @@ CKEDITOR.dom.element.setMarker = function( database, element, name, value )
 CKEDITOR.dom.element.clearAllMarkers = function( database )\r
 {\r
        for ( var i in database )\r
-               CKEDITOR.dom.element.clearMarkers( database, database[i], true );\r
+               CKEDITOR.dom.element.clearMarkers( database, database[i], 1 );\r
 };\r
 \r
 CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatabase )\r
@@ -1170,13 +1170,13 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                function()\r
                                {\r
                                        this.$.style.MozUserSelect = 'none';\r
-                                       this.on( 'dragstart', function (evt) { evt.data.preventDefault(); } );\r
+                                       this.on( 'dragstart', function( evt ) { evt.data.preventDefault(); } );\r
                                }\r
                        : CKEDITOR.env.webkit ?\r
                                function()\r
                                {\r
                                        this.$.style.KhtmlUserSelect = 'none';\r
-                                       this.on( 'dragstart', function (evt) { evt.data.preventDefault(); } );\r
+                                       this.on( 'dragstart', function( evt ) { evt.data.preventDefault(); } );\r
                                }\r
                        :\r
                                function()\r
@@ -1545,12 +1545,20 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype,
                                                if ( isBorderBox && !( CKEDITOR.env.ie && CKEDITOR.env.quirks ) )\r
                                                {\r
                                                        var     adjustment = 0;\r
-                                                       for ( var i = 0, len = sides [ type ].length; i < len; i++ )\r
-                                                               adjustment += parseInt( this.getComputedStyle( sides [ type ][ i ] ) || 0, 10 );\r
+                                                       for ( var i = 0, len = sides[ type ].length; i < len; i++ )\r
+                                                               adjustment += parseInt( this.getComputedStyle( sides [ type ][ i ] ) || 0, 10 ) || 0;\r
                                                        size -= adjustment;\r
                                                }\r
                                                this.setStyle( type, size + 'px' );\r
                                        }\r
                                };\r
-               })()\r
+               })(),\r
+\r
+               /**\r
+                * Gets element's direction. Supports both CSS 'direction' prop and 'dir' attr.\r
+                */\r
+               getDirection : function( useComputed )\r
+               {\r
+                       return useComputed ? this.getComputedStyle( 'direction' ) : this.getStyle( 'direction' ) || this.getAttribute( 'dir' );\r
+               }\r
        });\r
index 3c74a92..835ad10 100644 (file)
@@ -27,6 +27,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                return false;\r
        };\r
 \r
+       /**\r
+        * @class\r
+        */\r
        CKEDITOR.dom.elementPath = function( lastNode )\r
        {\r
                var block = null;\r
index 7e82ba1..c333e89 100644 (file)
@@ -3,6 +3,9 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
+/**\r
+ * @class\r
+ */\r
 CKEDITOR.dom.nodeList = function( nativeList )\r
 {\r
        this.$ = nativeList;\r
index 5846484..b43a82d 100644 (file)
@@ -3,6 +3,9 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
+/**\r
+ * @class\r
+ */\r
 CKEDITOR.dom.range = function( document )\r
 {\r
        this.startContainer     = null;\r
@@ -1300,7 +1303,8 @@ CKEDITOR.dom.range = function( document )
                                        }\r
                                }\r
 \r
-                               var walker = new CKEDITOR.dom.walker( walkerRange );\r
+                               var walker = new CKEDITOR.dom.walker( walkerRange ),\r
+                                       isBookmark = CKEDITOR.dom.walker.bookmark();\r
 \r
                                walker.evaluator = function( node )\r
                                {\r
@@ -1311,6 +1315,9 @@ CKEDITOR.dom.range = function( document )
                                var currentElement;\r
                                walker.guard = function( node, movingOut )\r
                                {\r
+                                       if ( isBookmark( node ) )\r
+                                               return true;\r
+\r
                                        // Stop when we're shrink in element mode while encountering a text node.\r
                                        if ( mode == CKEDITOR.SHRINK_ELEMENT && node.type == CKEDITOR.NODE_TEXT )\r
                                                return false;\r
@@ -1429,7 +1436,7 @@ CKEDITOR.dom.range = function( document )
                        // Fixing invalid range end inside dtd empty elements.\r
                        if( endNode.type == CKEDITOR.NODE_ELEMENT\r
                                && CKEDITOR.dtd.$empty[ endNode.getName() ] )\r
-                               endNode = endNode.getParent(), endOffset = endNode.getIndex() + 1;\r
+                               endOffset = endNode.getIndex() + 1, endNode = endNode.getParent();\r
 \r
                        this.endContainer       = endNode;\r
                        this.endOffset          = endOffset;\r
@@ -1864,17 +1871,13 @@ CKEDITOR.ENLARGE_ELEMENT = 1;
 CKEDITOR.ENLARGE_BLOCK_CONTENTS = 2;\r
 CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS = 3;\r
 \r
-/**\r
- * Check boundary types.\r
- * @see CKEDITOR.dom.range.prototype.checkBoundaryOfElement\r
- */\r
+// Check boundary types.\r
+// @see CKEDITOR.dom.range.prototype.checkBoundaryOfElement\r
 CKEDITOR.START = 1;\r
 CKEDITOR.END = 2;\r
 CKEDITOR.STARTEND = 3;\r
 \r
-/**\r
- * Shrink range types.\r
- * @see CKEDITOR.dom.range.prototype.shrink\r
- */\r
+// Shrink range types.\r
+// @see CKEDITOR.dom.range.prototype.shrink\r
 CKEDITOR.SHRINK_ELEMENT = 1;\r
 CKEDITOR.SHRINK_TEXT = 2;\r
index 9c12e48..f29cc5f 100644 (file)
@@ -39,7 +39,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        createIterator : function()\r
                        {\r
                                var rangeList = this,\r
-                                       bookmarks = [],\r
+                                       bookmark = CKEDITOR.dom.walker.bookmark(),\r
+                                       guard = function( node ) { return ! ( node.is && node.is( 'tr' ) ); },\r
+                                               bookmarks = [],\r
                                        current;\r
 \r
                                /**\r
@@ -49,8 +51,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                                        /**\r
                                         * Retrieves the next range in the list.\r
+                                        * @param {Boolean} mergeConsequent Whether join two adjacent ranges into single, e.g. consequent table cells.\r
                                         */\r
-                                       getNextRange : function()\r
+                                       getNextRange : function( mergeConsequent )\r
                                        {\r
                                                current = current == undefined ? 0 : current + 1;\r
 \r
@@ -65,11 +68,59 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        if ( !current )\r
                                                        {\r
                                                                // Make sure bookmark correctness by reverse processing.\r
-                                                               for ( var i = rangeList.length - 1; i > 0; i-- )\r
+                                                               for ( var i = rangeList.length - 1; i >= 0; i-- )\r
                                                                        bookmarks.unshift( rangeList[ i ].createBookmark( true ) );\r
                                                        }\r
-                                                       else\r
-                                                               range.moveToBookmark( bookmarks.shift() );\r
+\r
+                                                       if ( mergeConsequent )\r
+                                                       {\r
+                                                               // Figure out how many ranges should be merged.\r
+                                                               var mergeCount = 0;\r
+                                                               while ( rangeList[ current + mergeCount + 1 ] )\r
+                                                               {\r
+                                                                       var doc = range.document,\r
+                                                                               found = 0,\r
+                                                                               left =  doc.getById( bookmarks[ mergeCount ].endNode ),\r
+                                                                               right = doc.getById( bookmarks[ mergeCount + 1 ].startNode ),\r
+                                                                               next;\r
+\r
+                                                                       // Check subsequent range.\r
+                                                                       while ( 1 )\r
+                                                                       {\r
+                                                                               next = left.getNextSourceNode( false );\r
+                                                                               if ( !right.equals( next ) )\r
+                                                                               {\r
+                                                                                       // This could be yet another bookmark or\r
+                                                                                       // walking across block boundaries.\r
+                                                                                       if ( bookmark( next ) || ( next.type == CKEDITOR.NODE_ELEMENT && next.isBlockBoundary() ) )\r
+                                                                                       {\r
+                                                                                               left = next;\r
+                                                                                               continue;\r
+                                                                                       }\r
+                                                                               }\r
+                                                                               else\r
+                                                                                       found = 1;\r
+\r
+                                                                               break;\r
+                                                                       }\r
+\r
+                                                                       if ( !found )\r
+                                                                               break;\r
+\r
+                                                                       mergeCount++;\r
+                                                               }\r
+                                                       }\r
+\r
+                                                       range.moveToBookmark( bookmarks.shift() );\r
+\r
+                                                       var next;\r
+                                                       // Merge ranges finally after moving to bookmarks.\r
+                                                       while( mergeCount-- )\r
+                                                       {\r
+                                                               next = rangeList[ ++current ];\r
+                                                               next.moveToBookmark( bookmarks.shift() );\r
+                                                               range.setEnd( next.endContainer, next.endOffset );\r
+                                                       }\r
                                                }\r
 \r
                                                return range;\r
index 1bf0eab..ae9dfec 100644 (file)
@@ -261,7 +261,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                         */\r
                        previous : function()\r
                        {\r
-                               return iterate.call( this, true );\r
+                               return iterate.call( this, 1 );\r
                        },\r
 \r
                        /**\r
@@ -271,7 +271,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                         */\r
                        checkForward : function()\r
                        {\r
-                               return iterate.call( this, false, true ) !== false;\r
+                               return iterate.call( this, 0, 1 ) !== false;\r
                        },\r
 \r
                        /**\r
@@ -281,7 +281,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                         */\r
                        checkBackward : function()\r
                        {\r
-                               return iterate.call( this, true, true ) !== false;\r
+                               return iterate.call( this, 1, 1 ) !== false;\r
                        },\r
 \r
                        /**\r
@@ -303,7 +303,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                         */\r
                        lastBackward : function()\r
                        {\r
-                               return iterateToLast.call( this, true );\r
+                               return iterateToLast.call( this, 1 );\r
                        },\r
 \r
                        reset : function()\r
@@ -374,7 +374,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                {\r
                        return ( node && node.getName\r
                                        && node.getName() == 'span'\r
-                                       && node.hasAttribute('_cke_bookmark') );\r
+                                       && node.hasAttribute( '_cke_bookmark' ) );\r
                }\r
 \r
                return function( node )\r
@@ -385,7 +385,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                && isBookmarkNode( parent ) );\r
                        // Is bookmark node?\r
                        isBookmark = contentOnly ? isBookmark : isBookmark || isBookmarkNode( node );\r
-                       return isReject ^ isBookmark;\r
+                       return !! ( isReject ^ isBookmark );\r
                };\r
        };\r
 \r
@@ -399,7 +399,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                {\r
                        var isWhitespace = node && ( node.type == CKEDITOR.NODE_TEXT )\r
                                                        && !CKEDITOR.tools.trim( node.getText() );\r
-                       return isReject ^ isWhitespace;\r
+                       return !! ( isReject ^ isWhitespace );\r
                };\r
        };\r
 \r
@@ -418,20 +418,20 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        // 'offsetHeight' instead of 'offsetWidth' for properly excluding\r
                        // all sorts of empty paragraph, e.g. <br />.\r
                        var isInvisible = whitespace( node ) || node.is && !node.$.offsetHeight;\r
-                       return isReject ^ isInvisible;\r
+                       return !! ( isReject ^ isInvisible );\r
                };\r
        };\r
 \r
        var tailNbspRegex = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/,\r
-               isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( true ),\r
-               isNotBookmark = CKEDITOR.dom.walker.bookmark( false, true ),\r
+               isNotWhitespaces = CKEDITOR.dom.walker.whitespaces( 1 ),\r
+               isNotBookmark = CKEDITOR.dom.walker.bookmark( 0, 1 ),\r
                fillerEvaluator = function( element )\r
                {\r
                        return isNotBookmark( element ) && isNotWhitespaces( element );\r
                };\r
 \r
        // Check if there's a filler node at the end of an element, and return it.\r
-       CKEDITOR.dom.element.prototype.getBogus = function ()\r
+       CKEDITOR.dom.element.prototype.getBogus = function()\r
        {\r
                var tail = this.getLast( fillerEvaluator );\r
                if ( tail && ( !CKEDITOR.env.ie ? tail.is && tail.is( 'br' )\r
index d5af5bf..f09b7db 100644 (file)
@@ -10,16 +10,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 \r
 /**\r
- * Holds and object representation of the HTML DTD to be used by the editor in\r
- * its internal operations.\r
- *\r
- * Each element in the DTD is represented by a\r
- * property in this object. Each property contains the list of elements that\r
- * can be contained by the element. Text is represented by the "#" property.\r
- *\r
+ * @namespace Holds and object representation of the HTML DTD to be used by the\r
+ * editor in its internal operations.<br />\r
+ * <br />\r
+ * Each element in the DTD is represented by a property in this object. Each\r
+ * property contains the list of elements that can be contained by the element.\r
+ * Text is represented by the "#" property.<br />\r
+ * <br />\r
  * Several special grouping properties are also available. Their names start\r
  * with the "$" character.\r
- * @namespace\r
  * @example\r
  * // Check if "div" can be contained in a "p" element.\r
  * alert( !!CKEDITOR.dtd[ 'p' ][ 'div' ] );  "false"\r
@@ -81,8 +80,14 @@ CKEDITOR.dtd = (function()
                 */\r
                $blockLimit : { body:1,div:1,td:1,th:1,caption:1,form:1 },\r
 \r
+               /**\r
+                * List of inline (&lt;span&gt; like) elements.\r
+                */\r
                $inline : L,    // Just like span.\r
 \r
+               /**\r
+                * list of elements that can be children at &lt;body&gt;.\r
+                */\r
                $body : X({script:1,style:1}, block),\r
 \r
                $cdata : {script:1,style:1},\r
index 0b373f7..a8921db 100644 (file)
@@ -118,10 +118,46 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                '_source/' +    // @Packager.RemoveLine\r
                                'skins/' + skinName + '/' ) );\r
 \r
+               /**\r
+                * The name of the skin used by this editor instance. The skin name can\r
+                * be set though the {@link CKEDITOR.config.skin} setting.\r
+                * @name CKEDITOR.editor.prototype.skinName\r
+                * @type String\r
+                * @example\r
+                * alert( editor.skinName );  // "kama" (e.g.)\r
+                */\r
                editor.skinName = skinName;\r
+\r
+               /**\r
+                * The full URL of the skin directory.\r
+                * @name CKEDITOR.editor.prototype.skinPath\r
+                * @type String\r
+                * @example\r
+                * alert( editor.skinPath );  // "http://example.com/ckeditor/skins/kama/" (e.g.)\r
+                */\r
                editor.skinPath = skinPath;\r
+\r
+               /**\r
+                * The CSS class name used for skin identification purposes.\r
+                * @name CKEDITOR.editor.prototype.skinClass\r
+                * @type String\r
+                * @example\r
+                * alert( editor.skinClass );  // "cke_skin_kama" (e.g.)\r
+                */\r
                editor.skinClass = 'cke_skin_' + skinName;\r
 \r
+               /**\r
+                * The <a href="http://en.wikipedia.org/wiki/Tabbing_navigation">tabbing\r
+                * navigation</a> order that has been calculated for this editor\r
+                * instance. This can be set by the {@link CKEDITOR.config.tabIndex}\r
+                * setting or taken from the "tabindex" attribute of the\r
+                * {@link #element} associated to the editor.\r
+                * @name CKEDITOR.editor.prototype.tabIndex\r
+                * @type Number\r
+                * @default 0 (zero)\r
+                * @example\r
+                * alert( editor.tabIndex );  // "0" (e.g.)\r
+                */\r
                editor.tabIndex = editor.config.tabIndex || editor.element.getAttribute( 'tabindex' ) || 0;\r
 \r
                // Fire the "configLoaded" event.\r
@@ -135,8 +171,24 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        {\r
                CKEDITOR.lang.load( editor.config.language, editor.config.defaultLanguage, function( languageCode, lang )\r
                        {\r
+                               /**\r
+                                * The code for the language resources that have been loaded\r
+                                * for the user internface elements of this editor instance.\r
+                                * @name CKEDITOR.editor.prototype.langCode\r
+                                * @type String\r
+                                * @example\r
+                                * alert( editor.langCode );  // "en" (e.g.)\r
+                                */\r
                                editor.langCode = languageCode;\r
 \r
+                               /**\r
+                                * An object holding all language strings used by the editor\r
+                                * interface.\r
+                                * @name CKEDITOR.editor.prototype.lang\r
+                                * @type CKEDITOR.lang\r
+                                * @example\r
+                                * alert( editor.lang.bold );  // "Negrito" (e.g. if language is Portuguese)\r
+                                */\r
                                // As we'll be adding plugin specific entries that could come\r
                                // from different language code files, we need a copy of lang,\r
                                // not a direct reference to it.\r
@@ -188,7 +240,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                // The list of URLs to language files.\r
                                var languageFiles = [];\r
 \r
-                               // Cache the loaded plugin names.\r
+                               /**\r
+                                * And object holding references to all plugins used by this\r
+                                * editor istance.\r
+                                * @name CKEDITOR.editor.prototype.plugins\r
+                                * @type Object\r
+                                * @example\r
+                                * alert( editor.plugins.dialog.path );  // "http://example.com/ckeditor/plugins/dialog/" (e.g.)\r
+                                */\r
                                editor.plugins = plugins;\r
 \r
                                // Loop through all plugins, to build the list of language\r
@@ -271,6 +330,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                var theme = editor.config.theme;\r
                CKEDITOR.themes.load( theme, function()\r
                        {\r
+                               /**\r
+                                * The theme used by this editor instance.\r
+                                * @name CKEDITOR.editor.prototype.theme\r
+                                * @type CKEDITOR.theme\r
+                                * @example\r
+                                * alert( editor.theme );  "http://example.com/ckeditor/themes/default/" (e.g.)\r
+                                */\r
                                var editorTheme = editor.theme = CKEDITOR.themes.get( theme );\r
                                editorTheme.path = CKEDITOR.themes.getPath( theme );\r
                                editorTheme.build( editor );\r
@@ -383,6 +449,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                throw '[CKEDITOR.editor] The instance "' + this.name + '" already exists.';\r
 \r
                        /**\r
+                        * A unique random string assigned to each editor instance in the page.\r
+                        * @name CKEDITOR.editor.prototype.id\r
+                        * @type String\r
+                        */\r
+                       this.id = CKEDITOR.tools.getNextId();\r
+\r
+                       /**\r
                         * The configurations for this editor instance. It inherits all\r
                         * settings defined in (@link CKEDITOR.config}, combined with settings\r
                         * loaded from custom configuration files and those defined inline in\r
@@ -596,6 +669,16 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
                        return eventData.dataValue;\r
                },\r
 \r
+               /**\r
+                * Gets the "raw data" currently available in the editor. This is a\r
+                * fast method which return the data as is, without processing, so it's\r
+                * not recommended to use it on resulting pages. It can be used instead\r
+                * combined with the {@link #loadSnapshot} so one can automatic save\r
+                * the editor data from time to time while the user is using the\r
+                * editor, to avoid data loss, without risking performance issues.\r
+                * @example\r
+                * alert( editor.getSnapshot() );\r
+                */\r
                getSnapshot : function()\r
                {\r
                        var data = this.fire( 'getSnapshot' );\r
@@ -610,6 +693,15 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
                        return data;\r
                },\r
 \r
+               /**\r
+                * Loads "raw data" in the editor. This data is loaded with processing\r
+                * straight to the editing area. It should not be used as a way to load\r
+                * any kind of data, but instead in combination with\r
+                * {@link #getSnapshot} produced data.\r
+                * @example\r
+                * var data = editor.getSnapshot();\r
+                * editor.<b>loadSnapshot( data )</b>;\r
+                */\r
                loadSnapshot : function( snapshot )\r
                {\r
                        this.fire( 'loadSnapshot', snapshot );\r
@@ -677,11 +769,38 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
                        this.fire( 'insertElement', element );\r
                },\r
 \r
+               /**\r
+                * Checks whether the current editor contents present changes when\r
+                * compared to the contents loaded into the editor at startup, or to\r
+                * the contents available in the editor when {@link #resetDirty} has\r
+                * been called.\r
+                * @returns {Boolean} "true" is the contents present changes.\r
+                * @example\r
+                * function beforeUnload( e )\r
+                * {\r
+                *     if ( CKEDITOR.instances.editor1.<b>checkDirty()</b> )\r
+                *              return e.returnValue = "You'll loose the changes made in the editor.";\r
+                * }\r
+                *\r
+                * if ( window.addEventListener )\r
+                *     window.addEventListener( 'beforeunload', beforeUnload, false );\r
+                * else\r
+                *     window.attachEvent( 'onbeforeunload', beforeUnload );\r
+                */\r
                checkDirty : function()\r
                {\r
                        return ( this.mayBeDirty && this._.previousValue !== this.getSnapshot() );\r
                },\r
 \r
+               /**\r
+                * Resets the "dirty state" of the editor so subsequent calls to\r
+                * {@link #checkDirty} will return "false" if the user will not make\r
+                * further changes to the contents.\r
+                * @example\r
+                * alert( editor.checkDirty() );  // "true" (e.g.)\r
+                * editor.<b>resetDirty()</b>;\r
+                * alert( editor.checkDirty() );  // "false"\r
+                */\r
                resetDirty : function()\r
                {\r
                        if ( this.mayBeDirty )\r
@@ -756,4 +875,50 @@ CKEDITOR.on( 'loaded', function()
  * Fired when all plugins are loaded and initialized into the editor instance.\r
  * @name CKEDITOR#pluginsLoaded\r
  * @event\r
+ * @param {CKEDITOR.editor} editor The editor instance that has been destroyed.\r
+ */\r
+\r
+/**\r
+ * Fired before the command execution when {@link #execCommand} is called.\r
+ * @name CKEDITOR.editor#beforeCommandExec\r
+ * @event\r
+ * @param {CKEDITOR.editor} editor This editor instance.\r
+ * @param {String} data.name The command name.\r
+ * @param {Object} data.commandData The data to be sent to the command. This\r
+ *             can be manipulated by the event listener.\r
+ * @param {CKEDITOR.command} data.command The command itself.\r
+ */\r
+\r
+/**\r
+ * Fired after the command execution when {@link #execCommand} is called.\r
+ * @name CKEDITOR.editor#afterCommandExec\r
+ * @event\r
+ * @param {CKEDITOR.editor} editor This editor instance.\r
+ * @param {String} data.name The command name.\r
+ * @param {Object} data.commandData The data sent to the command.\r
+ * @param {CKEDITOR.command} data.command The command itself.\r
+ * @param {Object} data.returnValue The value returned by the command execution.\r
+ */\r
+\r
+/**\r
+ * Fired every custom configuration file is loaded, before the final\r
+ * configurations initialization.<br />\r
+ * <br />\r
+ * Custom configuration files can be loaded thorugh the\r
+ * {@link CKEDITOR.config.customConfig} setting. Several files can be loading\r
+ * by chaning this setting.\r
+ * @name CKEDITOR.editor#customConfigLoaded\r
+ * @event\r
+ * @param {CKEDITOR.editor} editor This editor instance.\r
+ * @example\r
+ */\r
+\r
+/**\r
+ * Fired once the editor configuration is ready (loaded and processed).\r
+ * @name CKEDITOR.editor#configLoaded\r
+ * @event\r
+ * @param {CKEDITOR.editor} editor This editor instance.\r
+ * @example\r
+ * if( editor.config.fullPage )\r
+ *     alert( 'This is a full page editor' );\r
  */\r
index ec90bf7..7b2d54a 100644 (file)
@@ -27,15 +27,15 @@ if ( !CKEDITOR.editor )
        CKEDITOR.ELEMENT_MODE_APPENDTO = 2;\r
 \r
        /**\r
-        * Represents an editor instance. This constructor should be rarely used,\r
-        * being the {@link CKEDITOR} methods preferible.\r
-        * @constructor\r
+        * Creates an editor class instance. This constructor should be rarely\r
+        * used, in favor of the {@link CKEDITOR} editor creation functions.\r
+        * @ class Represents an editor instance.\r
         * @param {Object} instanceConfig Configuration values for this specific\r
         *              instance.\r
         * @param {CKEDITOR.dom.element} [element] The element linked to this\r
         *              instance.\r
         * @param {Number} [mode] The mode in which the element is linked to this\r
-        *              instance.\r
+        *              instance. See {@link #elementMode}.\r
         * @param {String} [data] Since 3.3. Initial value for the instance.\r
         * @augments CKEDITOR.event\r
         * @example\r
@@ -54,11 +54,11 @@ if ( !CKEDITOR.editor )
                 * The mode in which the {@link #element} is linked to this editor\r
                 * instance. It can be any of the following values:\r
                 * <ul>\r
-                * <li><b>CKEDITOR.ELEMENT_MODE_NONE</b>: No element is linked to the\r
+                * <li>{@link CKEDITOR.ELEMENT_MODE_NONE}: No element is linked to the\r
                 *              editor instance.</li>\r
-                * <li><b>CKEDITOR.ELEMENT_MODE_REPLACE</b>: The element is to be\r
+                * <li>{@link CKEDITOR.ELEMENT_MODE_REPLACE}: The element is to be\r
                 *              replaced by the editor instance.</li>\r
-                * <li><b>CKEDITOR.ELEMENT_MODE_APPENDTO</b>: The editor is to be\r
+                * <li>{@link CKEDITOR.ELEMENT_MODE_APPENDTO}: The editor is to be\r
                 *              created inside the element.</li>\r
                 * </ul>\r
                 * @name CKEDITOR.editor.prototype.elementMode\r
index a0ae465..e992d3a 100644 (file)
@@ -11,9 +11,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 if ( !CKEDITOR.env )\r
 {\r
        /**\r
-        * Environment and browser information.\r
-        * @namespace\r
-        * @example\r
+        * @namespace Environment and browser information.\r
         */\r
        CKEDITOR.env = (function()\r
        {\r
@@ -69,10 +67,32 @@ if ( !CKEDITOR.env )
                         */\r
                        mac     : ( agent.indexOf( 'macintosh' ) > -1 ),\r
 \r
+                       /**\r
+                        * Indicates that CKEditor is running on a quirks mode environemnt.\r
+                        * @type Boolean\r
+                        * @example\r
+                        * if ( CKEDITOR.env.quirks )\r
+                        *     alert( "Nooooo!" );\r
+                        */\r
                        quirks : ( document.compatMode == 'BackCompat' ),\r
 \r
+                       /**\r
+                        * Indicates that CKEditor is running on a mobile like environemnt.\r
+                        * @type Boolean\r
+                        * @example\r
+                        * if ( CKEDITOR.env.mobile )\r
+                        *     alert( "I'm running with CKEditor today!" );\r
+                        */\r
                        mobile : ( agent.indexOf( 'mobile' ) > -1 ),\r
 \r
+                       /**\r
+                        * Indicates that the browser has a custom domain enabled. This has\r
+                        * been set with "document.domain".\r
+                        * @returns {Boolean} "true" if a custom domain is enabled.\r
+                        * @example\r
+                        * if ( CKEDITOR.env.isCustomDomain() )\r
+                        *     alert( "I'm in a custom domain!" );\r
+                        */\r
                        isCustomDomain : function()\r
                        {\r
                                if ( !this.ie )\r
@@ -105,19 +125,34 @@ if ( !CKEDITOR.env )
                        version = parseFloat( agent.match( /msie (\d+)/ )[1] );\r
 \r
                        /**\r
-                        *  Indicate IE8 browser.\r
+                        * Indicates that CKEditor is running on Internet Explorer 8.\r
+                        * @name CKEDITOR.env.ie8\r
+                        * @type Boolean\r
+                        * @example\r
+                        * if ( CKEDITOR.env.ie8 )\r
+                        *     alert( "I'm on IE8!" );\r
                         */\r
                        env.ie8 = !!document.documentMode;\r
 \r
                        /**\r
-                        * Indicte IE8 document mode.\r
+                        * Indicates that CKEditor is running on Internet Explorer 8 on\r
+                        * standards mode.\r
+                        * @name CKEDITOR.env.ie8Compat\r
+                        * @type Boolean\r
+                        * @example\r
+                        * if ( CKEDITOR.env.ie8Compat )\r
+                        *     alert( "Now I'm on IE8, for real!" );\r
                         */\r
                        env.ie8Compat = document.documentMode == 8;\r
 \r
                        /**\r
                         * Indicates that CKEditor is running on an IE7-like environment, which\r
                         * includes IE7 itself and IE8's IE7 document mode.\r
+                        * @name CKEDITOR.env.ie7Compat\r
                         * @type Boolean\r
+                        * @example\r
+                        * if ( CKEDITOR.env.ie8Compat )\r
+                        *     alert( "I'm on IE7 or on an IE7 like IE8!" );\r
                         */\r
                        env.ie7Compat = ( ( version == 7 && !document.documentMode )\r
                                        || document.documentMode == 7 );\r
@@ -125,13 +160,13 @@ if ( !CKEDITOR.env )
                        /**\r
                         * Indicates that CKEditor is running on an IE6-like environment, which\r
                         * includes IE6 itself and IE7 and IE8 quirks mode.\r
+                        * @name CKEDITOR.env.ie6Compat\r
                         * @type Boolean\r
                         * @example\r
                         * if ( CKEDITOR.env.ie6Compat )\r
                         *     alert( "I'm on IE6 or quirks mode!" );\r
                         */\r
                        env.ie6Compat = ( version < 7 || env.quirks );\r
-\r
                }\r
 \r
                // Gecko.\r
@@ -160,12 +195,12 @@ if ( !CKEDITOR.env )
                        version = parseFloat( agent.match( / applewebkit\/(\d+)/ )[1] );\r
 \r
                /**\r
-                * Contains the browser version.\r
-                *\r
+                * Contains the browser version.<br />\r
+                * <br />\r
                 * For gecko based browsers (like Firefox) it contains the revision\r
                 * number with first three parts concatenated with a padding zero\r
-                * (e.g. for revision 1.9.0.2 we have 10900).\r
-                *\r
+                * (e.g. for revision 1.9.0.2 we have 10900).<br />\r
+                * <br />\r
                 * For webkit based browser (like Safari and Chrome) it contains the\r
                 * WebKit build version (e.g. 522).\r
                 * @name CKEDITOR.env.version\r
@@ -193,8 +228,14 @@ if ( !CKEDITOR.env )
                        ( env.webkit && version >= 522 ) ||\r
                        false );\r
 \r
-               // The CSS class to be appended on the main UI containers, making it\r
-               // easy to apply browser specific styles to it.\r
+               /**\r
+                * The CSS class to be appended on the main UI containers, making it\r
+                * easy to apply browser specific styles to it.\r
+                * @name CKEDITOR.env.cssClass\r
+                * @type String\r
+                * @example\r
+                * myDiv.className = CKEDITOR.env.cssClass;\r
+                */\r
                env.cssClass =\r
                        'cke_browser_' + (\r
                                env.ie ? 'ie' :\r
@@ -211,7 +252,7 @@ if ( !CKEDITOR.env )
                {\r
                        env.cssClass += ' cke_browser_ie' + (\r
                                env.version < 7 ? '6' :\r
-                               env.version >= 8 ? '8' :\r
+                               env.version >= 8 ? document.documentMode:\r
                                '7' );\r
 \r
                        if ( env.quirks )\r
index 8668a3d..114d22e 100644 (file)
@@ -11,9 +11,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 if ( !CKEDITOR.event )\r
 {\r
        /**\r
-        * This is a base class for classes and objects that require event handling\r
-        * features.\r
-        * @constructor\r
+        * Creates an event class instance. This constructor is rearely used, being\r
+        * the {@link #.implementOn} function used in class prototypes directly\r
+        * instead.\r
+        * @class This is a base class for classes and objects that require event\r
+        * handling features.<br />\r
+        * <br />\r
+        * Do not confuse this class with {@link CKEDITOR.dom.event} which is\r
+        * instead used for DOM events. The CKEDITOR.event class implements the\r
+        * internal event system used by the CKEditor to fire API related events.\r
         * @example\r
         */\r
        CKEDITOR.event = function()\r
@@ -21,7 +27,7 @@ if ( !CKEDITOR.event )
 \r
        /**\r
         * Implements the {@link CKEDITOR.event} features in an object.\r
-        * @param {Object} targetObject The object in which implement the features.\r
+        * @param {Object} targetObject The object into which implement the features.\r
         * @example\r
         * var myObject = { message : 'Example' };\r
         * <b>CKEDITOR.event.implementOn( myObject }</b>;\r
@@ -31,7 +37,7 @@ if ( !CKEDITOR.event )
         *     });\r
         * myObject.fire( 'testEvent' );\r
         */\r
-       CKEDITOR.event.implementOn = function( targetObject, isTargetPrototype )\r
+       CKEDITOR.event.implementOn = function( targetObject )\r
        {\r
                var eventProto = CKEDITOR.event.prototype;\r
 \r
index dbeca5c..eee97f2 100644 (file)
@@ -10,11 +10,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 \r
 /**\r
- * This class is not really part of the API. It just illustrates the features\r
- * of the event object passed to event listeners by a {@link CKEDITOR.event}\r
- * based object.\r
+ * (Virtual Class) Do not call this constructor. This class is not really part\r
+ * of the API.\r
+ * @class Virtual class that illustrates the features of the event object to be\r
+ * passed to event listeners by a {@link CKEDITOR.event} based object.\r
  * @name CKEDITOR.eventInfo\r
- * @constructor\r
  * @example\r
  * // Do not do this.\r
  * var myEvent = new CKEDITOR.eventInfo();  // Error: CKEDITOR.eventInfo is undefined\r
index 933c3cf..3f276c5 100644 (file)
@@ -9,11 +9,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 \r
 /**\r
- * Manages the focus activity in an editor instance. This class is to be used\r
- * mainly by UI elements coders when adding interface elements to CKEditor.\r
- * @constructor\r
+ * Creates a focusManager class instance.\r
+ * @class Manages the focus activity in an editor instance. This class is to be\r
+ * used mainly by UI elements coders when adding interface elements that need\r
+ * to set the focus state of the editor.\r
  * @param {CKEDITOR.editor} editor The editor instance.\r
  * @example\r
+ * var focusManager = <b>new CKEDITOR.focusManager( editor )</b>;\r
+ * focusManager.focus();\r
  */\r
 CKEDITOR.focusManager = function( editor )\r
 {\r
@@ -43,9 +46,10 @@ CKEDITOR.focusManager = function( editor )
 CKEDITOR.focusManager.prototype =\r
 {\r
        /**\r
-        * Indicates that the editor instance has the focus.\r
-        *\r
-        * This function is not used to set the focus in the editor. Use\r
+        * Used to indicate that the editor instance has the focus.<br />\r
+        * <br />\r
+        * Note that this function will not explicitelly set the focus in the\r
+        * editor (for example, making the caret blinking on it). Use\r
         * {@link CKEDITOR.editor#focus} for it instead.\r
         * @example\r
         * var editor = CKEDITOR.instances.editor1;\r
@@ -76,10 +80,11 @@ CKEDITOR.focusManager.prototype =
        },\r
 \r
        /**\r
-        * Indicates that the editor instance has lost the focus. Note that this\r
-        * functions acts asynchronously with a delay of 100ms to avoid subsequent\r
-        * blur/focus effects. If you want the "blur" to happen immediately, use\r
-        * the {@link #forceBlur} function instead.\r
+        * Used to indicate that the editor instance has lost the focus.<br />\r
+        * <br />\r
+        * Note that this functions acts asynchronously with a delay of 100ms to\r
+        * avoid subsequent blur/focus effects. If you want the "blur" to happen\r
+        * immediately, use the {@link #forceBlur} function instead.\r
         * @example\r
         * var editor = CKEDITOR.instances.editor1;\r
         * <b>editor.focusManager.blur()</b>;\r
@@ -101,7 +106,7 @@ CKEDITOR.focusManager.prototype =
        },\r
 \r
        /**\r
-        * Indicates that the editor instance has lost the focus. Unlike\r
+        * Used to indicate that the editor instance has lost the focus. Unlike\r
         * {@link #blur}, this function is synchronous, marking the instance as\r
         * "blured" immediately.\r
         * @example\r
@@ -127,6 +132,11 @@ CKEDITOR.focusManager.prototype =
  * @name CKEDITOR.editor#focus\r
  * @event\r
  * @param {CKEDITOR.editor} editor The editor instance.\r
+ * @example\r
+ * editor.on( 'focus', function( e )\r
+ *     {\r
+ *         alert( 'The editor named ' + e.editor.name + ' is now focused' );\r
+ *     });\r
  */\r
 \r
 /**\r
@@ -134,4 +144,9 @@ CKEDITOR.focusManager.prototype =
  * @name CKEDITOR.editor#blur\r
  * @event\r
  * @param {CKEDITOR.editor} editor The editor instance.\r
+ * @example\r
+ * editor.on( 'blur', function( e )\r
+ *     {\r
+ *         alert( 'The editor named ' + e.editor.name + ' lost the focus' );\r
+ *     });\r
  */\r
index acd5ef5..c2252e9 100644 (file)
@@ -4,9 +4,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 */\r
 \r
 /**\r
- * HTML text parser.\r
- * @constructor\r
+ * Creates a {@link CKEDITOR.htmlParser} class instance.\r
+ * @class Provides an "event like" system to parse strings of HTML data.\r
  * @example\r
+ * var parser = new CKEDITOR.htmlParser();\r
+ * parser.onTagOpen = function( tagName, attributes, selfClosing )\r
+ *     {\r
+ *         alert( tagName );\r
+ *     };\r
+ * parser.parse( '&lt;p&gt;Some &lt;b&gt;text&lt;/b&gt;.&lt;/p&gt;' );\r
  */\r
 CKEDITOR.htmlParser = function()\r
 {\r
@@ -92,7 +98,7 @@ CKEDITOR.htmlParser = function()
                 * @param {String} comment The comment text.\r
                 * @example\r
                 * var parser = new CKEDITOR.htmlParser();\r
-                * parser.onText = function( comment )\r
+                * parser.onComment = function( comment )\r
                 *     {\r
                 *         alert( comment );  // e.g. " Example "\r
                 *     });\r
index d31b050..9db04dd 100644 (file)
@@ -237,6 +237,12 @@ CKEDITOR.htmlParser.fragment = function()
                                {\r
                                        addElement( currentNode, currentNode.parent );\r
                                }\r
+                               else if ( tagName in CKEDITOR.dtd.$listItem )\r
+                               {\r
+                                       parser.onTagOpen( 'ul', {} );\r
+                                       addPoint = currentNode;\r
+                                       reApply = true;\r
+                               }\r
                                else\r
                                {\r
                                        if ( nonBreakingBlocks[ currentName ] )\r
@@ -386,6 +392,7 @@ CKEDITOR.htmlParser.fragment = function()
 \r
                parser.onComment = function( comment )\r
                {\r
+                       checkPending();\r
                        currentNode.add( new CKEDITOR.htmlParser.comment( comment ) );\r
                };\r
 \r
index 0704556..cb19c12 100644 (file)
@@ -23,27 +23,46 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        };\r
 \r
        /**\r
-        * Load images into the browser cache.\r
-        * @namespace\r
-        * @example\r
+        * @namespace Load images into the browser cache.\r
         */\r
        CKEDITOR.imageCacher =\r
        {\r
                /**\r
                 * Loads one or more images.\r
-                * @param {Array} images The URLs for the images to be loaded.\r
-                * @param {Function} callback The function to be called once all images\r
+                * @param {Array} images The URLs of the images to be loaded.\r
+                * @param {Function} [callback] A function to be called once all images\r
                 *              are loaded.\r
+                * @return {CKEDITOR.event} An event object which fires the 'loaded'\r
+                *              event when all images are completely loaded. Additionally, the\r
+                *              "finished" property is set after the "loaded" event call.\r
+                * @example\r
+                * var loader = CKEDITOR.imageCacher.load( [ '/image1.png', 'image2.png' ] );\r
+                * if ( !loader.finished )\r
+                * {\r
+                *     loader.on( 'load', function()\r
+                *         {\r
+                *             alert( 'All images are loaded' );\r
+                *         });\r
+                * }\r
                 */\r
                load : function( images, callback )\r
                {\r
                        var pendingCount = images.length;\r
 \r
+                       var event = new CKEDITOR.event;\r
+                       event.on( 'loaded', function()\r
+                               {\r
+                                       event.finished = 1;\r
+                               });\r
+\r
+                       if ( callback )\r
+                               event.on( 'loaded', callback );\r
+\r
                        var checkPending = function()\r
-                       {\r
-                               if ( --pendingCount === 0 )\r
-                                       callback();\r
-                       };\r
+                               {\r
+                                       if ( --pendingCount === 0 )\r
+                                               event.fire( 'loaded' );\r
+                               };\r
 \r
                        for ( var i = 0 ; i < images.length ; i++ )\r
                        {\r
@@ -54,6 +73,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                else\r
                                        loadImage( image, checkPending );\r
                        }\r
+\r
+                       return event;\r
                }\r
        };\r
 })();\r
index add9982..541b7a4 100644 (file)
@@ -7,6 +7,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 {\r
        var loadedLangs = {};\r
 \r
+       /**\r
+        * @namespace Holds language related functions.\r
+        */\r
        CKEDITOR.lang =\r
        {\r
                /**\r
@@ -81,12 +84,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                 * Loads a specific language file, or auto detect it. A callback is\r
                 * then called when the file gets loaded.\r
                 * @param {String} languageCode The code of the language file to be\r
-                *              loaded. If "autoDetect" is set to true, this language will be\r
-                *              used as the default one, if the detect language is not\r
-                *              available in the core.\r
-                * @param {Boolean} autoDetect Indicates that the function must try to\r
-                *              detect the user language and load it instead.\r
-                * @param {Function} callback The function to be called once the\r
+                *              loaded. If null or empty, autodetection will be performed. The\r
+                *              same happens if the language is not supported.\r
+                * @param {String} defaultLanguage The language to be used if\r
+                *              languageCode is not supported or if the autodetection fails.\r
+                * @param {Function} callback A function to be called once the\r
                 *              language file is loaded. Two parameters are passed to this\r
                 *              function: the language code and the loaded language entries.\r
                 * @example\r
@@ -121,6 +123,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                 * supported, a default language is then returned.\r
                 * @param {String} defaultLanguage The default language to be returned\r
                 *              if the user language is not supported.\r
+                * @param {String} [probeLanguage] A language code to try to use,\r
+                *              instead of the browser based autodetection.\r
                 * @returns {String} The detected language code.\r
                 * @example\r
                 * alert( CKEDITOR.lang.detect( 'en' ) );  // e.g., in a German browser: "de"\r
index abeda48..e5c38a5 100644 (file)
@@ -59,7 +59,7 @@ if ( !CKEDITOR.loader )
                        'core/htmlparser/cdata'         : [ 'core/htmlparser' ],\r
                        'core/htmlparser/filter'        : [ 'core/htmlparser' ],\r
                        'core/htmlparser/basicwriter': [ 'core/htmlparser' ],\r
-                       'core/imagecacher'              : [ 'core/dom/element' ],\r
+                       'core/imagecacher'              : [ 'core/dom/element', 'core/event' ],\r
                        'core/lang'                             : [],\r
                        'core/plugins'                  : [ 'core/resourcemanager' ],\r
                        'core/resourcemanager'  : [ 'core/scriptloader', 'core/tools' ],\r
@@ -108,7 +108,7 @@ if ( !CKEDITOR.loader )
                        return path;\r
                })();\r
 \r
-               var timestamp = 'A8LE4JO';\r
+               var timestamp = 'AA4E4NT';\r
 \r
                var getUrl = function( resource )\r
                {\r
index 0ad7d86..191f56d 100644 (file)
@@ -15,8 +15,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  */\r
 CKEDITOR.scriptLoader = (function()\r
 {\r
-       var uniqueScripts = {};\r
-       var waitingList = {};\r
+       var uniqueScripts = {},\r
+               waitingList = {};\r
 \r
        return /** @lends CKEDITOR.scriptLoader */ {\r
                /**\r
@@ -35,6 +35,8 @@ CKEDITOR.scriptLoader = (function()
                 *              the callback call. Default to {@link CKEDITOR}.\r
                 * @param {Boolean} [noCheck] Indicates that the script must be loaded\r
                 *              anyway, not checking if it has already loaded.\r
+                * @param {Boolean} [showBusy] Changes the cursor of the document while\r
++               *              the script is loaded.\r
                 * @example\r
                 * CKEDITOR.scriptLoader.load( '/myscript.js' );\r
                 * @example\r
index b31373e..2246f6d 100644 (file)
@@ -16,9 +16,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 CKEDITOR.skins = (function()\r
 {\r
        // Holds the list of loaded skins.\r
-       var loaded = {};\r
-       var preloaded = {};\r
-       var paths = {};\r
+       var loaded = {},\r
+               preloaded = {},\r
+               paths = {};\r
 \r
        var loadPart = function( editor, skinName, part, callback )\r
        {\r
@@ -55,22 +55,30 @@ CKEDITOR.skins = (function()
                }\r
 \r
                // Check if we need to preload images from it.\r
-               if ( !preloaded[ skinName ] )\r
+               var preload = skinDefinition.preload;\r
+               if ( preload && preload.length > 0 )\r
                {\r
-                       var preload = skinDefinition.preload;\r
-                       if ( preload && preload.length > 0 )\r
+                       if ( !preloaded[ skinName ] )\r
                        {\r
+                               // Prepare image URLs\r
                                appendSkinPath( preload );\r
-                               CKEDITOR.imageCacher.load( preload, function()\r
+\r
+                               // Get preloader event dispatcher object.\r
+                               preloaded[ skinName ] = CKEDITOR.imageCacher.load( preload );\r
+                       }\r
+\r
+                       if ( !preloaded[ skinName ].finished )\r
+                       {\r
+                               // Bind listener for this editor instance.\r
+                               preloaded[ skinName ].on( 'loaded', function()\r
                                        {\r
-                                               preloaded[ skinName ] = 1;\r
                                                loadPart( editor, skinName, part, callback );\r
-                                       } );\r
+                                       }\r
+                               );\r
+\r
+                               // Execution will be continued from event listener.\r
                                return;\r
                        }\r
-\r
-                       // Mark it as preloaded.\r
-                       preloaded[ skinName ] = 1;\r
                }\r
 \r
                // Get the part definition.\r
@@ -93,8 +101,8 @@ CKEDITOR.skins = (function()
 \r
                        // Check whether the "css" and "js" properties have been defined\r
                        // for that part.\r
-                       var cssIsLoaded = !part.css || !part.css.length;\r
-                       var jsIsLoaded = !part.js || !part.js.length;\r
+                       var cssIsLoaded = !part.css || !part.css.length,\r
+                               jsIsLoaded = !part.js || !part.js.length;\r
 \r
                        // This is the function that will trigger the callback calls on\r
                        // load.\r
index a1bff9a..ee00f91 100644 (file)
@@ -346,19 +346,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                },\r
 \r
                /**\r
-                * Replace characters can't be represented through CSS Selectors string\r
-                * by CSS Escape Notation where the character escape sequence consists\r
-                * of a backslash character (\) followed by the orginal characters.\r
-                * Ref: http://www.w3.org/TR/css3-selectors/#grammar\r
-                * @param cssSelectText\r
-                * @return the escaped selector text.\r
-                */\r
-               escapeCssSelector : function( cssSelectText )\r
-               {\r
-                       return cssSelectText.replace( /[\s#:.,$*^\[\]()~=+>]/g, '\\$&' );\r
-               },\r
-\r
-               /**\r
                 * Gets a unique number for this CKEDITOR execution session. It returns\r
                 * progressive numbers starting at 1.\r
                 * @function\r
index 28e77a7..73dbbe1 100644 (file)
@@ -20,7 +20,7 @@ es.js      Found: 524 Missing: 7
 et.js      Found: 301 Missing: 230\r
 eu.js      Found: 403 Missing: 128\r
 fa.js      Found: 302 Missing: 229\r
-fi.js      Found: 518 Missing: 13\r
+fi.js      Found: 531 Missing: 0\r
 fo.js      Found: 420 Missing: 111\r
 fr-ca.js   Found: 301 Missing: 230\r
 fr.js      Found: 403 Missing: 128\r
@@ -54,7 +54,7 @@ sr.js      Found: 275 Missing: 256
 sv.js      Found: 299 Missing: 232\r
 th.js      Found: 287 Missing: 244\r
 tr.js      Found: 524 Missing: 7\r
-uk.js      Found: 404 Missing: 127\r
+uk.js      Found: 531 Missing: 0\r
 vi.js      Found: 481 Missing: 50\r
 zh-cn.js   Found: 531 Missing: 0\r
 zh.js      Found: 404 Missing: 127\r
index 77ce319..3275faf 100644 (file)
@@ -105,10 +105,10 @@ CKEDITOR.lang['fi'] =
                targetTop               : 'Päällimmäinen ikkuna (_top)',\r
                targetSelf              : 'Sama ikkuna (_self)',\r
                targetParent    : 'Ylemmän tason ikkuna (_parent)',\r
-               langDirLTR              : 'Left to Right (LTR)', // MISSING\r
-               langDirRTL              : 'Right to Left (RTL)', // MISSING\r
-               styles                  : 'Style', // MISSING\r
-               cssClasses              : 'Stylesheet Classes', // MISSING\r
+               langDirLTR              : 'Vasemmalta oikealle (LTR)',\r
+               langDirRTL              : 'Oikealta vasemmalle (RTL)',\r
+               styles                  : 'Tyyli',\r
+               cssClasses              : 'Tyylitiedoston luokat',\r
 \r
                // Put the voice-only part of the label in the span.\r
                unavailable             : '%1<span class="cke_accessibility">, ei saatavissa</span>'\r
@@ -116,7 +116,7 @@ CKEDITOR.lang['fi'] =
 \r
        contextmenu :\r
        {\r
-               options : 'Context Menu Options' // MISSING\r
+               options : 'Pikavalikon ominaisuudet'\r
        },\r
 \r
        // Special char dialog.\r
@@ -124,7 +124,7 @@ CKEDITOR.lang['fi'] =
        {\r
                toolbar         : 'Lisää erikoismerkki',\r
                title           : 'Valitse erikoismerkki',\r
-               options : 'Special Character Options' // MISSING\r
+               options : 'Erikoismerkin ominaisuudet'\r
        },\r
 \r
        // Link dialog.\r
@@ -200,14 +200,14 @@ CKEDITOR.lang['fi'] =
                bulletedTitle           : 'Numeroimattoman listan ominaisuudet',\r
                type                            : 'Tyyppi',\r
                start                           : 'Alku',\r
-               validateStartNumber                             :'List start number must be a whole number.', // MISSING\r
+               validateStartNumber                             :'Listan ensimmäisen numeron tulee olla kokonaisluku.',\r
                circle                          : 'Ympyrä',\r
                disc                            : 'Levy',\r
                square                          : 'Neliö',\r
                none                            : 'Ei mikään',\r
                notset                          : '<ei asetettu>',\r
                armenian                        : 'Armeenialainen numerointi',\r
-               georgian                        : 'Georgian numbering (an, ban, gan, etc.)', // MISSING\r
+               georgian                        : 'Georgialainen numerointi (an, ban, gan, etc.)',\r
                lowerRoman                      : 'Pienet roomalaiset (i, ii, iii, iv, v, jne.)',\r
                upperRoman                      : 'Isot roomalaiset (I, II, III, IV, V, jne.)',\r
                lowerAlpha                      : 'Pienet aakkoset (a, b, c, d, e, jne.)',\r
@@ -512,7 +512,7 @@ CKEDITOR.lang['fi'] =
        {\r
                toolbar : 'Hymiö',\r
                title   : 'Lisää hymiö',\r
-               options : 'Smiley Options' // MISSING\r
+               options : 'Hymiön ominaisuudet'\r
        },\r
 \r
        elementsPath :\r
@@ -564,7 +564,7 @@ CKEDITOR.lang['fi'] =
        {\r
                button                  : 'Pohjat',\r
                title                   : 'Sisältöpohjat',\r
-               options : 'Template Options', // MISSING\r
+               options : 'Sisältöpohjan ominaisuudet',\r
                insertOption    : 'Korvaa editorin koko sisältö',\r
                selectPromptMsg : 'Valitse pohja editoriin<br>(aiempi sisältö menetetään):',\r
                emptyListMsg    : '(Ei määriteltyjä pohjia)'\r
@@ -741,7 +741,7 @@ CKEDITOR.lang['fi'] =
        colordialog :\r
        {\r
                title           : 'Valitse väri',\r
-               options :       'Color Options', // MISSING\r
+               options :       'Värin ominaisuudet',\r
                highlight       : 'Korostus',\r
                selected        : 'Valittu',\r
                clear           : 'Poista'\r
@@ -752,7 +752,7 @@ CKEDITOR.lang['fi'] =
 \r
        bidi :\r
        {\r
-               ltr : 'Text direction from left to right', // MISSING\r
-               rtl : 'Text direction from right to left' // MISSING\r
+               ltr : 'Tekstin suunta vasemmalta oikealle',\r
+               rtl : 'Tekstin suunta oikealta vasemmalle'\r
        }\r
 };\r
index be479cd..293c482 100644 (file)
@@ -5,7 +5,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 /**\r
  * @fileOverview Defines the {@link CKEDITOR.lang} object, for the\r
- * Ukrainian language. Translated by Alexander Pervak.\r
+ * Ukrainian language.\r
  */\r
 \r
 /**#@+\r
@@ -31,11 +31,11 @@ CKEDITOR.lang['uk'] =
         * Screenreader titles. Please note that screenreaders are not always capable\r
         * of reading non-English words. So be careful while translating it.\r
         */\r
-       editorTitle : 'Rich text editor, %1, press ALT 0 for help.', // MISSING\r
+       editorTitle : 'Текстовий редактор, %1, натисніть ALT 0 для довідки.',\r
 \r
        // ARIA descriptions.\r
-       toolbar : 'Toolbar', // MISSING\r
-       editor  : 'Rich Text Editor', // MISSING\r
+       toolbar : 'Панель інструментів',\r
+       editor  : 'Текстовий редактор',\r
 \r
        // Toolbar buttons without dialogs.\r
        source                  : 'Джерело',\r
@@ -50,28 +50,28 @@ CKEDITOR.lang['uk'] =
        bold                    : 'Жирний',\r
        italic                  : 'Курсив',\r
        selectAll               : 'Виділити все',\r
-       removeFormat    : 'Прибрати форматування',\r
+       removeFormat    : 'Очистити форматування',\r
        strike                  : 'Закреслений',\r
-       subscript               : 'Підрядковий індекс',\r
-       superscript             : 'Надрядковий индекс',\r
-       horizontalrule  : 'Вставити горизонтальну лінію',\r
-       pagebreak               : 'Вставити розривши сторінки',\r
-       unlink                  : 'Знищити посилання',\r
+       subscript               : 'Нижній індекс',\r
+       superscript             : 'Верхній індекс',\r
+       horizontalrule  : 'Горизонтальна лінія',\r
+       pagebreak               : 'Вставити розрив сторінки',\r
+       unlink                  : 'Видалити посилання',\r
        undo                    : 'Повернути',\r
        redo                    : 'Повторити',\r
 \r
        // Common messages and labels.\r
        common :\r
        {\r
-               browseServer    : 'Передивитися на сервері',\r
+               browseServer    : 'Огляд',\r
                url                             : 'URL',\r
                protocol                : 'Протокол',\r
-               upload                  : 'Закачати',\r
+               upload                  : 'Надіслати',\r
                uploadSubmit    : 'Надіслати на сервер',\r
                image                   : 'Зображення',\r
                flash                   : 'Flash',\r
                form                    : 'Форма',\r
-               checkbox                : 'Флагова кнопка',\r
+               checkbox                : 'Галочка',\r
                radio                   : 'Кнопка вибору',\r
                textField               : 'Текстове поле',\r
                textarea                : 'Текстова область',\r
@@ -81,34 +81,34 @@ CKEDITOR.lang['uk'] =
                imageButton             : 'Кнопка із зображенням',\r
                notSet                  : '<не визначено>',\r
                id                              : 'Ідентифікатор',\r
-               name                    : 'Им\'я',\r
+               name                    : 'Ім\'я',\r
                langDir                 : 'Напрямок мови',\r
-               langDirLtr              : 'Зліва на право (LTR)',\r
-               langDirRtl              : 'Зправа на ліво (RTL)',\r
-               langCode                : 'Мова',\r
+               langDirLtr              : 'Зліва направо (LTR)',\r
+               langDirRtl              : 'Справа наліво (RTL)',\r
+               langCode                : 'Код мови',\r
                longDescr               : 'Довгий опис URL',\r
                cssClass                : 'Клас CSS',\r
                advisoryTitle   : 'Заголовок',\r
                cssStyle                : 'Стиль CSS',\r
                ok                              : 'ОК',\r
                cancel                  : 'Скасувати',\r
-               close                   : 'Close', // MISSING\r
-               preview                 : 'Preview', // MISSING\r
-               generalTab              : 'Загальна',\r
-               advancedTab             : 'Розширений',\r
-               validateNumberFailed : 'Значення не є числом.',\r
-               confirmNewPage  : 'Всі не збережені зміни будуть втрачені. Ви впевнені, що хочете завантажити нову сторінку?',\r
-               confirmCancel   : 'Деякі опції були змінені. Закрити вікно?',\r
-               options                 : 'Options', // MISSING\r
-               target                  : 'Target', // MISSING\r
-               targetNew               : 'New Window (_blank)', // MISSING\r
-               targetTop               : 'Topmost Window (_top)', // MISSING\r
-               targetSelf              : 'Same Window (_self)', // MISSING\r
-               targetParent    : 'Parent Window (_parent)', // MISSING\r
-               langDirLTR              : 'Left to Right (LTR)', // MISSING\r
-               langDirRTL              : 'Right to Left (RTL)', // MISSING\r
-               styles                  : 'Style', // MISSING\r
-               cssClasses              : 'Stylesheet Classes', // MISSING\r
+               close                   : 'Закрити',\r
+               preview                 : 'Попередній перегляд',\r
+               generalTab              : 'Основне',\r
+               advancedTab             : 'Додаткове',\r
+               validateNumberFailed : 'Значення не є цілим числом.',\r
+               confirmNewPage  : 'Всі незбережені зміни будуть втрачені. Ви впевнені, що хочете завантажити нову сторінку?',\r
+               confirmCancel   : 'Деякі опції змінено. Закрити вікно без збереження змін?',\r
+               options                 : 'Опції',\r
+               target                  : 'Ціль',\r
+               targetNew               : 'Нове вікно (_blank)',\r
+               targetTop               : 'Поточне вікно (_top)',\r
+               targetSelf              : 'Поточний фрейм/вікно (_self)',\r
+               targetParent    : 'Батьківський фрейм/вікно (_parent)',\r
+               langDirLTR              : 'Зліва направо (LTR)',\r
+               langDirRTL              : 'Справа наліво (RTL)',\r
+               styles                  : 'Стиль CSS',\r
+               cssClasses              : 'Клас CSS',\r
 \r
                // Put the voice-only part of the label in the span.\r
                unavailable             : '%1<span class="cke_accessibility">, не доступне</span>'\r
@@ -116,15 +116,15 @@ CKEDITOR.lang['uk'] =
 \r
        contextmenu :\r
        {\r
-               options : 'Context Menu Options' // MISSING\r
+               options : 'Опції контекстного меню'\r
        },\r
 \r
        // Special char dialog.\r
        specialChar             :\r
        {\r
-               toolbar         : 'Вставити спеціальний символ',\r
+               toolbar         : 'Спеціальний символ',\r
                title           : 'Оберіть спеціальний символ',\r
-               options : 'Special Character Options' // MISSING\r
+               options : 'Опції'\r
        },\r
 \r
        // Link dialog.\r
@@ -136,51 +136,51 @@ CKEDITOR.lang['uk'] =
                title           : 'Посилання',\r
                info            : 'Інформація посилання',\r
                target          : 'Ціль',\r
-               upload          : 'Закачати',\r
-               advanced        : 'Розширений',\r
+               upload          : 'Надіслати',\r
+               advanced        : 'Додаткове',\r
                type            : 'Тип посилання',\r
-               toUrl           : 'URL', // MISSING\r
+               toUrl           : 'URL',\r
                toAnchor        : 'Якір на цю сторінку',\r
-               toEmail         : 'Эл. пошта',\r
+               toEmail         : 'Ел. пошта',\r
                targetFrame             : '<фрейм>',\r
-               targetPopup             : '<спливаюче вікно>',\r
-               targetFrameName : 'Ім\'я целевого фрейма',\r
-               targetPopupName : 'Ім\'я спливаючого вікна',\r
-               popupFeatures   : 'Властивості спливаючого вікна',\r
+               targetPopup             : '<випливаюче вікно>',\r
+               targetFrameName : 'Ім\'я цільового фрейму',\r
+               targetPopupName : 'Ім\'я випливаючого вікна',\r
+               popupFeatures   : 'Властивості випливаючого вікна',\r
                popupResizable  : 'Масштабоване',\r
-               popupStatusBar  : 'Строка статусу',\r
+               popupStatusBar  : 'Рядок статусу',\r
                popupLocationBar: 'Панель локації',\r
                popupToolbar    : 'Панель інструментів',\r
                popupMenuBar    : 'Панель меню',\r
                popupFullScreen : 'Повний екран (IE)',\r
-               popupScrollBars : 'Полоси прокрутки',\r
+               popupScrollBars : 'Стрічки прокрутки',\r
                popupDependent  : 'Залежний (Netscape)',\r
                popupWidth              : 'Ширина',\r
                popupLeft               : 'Позиція зліва',\r
                popupHeight             : 'Висота',\r
                popupTop                : 'Позиція зверху',\r
-               id                              : 'Ідентифікатор (Id)',\r
+               id                              : 'Ідентифікатор',\r
                langDir                 : 'Напрямок мови',\r
-               langDirLTR              : 'Зліва на право (LTR)',\r
-               langDirRTL              : 'Зправа на ліво (RTL)',\r
+               langDirLTR              : 'Зліва направо (LTR)',\r
+               langDirRTL              : 'Справа наліво (RTL)',\r
                acccessKey              : 'Гаряча клавіша',\r
-               name                    : 'Им\'я',\r
-               langCode                : 'Напрямок мови',\r
+               name                    : 'Ім\'я',\r
+               langCode                : 'Код мови',\r
                tabIndex                : 'Послідовність переходу',\r
                advisoryTitle   : 'Заголовок',\r
                advisoryContentType     : 'Тип вмісту',\r
                cssClasses              : 'Клас CSS',\r
-               charset                 : 'Кодировка',\r
+               charset                 : 'Кодування',\r
                styles                  : 'Стиль CSS',\r
                selectAnchor    : 'Оберіть якір',\r
-               anchorName              : 'За ім\'ям якоря',\r
-               anchorId                : 'За ідентифікатором елемента',\r
+               anchorName              : 'За ім\'ям елементу',\r
+               anchorId                : 'За ідентифікатором елементу',\r
                emailAddress    : 'Адреса ел. пошти',\r
                emailSubject    : 'Тема листа',\r
                emailBody               : 'Тіло повідомлення',\r
-               noAnchors               : '(Немає якорів доступних в цьому документі)',\r
-               noUrl                   : 'Будь ласка, занесіть URL посилання',\r
-               noEmail                 : 'Будь ласка, занесіть адрес эл. почты'\r
+               noAnchors               : '(В цьому документі немає якорів)',\r
+               noUrl                   : 'Будь ласка, вкажіть URL посилання',\r
+               noEmail                 : 'Будь ласка, вкажіть адрес ел. пошти'\r
        },\r
 \r
        // Anchor dialog\r
@@ -190,31 +190,31 @@ CKEDITOR.lang['uk'] =
                menu            : 'Властивості якоря',\r
                title           : 'Властивості якоря',\r
                name            : 'Ім\'я якоря',\r
-               errorName       : 'Будь ласка, занесіть ім\'я якоря'\r
+               errorName       : 'Будь ласка, вкажіть ім\'я якоря'\r
        },\r
 \r
        // List style dialog\r
        list:\r
        {\r
-               numberedTitle           : 'Numbered List Properties', // MISSING\r
-               bulletedTitle           : 'Bulleted List Properties', // MISSING\r
-               type                            : 'Type', // MISSING\r
-               start                           : 'Start', // MISSING\r
-               validateStartNumber                             :'List start number must be a whole number.', // MISSING\r
-               circle                          : 'Circle', // MISSING\r
-               disc                            : 'Disc', // MISSING\r
-               square                          : 'Square', // MISSING\r
-               none                            : 'None', // MISSING\r
-               notset                          : '<not set>', // MISSING\r
-               armenian                        : 'Armenian numbering', // MISSING\r
-               georgian                        : 'Georgian numbering (an, ban, gan, etc.)', // MISSING\r
-               lowerRoman                      : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING\r
-               upperRoman                      : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING\r
-               lowerAlpha                      : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING\r
-               upperAlpha                      : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING\r
-               lowerGreek                      : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING\r
-               decimal                         : 'Decimal (1, 2, 3, etc.)', // MISSING\r
-               decimalLeadingZero      : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING\r
+               numberedTitle           : 'Опції нумерованого списку',\r
+               bulletedTitle           : 'Опції маркірованого списку',\r
+               type                            : 'Тип',\r
+               start                           : 'Почати з...',\r
+               validateStartNumber                             :'Початковий номер списку повинен бути цілим числом.',\r
+               circle                          : 'Кільце',\r
+               disc                            : 'Кружечок',\r
+               square                          : 'Квадратик',\r
+               none                            : 'Нема',\r
+               notset                          : '<не вказано>',\r
+               armenian                        : 'Вірменська нумерація',\r
+               georgian                        : 'Грузинська нумерація (an, ban, gan і т.д.)',\r
+               lowerRoman                      : 'Малі римські (i, ii, iii, iv, v і т.д.)',\r
+               upperRoman                      : 'Великі римські (I, II, III, IV, V і т.д.)',\r
+               lowerAlpha                      : 'Малі лат. букви (a, b, c, d, e і т.д.)',\r
+               upperAlpha                      : 'Великі лат. букви (A, B, C, D, E і т.д.)',\r
+               lowerGreek                      : 'Малі гр. букви (альфа, бета, гамма і т.д.)',\r
+               decimal                         : 'Десяткові (1, 2, 3 і т.д.)',\r
+               decimalLeadingZero      : 'Десяткові з нулем (01, 02, 03 і т.д.)'\r
        },\r
 \r
        // Find And Replace Dialog\r
@@ -225,12 +225,12 @@ CKEDITOR.lang['uk'] =
                replace                         : 'Заміна',\r
                findWhat                        : 'Шукати:',\r
                replaceWith                     : 'Замінити на:',\r
-               notFoundMsg                     : 'Вказаний текст не знайдений.',\r
+               notFoundMsg                     : 'Вказаний текст не знайдено.',\r
                matchCase                       : 'Враховувати регістр',\r
                matchWord                       : 'Збіг цілих слів',\r
                matchCyclic                     : 'Циклічна заміна',\r
                replaceAll                      : 'Замінити все',\r
-               replaceSuccessMsg       : '%1 співпадінь(я) замінено.'\r
+               replaceSuccessMsg       : '%1 співпадінь(ня) замінено.'\r
        },\r
 \r
        // Table Dialog\r
@@ -240,84 +240,84 @@ CKEDITOR.lang['uk'] =
                title           : 'Властивості таблиці',\r
                menu            : 'Властивості таблиці',\r
                deleteTable     : 'Видалити таблицю',\r
-               rows            : 'Строки',\r
-               columns         : 'Колонки',\r
-               border          : 'Розмір бордюра',\r
+               rows            : 'Рядки',\r
+               columns         : 'Стовбці',\r
+               border          : 'Розмір рамки',\r
                align           : 'Вирівнювання',\r
-               alignLeft       : 'Зліва',\r
+               alignLeft       : 'По лівому краю',\r
                alignCenter     : 'По центру',\r
-               alignRight      : 'Зправа',\r
+               alignRight      : 'По правому краю',\r
                width           : 'Ширина',\r
                widthPx         : 'пікселів',\r
                widthPc         : 'відсотків',\r
-               widthUnit       : 'width unit', // MISSING\r
+               widthUnit       : 'Одиниці вимір.',\r
                height          : 'Висота',\r
-               cellSpace       : 'Проміжок (spacing)',\r
-               cellPad         : 'Відступ (padding)',\r
-               caption         : 'Заголовок',\r
-               summary         : 'Резюме',\r
-               headers         : 'Заголовки',\r
-               headersNone             : 'Жодного',\r
-               headersColumn   : 'Перша колонка',\r
-               headersRow              : 'Перший рядок',\r
-               headersBoth             : 'Обидва',\r
-               invalidRows             : 'Кількість рядків повинна бути числом більше за 0.',\r
-               invalidCols             : 'Кількість колонок повинна бути числом більше за  0.',\r
-               invalidBorder   : 'Розмір бордюра повинен бути числом.',\r
-               invalidWidth    : 'Ширина таблиці повинна бути числом.',\r
-               invalidHeight   : 'Висота таблиці повинна бути числом.',\r
-               invalidCellSpacing      : 'Проміжок (spacing) комірки повинен бути числом.',\r
-               invalidCellPadding      : 'Відступ (padding) комірки повинен бути числом.',\r
+               cellSpace       : 'Проміжок',\r
+               cellPad         : 'Внутр. відступ',\r
+               caption         : 'Заголовок таблиці',\r
+               summary         : 'Детальний опис заголовку таблиці',\r
+               headers         : 'Заголовки стовбців/рядків',\r
+               headersNone             : 'Без заголовків',\r
+               headersColumn   : 'Стовбці',\r
+               headersRow              : 'Рядки',\r
+               headersBoth             : 'Стовбці і рядки',\r
+               invalidRows             : 'Кількість рядків повинна бути більшою 0.',\r
+               invalidCols             : 'Кількість стовбців повинна бути більшою 0.',\r
+               invalidBorder   : 'Розмір рамки повинен бути цілим числом.',\r
+               invalidWidth    : 'Ширина таблиці повинна бути цілим числом.',\r
+               invalidHeight   : 'Висота таблиці повинна бути цілим числом.',\r
+               invalidCellSpacing      : 'Проміжок між комірками повинен бути цілим числом.',\r
+               invalidCellPadding      : 'Внутр. відступ комірки повинен бути цілим числом.',\r
 \r
                cell :\r
                {\r
-                       menu                    : 'Осередок',\r
-                       insertBefore    : 'Вставити комірку до',\r
+                       menu                    : 'Комірки',\r
+                       insertBefore    : 'Вставити комірку перед',\r
                        insertAfter             : 'Вставити комірку після',\r
                        deleteCell              : 'Видалити комірки',\r
                        merge                   : 'Об\'єднати комірки',\r
-                       mergeRight              : 'Об\'єднати зправа',\r
-                       mergeDown               : 'Об\'єднати до низу',\r
+                       mergeRight              : 'Об\'єднати справа',\r
+                       mergeDown               : 'Об\'єднати донизу',\r
                        splitHorizontal : 'Розділити комірку по горизонталі',\r
                        splitVertical   : 'Розділити комірку по вертикалі',\r
                        title                   : 'Властивості комірки',\r
                        cellType                : 'Тип комірки',\r
-                       rowSpan                 : 'Обєднання рядків (Rows Span)',\r
-                       colSpan                 : 'Обєднання стовпчиків (Columns Span)',\r
-                       wordWrap                : 'Авто згортання тексту (Word Wrap)',\r
-                       hAlign                  : 'Горизонтальне вирівнювання',\r
-                       vAlign                  : 'Вертикальне вирівнювання',\r
-                       alignTop                : 'До верху',\r
-                       alignMiddle             : 'Посередині',\r
-                       alignBottom             : 'До низу',\r
+                       rowSpan                 : 'Об\'єднання рядків',\r
+                       colSpan                 : 'Об\'єднання стовпців',\r
+                       wordWrap                : 'Автоперенесення тексту',\r
+                       hAlign                  : 'Гориз. вирівнювання',\r
+                       vAlign                  : 'Верт. вирівнювання',\r
+                       alignTop                : 'По верхньому краю',\r
+                       alignMiddle             : 'По середині',\r
+                       alignBottom             : 'По нижньому краю',\r
                        alignBaseline   : 'По базовій лінії',\r
                        bgColor                 : 'Колір фону',\r
-                       borderColor             : 'Колір бордюру',\r
+                       borderColor             : 'Колір рамки',\r
                        data                    : 'Дані',\r
                        header                  : 'Заголовок',\r
                        yes                             : 'Так',\r
                        no                              : 'Ні',\r
-                       invalidWidth    : 'Ширина комірки повинна бути числом.',\r
-                       invalidHeight   : 'Висота комірки повинна бути числом.',\r
-                       invalidRowSpan  : 'Кількість обєднуваних рядків повинна бути цілим числом.',\r
-                       invalidColSpan  : 'Кількість обєднуваних стовпчиків повинна бути цілим числом.',\r
-                       chooseColor             : 'Choose' // MISSING\r
+                       invalidWidth    : 'Ширина комірки повинна бути цілим числом.',\r
+                       invalidHeight   : 'Висота комірки повинна бути цілим числом.',\r
+                       invalidRowSpan  : 'Кількість об\'єднуваних рядків повинна бути цілим числом.',\r
+                       invalidColSpan  : 'Кількість об\'єднуваних стовбців повинна бути цілим числом.',\r
+                       chooseColor             : 'Обрати'\r
                },\r
 \r
                row :\r
                {\r
-                       menu                    : 'Рядок',\r
-                       insertBefore    : 'Вставити рядок до',\r
+                       menu                    : 'Рядки',\r
+                       insertBefore    : 'Вставити рядок перед',\r
                        insertAfter             : 'Вставити рядок після',\r
-                       deleteRow               : 'Видалити строки'\r
+                       deleteRow               : 'Видалити рядки'\r
                },\r
 \r
                column :\r
                {\r
-                       menu                    : 'Колонка',\r
-                       insertBefore    : 'Вставити колонку до',\r
-                       insertAfter             : 'Вставити колонку після',\r
-                       deleteColumn    : 'Видалити колонки'\r
+                       menu                    : 'Стовбці',\r
+                       insertBefore    : 'Вставити стовбець перед',\r
+                       insertAfter             : 'Вставити стовбець після',\r
+                       deleteColumn    : 'Видалити стовбці'\r
                }\r
        },\r
 \r
@@ -325,17 +325,17 @@ CKEDITOR.lang['uk'] =
        button :\r
        {\r
                title           : 'Властивості кнопки',\r
-               text            : 'Текст (Значення)',\r
+               text            : 'Значення',\r
                type            : 'Тип',\r
-               typeBtn         : 'Кнопка',\r
-               typeSbm         : 'Відправити',\r
-               typeRst         : 'Скинути'\r
+               typeBtn         : 'Кнопка (button)',\r
+               typeSbm         : 'Надіслати (submit)',\r
+               typeRst         : 'Очистити (reset)'\r
        },\r
 \r
        // Checkbox and Radio Button Dialogs.\r
        checkboxAndRadio :\r
        {\r
-               checkboxTitle : 'Властивості флагової кнопки',\r
+               checkboxTitle : 'Властивості галочки',\r
                radioTitle      : 'Властивості кнопки вибору',\r
                value           : 'Значення',\r
                selected        : 'Обрана'\r
@@ -358,16 +358,16 @@ CKEDITOR.lang['uk'] =
                selectInfo      : 'Інфо',\r
                opAvail         : 'Доступні варіанти',\r
                value           : 'Значення',\r
-               size            : 'Розмір',\r
-               lines           : 'лінії',\r
-               chkMulti        : 'Дозволити обрання декількох позицій',\r
+               size            : 'Кількість',\r
+               lines           : 'видимих позицій у списку',\r
+               chkMulti        : 'Список з мультивибором',\r
                opText          : 'Текст',\r
                opValue         : 'Значення',\r
                btnAdd          : 'Добавити',\r
                btnModify       : 'Змінити',\r
                btnUp           : 'Вгору',\r
                btnDown         : 'Вниз',\r
-               btnSetValue : 'Встановити як вибране значення',\r
+               btnSetValue : 'Встановити як обране значення',\r
                btnDelete       : 'Видалити'\r
        },\r
 \r
@@ -375,8 +375,8 @@ CKEDITOR.lang['uk'] =
        textarea :\r
        {\r
                title           : 'Властивості текстової області',\r
-               cols            : 'Колонки',\r
-               rows            : 'Строки'\r
+               cols            : 'Стовбці',\r
+               rows            : 'Рядки'\r
        },\r
 \r
        // Text Field Dialog.\r
@@ -386,7 +386,7 @@ CKEDITOR.lang['uk'] =
                name            : 'Ім\'я',\r
                value           : 'Значення',\r
                charWidth       : 'Ширина',\r
-               maxChars        : 'Макс. кіл-ть символів',\r
+               maxChars        : 'Макс. к-ть символів',\r
                type            : 'Тип',\r
                typeText        : 'Текст',\r
                typePass        : 'Пароль'\r
@@ -406,31 +406,31 @@ CKEDITOR.lang['uk'] =
                title           : 'Властивості зображення',\r
                titleButton     : 'Властивості кнопки із зображенням',\r
                menu            : 'Властивості зображення',\r
-               infoTab         : 'Інформація про изображении',\r
+               infoTab         : 'Інформація про зображення',\r
                btnUpload       : 'Надіслати на сервер',\r
-               upload          : 'Закачати',\r
+               upload          : 'Надіслати',\r
                alt                     : 'Альтернативний текст',\r
                width           : 'Ширина',\r
                height          : 'Висота',\r
                lockRatio       : 'Зберегти пропорції',\r
-               unlockRatio     : 'Unlock Ratio', // MISSING\r
-               resetSize       : 'Скинути розмір',\r
-               border          : 'Бордюр',\r
-               hSpace          : 'Горизонтальний відступ',\r
-               vSpace          : 'Вертикальний відступ',\r
-               align           : 'Вирівнювання',\r
+               unlockRatio     : 'Не зберігати пропорції',\r
+               resetSize       : 'Очистити поля розмірів',\r
+               border          : 'Рамка',\r
+               hSpace          : 'Гориз. відступ',\r
+               vSpace          : 'Верт. відступ',\r
+               align           : 'Вирівн.',\r
                alignLeft       : 'По лівому краю',\r
                alignRight      : 'По правому краю',\r
-               alertUrl        : 'Будь ласка, введіть URL зображення',\r
+               alertUrl        : 'Будь ласка, вкажіть URL зображення',\r
                linkTab         : 'Посилання',\r
-               button2Img      : 'Ви хочете перетворити обрану кнопку-зображення на просте зображення?',\r
-               img2Button      : 'Ви хочете перетворити обране зображення на кнопку-зображення?',\r
-               urlMissing      : 'Image source URL is missing.', // MISSING\r
-               validateWidth   : 'Width must be a whole number.', // MISSING\r
-               validateHeight  : 'Height must be a whole number.', // MISSING\r
-               validateBorder  : 'Border must be a whole number.', // MISSING\r
-               validateHSpace  : 'HSpace must be a whole number.', // MISSING\r
-               validateVSpace  : 'VSpace must be a whole number.' // MISSING\r
+               button2Img      : 'Бажаєте перетворити обрану кнопку-зображення на просте зображення?',\r
+               img2Button      : 'Бажаєте перетворити обране зображення на кнопку-зображення?',\r
+               urlMissing      : 'Вкажіть URL зображення.',\r
+               validateWidth   : 'Ширина повинна бути цілим числом.',\r
+               validateHeight  : 'Висота повинна бути цілим числом.',\r
+               validateBorder  : 'Ширина рамки повинна бути цілим числом.',\r
+               validateHSpace  : 'Гориз. відступ повинен бути цілим числом.',\r
+               validateVSpace  : 'Верт. відступ повинен бути цілим числом.'\r
        },\r
 \r
        // Flash Dialog\r
@@ -439,50 +439,50 @@ CKEDITOR.lang['uk'] =
                properties              : 'Властивості Flash',\r
                propertiesTab   : 'Властивості',\r
                title                   : 'Властивості Flash',\r
-               chkPlay                 : 'Авто програвання',\r
-               chkLoop                 : 'Зациклити',\r
+               chkPlay                 : 'Автопрогравання',\r
+               chkLoop                 : 'Циклічно',\r
                chkMenu                 : 'Дозволити меню Flash',\r
                chkFull                 : 'Дозволити повноекранний перегляд',\r
                scale                   : 'Масштаб',\r
-               scaleAll                : 'Показати всі',\r
+               scaleAll                : 'Показати все',\r
                scaleNoBorder   : 'Без рамки',\r
-               scaleFit                : 'Дійсний розмір',\r
+               scaleFit                : 'Поч. розмір',\r
                access                  : 'Доступ до скрипта',\r
                accessAlways    : 'Завжди',\r
                accessSameDomain: 'З того ж домена',\r
                accessNever             : 'Ніколи',\r
                align                   : 'Вирівнювання',\r
                alignLeft               : 'По лівому краю',\r
-               alignAbsBottom  : 'Абс по низу',\r
-               alignAbsMiddle  : 'Абс по середині',\r
+               alignAbsBottom  : 'По нижньому краю (abs)',\r
+               alignAbsMiddle  : 'По середині (abs)',\r
                alignBaseline   : 'По базовій лінії',\r
-               alignBottom             : 'По низу',\r
+               alignBottom             : 'По нижньому краю',\r
                alignMiddle             : 'По середині',\r
                alignRight              : 'По правому краю',\r
-               alignTextTop    : 'Текст на верху',\r
-               alignTop                : 'По верху',\r
+               alignTextTop    : 'Текст по верхньому краю',\r
+               alignTop                : 'По верхньому краю',\r
                quality                 : 'Якість',\r
                qualityBest             : 'Відмінна',\r
                qualityHigh             : 'Висока',\r
-               qualityAutoHigh : 'Авто відмінна',\r
+               qualityAutoHigh : 'Автом. відмінна',\r
                qualityMedium   : 'Середня',\r
-               qualityAutoLow  : 'Авто низька',\r
+               qualityAutoLow  : 'Автом. низька',\r
                qualityLow              : 'Низька',\r
                windowModeWindow: 'Вікно',\r
-               windowModeOpaque: 'Непрозорість (Opaque)',\r
-               windowModeTransparent : 'Прозорість (Transparent)',\r
-               windowMode              : 'Режим вікна',\r
+               windowModeOpaque: 'Непрозорість',\r
+               windowModeTransparent : 'Прозорість',\r
+               windowMode              : 'Віконний режим',\r
                flashvars               : 'Змінні Flash',\r
                bgcolor                 : 'Колір фону',\r
                width                   : 'Ширина',\r
                height                  : 'Висота',\r
-               hSpace                  : 'Горизонтальний відступ',\r
-               vSpace                  : 'Вертикальний відступ',\r
-               validateSrc             : 'Будь ласка, занесіть URL посилання',\r
-               validateWidth   : 'Ширина повинна бути числом.',\r
-               validateHeight  : 'Висота повинна бути числом.',\r
-               validateHSpace  : 'HSpace повинна бути числом.',\r
-               validateVSpace  : 'VSpace повинна бути числом.'\r
+               hSpace                  : 'Гориз. відступ',\r
+               vSpace                  : 'Верт. відступ',\r
+               validateSrc             : 'Будь ласка, вкажіть URL посилання',\r
+               validateWidth   : 'Ширина повинна бути цілим числом.',\r
+               validateHeight  : 'Висота повинна бути цілим числом.',\r
+               validateHSpace  : 'Гориз. відступ повинен бути цілим числом.',\r
+               validateVSpace  : 'Верт. відступ повинен бути цілим числом.'\r
        },\r
 \r
        // Speller Pages Dialog\r
@@ -492,37 +492,37 @@ CKEDITOR.lang['uk'] =
                title                   : 'Перевірка орфографії',\r
                notAvailable    : 'Вибачте, але сервіс наразі недоступний.',\r
                errorLoading    : 'Помилка завантаження : %s.',\r
-               notInDic                : 'Не має в словнику',\r
+               notInDic                : 'Немає в словнику',\r
                changeTo                : 'Замінити на',\r
-               btnIgnore               : 'Ігнорувати',\r
-               btnIgnoreAll    : 'Ігнорувати все',\r
+               btnIgnore               : 'Пропустити',\r
+               btnIgnoreAll    : 'Пропустити все',\r
                btnReplace              : 'Замінити',\r
                btnReplaceAll   : 'Замінити все',\r
                btnUndo                 : 'Назад',\r
-               noSuggestions   : '- Немає припущень -',\r
+               noSuggestions   : '- немає варіантів -',\r
                progress                : 'Виконується перевірка орфографії...',\r
                noMispell               : 'Перевірку орфографії завершено: помилок не знайдено',\r
                noChanges               : 'Перевірку орфографії завершено: жодне слово не змінено',\r
-               oneChange               : 'Перевірку орфографії завершено: змінено одно слово',\r
-               manyChanges             : 'Перевірку орфографії завершено: 1% слів змінено',\r
-               ieSpellDownload : 'Модуль перевірки орфографії не встановлено. Бажаєтн завантажити його зараз?'\r
+               oneChange               : 'Перевірку орфографії завершено: змінено одне слово',\r
+               manyChanges             : 'Перевірку орфографії завершено: 1% слів(ова) змінено',\r
+               ieSpellDownload : 'Модуль перевірки орфографії не встановлено. Бажаєте завантажити його зараз?'\r
        },\r
 \r
        smiley :\r
        {\r
                toolbar : 'Смайлик',\r
                title   : 'Вставити смайлик',\r
-               options : 'Smiley Options' // MISSING\r
+               options : 'Опції смайликів'\r
        },\r
 \r
        elementsPath :\r
        {\r
-               eleLabel : 'Elements path', // MISSING\r
+               eleLabel : 'Шлях',\r
                eleTitle : '%1 елемент'\r
        },\r
 \r
        numberedlist    : 'Нумерований список',\r
-       bulletedlist    : 'Маркований список',\r
+       bulletedlist    : 'Маркірований список',\r
        indent                  : 'Збільшити відступ',\r
        outdent                 : 'Зменшити відступ',\r
 \r
@@ -539,19 +539,19 @@ CKEDITOR.lang['uk'] =
        clipboard :\r
        {\r
                title           : 'Вставити',\r
-               cutError        : 'Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X).',\r
-               copyError       : 'Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).',\r
-               pasteMsg        : 'Будь ласка, вставте з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>) та натисніть <STRONG>OK</STRONG>.',\r
-               securityMsg     : 'Редактор не може отримати прямий доступ до буферу обміну у зв\'язку з налаштуваннями вашого браузера. Вам потрібно вставити інформацію повторно в це вікно.',\r
-               pasteArea       : 'Paste Area' // MISSING\r
+               cutError        : 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)',\r
+               copyError       : 'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).',\r
+               pasteMsg        : 'Будь ласка, вставте інформацію з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>), та натисніть <STRONG>OK</STRONG>.',\r
+               securityMsg     : 'Редактор не може отримати прямий доступ до буферу обміну у зв\'язку з налаштуваннями Вашого браузера. Вам потрібно вставити інформацію в це вікно.',\r
+               pasteArea       : 'Область вставки'\r
        },\r
 \r
        pastefromword :\r
        {\r
-               confirmCleanup  : 'Текст, що ви хочете вставити, схожий на копійований з Word. Ви хочете очистити його перед вставкою?',\r
+               confirmCleanup  : 'Текст, що Ви намагаєтесь вставити, схожий на скопійований з Word. Бажаєте очистити його форматування перед вставлянням?',\r
                toolbar                 : 'Вставити з Word',\r
                title                   : 'Вставити з Word',\r
-               error                   : 'It was not possible to clean up the pasted data due to an internal error' // MISSING\r
+               error                   : 'Неможливо очистити форматування через внутрішню помилку.'\r
        },\r
 \r
        pasteText :\r
@@ -564,10 +564,10 @@ CKEDITOR.lang['uk'] =
        {\r
                button                  : 'Шаблони',\r
                title                   : 'Шаблони змісту',\r
-               options : 'Template Options', // MISSING\r
+               options : 'Опції шаблону',\r
                insertOption    : 'Замінити поточний вміст',\r
                selectPromptMsg : 'Оберіть, будь ласка, шаблон для відкриття в редакторі<br>(поточний зміст буде втрачено):',\r
-               emptyListMsg    : '(Не визначено жодного шаблону)'\r
+               emptyListMsg    : '(Не знайдено жодного шаблону)'\r
        },\r
 \r
        showBlocks : 'Показувати блоки',\r
@@ -575,10 +575,10 @@ CKEDITOR.lang['uk'] =
        stylesCombo :\r
        {\r
                label           : 'Стиль',\r
-               panelTitle      : 'Formatting Styles', // MISSING\r
-               panelTitle1     : 'Block стилі',\r
-               panelTitle2     : 'Inline стилі',\r
-               panelTitle3     : 'Object стилі'\r
+               panelTitle      : 'Стилі форматування',\r
+               panelTitle1     : 'Блочні стилі',\r
+               panelTitle2     : 'Рядкові стилі',\r
+               panelTitle3     : 'Об\'єктні стилі'\r
        },\r
 \r
        format :\r
@@ -595,24 +595,24 @@ CKEDITOR.lang['uk'] =
                tag_h4          : 'Заголовок 4',\r
                tag_h5          : 'Заголовок 5',\r
                tag_h6          : 'Заголовок 6',\r
-               tag_div         : 'Нормальний (DIV)'\r
+               tag_div         : 'Нормальний (div)'\r
        },\r
 \r
        div :\r
        {\r
-               title                           : 'Create Div Container', // MISSING\r
-               toolbar                         : 'Create Div Container', // MISSING\r
-               cssClassInputLabel      : 'Stylesheet Classes', // MISSING\r
-               styleSelectLabel        : 'Style', // MISSING\r
-               IdInputLabel            : 'Id', // MISSING\r
-               languageCodeInputLabel  : ' Language Code', // MISSING\r
-               inlineStyleInputLabel   : 'Inline Style', // MISSING\r
-               advisoryTitleInputLabel : 'Advisory Title', // MISSING\r
-               langDirLabel            : 'Language Direction', // MISSING\r
-               langDirLTRLabel         : 'Left to Right (LTR)', // MISSING\r
-               langDirRTLLabel         : 'Right to Left (RTL)', // MISSING\r
-               edit                            : 'Edit Div', // MISSING\r
-               remove                          : 'Remove Div' // MISSING\r
+               title                           : 'Створити блок-контейнер',\r
+               toolbar                         : 'Створити блок-контейнер',\r
+               cssClassInputLabel      : 'Клас CSS',\r
+               styleSelectLabel        : 'Стиль CSS',\r
+               IdInputLabel            : 'Ідентифікатор',\r
+               languageCodeInputLabel  : 'Код мови',\r
+               inlineStyleInputLabel   : 'Вписаний стиль',\r
+               advisoryTitleInputLabel : 'Зміст випливаючої підказки',\r
+               langDirLabel            : 'Напрямок мови',\r
+               langDirLTRLabel         : 'Зліва направо (LTR)',\r
+               langDirRTLLabel         : 'Справа наліво (RTL)',\r
+               edit                            : 'Редагувати блок',\r
+               remove                          : 'Видалити блок'\r
        },\r
 \r
        font :\r
@@ -625,7 +625,7 @@ CKEDITOR.lang['uk'] =
        fontSize :\r
        {\r
                label           : 'Розмір',\r
-               voiceLabel      : 'Розмір шрифта',\r
+               voiceLabel      : 'Розмір шрифту',\r
                panelTitle      : 'Розмір'\r
        },\r
 \r
@@ -633,126 +633,126 @@ CKEDITOR.lang['uk'] =
        {\r
                textColorTitle  : 'Колір тексту',\r
                bgColorTitle    : 'Колір фону',\r
-               panelTitle              : 'Colors', // MISSING\r
-               auto                    : 'Автоматичний',\r
+               panelTitle              : 'Кольори',\r
+               auto                    : 'Авто',\r
                more                    : 'Кольори...'\r
        },\r
 \r
        colors :\r
        {\r
-               '000' : 'Black', // MISSING\r
-               '800000' : 'Maroon', // MISSING\r
-               '8B4513' : 'Saddle Brown', // MISSING\r
-               '2F4F4F' : 'Dark Slate Gray', // MISSING\r
-               '008080' : 'Teal', // MISSING\r
-               '000080' : 'Navy', // MISSING\r
-               '4B0082' : 'Indigo', // MISSING\r
-               '696969' : 'Dark Gray', // MISSING\r
-               'B22222' : 'Fire Brick', // MISSING\r
-               'A52A2A' : 'Brown', // MISSING\r
-               'DAA520' : 'Golden Rod', // MISSING\r
-               '006400' : 'Dark Green', // MISSING\r
-               '40E0D0' : 'Turquoise', // MISSING\r
-               '0000CD' : 'Medium Blue', // MISSING\r
-               '800080' : 'Purple', // MISSING\r
-               '808080' : 'Gray', // MISSING\r
-               'F00' : 'Red', // MISSING\r
-               'FF8C00' : 'Dark Orange', // MISSING\r
-               'FFD700' : 'Gold', // MISSING\r
-               '008000' : 'Green', // MISSING\r
-               '0FF' : 'Cyan', // MISSING\r
-               '00F' : 'Blue', // MISSING\r
-               'EE82EE' : 'Violet', // MISSING\r
-               'A9A9A9' : 'Dim Gray', // MISSING\r
-               'FFA07A' : 'Light Salmon', // MISSING\r
-               'FFA500' : 'Orange', // MISSING\r
-               'FFFF00' : 'Yellow', // MISSING\r
-               '00FF00' : 'Lime', // MISSING\r
-               'AFEEEE' : 'Pale Turquoise', // MISSING\r
-               'ADD8E6' : 'Light Blue', // MISSING\r
-               'DDA0DD' : 'Plum', // MISSING\r
-               'D3D3D3' : 'Light Grey', // MISSING\r
-               'FFF0F5' : 'Lavender Blush', // MISSING\r
-               'FAEBD7' : 'Antique White', // MISSING\r
-               'FFFFE0' : 'Light Yellow', // MISSING\r
-               'F0FFF0' : 'Honeydew', // MISSING\r
-               'F0FFFF' : 'Azure', // MISSING\r
-               'F0F8FF' : 'Alice Blue', // MISSING\r
-               'E6E6FA' : 'Lavender', // MISSING\r
-               'FFF' : 'White' // MISSING\r
+               '000' : 'Чорний',\r
+               '800000' : 'Бордовий',\r
+               '8B4513' : 'Коричневий',\r
+               '2F4F4F' : 'Темний сіро-зелений',\r
+               '008080' : 'Морської хвилі',\r
+               '000080' : 'Сливовий',\r
+               '4B0082' : 'Індиго',\r
+               '696969' : 'Темносірий',\r
+               'B22222' : 'Темночервоний',\r
+               'A52A2A' : 'Каштановий',\r
+               'DAA520' : 'Бежевий',\r
+               '006400' : 'Темнозелений',\r
+               '40E0D0' : 'Бірюзовий',\r
+               '0000CD' : 'Темносиній',\r
+               '800080' : 'Пурпурний',\r
+               '808080' : 'Сірий',\r
+               'F00' : 'Червоний',\r
+               'FF8C00' : 'Темнооранжевий',\r
+               'FFD700' : 'Жовтий',\r
+               '008000' : 'Зелений',\r
+               '0FF' : 'Синьо-зелений',\r
+               '00F' : 'Синій',\r
+               'EE82EE' : 'Фіолетовий',\r
+               'A9A9A9' : 'Світлосірий',\r
+               'FFA07A' : 'Рожевий',\r
+               'FFA500' : 'Оранжевий',\r
+               'FFFF00' : 'Яскравожовтий',\r
+               '00FF00' : 'Салатовий',\r
+               'AFEEEE' : 'Світлобірюзовий',\r
+               'ADD8E6' : 'Блакитний',\r
+               'DDA0DD' : 'Світлофіолетовий',\r
+               'D3D3D3' : 'Сріблястий',\r
+               'FFF0F5' : 'Світлорожевий',\r
+               'FAEBD7' : 'Світлооранжевий',\r
+               'FFFFE0' : 'Світложовтий',\r
+               'F0FFF0' : 'Світлозелений',\r
+               'F0FFFF' : 'Світлий синьо-зелений',\r
+               'F0F8FF' : 'Світлоблакитний',\r
+               'E6E6FA' : 'Лавандовий',\r
+               'FFF' : 'Білий'\r
        },\r
 \r
        scayt :\r
        {\r
                title                   : 'Перефірка орфографії по мірі набору',\r
-               opera_title             : 'Not supported by Opera', // MISSING\r
-               enable                  : 'Включити SCAYT',\r
-               disable                 : 'Відключити SCAYT',\r
+               opera_title             : 'Не підтримується в Opera',\r
+               enable                  : 'Ввімкнути SCAYT',\r
+               disable                 : 'Вимкнути SCAYT',\r
                about                   : 'Про SCAYT',\r
                toggle                  : 'Перемкнути SCAYT',\r
                options                 : 'Опції',\r
                langs                   : 'Мови',\r
-               moreSuggestions : 'Більше пропозицій',\r
-               ignore                  : 'Ігнорувати',\r
-               ignoreAll               : 'Ігнорувати всі',\r
+               moreSuggestions : 'Більше варіантів',\r
+               ignore                  : 'Пропустити',\r
+               ignoreAll               : 'Пропустити всі',\r
                addWord                 : 'Додати слово',\r
-               emptyDic                : 'Назва словника повинна бути заповнена.',\r
+               emptyDic                : 'Назва словника повинна бути вказана.',\r
 \r
                optionsTab              : 'Опції',\r
-               allCaps                 : 'Ignore All-Caps Words', // MISSING\r
-               ignoreDomainNames : 'Ignore Domain Names', // MISSING\r
-               mixedCase               : 'Ignore Words with Mixed Case', // MISSING\r
-               mixedWithDigits : 'Ignore Words with Numbers', // MISSING\r
+               allCaps                 : 'Пропустити прописні слова',\r
+               ignoreDomainNames : 'Пропустити доменні назви',\r
+               mixedCase               : 'Пропустити слова зі змішаним регістром',\r
+               mixedWithDigits : 'Пропустити слова, що містять цифри',\r
 \r
                languagesTab    : 'Мови',\r
 \r
                dictionariesTab : 'Словники',\r
-               dic_field_name  : 'Dictionary name', // MISSING\r
-               dic_create              : 'Create', // MISSING\r
-               dic_restore             : 'Restore', // MISSING\r
-               dic_delete              : 'Delete', // MISSING\r
-               dic_rename              : 'Rename', // MISSING\r
-               dic_info                : 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING\r
+               dic_field_name  : 'Назва словника',\r
+               dic_create              : 'Створити',\r
+               dic_restore             : 'Відновити',\r
+               dic_delete              : 'Видалити',\r
+               dic_rename              : 'Перейменувати',\r
+               dic_info                : 'Як правило, користувацькі словники зберігаються у cookie-файлах. Однак, cookie-файли мають обмеження на розмір. Якщо користувацький словник зростає в обсязі настільки, що вже не може бути збережений у cookie-файлі, тоді його можна зберегти на нашому сервері. Щоб зберегти Ваш персональний словник на нашому сервері необхідно вказати назву словника. Якщо Ви вже зберігали словник на сервері, будь ласка, вкажіть назву збереженого словника і натисніть кнопку Відновити.',\r
 \r
-               aboutTab                : 'Про'\r
+               aboutTab                : 'Про SCAYT'\r
        },\r
 \r
        about :\r
        {\r
                title           : 'Про CKEditor',\r
                dlgTitle        : 'Про CKEditor',\r
-               moreInfo        : 'Щодо інформації з ліцензування завітайте до нашого сайту:',\r
+               moreInfo        : 'Щодо інформації з ліцензування завітайте на наш сайт:',\r
                copy            : 'Copyright &copy; $1. Всі права застережено.'\r
        },\r
 \r
        maximize : 'Максимізувати',\r
-       minimize : 'Minimize', // MISSING\r
+       minimize : 'Мінімізувати',\r
 \r
        fakeobjects :\r
        {\r
                anchor  : 'Якір',\r
-               flash   : 'Flash анімація',\r
+               flash   : 'Flash-анімація',\r
                div             : 'Розрив сторінки',\r
-               unknown : 'Невідомий об`єкт'\r
+               unknown : 'Невідомий об\'єкт'\r
        },\r
 \r
-       resize : 'Пересувайте для зміни розміру',\r
+       resize : 'Потягніть для зміни розмірів',\r
 \r
        colordialog :\r
        {\r
-               title           : 'Select color', // MISSING\r
-               options :       'Color Options', // MISSING\r
-               highlight       : 'Highlight', // MISSING\r
-               selected        : 'Selected Color', // MISSING\r
-               clear           : 'Clear' // MISSING\r
+               title           : 'Обрати колір',\r
+               options :       'Опції кольорів',\r
+               highlight       : 'Колір, на який вказує курсор',\r
+               selected        : 'Обраний колір',\r
+               clear           : 'Очистити'\r
        },\r
 \r
-       toolbarCollapse : 'Collapse Toolbar', // MISSING\r
-       toolbarExpand   : 'Expand Toolbar', // MISSING\r
+       toolbarCollapse : 'Згорнути панель інструментів',\r
+       toolbarExpand   : 'Розгорнути панель інструментів',\r
 \r
        bidi :\r
        {\r
-               ltr : 'Text direction from left to right', // MISSING\r
-               rtl : 'Text direction from right to left' // MISSING\r
+               ltr : 'Напрямок тексту зліва направо',\r
+               rtl : 'Напрямок тексту справа наліво'\r
        }\r
 };\r
index 3348f93..4b7c34c 100644 (file)
@@ -6,7 +6,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 CKEDITOR.dialog.add( 'a11yHelp', function( editor )\r
 {\r
        var lang = editor.lang.accessibilityHelp,\r
-               id = CKEDITOR.tools.getNextNumber();\r
+               id = CKEDITOR.tools.getNextId();\r
 \r
        // CharCode <-> KeyChar.\r
        var keyMap =\r
@@ -125,8 +125,8 @@ CKEDITOR.dialog.add( 'a11yHelp', function( editor )
        // Create the help list directly from lang file entries.\r
        function buildHelpContents()\r
        {\r
-               var pageTpl = '<div class="cke_accessibility_legend" role="document" aria-labelledby="cke_' + id + '_arialbl" tabIndex="-1">%1</div>' +\r
-                               '<span id="cke_' + id + '_arialbl" class="cke_voice_label">' + lang.contents + ' </span>',\r
+               var pageTpl = '<div class="cke_accessibility_legend" role="document" aria-labelledby="' + id + '_arialbl" tabIndex="-1">%1</div>' +\r
+                               '<span id="' + id + '_arialbl" class="cke_voice_label">' + lang.contents + ' </span>',\r
                        sectionTpl = '<h1>%1</h1><dl>%2</dl>',\r
                        itemTpl = '<dt>%1</dt><dd>%2</dd>';\r
 \r
index cd3fc3d..f31e9c6 100644 (file)
@@ -14,8 +14,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        newHeight;\r
 \r
                // We can not use documentElement to calculate the height for IE (#6061).\r
-               if ( CKEDITOR.env.ie )\r
-                       newHeight = doc.getBody().$.scrollHeight + 24;\r
+               // It is not good for IE Quirks, yet using offsetHeight would also not work as expected (#6408).\r
+               // We do the same for FF because of the html height workaround (#6341).\r
+               if ( CKEDITOR.env.ie || CKEDITOR.env.gecko )\r
+                       newHeight = doc.getBody().$.scrollHeight + ( CKEDITOR.env.ie && CKEDITOR.env.quirks ? 0 : 24 );\r
                else\r
                        newHeight = doc.getDocumentElement().$.offsetHeight;\r
 \r
@@ -41,9 +43,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        {\r
                                editor.on( eventName, function( evt )\r
                                {\r
+                                       var maximize = editor.getCommand( 'maximize' );\r
                                        // Some time is required for insertHtml, and it gives other events better performance as well.\r
-                                       if ( evt.editor.mode == 'wysiwyg' )\r
+                                       if ( evt.editor.mode == 'wysiwyg' &&\r
+                                               // Disable autogrow when the editor is maximized .(#6339)\r
+                                               ( !maximize || maximize.state != CKEDITOR.TRISTATE_ON ) )\r
+                                       {\r
                                                setTimeout( function(){ resizeEditor( evt.editor ); }, 100 );\r
+                                       }\r
                                });\r
                        }\r
                }\r
index 0b2f25e..74507e3 100644 (file)
@@ -29,15 +29,15 @@ CKEDITOR.plugins.add( 'basicstyles',
                                });\r
                };\r
 \r
-               var config = editor.config;\r
-               var lang = editor.lang;\r
+               var config = editor.config,\r
+                       lang = editor.lang;\r
 \r
-               addButtonCommand( 'Bold'                , lang.bold                     , 'bold'                , config.coreStyles_bold );\r
+               addButtonCommand( 'Bold'                , lang.bold             , 'bold'                , config.coreStyles_bold );\r
                addButtonCommand( 'Italic'              , lang.italic           , 'italic'              , config.coreStyles_italic );\r
-               addButtonCommand( 'Underline'   , lang.underline        , 'underline'   , config.coreStyles_underline );\r
+               addButtonCommand( 'Underline'   , lang.underline                , 'underline'   , config.coreStyles_underline );\r
                addButtonCommand( 'Strike'              , lang.strike           , 'strike'              , config.coreStyles_strike );\r
-               addButtonCommand( 'Subscript'   , lang.subscript        , 'subscript'   , config.coreStyles_subscript );\r
-               addButtonCommand( 'Superscript' , lang.superscript      , 'superscript' , config.coreStyles_superscript );\r
+               addButtonCommand( 'Subscript'   , lang.subscript                , 'subscript'   , config.coreStyles_subscript );\r
+               addButtonCommand( 'Superscript' , lang.superscript              , 'superscript' , config.coreStyles_superscript );\r
        }\r
 });\r
 \r
index 6c5d8a6..761e16b 100644 (file)
@@ -5,11 +5,20 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 (function()\r
 {\r
-       var guardElements = { table:1, ul:1, ol:1, blockquote:1, div:1 };\r
-       var directSelectionGuardElements = {};\r
+       var guardElements = { table:1, tbody: 1, ul:1, ol:1, blockquote:1, div:1, tr: 1 },\r
+               directSelectionGuardElements = {},\r
+               // All guard elements which can have a direction applied on them.\r
+               allGuardElements = {};\r
        CKEDITOR.tools.extend( directSelectionGuardElements, guardElements, { tr:1, p:1, div:1, li:1 } );\r
+       CKEDITOR.tools.extend( allGuardElements, directSelectionGuardElements, { td:1 } );\r
 \r
-       function onSelectionChange( evt )\r
+       function onSelectionChange( e )\r
+       {\r
+               setToolbarStates( e );\r
+               handleMixedDirContent( e );\r
+       }\r
+\r
+       function setToolbarStates( evt )\r
        {\r
                var editor = evt.editor,\r
                        path = evt.data.path;\r
@@ -18,19 +27,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                useComputedState = useComputedState === undefined || useComputedState;\r
 \r
-               if ( useComputedState )\r
-               {\r
-                       var selection = editor.getSelection(),\r
-                               ranges = selection.getRanges();\r
-\r
-                       selectedElement = ranges && ranges[ 0 ].getEnclosedNode();\r
-\r
-                       // If this is not our element of interest, apply to fully selected elements from guardElements.\r
-                       if ( !selectedElement || selectedElement\r
-                                       && !( selectedElement.type == CKEDITOR.NODE_ELEMENT && selectedElement.getName() in directSelectionGuardElements )\r
-                               )\r
-                               selectedElement = getFullySelected( selection, guardElements );\r
-               }\r
+               // We can use computedState provided by the browser or traverse parents manually.\r
+               if ( !useComputedState )\r
+                       selectedElement = getElementForDirection( path.lastElement );\r
 \r
                selectedElement = selectedElement || path.block || path.blockLimit;\r
 \r
@@ -43,77 +42,115 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                editor.getCommand( 'bidirtl' ).setState( selectionDir == 'rtl' ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );\r
                editor.getCommand( 'bidiltr' ).setState( selectionDir == 'ltr' ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF );\r
+       }\r
 \r
-               var chromeRoot = editor.container.getChild( 1 );\r
+       function handleMixedDirContent( evt )\r
+       {\r
+               var editor = evt.editor,\r
+                       chromeRoot = editor.container.getChild( 1 ),\r
+                       directionNode = getElementForDirection( evt.data.path.lastElement );\r
 \r
-               if ( selectionDir != editor.lang.dir )\r
+               if ( directionNode && editor.lang.dir != directionNode.getComputedStyle( 'direction' ) )\r
                        chromeRoot.addClass( 'cke_mixed_dir_content' );\r
                else\r
                        chromeRoot.removeClass( 'cke_mixed_dir_content' );\r
        }\r
 \r
-       function switchDir( element, dir, editor )\r
+       /**\r
+        * Returns element with possibility of applying the direction.\r
+        * @param node\r
+        */\r
+       function getElementForDirection( node )\r
        {\r
-               var dirBefore = element.getComputedStyle( 'direction' ),\r
-                       currentDir = element.getStyle( 'direction' ) || element.getAttribute( 'dir' ) || '';\r
+               while ( node && !( node.getName() in allGuardElements || node.is( 'body' ) ) )\r
+               {\r
+                       var parent = node.getParent();\r
+                       if ( !parent )\r
+                               break;\r
+\r
+                       node = parent;\r
+               }\r
 \r
+               return node;\r
+       }\r
+\r
+       function switchDir( element, dir, editor, database )\r
+       {\r
+               // Mark this element as processed by switchDir.\r
+               CKEDITOR.dom.element.setMarker( database, element, 'bidi_processed', 1 );\r
+\r
+               // Check whether one of the ancestors has already been styled.\r
+               var parent = element;\r
+               while ( ( parent = parent.getParent() ) && !parent.is( 'body' ) )\r
+               {\r
+                       if ( parent.getCustomData( 'bidi_processed' ) )\r
+                       {\r
+                               // Ancestor style must dominate.\r
+                               element.removeStyle( 'direction' );\r
+                               element.removeAttribute( 'dir' );\r
+                               return null;\r
+                       }\r
+               }\r
+\r
+               var useComputedState = ( 'useComputedState' in editor.config ) ? editor.config.useComputedState : 1;\r
+\r
+               var elementDir = useComputedState ? element.getComputedStyle( 'direction' )\r
+                       : element.getStyle( 'direction' ) || element.hasAttribute( 'dir' );\r
+\r
+               // Stop if direction is same as present.\r
+               if ( elementDir == dir )\r
+                       return null;\r
+\r
+               // Reuse computedState if we already have it.\r
+               var dirBefore = useComputedState ? elementDir : element.getComputedStyle( 'direction' );\r
+\r
+               // Clear direction on this element.\r
                element.removeStyle( 'direction' );\r
 \r
-               if ( currentDir.toLowerCase() == dir )\r
+               // Do the second check when computed state is ON, to check\r
+               // if we need to apply explicit direction on this element.\r
+               if ( useComputedState )\r
+               {\r
                        element.removeAttribute( 'dir' );\r
+                       if ( dir != element.getComputedStyle( 'direction' ) )\r
+                               element.setAttribute( 'dir', dir );\r
+               }\r
                else\r
+                       // Set new direction for this element.\r
                        element.setAttribute( 'dir', dir );\r
 \r
                // If the element direction changed, we need to switch the margins of\r
                // the element and all its children, so it will get really reflected\r
                // like a mirror. (#5910)\r
-               var dirAfter = element.getComputedStyle( 'direction' );\r
-               if ( dirAfter != dirBefore )\r
-               {\r
-                       var range = new CKEDITOR.dom.range( element.getDocument() );\r
-                       range.setStartBefore( element );\r
-                       range.setEndAfter( element );\r
+               if ( dir != dirBefore )\r
+                       editor.fire( 'dirChanged', element );\r
 \r
-                       var walker = new CKEDITOR.dom.walker( range );\r
+               editor.forceNextSelectionCheck();\r
 \r
-                       var node;\r
-                       while ( ( node = walker.next() ) )\r
-                       {\r
-                               if ( node.type == CKEDITOR.NODE_ELEMENT )\r
-                               {\r
-                                       // A child with dir defined is to be ignored.\r
-                                       if ( !node.equals( element ) && node.hasAttribute( 'dir' ) )\r
-                                       {\r
-                                               range.setStartAfter( node );\r
-                                               walker = new CKEDITOR.dom.walker( range );\r
-                                               continue;\r
-                                       }\r
+               return null;\r
+       }\r
 \r
-                                       // Switch the margins.\r
-                                       var marginLeft = node.getStyle( 'margin-right' ),\r
-                                               marginRight = node.getStyle( 'margin-left' );\r
+       function getFullySelected( range, elements )\r
+       {\r
+               var ancestor = range.getCommonAncestor( false, true );\r
 \r
-                                       marginLeft ? node.setStyle( 'margin-left', marginLeft ) : node.removeStyle( 'margin-left' );\r
-                                       marginRight ? node.setStyle( 'margin-right', marginRight ) : node.removeStyle( 'margin-right' );\r
-                               }\r
-                       }\r
-               }\r
+               range.enlarge( CKEDITOR.ENLARGE_BLOCK_CONTENTS );\r
 \r
-               editor.forceNextSelectionCheck();\r
-       }\r
+               if ( range.checkBoundaryOfElement( ancestor, CKEDITOR.START )\r
+                               && range.checkBoundaryOfElement( ancestor, CKEDITOR.END ) )\r
+               {\r
+                       var parent;\r
+                       while ( ancestor && ancestor.type == CKEDITOR.NODE_ELEMENT\r
+                                       && ( parent = ancestor.getParent() )\r
+                                       && parent.getChildCount() == 1\r
+                                       && ( !( ancestor.getName() in elements ) || ( parent.getName() in elements ) )\r
+                                       )\r
+                               ancestor = parent;\r
 \r
-       function getFullySelected( selection, elements )\r
-       {\r
-               var selectedElement = selection.getCommonAncestor();\r
-               while( selectedElement.type == CKEDITOR.NODE_ELEMENT\r
-                               && !( selectedElement.getName() in elements )\r
-                               && selectedElement.getParent().getChildCount() == 1\r
-                       )\r
-                       selectedElement = selectedElement.getParent();\r
-\r
-               return selectedElement.type == CKEDITOR.NODE_ELEMENT\r
-                       && ( selectedElement.getName() in elements )\r
-                       && selectedElement;\r
+                       return ancestor.type == CKEDITOR.NODE_ELEMENT\r
+                                       && ( ancestor.getName() in elements )\r
+                                       && ancestor;\r
+               }\r
        }\r
 \r
        function bidiCommand( dir )\r
@@ -126,91 +163,66 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                        if ( ranges && ranges.length )\r
                        {\r
-                               // Apply do directly selected elements from guardElements.\r
-                               var selectedElement = ranges[ 0 ].getEnclosedNode();\r
+                               var database = {};\r
 \r
-                               // If this is not our element of interest, apply to fully selected elements from guardElements.\r
-                               if ( !selectedElement || selectedElement\r
-                                               && !( selectedElement.type == CKEDITOR.NODE_ELEMENT && selectedElement.getName() in directSelectionGuardElements )\r
-                                       )\r
-                                       selectedElement = getFullySelected( selection, guardElements );\r
+                               // Creates bookmarks for selection, as we may split some blocks.\r
+                               var bookmarks = selection.createBookmarks();\r
 \r
-                               if ( selectedElement )\r
-                               {\r
-                                       if ( !selectedElement.isReadOnly() )\r
-                                               switchDir( selectedElement, dir, editor );\r
-                               }\r
-                               else\r
+                               var rangeIterator = ranges.createIterator(),\r
+                                       range,\r
+                                       i = 0;\r
+\r
+                               while ( ( range = rangeIterator.getNextRange( 1 ) ) )\r
                                {\r
-                                       // Creates bookmarks for selection, as we may split some blocks.\r
-                                       var bookmarks = selection.createBookmarks();\r
+                                       // Apply do directly selected elements from guardElements.\r
+                                       var selectedElement = range.getEnclosedNode();\r
+\r
+                                       // If this is not our element of interest, apply to fully selected elements from guardElements.\r
+                                       if ( !selectedElement || selectedElement\r
+                                                       && !( selectedElement.type == CKEDITOR.NODE_ELEMENT && selectedElement.getName() in directSelectionGuardElements )\r
+                                               )\r
+                                               selectedElement = getFullySelected( range, guardElements );\r
+\r
+                                       if ( selectedElement && !selectedElement.isReadOnly() )\r
+                                               switchDir( selectedElement, dir, editor, database );\r
 \r
                                        var iterator,\r
                                                block;\r
 \r
-                                       for ( var i = ranges.length - 1 ; i >= 0 ; i-- )\r
+                                       // Walker searching for guardElements.\r
+                                       var walker = new CKEDITOR.dom.walker( range );\r
+\r
+                                       var start = bookmarks[ i ].startNode,\r
+                                               end = bookmarks[ i++ ].endNode;\r
+\r
+                                       walker.evaluator = function( node )\r
                                        {\r
-                                               // Array of elements processed as guardElements.\r
-                                               var processedElements = [];\r
-                                               // Walker searching for guardElements.\r
-                                               var walker = new CKEDITOR.dom.walker( ranges[ i ] );\r
-                                               walker.evaluator = function( node ){\r
-                                                       return node.type == CKEDITOR.NODE_ELEMENT\r
+                                               return !! ( node.type == CKEDITOR.NODE_ELEMENT\r
                                                                && node.getName() in guardElements\r
                                                                && !( node.getName() == ( enterMode == CKEDITOR.ENTER_P ) ? 'p' : 'div'\r
                                                                        && node.getParent().type == CKEDITOR.NODE_ELEMENT\r
-                                                                       && node.getParent().getName() == 'blockquote'\r
-                                                               );\r
-                                               };\r
-\r
-                                               while ( ( block = walker.next() ) )\r
-                                               {\r
-                                                       switchDir( block, dir, editor );\r
-                                                       processedElements.push( block );\r
-                                               }\r
-\r
-                                               iterator = ranges[ i ].createIterator();\r
-                                               iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR;\r
-\r
-                                               while ( ( block = iterator.getNextParagraph( enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ) )\r
-                                               {\r
-                                                       if ( block.isReadOnly() )\r
-                                                               continue;\r
-\r
-                                                       var _break = 0;\r
-\r
-                                                       // Check if block have been already processed by the walker above.\r
-                                                       for ( var ii = 0; ii < processedElements.length; ii++ )\r
-                                                       {\r
-                                                               var parent = block.getParent();\r
-\r
-                                                               while( parent && parent.getName() != 'body' )\r
-                                                               {\r
-                                                                       if ( ( parent.$.isSameNode && parent.$.isSameNode( processedElements[ ii ].$ ) )\r
-                                                                                       || parent.$ == processedElements[ ii ].$ )\r
-                                                                       {\r
-                                                                               _break = 1;\r
-                                                                               break;\r
-                                                                       }\r
-                                                                       parent = parent.getParent();\r
-                                                               }\r
-\r
-                                                               if ( _break )\r
-                                                                       break;\r
-                                                       }\r
-\r
-                                                       if ( !_break )\r
-                                                       {\r
-                                                               switchDir( block, dir, editor );\r
-                                                       }\r
-                                               }\r
-                                       }\r
-\r
-                                       editor.forceNextSelectionCheck();\r
-                                       // Restore selection position.\r
-                                       selection.selectBookmarks( bookmarks );\r
+                                                                       && node.getParent().getName() == 'blockquote' )\r
+                                                               // Element must be fully included in the range as well. (#6485).\r
+                                                               && node.getPosition( start ) & CKEDITOR.POSITION_FOLLOWING\r
+                                                               && ( ( node.getPosition( end ) & CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_CONTAINS ) == CKEDITOR.POSITION_PRECEDING ) );\r
+                                       };\r
+\r
+                                       while ( ( block = walker.next() ) )\r
+                                               switchDir( block, dir, editor, database );\r
+\r
+                                       iterator = range.createIterator();\r
+                                       iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR;\r
+\r
+                                       while ( ( block = iterator.getNextParagraph( enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ) )\r
+                                               !block.isReadOnly() && switchDir( block, dir, editor, database );\r
                                }\r
 \r
+                               CKEDITOR.dom.element.clearAllMarkers( database );\r
+\r
+                               editor.forceNextSelectionCheck();\r
+                               // Restore selection position.\r
+                               selection.selectBookmarks( bookmarks );\r
+\r
                                editor.focus();\r
                        }\r
                };\r
index f16e192..305a6f9 100644 (file)
@@ -70,7 +70,7 @@ CKEDITOR.ui.button.prototype =
        render : function( editor, output )\r
        {\r
                var env = CKEDITOR.env,\r
-                       id = this._.id = 'cke_' + CKEDITOR.tools.getNextNumber(),\r
+                       id = this._.id = CKEDITOR.tools.getNextId(),\r
                        classes = '',\r
                        command = this.command, // Get the command name.\r
                        clickFn,\r
index b37d8fd..2bc3142 100644 (file)
@@ -10,10 +10,10 @@ CKEDITOR.dialog.add( 'paste', function( editor )
 \r
        function onPasteFrameLoad( win )\r
        {\r
-               var doc =  new CKEDITOR.dom.document( win.document ),\r
+               var doc = new CKEDITOR.dom.document( win.document ),\r
                        docElement = doc.$;\r
 \r
-               doc.getById( "cke_actscrpt" ).remove();\r
+               doc.getById( 'cke_actscrpt' ).remove();\r
 \r
                CKEDITOR.env.ie ?\r
                        docElement.body.contentEditable = "true" :\r
index 9dc230e..7a1c971 100644 (file)
@@ -16,10 +16,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                var doc = editor.document,\r
                        body = doc.getBody();\r
 \r
-               var     enabled = false;\r
+               var enabled = 0;\r
                var onExec = function()\r
                {\r
-                       enabled = true;\r
+                       enabled = 1;\r
                };\r
 \r
                // The following seems to be the only reliable way to detect that\r
@@ -163,16 +163,16 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        {\r
                var doc = this.document;\r
 \r
-               // Avoid recursions on 'paste' event for IE.\r
-               if ( CKEDITOR.env.ie && doc.getById( 'cke_pastebin' ) )\r
+               // Avoid recursions on 'paste' event or consequent paste too fast. (#5730)\r
+               if ( doc.getById( 'cke_pastebin' ) )\r
                        return;\r
 \r
                // If the browser supports it, get the data directly\r
-               if (mode == 'text' && evt.data && evt.data.$.clipboardData)\r
+               if ( mode == 'text' && evt.data && evt.data.$.clipboardData )\r
                {\r
                        // evt.data.$.clipboardData.types contains all the flavours in Mac's Safari, but not on windows.\r
                        var plain = evt.data.$.clipboardData.getData( 'text/plain' );\r
-                       if (plain)\r
+                       if ( plain )\r
                        {\r
                                evt.data.preventDefault();\r
                                callback( plain );\r
@@ -254,7 +254,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        // Cutting off control type element in IE standards breaks the selection entirely. (#4881)\r
        function fixCut( editor )\r
        {\r
-               if ( !CKEDITOR.env.ie || editor.document.$.compatMode == 'BackCompat' )\r
+               if ( !CKEDITOR.env.ie || CKEDITOR.env.quirks )\r
                        return;\r
 \r
                var sel = editor.getSelection();\r
@@ -348,7 +348,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                editor.on( 'contentDom', function()\r
                                {\r
                                        var body = editor.document.getBody();\r
-                                       body.on( ( (mode == 'text' && CKEDITOR.env.ie) || CKEDITOR.env.webkit ) ? 'paste' : 'beforepaste',\r
+                                       body.on( ( (mode == 'text' && CKEDITOR.env.ie ) || CKEDITOR.env.webkit ) ? 'paste' : 'beforepaste',\r
                                                function( evt )\r
                                                {\r
                                                        if ( depressBeforeEvent )\r
index 305c44d..0452230 100644 (file)
@@ -161,7 +161,7 @@ CKEDITOR.plugins.add( 'colorbutton',
                        }\r
 \r
                        // Render the "More Colors" button.\r
-                       if ( config.colorButton_enableMore )\r
+                       if ( config.colorButton_enableMore === undefined || config.colorButton_enableMore )\r
                        {\r
                                output.push(\r
                                        '</tr>' +\r
@@ -174,7 +174,7 @@ CKEDITOR.plugins.add( 'colorbutton',
                                                                ' role="option" aria-posinset="', total, '" aria-setsize="', total, '">',\r
                                                                lang.more,\r
                                                        '</a>' +\r
-                                               '</td>' );      // It is later in the code.\r
+                                               '</td>' );      // tr is later in the code.\r
                        }\r
 \r
                        output.push( '</tr></table>' );\r
@@ -186,12 +186,11 @@ CKEDITOR.plugins.add( 'colorbutton',
 \r
 /**\r
  * Whether to enable the "More Colors..." button in the color selectors.\r
- * @default false\r
+ * @default true\r
  * @type Boolean\r
  * @example\r
  * config.colorButton_enableMore = false;\r
  */\r
-CKEDITOR.config.colorButton_enableMore = true;\r
 \r
 /**\r
  * Defines the colors to be displayed in the color selectors. It's a string\r
index 4454d19..4f1db21 100644 (file)
@@ -14,13 +14,11 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
                // Reference the dialog.\r
                var dialog;\r
 \r
-               function spacer()\r
+               var spacer =\r
                {\r
-                       return {\r
-                               type : 'html',\r
-                               html : '&nbsp;'\r
-                       };\r
-               }\r
+                       type : 'html',\r
+                       html : '&nbsp;'\r
+               };\r
 \r
                function clearSelected()\r
                {\r
@@ -30,11 +28,11 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
 \r
                function updateSelected( evt )\r
                {\r
-                       if ( ! (evt instanceof CKEDITOR.dom.event ) )\r
+                       if ( ! ( evt instanceof CKEDITOR.dom.event ) )\r
                                evt = new CKEDITOR.dom.event( evt );\r
 \r
                        var target = evt.getTarget(),\r
-                                       color;\r
+                               color;\r
 \r
                        if ( target.getName() == 'a' && ( color = target.getChild( 0 ).getHtml() ) )\r
                                dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color );\r
@@ -42,7 +40,7 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
 \r
                function updateHighlight( event )\r
                {\r
-                       if ( ! (event instanceof CKEDITOR.dom.event ) )\r
+                       if ( ! ( event instanceof CKEDITOR.dom.event ) )\r
                                event = event.data;\r
 \r
                        var target = event.getTarget(),\r
@@ -61,21 +59,19 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
                        $doc.getById( hicolorTextId ).setHtml( '&nbsp;' );\r
                }\r
 \r
-               var onMouseout = $tools.addFunction( clearHighlight );\r
-\r
-               var onClick = updateSelected,\r
-                               onClickHandler = CKEDITOR.tools.addFunction( onClick );\r
-\r
-               var onFocus = updateHighlight,\r
-                               onBlur = clearHighlight;\r
+               var onMouseout = $tools.addFunction( clearHighlight ),\r
+                       onClick = updateSelected,\r
+                       onClickHandler = CKEDITOR.tools.addFunction( onClick ),\r
+                       onFocus = updateHighlight,\r
+                       onBlur = clearHighlight;\r
 \r
                var onKeydownHandler = CKEDITOR.tools.addFunction( function( ev )\r
                {\r
                        ev = new CKEDITOR.dom.event( ev );\r
                        var element = ev.getTarget();\r
                        var relative, nodeToMove;\r
-                       var keystroke = ev.getKeystroke();\r
-                       var rtl = editor.lang.dir == 'rtl';\r
+                       var keystroke = ev.getKeystroke(),\r
+                               rtl = editor.lang.dir == 'rtl';\r
 \r
                        switch ( keystroke )\r
                        {\r
@@ -177,14 +173,14 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
                function createColorTable()\r
                {\r
                        // Create the base colors array.\r
-                       var aColors = ['00','33','66','99','cc','ff'];\r
+                       var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ];\r
 \r
                        // This function combines two ranges of three values from the color array into a row.\r
                        function appendColorRow( rangeA, rangeB )\r
                        {\r
                                for ( var i = rangeA ; i < rangeA + 3 ; i++ )\r
                                {\r
-                                       var row = table.$.insertRow(-1);\r
+                                       var row = table.$.insertRow( -1 );\r
 \r
                                        for ( var j = rangeB ; j < rangeB + 3 ; j++ )\r
                                        {\r
@@ -287,7 +283,7 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
                                                                                firstColor.focus();\r
                                                                        }\r
                                                                },\r
-                                                               spacer(),\r
+                                                               spacer,\r
                                                                {\r
                                                                        type : 'vbox',\r
                                                                        padding : 0,\r
@@ -320,7 +316,7 @@ CKEDITOR.dialog.add( 'colordialog', function( editor )
                                                                                                }\r
                                                                                        }\r
                                                                                },\r
-                                                                               spacer(),\r
+                                                                               spacer,\r
                                                                                {\r
                                                                                        type : 'button',\r
                                                                                        id : 'clear',\r
index b009dee..8d7cb8d 100644 (file)
@@ -25,7 +25,7 @@ CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass(
 {\r
        $ : function( editor )\r
        {\r
-               this.id = 'cke_' + CKEDITOR.tools.getNextNumber();\r
+               this.id = CKEDITOR.tools.getNextId();\r
                this.editor = editor;\r
                this._.listeners = [];\r
                this._.functionId = CKEDITOR.tools.addFunction( function( commandName )\r
@@ -147,13 +147,14 @@ CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass(
        {\r
                addTarget : function( element, nativeContextMenuOnCtrl )\r
                {\r
-                       // Opera doesn't support 'contextmenu' event, we have duo approaches employed here:\r
-                       // 1. Inherit the 'button override' hack we introduced in v2 (#4530), while this require the Opera browser\r
-                       //  option 'Allow script to detect context menu/right click events' to be always turned on.\r
+\r
+                       // For browsers (Opera <=10a) that doesn't  support 'contextmenu' event, we have duo approaches employed here:\r
+                       // 1. Inherit the 'button override' hack we introduced in v2 (#4530) (In Opera browser, this require the\r
+                       //  option 'Allow script to detect context menu/right click events' to be always turned on).\r
                        // 2. Considering the fact that ctrl/meta key is not been occupied\r
                        //  for multiple range selecting (like Gecko), we use this key\r
                        //  combination as a fallback for triggering context-menu. (#4530)\r
-                       if ( CKEDITOR.env.opera )\r
+                       if ( CKEDITOR.env.opera && !( 'oncontextmenu' in document.body ) )\r
                        {\r
                                var contextMenuOverrideButton;\r
                                element.on( 'mousedown', function( evt )\r
@@ -224,6 +225,19 @@ CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass(
                                },\r
                                this );\r
 \r
+                       if ( CKEDITOR.env.opera )\r
+                       {\r
+                               // 'contextmenu' event triggered by Windows menu key is unpreventable,\r
+                               // cancel the key event itself. (#6534)\r
+                               element.on( 'keypress' , function ( evt )\r
+                               {\r
+                                       var domEvent = evt.data;\r
+\r
+                                       if ( domEvent.$.keyCode === 0 )\r
+                                               domEvent.preventDefault();\r
+                               });\r
+                       }\r
+\r
                        if ( CKEDITOR.env.webkit )\r
                        {\r
                                var holdCtrlKey,\r
index d708616..13f6327 100644 (file)
@@ -33,6 +33,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
 \r
 (function()\r
 {\r
+       var cssLength = CKEDITOR.tools.cssLength;\r
        function isTabVisible( tabId )\r
        {\r
                return !!this._.tabs[ tabId ][ 0 ].$.offsetHeight;\r
@@ -501,7 +502,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
                        page && this.addPage( page );\r
                }\r
 \r
-               this.parts['tabs'].on( 'click', function( evt )\r
+               this.parts[ 'tabs' ].on( 'click', function( evt )\r
                                {\r
                                        var target = evt.data.getTarget();\r
                                        // If we aren't inside a tab, bail out.\r
@@ -990,26 +991,23 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
                                page.setAttribute( 'aria-hidden', i != id );\r
                        }\r
 \r
-                       var selected = this._.tabs[id];\r
-                       selected[0].addClass( 'cke_dialog_tab_selected' );\r
+                       var selected = this._.tabs[ id ];\r
+                       selected[ 0 ].addClass( 'cke_dialog_tab_selected' );\r
 \r
-                       // [IE] a unvisible input[type='text'] will enlarge it's width\r
-                       // if it's value is long when it show( #5649 )\r
-                       // so we clear it's value before it shows and then recover it\r
+                       // [IE] an invisible input[type='text'] will enlarge it's width\r
+                       // if it's value is long when it shows, so we clear it's value\r
+                       // before it shows and then recover it (#5649)\r
                        if ( CKEDITOR.env.ie6Compat || CKEDITOR.env.ie7Compat )\r
                        {\r
-                               clearOrRecoverTextInputValue( selected[1] );\r
-                               selected[1].show();\r
+                               clearOrRecoverTextInputValue( selected[ 1 ] );\r
+                               selected[ 1 ].show();\r
                                setTimeout( function()\r
                                {\r
-                                       clearOrRecoverTextInputValue( selected[1], true );\r
+                                       clearOrRecoverTextInputValue( selected[ 1 ], 1 );\r
                                }, 0 );\r
                        }\r
                        else\r
-                       {\r
-                               selected[1].show();\r
-                       }\r
-\r
+                               selected[ 1 ].show();\r
 \r
                        this._.currentTabId = id;\r
                        this._.currentTabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, id );\r
@@ -1817,9 +1815,10 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
        function showCover( editor )\r
        {\r
                var win = CKEDITOR.document.getWindow();\r
-               var backgroundColorStyle = editor.config.dialog_backgroundCoverColor || 'white',\r
-                       backgroundCoverOpacity = editor.config.dialog_backgroundCoverOpacity,\r
-                       baseFloatZIndex = editor.config.baseFloatZIndex,\r
+               var config = editor.config,\r
+                       backgroundColorStyle = config.dialog_backgroundCoverColor || 'white',\r
+                       backgroundCoverOpacity = config.dialog_backgroundCoverOpacity,\r
+                       baseFloatZIndex = config.baseFloatZIndex,\r
                        coverKey = CKEDITOR.tools.genKey(\r
                                        backgroundColorStyle,\r
                                        backgroundCoverOpacity,\r
@@ -2250,14 +2249,14 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
                                                if ( widths )\r
                                                {\r
                                                        if ( widths[i] )\r
-                                                               styles.push( 'width:' + CKEDITOR.tools.cssLength( widths[i] ) );\r
+                                                               styles.push( 'width:' + cssLength( widths[i] ) );\r
                                                }\r
                                                else\r
                                                        styles.push( 'width:' + Math.floor( 100 / childHtmlList.length ) + '%' );\r
                                                if ( height )\r
-                                                       styles.push( 'height:' + CKEDITOR.tools.cssLength( height ) );\r
+                                                       styles.push( 'height:' + cssLength( height ) );\r
                                                if ( elementDefinition && elementDefinition.padding != undefined )\r
-                                                       styles.push( 'padding:' + CKEDITOR.tools.cssLength( elementDefinition.padding ) );\r
+                                                       styles.push( 'padding:' + cssLength( elementDefinition.padding ) );\r
                                                if ( styles.length > 0 )\r
                                                        html.push( 'style="' + styles.join('; ') + '" ' );\r
                                                html.push( '>', childHtmlList[i], '</td>' );\r
@@ -2310,7 +2309,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
                         */\r
                        vbox : function( dialog, childObjList, childHtmlList, htmlList, elementDefinition )\r
                        {\r
-                               if (arguments.length < 3 )\r
+                               if ( arguments.length < 3 )\r
                                        return;\r
 \r
                                this._ || ( this._ = {} );\r
@@ -2325,7 +2324,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
                                        html.push( 'style="' );\r
                                        if ( elementDefinition && elementDefinition.expand )\r
                                                html.push( 'height:100%;' );\r
-                                       html.push( 'width:' + CKEDITOR.tools.cssLength( width || '100%' ), ';' );\r
+                                       html.push( 'width:' + cssLength( width || '100%' ), ';' );\r
                                        html.push( '"' );\r
                                        html.push( 'align="', CKEDITOR.tools.htmlEncode(\r
                                                ( elementDefinition && elementDefinition.align ) || ( dialog.getParentEditor().lang.dir == 'ltr' ? 'left' : 'right' ) ), '" ' );\r
@@ -2336,13 +2335,13 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3;
                                                var styles = [];\r
                                                html.push( '<tr><td role="presentation" ' );\r
                                                if ( width )\r
-                                                       styles.push( 'width:' + CKEDITOR.tools.cssLength( width || '100%' ) );\r
+                                                       styles.push( 'width:' + cssLength( width || '100%' ) );\r
                                                if ( heights )\r
-                                                       styles.push( 'height:' + CKEDITOR.tools.cssLength( heights[i] ) );\r
+                                                       styles.push( 'height:' + cssLength( heights[i] ) );\r
                                                else if ( elementDefinition && elementDefinition.expand )\r
                                                        styles.push( 'height:' + Math.floor( 100 / childHtmlList.length ) + '%' );\r
                                                if ( elementDefinition && elementDefinition.padding != undefined )\r
-                                                       styles.push( 'padding:' + CKEDITOR.tools.cssLength( elementDefinition.padding ) );\r
+                                                       styles.push( 'padding:' + cssLength( elementDefinition.padding ) );\r
                                                if ( styles.length > 0 )\r
                                                        html.push( 'style="', styles.join( '; ' ), '" ' );\r
                                                html.push( ' class="cke_dialog_ui_vbox_child">', childHtmlList[i], '</td></tr>' );\r
index 5feec9c..3642e5c 100644 (file)
@@ -36,6 +36,14 @@ function commitAdvParams()
                var attrName = this.att,\r
                        value = this.getValue();\r
 \r
+               // Broadcast Lang Dir change\r
+               if ( attrName == 'dir' )\r
+               {\r
+                       var dir = element.getAttribute( attrName, value );\r
+                       if ( dir != value && element.getParent() )\r
+                                       this._.dialog._.editor.fire( 'dirChanged', element );\r
+               }\r
+\r
                if ( value )\r
                        element.setAttribute( attrName, value );\r
                else\r
@@ -132,8 +140,6 @@ CKEDITOR.plugins.add( 'dialogadvtab',
                                                label : lang.styles,\r
                                                'default' : '',\r
 \r
-                                               onChange : function(){},\r
-\r
                                                getStyle : function( name, defaultValue )\r
                                                {\r
                                                        var match = this.getValue().match( new RegExp( name + '\\s*:\s*([^;]*)', 'i') );\r
@@ -159,7 +165,7 @@ CKEDITOR.plugins.add( 'dialogadvtab',
                                                                styles += name + ': ' + value;\r
                                                        }\r
 \r
-                                                       this.setValue( styles, true );\r
+                                                       this.setValue( styles, 1 );\r
 \r
                                                },\r
 \r
index 7875b5b..3fbaa22 100644 (file)
@@ -380,7 +380,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                        if ( elementDefinition[ 'default' ] )\r
                                                attributes.checked = 'checked';\r
 \r
-                                       if (typeof myDefinition.controlStyle != 'undefined')\r
+                                       if ( typeof myDefinition.controlStyle != 'undefined' )\r
                                                myDefinition.style = myDefinition.controlStyle;\r
 \r
                                        _.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes );\r
@@ -462,7 +462,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                                cleanInnerDefinition( inputDefinition );\r
                                                cleanInnerDefinition( labelDefinition );\r
 \r
-                                               if (typeof inputDefinition.controlStyle != 'undefined')\r
+                                               if ( typeof inputDefinition.controlStyle != 'undefined' )\r
                                                        inputDefinition.style = inputDefinition.controlStyle;\r
 \r
                                                children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) );\r
@@ -622,7 +622,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                                        CKEDITOR.tools.htmlEncode( item[0] ) );\r
                                        }\r
 \r
-                                       if (typeof myDefinition.controlStyle != 'undefined')\r
+                                       if ( typeof myDefinition.controlStyle != 'undefined' )\r
                                                myDefinition.style = myDefinition.controlStyle;\r
 \r
                                        _.select = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'select', null, attributes, innerHTML.join( '' ) );\r
@@ -931,7 +931,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                {\r
                                        this._.disabled = false;\r
                                        var element = this.getElement();\r
-                                       element && element.removeClass( 'disabled' );\r
+                                       element && element.removeClass( 'cke_disabled' );\r
                                },\r
 \r
                                /**\r
@@ -941,7 +941,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                disable : function()\r
                                {\r
                                        this._.disabled = true;\r
-                                       this.getElement().addClass( 'disabled' );\r
+                                       this.getElement().addClass( 'cke_disabled' );\r
                                },\r
 \r
                                isVisible : function()\r
@@ -1384,18 +1384,19 @@ CKEDITOR.plugins.add( 'dialogui' );
                                 */\r
                                reset : function()\r
                                {\r
-                                       var frameElement = CKEDITOR.document.getById( this._.frameId ),\r
+                                       var _ = this._,\r
+                                               frameElement = CKEDITOR.document.getById( _.frameId ),\r
                                                frameDocument = frameElement.getFrameDocument(),\r
-                                               elementDefinition = this._.definition,\r
-                                               buttons = this._.buttons,\r
+                                               elementDefinition = _.definition,\r
+                                               buttons = _.buttons,\r
                                                callNumber = this.formLoadedNumber,\r
                                                unloadNumber = this.formUnloadNumber,\r
-                                               langDir = this._.dialog._.editor.lang.dir,\r
-                                               langCode = this._.dialog._.editor.langCode;\r
+                                               langDir = _.dialog._.editor.lang.dir,\r
+                                               langCode = _.dialog._.editor.langCode;\r
 \r
                                        // The callback function for the iframe, but we must call tools.addFunction only once\r
                                        // so we store the function number in this.formLoadedNumber\r
-                                       if (!callNumber)\r
+                                       if ( !callNumber )\r
                                        {\r
                                                callNumber = this.formLoadedNumber = CKEDITOR.tools.addFunction(\r
                                                        function()\r
index cf865f7..4b67ed2 100644 (file)
                        var containedBlocks = [], block;\r
 \r
                        // Get all ranges from the selection.\r
-                       var selection = editor.document.getSelection();\r
-                       var ranges = selection.getRanges();\r
+                       var selection = editor.document.getSelection(),\r
+                               ranges = selection.getRanges();\r
                        var bookmarks = selection.createBookmarks();\r
                        var i, iterator;\r
 \r
                        ],\r
                        onLoad : function()\r
                        {\r
-                               setupFields.call(this);\r
+                               setupFields.call( this );\r
 \r
                                // Preparing for the 'elementStyle' field.\r
                                var dialog = this,\r
index 158070f..db410a9 100644 (file)
@@ -95,7 +95,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                {\r
                                        editor.contextMenu.addListener( function( element, selection )\r
                                                {\r
-                                                       if ( !element || element.isReadOnly())\r
+                                                       if ( !element || element.isReadOnly() )\r
                                                                return null;\r
 \r
                                                        var elementPath = new CKEDITOR.dom.elementPath( element ),\r
index f0b1835..9fc5fd5 100644 (file)
@@ -20,11 +20,11 @@ CKEDITOR.plugins.add( 'domiterator' );
                        return;\r
 \r
                this.range = range;\r
-               this.forceBrBreak = false;\r
+               this.forceBrBreak = 0;\r
 \r
                // Whether include <br>s into the enlarged range.(#3730).\r
-               this.enlargeBr = true;\r
-               this.enforceRealBlocks = false;\r
+               this.enlargeBr = 1;\r
+               this.enforceRealBlocks = 0;\r
 \r
                this._ || ( this._ = {} );\r
        }\r
@@ -80,7 +80,7 @@ CKEDITOR.plugins.add( 'domiterator' );
                                // next block.(#3887)\r
                                if ( this._.lastNode &&\r
                                                this._.lastNode.type == CKEDITOR.NODE_TEXT &&\r
-                                               !CKEDITOR.tools.trim( this._.lastNode.getText( ) ) &&\r
+                                               !CKEDITOR.tools.trim( this._.lastNode.getText() ) &&\r
                                                this._.lastNode.getParent().isBlockBoundary() )\r
                                {\r
                                        var testRange = new CKEDITOR.dom.range( range.document );\r
@@ -112,13 +112,13 @@ CKEDITOR.plugins.add( 'domiterator' );
                        {\r
                                // closeRange indicates that a paragraph boundary has been found,\r
                                // so the range can be closed.\r
-                               var closeRange = false,\r
-                                               parentPre = currentNode.hasAscendant( 'pre' );\r
+                               var closeRange = 0,\r
+                                       parentPre = currentNode.hasAscendant( 'pre' );\r
 \r
                                // includeNode indicates that the current node is good to be part\r
                                // of the range. By default, any non-element node is ok for it.\r
                                var includeNode = ( currentNode.type != CKEDITOR.NODE_ELEMENT ),\r
-                                       continueFromSibling = false;\r
+                                       continueFromSibling = 0;\r
 \r
                                // If it is an element node, let's check if it can be part of the\r
                                // range.\r
@@ -132,7 +132,7 @@ CKEDITOR.plugins.add( 'domiterator' );
                                                // <br> boundaries must be part of the range. It will\r
                                                // happen only if ForceBrBreak.\r
                                                if ( nodeName == 'br' )\r
-                                                       includeNode = true;\r
+                                                       includeNode = 1;\r
                                                else if ( !range && !currentNode.getChildCount() && nodeName != 'hr' )\r
                                                {\r
                                                        // If we have found an empty block, and haven't started\r
@@ -154,7 +154,7 @@ CKEDITOR.plugins.add( 'domiterator' );
                                                                this._.nextNode = currentNode;\r
                                                }\r
 \r
-                                               closeRange = true;\r
+                                               closeRange = 1;\r
                                        }\r
                                        else\r
                                        {\r
@@ -171,7 +171,7 @@ CKEDITOR.plugins.add( 'domiterator' );
                                                        currentNode = currentNode.getFirst();\r
                                                        continue;\r
                                                }\r
-                                               includeNode = true;\r
+                                               includeNode = 1;\r
                                        }\r
                                }\r
                                else if ( currentNode.type == CKEDITOR.NODE_TEXT )\r
@@ -179,7 +179,7 @@ CKEDITOR.plugins.add( 'domiterator' );
                                        // Ignore normal whitespaces (i.e. not including &nbsp; or\r
                                        // other unicode whitespaces) before/after a block node.\r
                                        if ( beginWhitespaceRegex.test( currentNode.getText() ) )\r
-                                               includeNode = false;\r
+                                               includeNode = 0;\r
                                }\r
 \r
                                // The current node is good to be part of the range and we are\r
@@ -204,15 +204,15 @@ CKEDITOR.plugins.add( 'domiterator' );
                                                if ( parentNode.isBlockBoundary( this.forceBrBreak\r
                                                                && !parentPre && { br : 1 } ) )\r
                                                {\r
-                                                       closeRange = true;\r
+                                                       closeRange = 1;\r
                                                        isLast = isLast || ( parentNode.equals( lastNode) );\r
                                                        break;\r
                                                }\r
 \r
                                                currentNode = parentNode;\r
-                                               includeNode = true;\r
+                                               includeNode = 1;\r
                                                isLast = ( currentNode.equals( lastNode ) );\r
-                                               continueFromSibling = true;\r
+                                               continueFromSibling = 1;\r
                                        }\r
                                }\r
 \r
@@ -302,6 +302,9 @@ CKEDITOR.plugins.add( 'domiterator' );
                                }\r
                        }\r
 \r
+                       // Ignore bookmark nodes.(#3783)\r
+                       var bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true );\r
+\r
                        if ( removePreviousBr )\r
                        {\r
                                var previousSibling = block.getPrevious();\r
@@ -316,9 +319,6 @@ CKEDITOR.plugins.add( 'domiterator' );
 \r
                        if ( removeLastBr )\r
                        {\r
-                               // Ignore bookmark nodes.(#3783)\r
-                               var bookmarkGuard = CKEDITOR.dom.walker.bookmark( false, true );\r
-\r
                                var lastChild = block.getLast();\r
                                if ( lastChild && lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.getName() == 'br' )\r
                                {\r
@@ -339,6 +339,12 @@ CKEDITOR.plugins.add( 'domiterator' );
                                        block.getNextSourceNode( true, null, lastNode );\r
                        }\r
 \r
+                       if ( !bookmarkGuard( this._.nextNode ) )\r
+                       {\r
+                               this._.nextNode = this._.nextNode.getNextSourceNode( true, null, function( node )\r
+                                       { return !node.equals( lastNode ) && bookmarkGuard( node ); } );\r
+                       }\r
+\r
                        return block;\r
                }\r
        };\r
index 7dbb92c..f58116a 100644 (file)
@@ -211,7 +211,6 @@ CKEDITOR.config.startupMode = 'wysiwyg';
  * @example\r
  * config.startupFocus = true;\r
  */\r
-CKEDITOR.config.startupFocus = false;\r
 \r
 /**\r
  * Whether to render or not the editing block area in the editor interface.\r
index f383fb4..5046b1d 100644 (file)
@@ -69,7 +69,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                if ( node.is( 'li' ) )\r
                                {\r
                                        nextBlock.breakParent( node );\r
-                                       nextBlock.move( nextBlock.getNext(), true );\r
+                                       nextBlock.move( nextBlock.getNext(), 1 );\r
                                }\r
                        }\r
                        else if ( previousBlock && ( node = previousBlock.getParent() ) && node.is( 'li' ) )\r
@@ -317,7 +317,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        return true;\r
                }\r
                else\r
-                       return enter( editor, editor.config.shiftEnterMode, true );\r
+                       return enter( editor, editor.config.shiftEnterMode, 1 );\r
        }\r
 \r
        function enter( editor, mode, forceMode )\r
@@ -335,7 +335,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                setTimeout( function()\r
                        {\r
                                editor.fire( 'saveSnapshot' );  // Save undo step.\r
-                               if ( mode == CKEDITOR.ENTER_BR || editor.getSelection().getStartElement().hasAscendant( 'pre', true ) )\r
+                               if ( mode == CKEDITOR.ENTER_BR || editor.getSelection().getStartElement().hasAscendant( 'pre', 1 ) )\r
                                        enterBr( editor, mode, null, forceMode );\r
                                else\r
                                        enterBlock( editor, mode, null, forceMode );\r
index ce0f34e..558d824 100644 (file)
@@ -214,7 +214,6 @@ CKEDITOR.config.entities_greek = true;
  * config.entities_processNumerical = true;\r
  * config.entities_processNumerical = 'force';         //Convert from "&nbsp;" into "&#160;";\r
  */\r
-CKEDITOR.config.entities_processNumerical = false;\r
 \r
 /**\r
  * An additional list of entities to be used. It's a string containing each\r
index 176ce05..665a5ac 100644 (file)
@@ -261,8 +261,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                        if ( element.filebrowser.action == 'Browse' )\r
                        {\r
-                               var url = element.filebrowser.url || editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'BrowseUrl' ]\r
-                                                       || editor.config.filebrowserBrowseUrl;\r
+                               var url = element.filebrowser.url;\r
+                               if ( url === undefined )\r
+                               {\r
+                                       url = editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'BrowseUrl' ];\r
+                                       if ( url === undefined )\r
+                                               url = editor.config.filebrowserBrowseUrl;\r
+                               }\r
 \r
                                if ( url )\r
                                {\r
@@ -273,8 +278,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        }\r
                        else if ( element.filebrowser.action == 'QuickUpload' && element[ 'for' ] )\r
                        {\r
-                               url =  element.filebrowser.url || editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'UploadUrl' ]\r
-                                                       || editor.config.filebrowserUploadUrl;\r
+                               var url = element.filebrowser.url;\r
+                               if ( url === undefined )\r
+                               {\r
+                                       url = editor.config[ 'filebrowser' + ucFirst( dialogName ) + 'UploadUrl' ];\r
+                                       if ( url === undefined )\r
+                                               url = editor.config.filebrowserUploadUrl;\r
+                               }\r
 \r
                                if ( url )\r
                                {\r
@@ -340,7 +350,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        var ids = elementId.split( ";" );\r
                        for ( var i = 0 ; i < ids.length ; i++ )\r
                        {\r
-                               if ( isConfigured( definition, tabId, ids[i]) )\r
+                               if ( isConfigured( definition, tabId, ids[i] ) )\r
                                        return true;\r
                        }\r
                        return false;\r
index bc9f8a4..c0f7d37 100644 (file)
@@ -71,7 +71,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                // Style object for highlights: (#5018)\r
                // 1. Defined as full match style to avoid compromising ordinary text color styles.\r
                // 2. Must be apply onto inner-most text to avoid conflicting with ordinary text color styles visually.\r
-               var highlightStyle = new CKEDITOR.style( CKEDITOR.tools.extend( { fullMatch : true, childRule : function(){ return false; } },\r
+               var highlightStyle = new CKEDITOR.style( CKEDITOR.tools.extend( { fullMatch : true, childRule : function(){ return 0; } },\r
                        editor.config.find_highlight ) );\r
 \r
                /**\r
@@ -83,11 +83,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                 */\r
                var characterWalker = function( range , matchWord )\r
                {\r
+                       var self = this;\r
                        var walker =\r
                                new CKEDITOR.dom.walker( range );\r
-                       walker.guard = matchWord ? nonCharactersBoundary : null;\r
+                       walker.guard = matchWord ? nonCharactersBoundary : function( node )\r
+                       {\r
+                               !nonCharactersBoundary( node ) && ( self._.matchBoundary = true );\r
+                       };\r
                        walker[ 'evaluator' ] = findEvaluator;\r
-                       walker.breakOnFalse = true;\r
+                       walker.breakOnFalse = 1;\r
+\r
+                       if ( range.startContainer.type == CKEDITOR.NODE_TEXT )\r
+                       {\r
+                               this.textNode = range.startContainer;\r
+                               this.offset = range.startOffset - 1;\r
+                       }\r
 \r
                        this._ = {\r
                                matchWord : matchWord,\r
@@ -111,7 +121,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        {\r
                                var currentTextNode = this.textNode;\r
                                // Already at the end of document, no more character available.\r
-                               if (  currentTextNode === null )\r
+                               if ( currentTextNode === null )\r
                                        return cursorStep.call( this );\r
 \r
                                this._.matchBoundary = false;\r
@@ -142,14 +152,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                // Stop searching if we're need full word match OR\r
                                                // already reach document end.\r
                                                if ( this._.matchWord && !currentTextNode\r
-                                                        ||this._.walker._.end )\r
+                                                        || this._.walker._.end )\r
                                                        break;\r
-\r
-                                               // Marking as match character boundaries.\r
-                                               if ( !currentTextNode\r
-                                                  && !nonCharactersBoundary( this._.walker.current ) )\r
-                                                       this._.matchBoundary = true;\r
-\r
                                        }\r
                                        // Found a fresh text node.\r
                                        this.textNode = currentTextNode;\r
@@ -175,7 +179,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                cursors : [],\r
                                rangeLength : rangeLength,\r
                                highlightRange : null,\r
-                               isMatched : false\r
+                               isMatched : 0\r
                        };\r
                };\r
 \r
@@ -511,7 +515,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                // Re-run the finding once for cyclic.(#3517)\r
                                if ( matchCyclic && !cyclicRerun )\r
                                {\r
-                                       this.searchRange = getSearchRange( true );\r
+                                       this.searchRange = getSearchRange( 1 );\r
                                        this.matchRange = null;\r
                                        return arguments.callee.apply( this,\r
                                                Array.prototype.slice.call( arguments ).concat( [ true ] ) );\r
@@ -531,7 +535,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                isReplace = 1;\r
 \r
                                // Successiveness of current replace/find.\r
-                               var result = false;\r
+                               var result = 0;\r
 \r
                                // 1. Perform the replace when there's already a match here.\r
                                // 2. Otherwise perform the find but don't replace it immediately.\r
@@ -561,7 +565,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                this.matchRange.highlight();\r
                                        this.matchRange._.isReplaced = true;\r
                                        this.replaceCounter++;\r
-                                       result = true;\r
+                                       result = 1;\r
                                }\r
                                else\r
                                        result = this.find( pattern, matchCase, matchWord, matchCyclic, !isReplaceAll );\r
@@ -595,17 +599,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        return searchRange;\r
                }\r
 \r
+               var lang = editor.lang.findAndReplace;\r
                return {\r
-                       title : editor.lang.findAndReplace.title,\r
+                       title : lang.title,\r
                        resizable : CKEDITOR.DIALOG_RESIZE_NONE,\r
                        minWidth : 350,\r
                        minHeight : 165,\r
-                       buttons : [ CKEDITOR.dialog.cancelButton ],             //Cancel button only.\r
+                       buttons : [ CKEDITOR.dialog.cancelButton ],             // Cancel button only.\r
                        contents : [\r
                                {\r
                                        id : 'find',\r
-                                       label : editor.lang.findAndReplace.find,\r
-                                       title : editor.lang.findAndReplace.find,\r
+                                       label : lang.find,\r
+                                       title : lang.find,\r
                                        accessKey : '',\r
                                        elements : [\r
                                                {\r
@@ -616,7 +621,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                {\r
                                                                        type : 'text',\r
                                                                        id : 'txtFindFind',\r
-                                                                       label : editor.lang.findAndReplace.findWhat,\r
+                                                                       label : lang.findWhat,\r
                                                                        isChanged : false,\r
                                                                        labelLayout : 'horizontal',\r
                                                                        accessKey : 'F'\r
@@ -625,7 +630,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        type : 'button',\r
                                                                        align : 'left',\r
                                                                        style : 'width:100%',\r
-                                                                       label : editor.lang.findAndReplace.find,\r
+                                                                       label : lang.find,\r
                                                                        onClick : function()\r
                                                                        {\r
                                                                                var dialog = this.getDialog();\r
@@ -633,7 +638,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                                                        dialog.getValueOf( 'find', 'txtFindCaseChk' ),\r
                                                                                                        dialog.getValueOf( 'find', 'txtFindWordChk' ),\r
                                                                                                        dialog.getValueOf( 'find', 'txtFindCyclic' ) ) )\r
-                                                                                       alert( editor.lang.findAndReplace\r
+                                                                                       alert( lang\r
                                                                                                .notFoundMsg );\r
                                                                        }\r
                                                                }\r
@@ -649,20 +654,20 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        id : 'txtFindCaseChk',\r
                                                                        isChanged : false,\r
                                                                        style : 'margin-top:28px',\r
-                                                                       label : editor.lang.findAndReplace.matchCase\r
+                                                                       label : lang.matchCase\r
                                                                },\r
                                                                {\r
                                                                        type : 'checkbox',\r
                                                                        id : 'txtFindWordChk',\r
                                                                        isChanged : false,\r
-                                                                       label : editor.lang.findAndReplace.matchWord\r
+                                                                       label : lang.matchWord\r
                                                                },\r
                                                                {\r
                                                                        type : 'checkbox',\r
                                                                        id : 'txtFindCyclic',\r
                                                                        isChanged : false,\r
                                                                        'default' : true,\r
-                                                                       label : editor.lang.findAndReplace.matchCyclic\r
+                                                                       label : lang.matchCyclic\r
                                                                }\r
                                                        ]\r
                                                }\r
@@ -670,7 +675,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                },\r
                                {\r
                                        id : 'replace',\r
-                                       label : editor.lang.findAndReplace.replace,\r
+                                       label : lang.replace,\r
                                        accessKey : 'M',\r
                                        elements : [\r
                                                {\r
@@ -681,7 +686,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                {\r
                                                                        type : 'text',\r
                                                                        id : 'txtFindReplace',\r
-                                                                       label : editor.lang.findAndReplace.findWhat,\r
+                                                                       label : lang.findWhat,\r
                                                                        isChanged : false,\r
                                                                        labelLayout : 'horizontal',\r
                                                                        accessKey : 'F'\r
@@ -690,7 +695,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        type : 'button',\r
                                                                        align : 'left',\r
                                                                        style : 'width:100%',\r
-                                                                       label : editor.lang.findAndReplace.replace,\r
+                                                                       label : lang.replace,\r
                                                                        onClick : function()\r
                                                                        {\r
                                                                                var dialog = this.getDialog();\r
@@ -700,7 +705,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                                                        dialog.getValueOf( 'replace', 'txtReplaceCaseChk' ),\r
                                                                                                        dialog.getValueOf( 'replace', 'txtReplaceWordChk' ),\r
                                                                                                        dialog.getValueOf( 'replace', 'txtReplaceCyclic' ) ) )\r
-                                                                                       alert( editor.lang.findAndReplace\r
+                                                                                       alert( lang\r
                                                                                                .notFoundMsg );\r
                                                                        }\r
                                                                }\r
@@ -714,7 +719,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                {\r
                                                                        type : 'text',\r
                                                                        id : 'txtReplace',\r
-                                                                       label : editor.lang.findAndReplace.replaceWith,\r
+                                                                       label : lang.replaceWith,\r
                                                                        isChanged : false,\r
                                                                        labelLayout : 'horizontal',\r
                                                                        accessKey : 'R'\r
@@ -723,7 +728,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        type : 'button',\r
                                                                        align : 'left',\r
                                                                        style : 'width:100%',\r
-                                                                       label : editor.lang.findAndReplace.replaceAll,\r
+                                                                       label : lang.replaceAll,\r
                                                                        isChanged : false,\r
                                                                        onClick : function()\r
                                                                        {\r
@@ -733,7 +738,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                                finder.replaceCounter = 0;\r
 \r
                                                                                // Scope to full document.\r
-                                                                               finder.searchRange = getSearchRange( true );\r
+                                                                               finder.searchRange = getSearchRange( 1 );\r
                                                                                if ( finder.matchRange )\r
                                                                                {\r
                                                                                        finder.matchRange.removeHighlight();\r
@@ -750,11 +755,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                                                                                if ( finder.replaceCounter )\r
                                                                                {\r
-                                                                                       alert( editor.lang.findAndReplace.replaceSuccessMsg.replace( /%1/, finder.replaceCounter ) );\r
+                                                                                       alert( lang.replaceSuccessMsg.replace( /%1/, finder.replaceCounter ) );\r
                                                                                        editor.fire( 'saveSnapshot' );\r
                                                                                }\r
                                                                                else\r
-                                                                                       alert( editor.lang.findAndReplace.notFoundMsg );\r
+                                                                                       alert( lang.notFoundMsg );\r
                                                                        }\r
                                                                }\r
                                                        ]\r
@@ -768,14 +773,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        type : 'checkbox',\r
                                                                        id : 'txtReplaceCaseChk',\r
                                                                        isChanged : false,\r
-                                                                       label : editor.lang.findAndReplace\r
+                                                                       label : lang\r
                                                                                .matchCase\r
                                                                },\r
                                                                {\r
                                                                        type : 'checkbox',\r
                                                                        id : 'txtReplaceWordChk',\r
                                                                        isChanged : false,\r
-                                                                       label : editor.lang.findAndReplace\r
+                                                                       label : lang\r
                                                                                .matchWord\r
                                                                },\r
                                                                {\r
@@ -783,7 +788,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        id : 'txtReplaceCyclic',\r
                                                                        isChanged : false,\r
                                                                        'default' : true,\r
-                                                                       label : editor.lang.findAndReplace\r
+                                                                       label : lang\r
                                                                                .matchCyclic\r
                                                                }\r
                                                        ]\r
@@ -795,19 +800,19 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        {\r
                                var dialog = this;\r
 \r
-                               //keep track of the current pattern field in use.\r
+                               // Keep track of the current pattern field in use.\r
                                var patternField, wholeWordChkField;\r
 \r
-                               //Ignore initial page select on dialog show\r
-                               var isUserSelect = false;\r
-                               this.on('hide', function()\r
+                               // Ignore initial page select on dialog show\r
+                               var isUserSelect = 0;\r
+                               this.on( 'hide', function()\r
                                                {\r
-                                                       isUserSelect = false;\r
-                                               } );\r
-                               this.on('show', function()\r
+                                                       isUserSelect = 0;\r
+                                               });\r
+                               this.on( 'show', function()\r
                                                {\r
-                                                       isUserSelect = true;\r
-                                               } );\r
+                                                       isUserSelect = 1;\r
+                                               });\r
 \r
                                this.selectPage = CKEDITOR.tools.override( this.selectPage, function( originalFunc )\r
                                        {\r
@@ -825,7 +830,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        wholeWordChkField = dialog.getContentElement( pageId,\r
                                                                wholeWordChkFieldId );\r
 \r
-                                                       // prepare for check pattern text filed 'keyup' event\r
+                                                       // Prepare for check pattern text filed 'keyup' event\r
                                                        if ( !currPage.initialized )\r
                                                        {\r
                                                                patternFieldInput = CKEDITOR.document\r
@@ -833,8 +838,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                currPage.initialized = true;\r
                                                        }\r
 \r
+                                                       // Synchronize fields on tab switch.\r
                                                        if ( isUserSelect )\r
-                                                               // synchronize fields on tab switch.\r
                                                                syncFieldsBetweenTabs.call( this, pageId );\r
                                                };\r
                                        } );\r
index 65e76c5..21772f3 100644 (file)
@@ -5,15 +5,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 (function()\r
 {\r
-       var flashFilenameRegex = /\.swf(?:$|\?)/i,\r
-               numberRegex = /^\d+(?:\.\d+)?$/;\r
+       var flashFilenameRegex = /\.swf(?:$|\?)/i;\r
 \r
-       function cssifyLength( length )\r
-       {\r
-               if ( numberRegex.test( length ) )\r
-                       return length + 'px';\r
-               return length;\r
-       }\r
+       var cssifyLength = CKEDITOR.tools.cssLength;\r
 \r
        function isFlashEmbed( element )\r
        {\r
index 178459e..8940192 100644 (file)
@@ -16,14 +16,8 @@ CKEDITOR.plugins.add( 'floatpanel',
        function getPanel( editor, doc, parentElement, definition, level )\r
        {\r
                // Generates the panel key: docId-eleId-skinName-langDir[-uiColor][-CSSs][-level]\r
-               var key =\r
-                       doc.getUniqueId() +\r
-                       '-' + parentElement.getUniqueId() +\r
-                       '-' + editor.skinName +\r
-                       '-' + editor.lang.dir +\r
-                       ( ( editor.uiColor && ( '-' + editor.uiColor ) ) || '' ) +\r
-                       ( ( definition.css && ( '-' + definition.css ) ) || '' ) +\r
-                       ( ( level && ( '-' + level ) ) || '' );\r
+               var key = CKEDITOR.tools.genKey( doc.getUniqueId(), parentElement.getUniqueId(), editor.skinName, editor.lang.dir,\r
+                       editor.uiColor || '', definition.css || '', level || '' );\r
 \r
                var panel = panels[ key ];\r
 \r
@@ -46,7 +40,7 @@ CKEDITOR.plugins.add( 'floatpanel',
        {\r
                $ : function( editor, parentElement, definition, level )\r
                {\r
-                       definition.forceIFrame = true;\r
+                       definition.forceIFrame = 1;\r
 \r
                        var doc = parentElement.getDocument(),\r
                                panel = getPanel( editor, doc, parentElement, definition, level || 0 ),\r
@@ -104,7 +98,7 @@ CKEDITOR.plugins.add( 'floatpanel',
                                        block = panel.showBlock( name );\r
 \r
                                this.allowBlur( false );\r
-                               isShowing = true;\r
+                               isShowing = 1;\r
 \r
                                var element = this.element,\r
                                        iframe = this._.iframe,\r
@@ -129,7 +123,8 @@ CKEDITOR.plugins.add( 'floatpanel',
 \r
                                element.setStyles(\r
                                        {\r
-                                               top : '-30000px',\r
+                                               top : 0,\r
+                                               left: 0,\r
                                                display : ''\r
                                        });\r
                                // Don't use display or visibility style because we need to\r
@@ -282,6 +277,14 @@ CKEDITOR.plugins.add( 'floatpanel',
                                                                }\r
                                                        }\r
 \r
+                                                       // Trigger the onHide event of the previously active panel to prevent\r
+                                                       // incorrect styles from being applied (#6170)\r
+                                                       var innerElement = element.getFirst(),\r
+                                                               activePanel;\r
+                                                       if ( ( activePanel = innerElement.getCustomData( 'activePanel' ) ) )\r
+                                                               activePanel.onHide && activePanel.onHide.call( this, 1 );\r
+                                                       innerElement.setCustomData( 'activePanel', this );\r
+\r
                                                        element.setStyles(\r
                                                                {\r
                                                                        top : top + 'px',\r
@@ -305,7 +308,7 @@ CKEDITOR.plugins.add( 'floatpanel',
                                if ( this.onShow )\r
                                        this.onShow.call( this );\r
 \r
-                               isShowing = false;\r
+                               isShowing = 0;\r
                        },\r
 \r
                        hide : function()\r
@@ -315,6 +318,7 @@ CKEDITOR.plugins.add( 'floatpanel',
                                        this.hideChild();\r
                                        this.element.setStyle( 'display', 'none' );\r
                                        this.visible = 0;\r
+                                       this.element.getFirst().removeCustomData( 'activePanel' );\r
                                }\r
                        },\r
 \r
index 86cb4d7..fc49f70 100644 (file)
@@ -12,10 +12,10 @@ CKEDITOR.dialog.add( 'button', function( editor )
                {\r
                        delete this.button;\r
                        var element = this.getParentEditor().getSelection().getSelectedElement();\r
-                       if ( element && element.getName() == "input" )\r
+                       if ( element && element.is( 'input' ) )\r
                        {\r
                                var type = element.getAttribute( 'type' );\r
-                               if ( type == "button" || type == "reset" || type == "submit" )\r
+                               if ( type in { button:1, reset:1, submit:1 } )\r
                                {\r
                                        this.button = element;\r
                                        this.setupContent( element );\r
index 92bcddb..b36526d 100644 (file)
@@ -14,7 +14,7 @@ CKEDITOR.dialog.add( 'checkbox', function( editor )
 \r
                        var element = this.getParentEditor().getSelection().getSelectedElement();\r
 \r
-                       if ( element && element.getAttribute( 'type' ) == "checkbox" )\r
+                       if ( element && element.getAttribute( 'type' ) == 'checkbox' )\r
                        {\r
                                this.checkbox = element;\r
                                this.setupContent( element );\r
@@ -31,10 +31,8 @@ CKEDITOR.dialog.add( 'checkbox', function( editor )
                                editor = this.getParentEditor();\r
                                element = editor.document.createElement( 'input' );\r
                                element.setAttribute( 'type', 'checkbox' );\r
-                       }\r
-\r
-                       if ( isInsertMode )\r
                                editor.insertElement( element );\r
+                       }\r
                        this.commitContent( { element : element } );\r
                },\r
                contents : [\r
@@ -94,7 +92,7 @@ CKEDITOR.dialog.add( 'checkbox', function( editor )
                                                        {\r
                                                                if ( CKEDITOR.env.ie )\r
                                                                {\r
-                                                                       // Remove attribute 'value' of checkbox #4721.\r
+                                                                       // Remove attribute 'value' of checkbox (#4721).\r
                                                                        var checkbox = new CKEDITOR.dom.element( 'input', element.getDocument() );\r
                                                                        element.copyAttributes( checkbox, { value: 1 } );\r
                                                                        checkbox.replace( element );\r
@@ -123,8 +121,8 @@ CKEDITOR.dialog.add( 'checkbox', function( editor )
 \r
                                                        if ( CKEDITOR.env.ie )\r
                                                        {\r
-                                                               var isElementChecked = !!element.getAttribute( 'checked' );\r
-                                                               var isChecked = !!this.getValue();\r
+                                                               var isElementChecked = !!element.getAttribute( 'checked' ),\r
+                                                                       isChecked = !!this.getValue();\r
 \r
                                                                if ( isElementChecked != isChecked )\r
                                                                {\r
index a967388..105710f 100644 (file)
@@ -13,7 +13,7 @@ CKEDITOR.dialog.add( 'radio', function( editor )
                        delete this.radioButton;\r
 \r
                        var element = this.getParentEditor().getSelection().getSelectedElement();\r
-                       if ( element && element.getName() == "input" && element.getAttribute( 'type' ) == "radio" )\r
+                       if ( element && element.getName() == 'input' && element.getAttribute( 'type' ) == 'radio' )\r
                        {\r
                                this.radioButton = element;\r
                                this.setupContent( element );\r
index 7d8ea45..4668bef 100644 (file)
@@ -191,10 +191,13 @@ CKEDITOR.plugins.add( 'forms',
 \r
                                        switch ( type )\r
                                        {\r
-                                               case 'text' : case 'password':\r
+                                               case 'text' :\r
+                                               case 'password' :\r
                                                        evt.data.dialog = 'textfield';\r
                                                        break;\r
-                                               case 'button' : case 'submit' : case 'reset' :\r
+                                               case 'button' :\r
+                                               case 'submit' :\r
+                                               case 'reset' :\r
                                                        evt.data.dialog = 'button';\r
                                                        break;\r
                                                case 'checkbox' :\r
index c431c03..f8cf91d 100644 (file)
@@ -317,6 +317,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                return html.replace( protectSelfClosingRegex, '<cke:$1$2></cke:$1>' );\r
        }\r
 \r
+       function protectPreFormatted( html )\r
+       {\r
+               return html.replace( /(<pre\b[^>]*>)(\r\n|\n)/g, '$1$2$2' );\r
+       }\r
+\r
        function protectRealComments( html )\r
        {\r
                return html.replace( /<!--(?!{cke_protected})[\s\S]+?-->/g, function( match )\r
@@ -437,6 +442,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        // protecting them into open-close. (#3591)\r
                        data = protectSelfClosingElements( data );\r
 \r
+                       // Compensate one leading line break after <pre> open as browsers\r
+                       // eat it up. (#5789)\r
+                       data = protectPreFormatted( data );\r
+\r
                        // Call the browser to help us fixing a possibly invalid HTML\r
                        // structure.\r
                        var div = new CKEDITOR.dom.element( 'div' );\r
@@ -491,4 +500,3 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * @example\r
  * config.forceSimpleAmpersand = false;\r
  */\r
-CKEDITOR.config.forceSimpleAmpersand = false;\r
index 46fadde..b4f766a 100644 (file)
@@ -57,12 +57,14 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
                 */\r
                this.lineBreakChars = '\n';\r
 \r
-               this.forceSimpleAmpersand = false;\r
+               this.forceSimpleAmpersand = 0;\r
 \r
-               this.sortAttributes = true;\r
+               this.sortAttributes = 1;\r
 \r
-               this._.indent = false;\r
+               this._.indent = 0;\r
                this._.indentation = '';\r
+               // Indicate preformatted block context status. (#5789)\r
+               this._.inPre = 0;\r
                this._.rules = {};\r
 \r
                var dtd = CKEDITOR.dtd;\r
@@ -71,35 +73,35 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
                {\r
                        this.setRules( e,\r
                                {\r
-                                       indent : true,\r
-                                       breakBeforeOpen : true,\r
-                                       breakAfterOpen : true,\r
+                                       indent : 1,\r
+                                       breakBeforeOpen : 1,\r
+                                       breakAfterOpen : 1,\r
                                        breakBeforeClose : !dtd[ e ][ '#' ],\r
-                                       breakAfterClose : true\r
+                                       breakAfterClose : 1\r
                                });\r
                }\r
 \r
                this.setRules( 'br',\r
                        {\r
-                               breakAfterOpen : true\r
+                               breakAfterOpen : 1\r
                        });\r
 \r
                this.setRules( 'title',\r
                        {\r
-                               indent : false,\r
-                               breakAfterOpen : false\r
+                               indent : 0,\r
+                               breakAfterOpen : 0\r
                        });\r
 \r
                this.setRules( 'style',\r
                        {\r
-                               indent : false,\r
-                               breakBeforeClose : true\r
+                               indent : 0,\r
+                               breakBeforeClose : 1\r
                        });\r
 \r
                // Disable indentation on <pre>.\r
                this.setRules( 'pre',\r
                        {\r
-                         indent: false\r
+                         indent : 0\r
                        });\r
        },\r
 \r
@@ -158,6 +160,7 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
 \r
                        if ( rules && rules.breakAfterOpen )\r
                                this.lineBreak();\r
+                       tagName == 'pre' && ( this._.inPre = 1 );\r
                },\r
 \r
                /**\r
@@ -206,6 +209,7 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
                        }\r
 \r
                        this._.output.push( '</', tagName, '>' );\r
+                       tagName == 'pre' && ( this._.inPre = 0 );\r
 \r
                        if ( rules && rules.breakAfterClose )\r
                                this.lineBreak();\r
@@ -223,7 +227,7 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
                        if ( this._.indent )\r
                        {\r
                                this.indentation();\r
-                               text = CKEDITOR.tools.ltrim( text );\r
+                               !this._.inPre  && ( text = CKEDITOR.tools.ltrim( text ) );\r
                        }\r
 \r
                        this._.output.push( text );\r
@@ -252,9 +256,9 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
                 */\r
                lineBreak : function()\r
                {\r
-                       if ( this._.output.length > 0 )\r
+                       if ( !this._.inPre && this._.output.length > 0 )\r
                                this._.output.push( this.lineBreakChars );\r
-                       this._.indent = true;\r
+                       this._.indent = 1;\r
                },\r
 \r
                /**\r
@@ -267,8 +271,9 @@ CKEDITOR.htmlWriter = CKEDITOR.tools.createClass(
                 */\r
                indentation : function()\r
                {\r
-                       this._.output.push( this._.indentation );\r
-                       this._.indent = false;\r
+                       if( !this._.inPre )\r
+                               this._.output.push( this._.indentation );\r
+                       this._.indent = 0;\r
                },\r
 \r
                /**\r
index dcde6fe..ded7497 100644 (file)
@@ -74,7 +74,7 @@ CKEDITOR.plugins.add( 'iframedialog',
                                        contentLoad = elementDefinition.onContentLoad && CKEDITOR.tools.bind( elementDefinition.onContentLoad, this ),\r
                                        cssWidth = CKEDITOR.tools.cssLength( elementDefinition.width ),\r
                                        cssHeight = CKEDITOR.tools.cssLength( elementDefinition.height );\r
-                               _.frameId = CKEDITOR.tools.getNextNumber() + '_iframe';\r
+                               _.frameId = CKEDITOR.tools.getNextId() + '_iframe';\r
 \r
                                // IE BUG: Parent container does not resize to contain the iframe automatically.\r
                                dialog.on( 'load', function()\r
index 72a4c45..b28e4e1 100644 (file)
@@ -1127,7 +1127,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        {\r
                                                                action : 'Browse',\r
                                                                target: 'Link:txtUrl',\r
-                                                               url: editor.config.filebrowserImageBrowseLinkUrl || editor.config.filebrowserBrowseUrl\r
+                                                               url: editor.config.filebrowserImageBrowseLinkUrl\r
                                                        },\r
                                                        style : 'float:right',\r
                                                        hidden : true,\r
index 4c1406e..50b1356 100644 (file)
@@ -256,72 +256,77 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                }\r
                                else\r
                                {\r
-                                       var indentCssProperty = getIndentCssProperty( element );\r
-                                       var currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 );\r
+                                       var indentCssProperty = getIndentCssProperty( element ),\r
+                                               currentOffset = parseInt( element.getStyle( indentCssProperty ), 10 );\r
                                        if ( isNaN( currentOffset ) )\r
                                                currentOffset = 0;\r
-                                       currentOffset += ( self.name == 'indent' ? 1 : -1 ) * editor.config.indentOffset;\r
+                                       var indentOffset = editor.config.indentOffset || 40;\r
+                                       currentOffset += ( self.name == 'indent' ? 1 : -1 ) * indentOffset;\r
 \r
                                        if ( currentOffset < 0 )\r
                                                return false;\r
 \r
                                        currentOffset = Math.max( currentOffset, 0 );\r
-                                       currentOffset = Math.ceil( currentOffset / editor.config.indentOffset ) * editor.config.indentOffset;\r
-                                       element.setStyle( indentCssProperty, currentOffset ? currentOffset + editor.config.indentUnit : '' );\r
+                                       currentOffset = Math.ceil( currentOffset / indentOffset ) * indentOffset;\r
+                                       element.setStyle( indentCssProperty, currentOffset ? currentOffset + ( editor.config.indentUnit || 'px' ) : '' );\r
                                        if ( element.getAttribute( 'style' ) === '' )\r
                                                element.removeAttribute( 'style' );\r
                                }\r
 \r
-                               CKEDITOR.dom.element.setMarker( database, element, 'indent_processed', true );\r
+                               CKEDITOR.dom.element.setMarker( database, element, 'indent_processed', 1 );\r
                                return true;\r
                        }\r
 \r
                        var selection = editor.getSelection(),\r
-                               bookmarks = selection.createBookmarks( true ),\r
-                               ranges = selection && selection.getRanges( true ),\r
+                               bookmarks = selection.createBookmarks( 1 ),\r
+                               ranges = selection && selection.getRanges( 1 ),\r
                                range;\r
 \r
-                       var skipBookmarks = function( node )\r
-                       {\r
-                               return ! node.hasAttribute( '_cke_bookmark' );\r
-                       };\r
 \r
                        var iterator = ranges.createIterator();\r
                        while ( ( range = iterator.getNextRange() ) )\r
                        {\r
-                               // Do not indent body. (#6138)\r
-                               range.shrink( CKEDITOR.SHRINK_ELEMENT );\r
-                               if ( range.endContainer.getName() == 'body' )\r
-                                       range.setEndAt( range.endContainer.getLast( skipBookmarks ), CKEDITOR.POSITION_BEFORE_END );\r
-\r
-                               var startContainer = range.startContainer,\r
-                                       endContainer = range.endContainer,\r
-                                       rangeRoot = range.getCommonAncestor(),\r
+                               var rangeRoot = range.getCommonAncestor(),\r
                                        nearestListBlock = rangeRoot;\r
 \r
                                while ( nearestListBlock && !( nearestListBlock.type == CKEDITOR.NODE_ELEMENT &&\r
                                        listNodeNames[ nearestListBlock.getName() ] ) )\r
                                        nearestListBlock = nearestListBlock.getParent();\r
 \r
+                               // Avoid having selection enclose the entire list. (#6138)\r
+                               // [<ul><li>...</li></ul>] =><ul><li>[...]</li></ul>\r
+                               if ( !nearestListBlock )\r
+                               {\r
+                                       var selectedNode = range.getEnclosedNode();\r
+                                       if ( selectedNode\r
+                                               && selectedNode.type == CKEDITOR.NODE_ELEMENT\r
+                                               && selectedNode.getName() in listNodeNames)\r
+                                       {\r
+                                               range.setStartAt( selectedNode, CKEDITOR.POSITION_AFTER_START );\r
+                                               range.setEndAt( selectedNode, CKEDITOR.POSITION_BEFORE_END );\r
+                                               nearestListBlock = selectedNode;\r
+                                       }\r
+                               }\r
+\r
                                // Avoid selection anchors under list root.\r
                                // <ul>[<li>...</li>]</ul> =>   <ul><li>[...]</li></ul>\r
-                               if ( nearestListBlock && startContainer.type == CKEDITOR.NODE_ELEMENT\r
-                                       && startContainer.getName() in listNodeNames )\r
+                               if ( nearestListBlock && range.startContainer.type == CKEDITOR.NODE_ELEMENT\r
+                                       && range.startContainer.getName() in listNodeNames )\r
                                {\r
                                        var walker = new CKEDITOR.dom.walker( range );\r
                                        walker.evaluator = isListItem;\r
                                        range.startContainer = walker.next();\r
                                }\r
 \r
-                               if ( nearestListBlock && endContainer.type == CKEDITOR.NODE_ELEMENT\r
-                                       && endContainer.getName() in listNodeNames )\r
+                               if ( nearestListBlock && range.endContainer.type == CKEDITOR.NODE_ELEMENT\r
+                                       && range.endContainer.getName() in listNodeNames )\r
                                {\r
                                        walker = new CKEDITOR.dom.walker( range );\r
                                        walker.evaluator = isListItem;\r
                                        range.endContainer = walker.previous();\r
                                }\r
 \r
-                               if ( nearestListBlock  )\r
+                               if ( nearestListBlock )\r
                                {\r
                                        var firstListItem = nearestListBlock.getFirst( function( node )\r
                                                {\r
@@ -330,9 +335,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                rangeStart = range.startContainer,\r
                                                indentWholeList = firstListItem.equals( rangeStart ) || firstListItem.contains( rangeStart );\r
 \r
-                                       // Indent the entire list if  cursor is inside the first list item. (#3893)\r
-                                       if ( !( indentWholeList && indentElement( nearestListBlock ) ) )\r
-                                               indentList( nearestListBlock );\r
+                                       // Indent the entire list if cursor is inside the first list item. (#3893)\r
+                                       // Only do that for indenting or when using indent classes or when there is something to outdent. (#6141)\r
+                                       if ( !( indentWholeList &&\r
+                                               ( self.name == 'indent' || self.useIndentClasses || parseInt( nearestListBlock.getStyle( getIndentCssProperty( nearestListBlock ) ), 10 ) ) &&\r
+                                                       indentElement( nearestListBlock ) ) )\r
+                                                               indentList( nearestListBlock );\r
                                }\r
                                else\r
                                        indentBlock();\r
@@ -382,43 +390,43 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        "       padding-left: 40px;" +\r
                                        "}" );\r
                        }\r
-               },\r
 \r
-               requires : [ 'domiterator', 'list' ]\r
-       } );\r
-})();\r
+                       // Register dirChanged listener.\r
+                       editor.on( 'dirChanged', function( e )\r
+                       {\r
+                               var range = new CKEDITOR.dom.range( editor.document );\r
+                               range.setStartBefore( e.data );\r
+                               range.setEndAfter( e.data );\r
 \r
-CKEDITOR.tools.extend( CKEDITOR.config,\r
-       {\r
-               indentOffset : 40,\r
-               indentUnit : 'px',\r
-               indentClasses : null\r
-       });\r
+                               var walker = new CKEDITOR.dom.walker( range ),\r
+                                       node;\r
 \r
-/**\r
- * Size of each indentation step\r
- * @type Number\r
- * @example\r
- * config.indentOffset = 40;\r
- */\r
+                               while ( ( node = walker.next() ) )\r
+                               {\r
+                                       if ( node.type == CKEDITOR.NODE_ELEMENT )\r
+                                       {\r
+                                               // A child with the defined dir is to be ignored.\r
+                                               if ( !node.equals( e.data ) && node.getDirection() )\r
+                                               {\r
+                                                       range.setStartAfter( node );\r
+                                                       walker = new CKEDITOR.dom.walker( range );\r
+                                                       continue;\r
+                                               }\r
 \r
- /**\r
- * Unit for the indentation style\r
- * @type String\r
- * @example\r
- * config.indentUnit = 'px';\r
- */\r
+                                               // Switch the margins.\r
+                                               var marginLeft = node.getStyle( 'margin-right' ),\r
+                                                       marginRight = node.getStyle( 'margin-left' );\r
 \r
- /**\r
- * List of classes to use for indenting the contents.\r
- * @type Array\r
- * @example\r
- * // Don't use classes for indenting. (this is the default value)\r
- * config.indentClasses = null;\r
- * @example\r
- * // Use the classes 'Indent1', 'Indent2', 'Indent3'\r
- * config.indentClasses = ['Indent1', 'Indent2', 'Indent3'];\r
- */\r
+                                               marginLeft ? node.setStyle( 'margin-left', marginLeft ) : node.removeStyle( 'margin-left' );\r
+                                               marginRight ? node.setStyle( 'margin-right', marginRight ) : node.removeStyle( 'margin-right' );\r
+                                       }\r
+                               }\r
+                       });\r
+               },\r
+\r
+               requires : [ 'domiterator', 'list' ]\r
+       } );\r
+})();\r
 \r
 /**\r
  * Size of each indentation step\r
index 036434d..ad134c5 100644 (file)
@@ -82,6 +82,41 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                }\r
        }\r
 \r
+       function onDirChanged( e )\r
+       {\r
+               var editor = e.editor;\r
+\r
+               var range = new CKEDITOR.dom.range( editor.document );\r
+               range.setStartBefore( e.data );\r
+               range.setEndAfter( e.data );\r
+\r
+               var walker = new CKEDITOR.dom.walker( range ),\r
+                       node;\r
+\r
+               while ( ( node = walker.next() ) )\r
+               {\r
+                       if ( node.type == CKEDITOR.NODE_ELEMENT )\r
+                       {\r
+                               // A child with the defined dir is to be ignored.\r
+                               if ( !node.equals( e.data ) && node.getDirection() )\r
+                               {\r
+                                       range.setStartAfter( node );\r
+                                       walker = new CKEDITOR.dom.walker( range );\r
+                                       continue;\r
+                               }\r
+\r
+                               // Switch the alignment.\r
+                               var style = 'text-align';\r
+                               var align = node.getStyle( style );\r
+\r
+                               if ( align == 'left' )\r
+                                       node.setStyle( style, 'right' );\r
+                               else if ( align == 'right' )\r
+                                       node.setStyle( style, 'left' );\r
+                       }\r
+               }\r
+       }\r
+\r
        justifyCommand.prototype = {\r
                exec : function( editor )\r
                {\r
@@ -178,13 +213,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, right ) );\r
                        editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, center ) );\r
                        editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, justify ) );\r
+                       editor.on( 'dirChanged', onDirChanged );\r
                },\r
 \r
                requires : [ 'domiterator' ]\r
        });\r
 })();\r
-\r
-CKEDITOR.tools.extend( CKEDITOR.config,\r
-       {\r
-               justifyClasses : null\r
-       } );\r
index 73c0085..73de2bb 100644 (file)
@@ -28,14 +28,10 @@ CKEDITOR.plugins.add( 'keystrokes',
                        blockedKeystrokes       = editor.keystrokeHandler.blockedKeystrokes;\r
 \r
                for ( var i = 0 ; i < keystrokesConfig.length ; i++ )\r
-               {\r
                        keystrokes[ keystrokesConfig[i][0] ] = keystrokesConfig[i][1];\r
-               }\r
 \r
                for ( i = 0 ; i < blockedConfig.length ; i++ )\r
-               {\r
                        blockedKeystrokes[ blockedConfig[i] ] = 1;\r
-               }\r
        }\r
 });\r
 \r
index 204d863..eac5500 100644 (file)
@@ -243,9 +243,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                {\r
                        var item = elements.getItem( i );\r
                        if ( item.getAttribute( '_cke_realelement' ) && item.getAttribute( '_cke_real_element_type' ) == 'anchor' )\r
-                       {\r
                                anchors.push( editor.restoreRealElement( item ) );\r
-                       }\r
                }\r
 \r
                for ( i = 0 ; i < realAnchors.count() ; i++ )\r
@@ -363,27 +361,30 @@ CKEDITOR.dialog.add( 'link', function( editor )
                return 'String.fromCharCode(' + encodedChars.join( ',' ) + ')';\r
        }\r
 \r
+       var commonLang = editor.lang.common,\r
+               linkLang = editor.lang.link;\r
+\r
        return {\r
-               title : editor.lang.link.title,\r
+               title : linkLang.title,\r
                minWidth : 350,\r
                minHeight : 230,\r
                contents : [\r
                        {\r
                                id : 'info',\r
-                               label : editor.lang.link.info,\r
-                               title : editor.lang.link.info,\r
+                               label : linkLang.info,\r
+                               title : linkLang.info,\r
                                elements :\r
                                [\r
                                        {\r
                                                id : 'linkType',\r
                                                type : 'select',\r
-                                               label : editor.lang.link.type,\r
+                                               label : linkLang.type,\r
                                                'default' : 'url',\r
                                                items :\r
                                                [\r
-                                                       [ editor.lang.link.toUrl, 'url' ],\r
-                                                       [ editor.lang.link.toAnchor, 'anchor' ],\r
-                                                       [ editor.lang.link.toEmail, 'email' ]\r
+                                                       [ linkLang.toUrl, 'url' ],\r
+                                                       [ linkLang.toAnchor, 'anchor' ],\r
+                                                       [ linkLang.toEmail, 'email' ]\r
                                                ],\r
                                                onChange : linkTypeChanged,\r
                                                setup : function( data )\r
@@ -409,7 +410,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        {\r
                                                                                id : 'protocol',\r
                                                                                type : 'select',\r
-                                                                               label : editor.lang.common.protocol,\r
+                                                                               label : commonLang.protocol,\r
                                                                                'default' : 'http://',\r
                                                                                items :\r
                                                                                [\r
@@ -418,7 +419,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        [ 'https://\u200E', 'https://' ],\r
                                                                                        [ 'ftp://\u200E', 'ftp://' ],\r
                                                                                        [ 'news://\u200E', 'news://' ],\r
-                                                                                       [ editor.lang.link.other , '' ]\r
+                                                                                       [ linkLang.other , '' ]\r
                                                                                ],\r
                                                                                setup : function( data )\r
                                                                                {\r
@@ -436,7 +437,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        {\r
                                                                                type : 'text',\r
                                                                                id : 'url',\r
-                                                                               label : editor.lang.common.url,\r
+                                                                               label : commonLang.url,\r
                                                                                required: true,\r
                                                                                onLoad : function ()\r
                                                                                {\r
@@ -477,7 +478,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        if ( this.getDialog().fakeObj ) // Edit Anchor.\r
                                                                                                return true;\r
 \r
-                                                                                       var func = CKEDITOR.dialog.validate.notEmpty( editor.lang.link.noUrl );\r
+                                                                                       var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noUrl );\r
                                                                                        return func.apply( this );\r
                                                                                },\r
                                                                                setup : function( data )\r
@@ -513,7 +514,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                id : 'browse',\r
                                                                hidden : 'true',\r
                                                                filebrowser : 'info:url',\r
-                                                               label : editor.lang.common.browseServer\r
+                                                               label : commonLang.browseServer\r
                                                        }\r
                                                ]\r
                                        },\r
@@ -528,7 +529,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                        {\r
                                                                type : 'fieldset',\r
                                                                id : 'selectAnchorText',\r
-                                                               label : editor.lang.link.selectAnchor,\r
+                                                               label : linkLang.selectAnchor,\r
                                                                setup : function( data )\r
                                                                {\r
                                                                        if ( data.anchors.length > 0 )\r
@@ -547,7 +548,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                                type : 'select',\r
                                                                                                id : 'anchorName',\r
                                                                                                'default' : '',\r
-                                                                                               label : editor.lang.link.anchorName,\r
+                                                                                               label : linkLang.anchorName,\r
                                                                                                style : 'width: 100%;',\r
                                                                                                items :\r
                                                                                                [\r
@@ -582,7 +583,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                                type : 'select',\r
                                                                                                id : 'anchorId',\r
                                                                                                'default' : '',\r
-                                                                                               label : editor.lang.link.anchorId,\r
+                                                                                               label : linkLang.anchorId,\r
                                                                                                style : 'width: 100%;',\r
                                                                                                items :\r
                                                                                                [\r
@@ -624,7 +625,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                type : 'html',\r
                                                                id : 'noAnchors',\r
                                                                style : 'text-align: center;',\r
-                                                               html : '<div role="label" tabIndex="-1">' + CKEDITOR.tools.htmlEncode( editor.lang.link.noAnchors ) + '</div>',\r
+                                                               html : '<div role="label" tabIndex="-1">' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '</div>',\r
                                                                // Focus the first element defined in above html.\r
                                                                focus : true,\r
                                                                setup : function( data )\r
@@ -651,7 +652,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                        {\r
                                                                type : 'text',\r
                                                                id : 'emailAddress',\r
-                                                               label : editor.lang.link.emailAddress,\r
+                                                               label : linkLang.emailAddress,\r
                                                                required : true,\r
                                                                validate : function()\r
                                                                {\r
@@ -661,7 +662,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        dialog.getValueOf( 'info', 'linkType' ) != 'email' )\r
                                                                                return true;\r
 \r
-                                                                       var func = CKEDITOR.dialog.validate.notEmpty( editor.lang.link.noEmail );\r
+                                                                       var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noEmail );\r
                                                                        return func.apply( this );\r
                                                                },\r
                                                                setup : function( data )\r
@@ -684,7 +685,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                        {\r
                                                                type : 'text',\r
                                                                id : 'emailSubject',\r
-                                                               label : editor.lang.link.emailSubject,\r
+                                                               label : linkLang.emailSubject,\r
                                                                setup : function( data )\r
                                                                {\r
                                                                        if ( data.email )\r
@@ -701,7 +702,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                        {\r
                                                                type : 'textarea',\r
                                                                id : 'emailBody',\r
-                                                               label : editor.lang.link.emailBody,\r
+                                                               label : linkLang.emailBody,\r
                                                                rows : 3,\r
                                                                'default' : '',\r
                                                                setup : function( data )\r
@@ -728,8 +729,8 @@ CKEDITOR.dialog.add( 'link', function( editor )
                        },\r
                        {\r
                                id : 'target',\r
-                               label : editor.lang.link.target,\r
-                               title : editor.lang.link.target,\r
+                               label : linkLang.target,\r
+                               title : linkLang.target,\r
                                elements :\r
                                [\r
                                        {\r
@@ -740,18 +741,18 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                        {\r
                                                                type : 'select',\r
                                                                id : 'linkTargetType',\r
-                                                               label : editor.lang.common.target,\r
+                                                               label : commonLang.target,\r
                                                                'default' : 'notSet',\r
                                                                style : 'width : 100%;',\r
                                                                'items' :\r
                                                                [\r
-                                                                       [ editor.lang.common.notSet, 'notSet' ],\r
-                                                                       [ editor.lang.link.targetFrame, 'frame' ],\r
-                                                                       [ editor.lang.link.targetPopup, 'popup' ],\r
-                                                                       [ editor.lang.common.targetNew, '_blank' ],\r
-                                                                       [ editor.lang.common.targetTop, '_top' ],\r
-                                                                       [ editor.lang.common.targetSelf, '_self' ],\r
-                                                                       [ editor.lang.common.targetParent, '_parent' ]\r
+                                                                       [ commonLang.notSet, 'notSet' ],\r
+                                                                       [ linkLang.targetFrame, 'frame' ],\r
+                                                                       [ linkLang.targetPopup, 'popup' ],\r
+                                                                       [ commonLang.targetNew, '_blank' ],\r
+                                                                       [ commonLang.targetTop, '_top' ],\r
+                                                                       [ commonLang.targetSelf, '_self' ],\r
+                                                                       [ commonLang.targetParent, '_parent' ]\r
                                                                ],\r
                                                                onChange : targetChanged,\r
                                                                setup : function( data )\r
@@ -771,7 +772,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                        {\r
                                                                type : 'text',\r
                                                                id : 'linkTargetName',\r
-                                                               label : editor.lang.link.targetFrameName,\r
+                                                               label : linkLang.targetFrameName,\r
                                                                'default' : '',\r
                                                                setup : function( data )\r
                                                                {\r
@@ -798,7 +799,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                [\r
                                                        {\r
                                                                type : 'fieldset',\r
-                                                               label : editor.lang.link.popupFeatures,\r
+                                                               label : linkLang.popupFeatures,\r
                                                                children :\r
                                                                [\r
                                                                        {\r
@@ -808,14 +809,14 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'resizable',\r
-                                                                                               label : editor.lang.link.popupResizable,\r
+                                                                                               label : linkLang.popupResizable,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
                                                                                        },\r
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'status',\r
-                                                                                               label : editor.lang.link.popupStatusBar,\r
+                                                                                               label : linkLang.popupStatusBar,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -829,7 +830,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'location',\r
-                                                                                               label : editor.lang.link.popupLocationBar,\r
+                                                                                               label : linkLang.popupLocationBar,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -837,7 +838,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'toolbar',\r
-                                                                                               label : editor.lang.link.popupToolbar,\r
+                                                                                               label : linkLang.popupToolbar,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -851,7 +852,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'menubar',\r
-                                                                                               label : editor.lang.link.popupMenuBar,\r
+                                                                                               label : linkLang.popupMenuBar,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -859,7 +860,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'fullscreen',\r
-                                                                                               label : editor.lang.link.popupFullScreen,\r
+                                                                                               label : linkLang.popupFullScreen,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -873,7 +874,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'scrollbars',\r
-                                                                                               label : editor.lang.link.popupScrollBars,\r
+                                                                                               label : linkLang.popupScrollBars,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -881,7 +882,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type : 'checkbox',\r
                                                                                                id : 'dependent',\r
-                                                                                               label : editor.lang.link.popupDependent,\r
+                                                                                               label : linkLang.popupDependent,\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
 \r
@@ -896,7 +897,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                                type :  'text',\r
                                                                                                widths : [ '30%', '70%' ],\r
                                                                                                labelLayout : 'horizontal',\r
-                                                                                               label : editor.lang.link.popupWidth,\r
+                                                                                               label : linkLang.popupWidth,\r
                                                                                                id : 'width',\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
@@ -906,7 +907,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                                type :  'text',\r
                                                                                                labelLayout : 'horizontal',\r
                                                                                                widths : [ '55%', '45%' ],\r
-                                                                                               label : editor.lang.link.popupLeft,\r
+                                                                                               label : linkLang.popupLeft,\r
                                                                                                id : 'left',\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
@@ -922,7 +923,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                                type :  'text',\r
                                                                                                labelLayout : 'horizontal',\r
                                                                                                widths : [ '30%', '70%' ],\r
-                                                                                               label : editor.lang.link.popupHeight,\r
+                                                                                               label : linkLang.popupHeight,\r
                                                                                                id : 'height',\r
                                                                                                setup : setupPopupParams,\r
                                                                                                commit : commitPopupParams\r
@@ -931,7 +932,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                        {\r
                                                                                                type :  'text',\r
                                                                                                labelLayout : 'horizontal',\r
-                                                                                               label : editor.lang.link.popupTop,\r
+                                                                                               label : linkLang.popupTop,\r
                                                                                                widths : [ '55%', '45%' ],\r
                                                                                                id : 'top',\r
                                                                                                setup : setupPopupParams,\r
@@ -948,8 +949,8 @@ CKEDITOR.dialog.add( 'link', function( editor )
                        },\r
                        {\r
                                id : 'upload',\r
-                               label : editor.lang.link.upload,\r
-                               title : editor.lang.link.upload,\r
+                               label : linkLang.upload,\r
+                               title : linkLang.upload,\r
                                hidden : true,\r
                                filebrowser : 'uploadButton',\r
                                elements :\r
@@ -957,14 +958,14 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                        {\r
                                                type : 'file',\r
                                                id : 'upload',\r
-                                               label : editor.lang.common.upload,\r
+                                               label : commonLang.upload,\r
                                                style: 'height:40px',\r
                                                size : 29\r
                                        },\r
                                        {\r
                                                type : 'fileButton',\r
                                                id : 'uploadButton',\r
-                                               label : editor.lang.common.uploadSubmit,\r
+                                               label : commonLang.uploadSubmit,\r
                                                filebrowser : 'info:url',\r
                                                'for' : [ 'upload', 'upload' ]\r
                                        }\r
@@ -972,8 +973,8 @@ CKEDITOR.dialog.add( 'link', function( editor )
                        },\r
                        {\r
                                id : 'advanced',\r
-                               label : editor.lang.link.advanced,\r
-                               title : editor.lang.link.advanced,\r
+                               label : linkLang.advanced,\r
+                               title : linkLang.advanced,\r
                                elements :\r
                                [\r
                                        {\r
@@ -989,21 +990,21 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        {\r
                                                                                type : 'text',\r
                                                                                id : 'advId',\r
-                                                                               label : editor.lang.link.id,\r
+                                                                               label : linkLang.id,\r
                                                                                setup : setupAdvParams,\r
                                                                                commit : commitAdvParams\r
                                                                        },\r
                                                                        {\r
                                                                                type : 'select',\r
                                                                                id : 'advLangDir',\r
-                                                                               label : editor.lang.link.langDir,\r
+                                                                               label : linkLang.langDir,\r
                                                                                'default' : '',\r
                                                                                style : 'width:110px',\r
                                                                                items :\r
                                                                                [\r
-                                                                                       [ editor.lang.common.notSet, '' ],\r
-                                                                                       [ editor.lang.link.langDirLTR, 'ltr' ],\r
-                                                                                       [ editor.lang.link.langDirRTL, 'rtl' ]\r
+                                                                                       [ commonLang.notSet, '' ],\r
+                                                                                       [ linkLang.langDirLTR, 'ltr' ],\r
+                                                                                       [ linkLang.langDirRTL, 'rtl' ]\r
                                                                                ],\r
                                                                                setup : setupAdvParams,\r
                                                                                commit : commitAdvParams\r
@@ -1012,7 +1013,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                                type : 'text',\r
                                                                                id : 'advAccessKey',\r
                                                                                width : '80px',\r
-                                                                               label : editor.lang.link.acccessKey,\r
+                                                                               label : linkLang.acccessKey,\r
                                                                                maxLength : 1,\r
                                                                                setup : setupAdvParams,\r
                                                                                commit : commitAdvParams\r
@@ -1027,7 +1028,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                [\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.name,\r
+                                                                               label : linkLang.name,\r
                                                                                id : 'advName',\r
                                                                                setup : setupAdvParams,\r
                                                                                commit : commitAdvParams\r
@@ -1035,7 +1036,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        },\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.langCode,\r
+                                                                               label : linkLang.langCode,\r
                                                                                id : 'advLangCode',\r
                                                                                width : '110px',\r
                                                                                'default' : '',\r
@@ -1045,7 +1046,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        },\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.tabIndex,\r
+                                                                               label : linkLang.tabIndex,\r
                                                                                id : 'advTabIndex',\r
                                                                                width : '80px',\r
                                                                                maxLength : 5,\r
@@ -1069,7 +1070,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                [\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.advisoryTitle,\r
+                                                                               label : linkLang.advisoryTitle,\r
                                                                                'default' : '',\r
                                                                                id : 'advTitle',\r
                                                                                setup : setupAdvParams,\r
@@ -1078,7 +1079,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        },\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.advisoryContentType,\r
+                                                                               label : linkLang.advisoryContentType,\r
                                                                                'default' : '',\r
                                                                                id : 'advContentType',\r
                                                                                setup : setupAdvParams,\r
@@ -1094,7 +1095,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                [\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.cssClasses,\r
+                                                                               label : linkLang.cssClasses,\r
                                                                                'default' : '',\r
                                                                                id : 'advCSSClasses',\r
                                                                                setup : setupAdvParams,\r
@@ -1103,7 +1104,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                        },\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.charset,\r
+                                                                               label : linkLang.charset,\r
                                                                                'default' : '',\r
                                                                                id : 'advCharset',\r
                                                                                setup : setupAdvParams,\r
@@ -1118,7 +1119,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                                                                [\r
                                                                        {\r
                                                                                type : 'text',\r
-                                                                               label : editor.lang.link.styles,\r
+                                                                               label : linkLang.styles,\r
                                                                                'default' : '',\r
                                                                                id : 'advStyles',\r
                                                                                setup : setupAdvParams,\r
@@ -1253,6 +1254,9 @@ CKEDITOR.dialog.add( 'link', function( editor )
 \r
                                        onclickList.push( featureList.join( ',' ), '\'); return false;' );\r
                                        attributes[ '_cke_pa_onclick' ] = onclickList.join( '' );\r
+\r
+                                       // Add the "target" attribute. (#5074)\r
+                                       removeAttributes.push( 'target' );\r
                                }\r
                                else\r
                                {\r
@@ -1384,7 +1388,7 @@ CKEDITOR.dialog.add( 'link', function( editor )
                {\r
                        var linkType = this.getContentElement( 'info', 'linkType' ),\r
                                        urlField;\r
-                       if ( linkType && linkType.getValue( ) == 'url' )\r
+                       if ( linkType && linkType.getValue() == 'url' )\r
                        {\r
                                urlField = this.getContentElement( 'info', 'url' );\r
                                urlField.select();\r
index b0d5e8c..0b61c2d 100644 (file)
@@ -80,19 +80,19 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                indentLevel = Math.max( listArray[ baseIndex ].indent, 0 ),\r
                                currentListItem = null,\r
                                paragraphName = ( paragraphMode == CKEDITOR.ENTER_P ? 'p' : 'div' );\r
-                       while ( true )\r
+                       while ( 1 )\r
                        {\r
                                var item = listArray[ currentIndex ];\r
                                if ( item.indent == indentLevel )\r
                                {\r
                                        if ( !rootNode || listArray[ currentIndex ].parent.getName() != rootNode.getName() )\r
                                        {\r
-                                               rootNode = listArray[ currentIndex ].parent.clone( false, true );\r
+                                               rootNode = listArray[ currentIndex ].parent.clone( false, 1 );\r
                                                retval.append( rootNode );\r
                                        }\r
-                                       currentListItem = rootNode.append( item.element.clone( false, true ) );\r
+                                       currentListItem = rootNode.append( item.element.clone( 0, 1 ) );\r
                                        for ( var i = 0 ; i < item.contents.length ; i++ )\r
-                                               currentListItem.append( item.contents[i].clone( true, true ) );\r
+                                               currentListItem.append( item.contents[i].clone( 1, 1 ) );\r
                                        currentIndex++;\r
                                }\r
                                else if ( item.indent == Math.max( indentLevel, 0 ) + 1 )\r
@@ -108,19 +108,26 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                currentListItem = item.element.clone( false, true );\r
                                        else\r
                                        {\r
-                                               // Create completely new blocks here, attributes are dropped.\r
-                                               if ( dir || ( paragraphMode != CKEDITOR.ENTER_BR && item.grandparent.getName() != 'td' ) )\r
+                                               // Create completely new blocks here.\r
+                                               if ( dir || item.element.hasAttributes() ||\r
+                                                       ( paragraphMode != CKEDITOR.ENTER_BR && item.grandparent.getName() != 'td' ) )\r
                                                {\r
                                                        currentListItem = doc.createElement( paragraphName );\r
-                                                       if ( dir )\r
-                                                               currentListItem.setAttribute( 'dir', dir );\r
+                                                       item.element.copyAttributes( currentListItem, { type:1, value:1 } );\r
+                                                       dir && currentListItem.setAttribute( 'dir', dir );\r
+\r
+                                                       // There might be a case where there are no attributes in the element after all\r
+                                                       // (i.e. when "type" or "value" are the only attributes set). In this case, if enterMode = BR,\r
+                                                       // the current item should be a fragment.\r
+                                                       if ( !dir && paragraphMode == CKEDITOR.ENTER_BR && !currentListItem.hasAttributes() )\r
+                                                               currentListItem = new CKEDITOR.dom.documentFragment( doc );\r
                                                }\r
                                                else\r
                                                        currentListItem = new CKEDITOR.dom.documentFragment( doc );\r
                                        }\r
 \r
                                        for ( i = 0 ; i < item.contents.length ; i++ )\r
-                                               currentListItem.append( item.contents[i].clone( true, true ) );\r
+                                               currentListItem.append( item.contents[i].clone( 1, 1 ) );\r
 \r
                                        if ( currentListItem.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT\r
                                                 && currentIndex != listArray.length - 1 )\r
@@ -268,6 +275,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                for ( var i = 0 ; i < contents.length ; i++ )\r
                        commonParent = commonParent.getCommonAncestor( contents[i].getParent() );\r
 \r
+               var useComputedState = editor.config.useComputedState,\r
+                       listDir, explicitDirection;\r
+\r
+               useComputedState = useComputedState === undefined || useComputedState;\r
+\r
                // We want to insert things that are in the same tree level only, so calculate the contents again\r
                // by expanding the selected blocks to the same tree level.\r
                for ( i = 0 ; i < contents.length ; i++ )\r
@@ -279,6 +291,22 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                if ( parentNode.equals( commonParent ) )\r
                                {\r
                                        listContents.push( contentNode );\r
+\r
+                                       // Determine the lists's direction.\r
+                                       if ( !explicitDirection && contentNode.getDirection() )\r
+                                               explicitDirection = 1;\r
+\r
+                                       var itemDir = contentNode.getDirection( useComputedState );\r
+\r
+                                       if ( listDir !== null )\r
+                                       {\r
+                                               // If at least one LI have a different direction than current listDir, we can't have listDir.\r
+                                               if ( listDir && listDir != itemDir )\r
+                                                       listDir = null;\r
+                                               else\r
+                                                       listDir = itemDir;\r
+                                       }\r
+\r
                                        break;\r
                                }\r
                                contentNode = parentNode;\r
@@ -290,39 +318,40 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                // Insert the list to the DOM tree.\r
                var insertAnchor = listContents[ listContents.length - 1 ].getNext(),\r
-                       listNode = doc.createElement( this.type ),\r
-                       dir;\r
+                       listNode = doc.createElement( this.type );\r
 \r
                listsCreated.push( listNode );\r
+\r
+               var contentBlock, listItem;\r
+\r
                while ( listContents.length )\r
                {\r
-                       var contentBlock = listContents.shift(),\r
-                               listItem = doc.createElement( 'li' );\r
+                       contentBlock = listContents.shift();\r
+                       listItem = doc.createElement( 'li' );\r
 \r
                        // Preserve preformat block and heading structure when converting to list item. (#5335) (#5271)\r
                        if ( contentBlock.is( 'pre' ) || headerTagRegex.test( contentBlock.getName() ) )\r
                                contentBlock.appendTo( listItem );\r
                        else\r
                        {\r
-                               if ( contentBlock.hasAttribute( 'dir' ) )\r
+                               // Remove DIR attribute if it was merged into list root.\r
+                               if ( listDir && contentBlock.getDirection() )\r
                                {\r
-                                       dir = dir || contentBlock.getAttribute( 'dir' );\r
+                                       contentBlock.removeStyle( 'direction' );\r
                                        contentBlock.removeAttribute( 'dir' );\r
                                }\r
+\r
                                contentBlock.copyAttributes( listItem );\r
                                contentBlock.moveChildren( listItem );\r
                                contentBlock.remove();\r
-\r
-                               // Append a bogus BR to force the LI to render at full height\r
-                               if ( !CKEDITOR.env.ie )\r
-                                       listItem.appendBogus();\r
                        }\r
 \r
                        listItem.appendTo( listNode );\r
                }\r
 \r
-               if ( dir )\r
-                       listNode.setAttribute( 'dir', dir );\r
+               // Apply list root dir only if it has been explicitly declared.\r
+               if ( listDir && explicitDirection )\r
+                       listNode.setAttribute( 'dir', listDir );\r
 \r
                if ( insertAnchor )\r
                        listNode.insertBefore( insertAnchor );\r
@@ -443,9 +472,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                enclosedNode = range && range.getEnclosedNode();\r
                                        if ( enclosedNode && enclosedNode.is\r
                                                && this.type == enclosedNode.getName() )\r
-                                       {\r
-                                               setState.call( this, editor, CKEDITOR.TRISTATE_ON );\r
-                                       }\r
+                                                       setState.call( this, editor, CKEDITOR.TRISTATE_ON );\r
                                }\r
                        }\r
 \r
@@ -487,7 +514,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                pathElements = path.elements,\r
                                                pathElementsCount = pathElements.length,\r
                                                listNode = null,\r
-                                               processedFlag = false,\r
+                                               processedFlag = 0,\r
                                                blockLimit = path.blockLimit,\r
                                                element;\r
 \r
@@ -513,7 +540,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                listGroups.push( groupObj );\r
                                                                CKEDITOR.dom.element.setMarker( database, element, 'list_group_object', groupObj );\r
                                                        }\r
-                                                       processedFlag = true;\r
+                                                       processedFlag = 1;\r
                                                        break;\r
                                                }\r
                                        }\r
@@ -566,10 +593,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        {\r
                                                sibling.remove();\r
                                                // Move children order by merge direction.(#3820)\r
-                                               sibling.moveChildren( listNode, rtl ? true : false );\r
+                                               sibling.moveChildren( listNode, rtl );\r
                                        }\r
                                } )();\r
-                               mergeSibling( true );\r
+                               mergeSibling( 1 );\r
                        }\r
 \r
                        // Clean up, restore selection and update toolbar button states.\r
index 63f85c7..5207b42 100644 (file)
@@ -81,7 +81,7 @@ CKEDITOR.plugins.add( 'listblock',
                                        add : function( value, html, title )\r
                                        {\r
                                                var pendingHtml = this._.pendingHtml,\r
-                                                       id = 'cke_' + CKEDITOR.tools.getNextNumber();\r
+                                                       id = CKEDITOR.tools.getNextId();\r
 \r
                                                if ( !this._.started )\r
                                                {\r
@@ -109,7 +109,7 @@ CKEDITOR.plugins.add( 'listblock',
                                        {\r
                                                this._.close();\r
 \r
-                                               var id = 'cke_' + CKEDITOR.tools.getNextNumber();\r
+                                               var id = CKEDITOR.tools.getNextId();\r
 \r
                                                this._.groups[ title ] = id;\r
 \r
index d14ebb5..aa8840b 100644 (file)
@@ -12,7 +12,7 @@
                catch( e ) { return null; }\r
 \r
                range.shrink( CKEDITOR.SHRINK_TEXT );\r
-               return range.getCommonAncestor().getAscendant( listTag, true );\r
+               return range.getCommonAncestor().getAscendant( listTag, 1 );\r
        }\r
 \r
        var mapListStyle = {\r
 \r
        function listStyle( editor, startupPage )\r
        {\r
+               var lang = editor.lang.list;\r
                if ( startupPage == 'bulletedListStyle' )\r
                {\r
                        return {\r
-                               title : editor.lang.list.bulletedTitle,\r
+                               title : lang.bulletedTitle,\r
                                minWidth : 300,\r
                                minHeight : 50,\r
                                contents :\r
                                                [\r
                                                        {\r
                                                                type : 'select',\r
-                                                               label : editor.lang.list.type,\r
+                                                               label : lang.type,\r
                                                                id : 'type',\r
                                                                style : 'width: 150px; margin: auto;',\r
                                                                items :\r
                                                                [\r
-                                                                       [ editor.lang.list.notset, '' ],\r
-                                                                       [ editor.lang.list.circle, 'circle' ],\r
-                                                                       [ editor.lang.list.disc,  'disc' ],\r
-                                                                       [ editor.lang.list.square, 'square' ]\r
+                                                                       [ lang.notset, '' ],\r
+                                                                       [ lang.circle, 'circle' ],\r
+                                                                       [ lang.disc,  'disc' ],\r
+                                                                       [ lang.square, 'square' ]\r
                                                                ],\r
                                                                setup : function( element )\r
                                                                {\r
 \r
                        var listStyleOptions =\r
                        [\r
-                               [ editor.lang.list.notset, '' ],\r
-                               [ editor.lang.list.lowerRoman, 'lower-roman' ],\r
-                               [ editor.lang.list.upperRoman, 'upper-roman' ],\r
-                               [ editor.lang.list.lowerAlpha, 'lower-alpha' ],\r
-                               [ editor.lang.list.upperAlpha, 'upper-alpha' ],\r
-                               [ editor.lang.list.decimal, 'decimal' ]\r
+                               [ lang.notset, '' ],\r
+                               [ lang.lowerRoman, 'lower-roman' ],\r
+                               [ lang.upperRoman, 'upper-roman' ],\r
+                               [ lang.lowerAlpha, 'lower-alpha' ],\r
+                               [ lang.upperAlpha, 'upper-alpha' ],\r
+                               [ lang.decimal, 'decimal' ]\r
                        ];\r
 \r
                        if ( !CKEDITOR.env.ie || CKEDITOR.env.version > 7 )\r
                        {\r
                                listStyleOptions.concat( [\r
-                                       [ editor.lang.list.armenian, 'armenian' ],\r
-                                       [ editor.lang.list.decimalLeadingZero, 'decimal-leading-zero' ],\r
-                                       [ editor.lang.list.georgian, 'georgian' ],\r
-                                       [ editor.lang.list.lowerGreek, 'lower-greek' ]\r
+                                       [ lang.armenian, 'armenian' ],\r
+                                       [ lang.decimalLeadingZero, 'decimal-leading-zero' ],\r
+                                       [ lang.georgian, 'georgian' ],\r
+                                       [ lang.lowerGreek, 'lower-greek' ]\r
                                ]);\r
                        }\r
 \r
                        return {\r
-                               title : editor.lang.list.numberedTitle,\r
+                               title : lang.numberedTitle,\r
                                minWidth : 300,\r
                                minHeight : 50,\r
                                contents :\r
                                                                children :\r
                                                                [\r
                                                                        {\r
-                                                                               label : editor.lang.list.start,\r
+                                                                               label : lang.start,\r
                                                                                type : 'text',\r
                                                                                id : 'start',\r
-                                                                               validate : CKEDITOR.dialog.validate.integer( editor.lang.list.validateStartNumber ),\r
+                                                                               validate : CKEDITOR.dialog.validate.integer( lang.validateStartNumber ),\r
                                                                                setup : function( element )\r
                                                                                {\r
                                                                                        var value = element.getAttribute( 'start' ) || 1;\r
                                                                        },\r
                                                                        {\r
                                                                                type : 'select',\r
-                                                                               label : editor.lang.list.type,\r
+                                                                               label : lang.type,\r
                                                                                id : 'type',\r
                                                                                style : 'width: 100%;',\r
                                                                                items : listStyleOptions,\r
index 9f18043..5f2715e 100644 (file)
@@ -10,8 +10,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                if ( !formElement || formElement.type != CKEDITOR.NODE_ELEMENT || formElement.getName() != 'form' )\r
                        return [];\r
 \r
-               var hijackRecord = [];\r
-               var hijackNames = [ 'style', 'className' ];\r
+               var hijackRecord = [],\r
+                       hijackNames = [ 'style', 'className' ];\r
                for ( var i = 0 ; i < hijackNames.length ; i++ )\r
                {\r
                        var name = hijackNames[i];\r
@@ -129,12 +129,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                init : function( editor )\r
                {\r
                        var lang = editor.lang;\r
-                       var mainDocument = CKEDITOR.document;\r
-                       var mainWindow = mainDocument.getWindow();\r
+                       var mainDocument = CKEDITOR.document,\r
+                               mainWindow = mainDocument.getWindow();\r
 \r
                        // Saved selection and scroll position for the editing area.\r
-                       var savedSelection;\r
-                       var savedScroll;\r
+                       var savedSelection,\r
+                               savedScroll;\r
 \r
                        // Saved scroll position for the outer window.\r
                        var outerScroll;\r
@@ -194,6 +194,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        container.setCustomData( 'maximize_saved_styles', saveStyles( container, true ) );\r
 \r
                                                        // Hide scroll bars.\r
+                                                       var viewPaneSize = mainWindow.getViewPaneSize();\r
+                                                       var styles =\r
+                                                               {\r
+                                                                       overflow : 'hidden',\r
+                                                                       width : ( CKEDITOR.env.opera ? viewPaneSize.width : 0 ) + 'px',\r
+                                                                       height : ( CKEDITOR.env.opera ? viewPaneSize.height - 16 : 0 ) + 'px'\r
+                                                               };\r
+\r
                                                        if ( CKEDITOR.env.ie )\r
                                                        {\r
                                                                mainDocument.$.documentElement.style.overflow =\r
@@ -201,21 +209,19 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        }\r
                                                        else\r
                                                        {\r
-                                                               mainDocument.getBody().setStyles(\r
-                                                                       {\r
-                                                                               overflow : 'hidden',\r
-                                                                               width : '0px',\r
-                                                                               height : '0px'\r
-                                                                       } );\r
+                                                               mainDocument.getBody().setStyles( styles );\r
                                                        }\r
 \r
+                                                       // #4023: [Opera] Maximize plugin\r
+                                                       if ( CKEDITOR.env.opera )\r
+                                                               mainDocument.getBody().getParent().setStyles( styles );\r
+\r
                                                        // Scroll to the top left (IE needs some time for it - #4923).\r
                                                        CKEDITOR.env.ie ?\r
                                                                setTimeout( function() { mainWindow.$.scrollTo( 0, 0 ); }, 0 ) :\r
                                                                mainWindow.$.scrollTo( 0, 0 );\r
 \r
                                                        // Resize and move to top left.\r
-                                                       var viewPaneSize = mainWindow.getViewPaneSize();\r
                                                        container.setStyle( 'position', 'absolute' );\r
                                                        container.$.offsetLeft;                 // SAFARI BUG: See #2066.\r
                                                        container.setStyles(\r
@@ -333,10 +339,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        command : 'maximize'\r
                                } );\r
 \r
-                       // Restore the command state after mode change.\r
+                       // Restore the command state after mode change, unless it has been changed to disabled (#6467)\r
                        editor.on( 'mode', function()\r
                                {\r
-                                       editor.getCommand( 'maximize' ).setState( savedState );\r
+                                       var command = editor.getCommand( 'maximize' );\r
+                                       command.setState( command.state == CKEDITOR.TRISTATE_DISABLED ? CKEDITOR.TRISTATE_DISABLED : savedState );\r
                                }, null, null, 100 );\r
                }\r
        } );\r
index 74fbb4f..1ea12b2 100644 (file)
@@ -190,15 +190,15 @@ CKEDITOR.plugins.add( 'menu',
                                        this._.itemOverFn = CKEDITOR.tools.addFunction( function( index )\r
                                                {\r
                                                        clearTimeout( this._.showSubTimeout );\r
-                                                       this._.showSubTimeout = CKEDITOR.tools.setTimeout( this._.showSubMenu, editor.config.menu_subMenuDelay, this, [ index ] );\r
+                                                       this._.showSubTimeout = CKEDITOR.tools.setTimeout( this._.showSubMenu, editor.config.menu_subMenuDelay || 400, this, [ index ] );\r
                                                },\r
-                                               this);\r
+                                               this );\r
 \r
                                        this._.itemOutFn = CKEDITOR.tools.addFunction( function( index )\r
                                                {\r
                                                        clearTimeout( this._.showSubTimeout );\r
                                                },\r
-                                               this);\r
+                                               this );\r
 \r
                                        this._.itemClickFn = CKEDITOR.tools.addFunction( function( index )\r
                                                {\r
@@ -215,14 +215,14 @@ CKEDITOR.plugins.add( 'menu',
                                                        else\r
                                                                this.onClick && this.onClick( item );\r
                                                },\r
-                                               this);\r
+                                               this );\r
                                }\r
 \r
                                // Put the items in the right order.\r
                                sortItems( items );\r
 \r
-                               var chromeRoot = editor.container.getChild( 1 );\r
-                               var mixedContentClass = chromeRoot.hasClass( 'cke_mixed_dir_content' ) ? ' cke_mixed_dir_content' : '';\r
+                               var chromeRoot = editor.container.getChild( 1 ),\r
+                                       mixedContentClass = chromeRoot.hasClass( 'cke_mixed_dir_content' ) ? ' cke_mixed_dir_content' : '';\r
 \r
                                // Build the HTML that composes the menu and its items.\r
                                var output = [ '<div class="cke_menu' + mixedContentClass + '" role="presentation">' ];\r
@@ -390,7 +390,6 @@ CKEDITOR.menuItem = CKEDITOR.tools.createClass(
  * // Remove the submenu delay.\r
  * config.menu_subMenuDelay = 0;\r
  */\r
-CKEDITOR.config.menu_subMenuDelay = 400;\r
 \r
 /**\r
  * A comma separated list of items group names to be displayed in the context\r
index 62c5405..53fb48a 100644 (file)
@@ -19,7 +19,7 @@ CKEDITOR.plugins.add( 'newpage',
                                exec : function( editor )\r
                                {\r
                                        var command = this;\r
-                                       editor.setData( editor.config.newpage_html, function()\r
+                                       editor.setData( editor.config.newpage_html || '', function()\r
                                        {\r
                                                // Save the undo snapshot after all document changes are affected. (#4889)\r
                                                setTimeout( function ()\r
@@ -51,4 +51,3 @@ CKEDITOR.plugins.add( 'newpage',
  * @example\r
  * config.newpage_html = '&lt;p&gt;Type your text here.&lt;/p&gt;';\r
  */\r
-CKEDITOR.config.newpage_html = '';\r
index c7c6adb..920faa1 100644 (file)
@@ -31,7 +31,7 @@ CKEDITOR.ui.panel = function( document, definition )
                        css : []\r
                });\r
 \r
-       this.id = CKEDITOR.tools.getNextNumber();\r
+       this.id = CKEDITOR.tools.getNextId();\r
        this.document = document;\r
 \r
        this._ =\r
@@ -73,7 +73,7 @@ CKEDITOR.ui.panel.prototype =
         */\r
        render : function( editor, output )\r
        {\r
-               var id = 'cke_' + this.id;\r
+               var id = this.id;\r
 \r
                output.push(\r
                        '<div class="', editor.skinClass ,'"' +\r
@@ -130,7 +130,7 @@ CKEDITOR.ui.panel.prototype =
                {\r
                        if ( this.forceIFrame || this.css.length )\r
                        {\r
-                               var iframe = this.document.getById( 'cke_' + this.id + '_frame' ),\r
+                               var iframe = this.document.getById( this.id + '_frame' ),\r
                                        parentDiv = iframe.getParent(),\r
                                        dir = parentDiv.getAttribute( 'dir' ),\r
                                        className = parentDiv.getParent().getAttribute( 'class' ),\r
@@ -170,10 +170,11 @@ CKEDITOR.ui.panel.prototype =
                                // Register the CKEDITOR global.\r
                                win.$.CKEDITOR = CKEDITOR;\r
 \r
-                               doc.on( 'keydown', function( evt )\r
+                               // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534).\r
+                               doc.on( 'key' + ( CKEDITOR.env.opera? 'press':'down' ), function( evt )\r
                                        {\r
                                                var keystroke = evt.data.getKeystroke(),\r
-                                                       dir = this.document.getById( 'cke_' + this.id ).getAttribute( 'dir' );\r
+                                                       dir = this.document.getById( this.id ).getAttribute( 'dir' );\r
 \r
                                                // Delegate key processing to block.\r
                                                if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false )\r
@@ -186,7 +187,7 @@ CKEDITOR.ui.panel.prototype =
                                                if ( keystroke == 27 || keystroke == ( dir == 'rtl' ? 39 : 37 ) )\r
                                                {\r
                                                        if ( this.onEscape && this.onEscape( keystroke ) === false )\r
-                                                               evt.data.preventDefault( );\r
+                                                               evt.data.preventDefault();\r
                                                }\r
                                        },\r
                                        this );\r
@@ -195,7 +196,7 @@ CKEDITOR.ui.panel.prototype =
                                holder.unselectable();\r
                        }\r
                        else\r
-                               holder = this.document.getById( 'cke_' + this.id );\r
+                               holder = this.document.getById( this.id );\r
 \r
                        this._.holder = holder;\r
                }\r
@@ -225,7 +226,7 @@ CKEDITOR.ui.panel.prototype =
                        block = blocks[ name ],\r
                        current = this._.currentBlock,\r
                        holder = this.forceIFrame ?\r
-                               this.document.getById( 'cke_' + this.id + '_frame' )\r
+                               this.document.getById( this.id + '_frame' )\r
                                : this._.holder;\r
 \r
                // Disable context menu for block panel.\r
@@ -317,7 +318,7 @@ CKEDITOR.ui.panel.block = CKEDITOR.tools.createClass(
 \r
                        // Safari need focus on the iframe window first(#3389), but we need\r
                        // lock the blur to avoid hiding the panel.\r
-                       if ( CKEDITOR.env.webkit )\r
+                       if ( CKEDITOR.env.webkit || CKEDITOR.env.opera )\r
                                item.getDocument().getWindow().focus();\r
                        item.focus();\r
 \r
index 4e017b4..5821c88 100644 (file)
@@ -113,7 +113,7 @@ CKEDITOR.UI_PANELBUTTON = 4;
                                                        me.onOpen();\r
                                        };\r
 \r
-                               panel.onHide = function()\r
+                               panel.onHide = function( preventOnClose )\r
                                        {\r
                                                if ( me.className )\r
                                                        this.element.getFirst().removeClass( me.className + '_panel' );\r
@@ -122,7 +122,7 @@ CKEDITOR.UI_PANELBUTTON = 4;
 \r
                                                _.on = 0;\r
 \r
-                                               if ( me.onClose )\r
+                                               if ( !preventOnClose && me.onClose )\r
                                                        me.onClose();\r
                                        };\r
 \r
index 61ceaf8..e29d1c5 100644 (file)
@@ -118,7 +118,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                return result;\r
        };\r
 \r
-       var cssLengthRelativeUnit = /^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i;\r
+       var cssLengthRelativeUnit = /^([.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i;\r
        var emptyMarginRegex = /^(?:\b0[^\s]*\s*){1,4}$/;               // e.g. 0px 0pt 0px\r
 \r
        var listBaseIndent = 0,\r
@@ -219,7 +219,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        {\r
                                                                                // Be able to deal with component/short-hand form style.\r
                                                                                var values = margin.split( ' ' );\r
-                                                                               margin = values[ 3 ] || values[ 1 ] || values [ 0 ];\r
+                                                                               margin = CKEDITOR.plugins.pastefromword.utils.convertToPx( values[ 3 ] || values[ 1 ] || values [ 0 ] );\r
                                                                                margin = parseInt( margin, 10 );\r
 \r
                                                                                // Figure out the indent unit by looking at the first increament.\r
index fb7f2c4..f3cdddc 100644 (file)
@@ -54,7 +54,7 @@ CKEDITOR.tools.extend( CKEDITOR.editor.prototype,
                        popupWindow.focus();\r
                        popupWindow.location.href = url;\r
                }\r
-               catch (e)\r
+               catch ( e )\r
                {\r
                        popupWindow = window.open( url, null, options, true );\r
                }\r
index 28b4ea7..86544ab 100644 (file)
@@ -35,7 +35,7 @@ CKEDITOR.plugins.removeformat =
                                        ( editor._.removeAttributes = editor.config.removeFormatAttributes.split( ',' ) );\r
 \r
                                var filter = CKEDITOR.plugins.removeformat.filter;\r
-                               var ranges = editor.getSelection().getRanges( true ),\r
+                               var ranges = editor.getSelection().getRanges( 1 ),\r
                                        iterator = ranges.createIterator(),\r
                                        range;\r
 \r
@@ -50,8 +50,8 @@ CKEDITOR.plugins.removeformat =
                                        var bookmark = range.createBookmark();\r
 \r
                                        // The style will be applied within the bookmark boundaries.\r
-                                       var startNode   = bookmark.startNode;\r
-                                       var endNode             = bookmark.endNode;\r
+                                       var startNode   = bookmark.startNode,\r
+                                               endNode         = bookmark.endNode;\r
 \r
                                        // We need to check the selection boundaries (bookmark spans) to break\r
                                        // the code in a way that we can properly remove partially selected nodes.\r
@@ -66,8 +66,8 @@ CKEDITOR.plugins.removeformat =
                                        var breakParent = function( node )\r
                                        {\r
                                                // Let's start checking the start boundary.\r
-                                               var path = new CKEDITOR.dom.elementPath( node );\r
-                                               var pathElements = path.elements;\r
+                                               var path = new CKEDITOR.dom.elementPath( node ),\r
+                                                       pathElements = path.elements;\r
 \r
                                                for ( var i = 1, pathElement ; pathElement = pathElements[ i ] ; i++ )\r
                                                {\r
@@ -103,7 +103,7 @@ CKEDITOR.plugins.removeformat =
                                                {\r
                                                        // Remove elements nodes that match with this style rules.\r
                                                        if ( tagsRegex.test( currentNode.getName() ) )\r
-                                                               currentNode.remove( true );\r
+                                                               currentNode.remove( 1 );\r
                                                        else\r
                                                        {\r
                                                                currentNode.removeAttributes( removeAttributes );\r
index 6f31bd3..571ac53 100644 (file)
@@ -83,9 +83,9 @@ CKEDITOR.plugins.add( 'resize',
                                        if ( event.data.space == 'bottom' )\r
                                        {\r
                                                var direction = '';\r
-                                               if ( resizeHorizontal && !resizeVertical)\r
+                                               if ( resizeHorizontal && !resizeVertical )\r
                                                        direction = ' cke_resizer_horizontal';\r
-                                               if ( !resizeHorizontal && resizeVertical)\r
+                                               if ( !resizeHorizontal && resizeVertical )\r
                                                        direction = ' cke_resizer_vertical';\r
 \r
                                                event.data.html += '<div class="cke_resizer' + direction + '"' +\r
index 710b946..bcc5777 100644 (file)
@@ -239,7 +239,7 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass(
                                                me.onOpen();\r
                                };\r
 \r
-                       panel.onHide = function()\r
+                       panel.onHide = function( preventOnClose )\r
                                {\r
                                        if ( me.className )\r
                                                this.element.getFirst().removeClass( me.className + '_panel' );\r
@@ -248,7 +248,7 @@ CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass(
 \r
                                        me._.on = 0;\r
 \r
-                                       if ( me.onClose )\r
+                                       if ( !preventOnClose && me.onClose )\r
                                                me.onClose();\r
                                };\r
 \r
index f745d82..2a4ff3e 100644 (file)
@@ -11,44 +11,49 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                tags = [],\r
                i,\r
                contents = [],\r
-               userDicActive = false,\r
+               userDicActive = 0,\r
                dic_buttons = [\r
                        // [0] contains buttons for creating\r
                        "dic_create,dic_restore",\r
                        // [1] contains buton for manipulation\r
                        "dic_rename,dic_delete"\r
                ],\r
-               optionsIds= [ 'mixedCase','mixedWithDigits','allCaps','ignoreDomainNames' ];\r
+               optionsIds = [ 'mixedCase', 'mixedWithDigits', 'allCaps', 'ignoreDomainNames' ];\r
 \r
        // common operations\r
 \r
-       function getBOMAllOptions () {\r
+       function getBOMAllOptions()\r
+       {\r
                 return document.forms.optionsbar["options"];\r
        }\r
-       function getBOMAllLangs () {\r
+       function getBOMAllLangs()\r
+       {\r
                 return document.forms.languagesbar["scayt_lang"];\r
        }\r
 \r
-       function setCheckedValue(radioObj, newValue) {\r
-               if (!radioObj)\r
+       function setCheckedValue( radioObj, newValue )\r
+       {\r
+               if ( !radioObj )\r
                        return;\r
                var radioLength = radioObj.length;\r
-               if (radioLength == undefined) {\r
-                       radioObj.checked = (radioObj.value == newValue.toString());\r
+               if ( radioLength == undefined )\r
+               {\r
+                       radioObj.checked = radioObj.value == newValue.toString();\r
                        return;\r
                }\r
-               for (var i = 0; i < radioLength; i++) {\r
+               for ( var i = 0; i < radioLength; i++ )\r
+               {\r
                        radioObj[i].checked = false;\r
-                       if (radioObj[i].value == newValue.toString()) {\r
+                       if ( radioObj[i].value == newValue.toString() )\r
                                radioObj[i].checked = true;\r
-                       }\r
                }\r
        }\r
 \r
+       var lang = editor.lang.scayt;\r
        var tags_contents =  [\r
                                {\r
                                        id : 'options',\r
-                                       label : editor.lang.scayt.optionsTab,\r
+                                       label : lang.optionsTab,\r
                                        elements : [\r
                                                {\r
                                                        type : 'html',\r
@@ -77,7 +82,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                },\r
                                {\r
                                        id : 'langs',\r
-                                       label : editor.lang.scayt.languagesTab,\r
+                                       label : lang.languagesTab,\r
                                        elements : [\r
                                                {\r
                                                        type : 'html',\r
@@ -92,7 +97,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                },\r
                                {\r
                                        id : 'dictionaries',\r
-                                       label : editor.lang.scayt.dictionariesTab,\r
+                                       label : lang.dictionariesTab,\r
                                        elements : [\r
                                                {\r
                                                        type : 'html',\r
@@ -123,7 +128,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                },\r
                                {\r
                                        id : 'about',\r
-                                       label : editor.lang.scayt.aboutTab,\r
+                                       label : lang.aboutTab,\r
                                        elements : [\r
                                                {\r
                                                        type : 'html',\r
@@ -136,7 +141,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                        ];\r
 \r
        var dialogDefiniton = {\r
-               title : editor.lang.scayt.title,\r
+               title : lang.title,\r
                minWidth : 360,\r
                minHeight : 220,\r
                onShow : function()\r
@@ -183,10 +188,10 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                onCancel: function()\r
                {\r
                        var o = getBOMAllOptions();\r
-                       for (i in o)\r
+                       for ( var i in o )\r
                                o[i].checked = false;\r
 \r
-                       setCheckedValue(getBOMAllLangs(),"");\r
+                       setCheckedValue( getBOMAllLangs(), "" );\r
                },\r
                contents : contents\r
        };\r
@@ -195,20 +200,20 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
 \r
        tags = CKEDITOR.plugins.scayt.uiTabs;\r
 \r
-       for ( i in tags )\r
+       for ( var i in tags )\r
        {\r
                if ( tags[ i ] == 1 )\r
                        contents[ contents.length ] = tags_contents[ i ];\r
        }\r
        if ( tags[2] == 1 )\r
-               userDicActive = true;\r
+               userDicActive = 1;\r
 \r
 \r
        var init_with_captions = function()\r
        {\r
                var dialog = this,\r
                        lang_list = dialog.data.scayt.getLangList(),\r
-                       buttons = [ 'dic_create','dic_delete','dic_rename','dic_restore' ],\r
+                       buttons = [ 'dic_create', 'dic_delete', 'dic_rename', 'dic_restore' ],\r
                        labels = optionsIds,\r
                        i;\r
 \r
@@ -282,9 +287,9 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                };\r
 \r
                var langList = [];\r
-               if (tags[1] ==1 )\r
+               if ( tags[1] ==1 )\r
                {\r
-                       for ( i in lang_list.rtl )\r
+                       for ( var i in lang_list.rtl )\r
                                langList[ langList.length ] = createOption( i, lang_list.ltr );\r
 \r
                        for ( i in lang_list.ltr )\r
@@ -314,15 +319,15 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                        var err_massage = captions["err_dic_create"];\r
                        var suc_massage = captions["succ_dic_create"];\r
 \r
-                       window.scayt.createUserDictionary(dic_name,\r
-                               function(arg)\r
+                       window.scayt.createUserDictionary( dic_name,\r
+                               function( arg )\r
                                {\r
                                        hide_dic_buttons ( all_buttons );\r
                                        display_dic_buttons ( dic_buttons[1] );\r
                                        suc_massage = suc_massage.replace("%s" , arg.dname );\r
                                        dic_success_message (suc_massage);\r
                                },\r
-                               function(arg)\r
+                               function( arg )\r
                                {\r
                                        err_massage = err_massage.replace("%s" ,arg.dname );\r
                                        dic_error_message ( err_massage + "( "+ (arg.message || "") +")");\r
@@ -336,14 +341,14 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                        // try to rename dictionary\r
                        var err_massage = captions["err_dic_rename"] || "";\r
                        var suc_massage = captions["succ_dic_rename"] || "";\r
-                       window.scayt.renameUserDictionary(dic_name,\r
-                               function(arg)\r
+                       window.scayt.renameUserDictionary( dic_name,\r
+                               function( arg )\r
                                        {\r
                                                suc_massage = suc_massage.replace("%s" , arg.dname );\r
                                                set_dic_name( dic_name );\r
                                                dic_success_message ( suc_massage );\r
                                        },\r
-                               function(arg)\r
+                               function( arg )\r
                                        {\r
                                                err_massage = err_massage.replace("%s" , arg.dname  );\r
                                                set_dic_name( dic_name );\r
@@ -351,7 +356,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                        });\r
                };\r
 \r
-               dic.dic_delete = function ( el, dic_name , dic_buttons )\r
+               dic.dic_delete = function( el, dic_name , dic_buttons )\r
                {\r
                        var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
                        var err_massage = captions["err_dic_delete"];\r
@@ -359,7 +364,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
 \r
                        // try to delete dictionary\r
                        window.scayt.deleteUserDictionary(\r
-                               function(arg)\r
+                               function( arg )\r
                                {\r
                                        suc_massage = suc_massage.replace("%s" , arg.dname );\r
                                        hide_dic_buttons ( all_buttons );\r
@@ -367,14 +372,14 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                        set_dic_name( "" ); // empty input field\r
                                        dic_success_message( suc_massage );\r
                                },\r
-                               function(arg)\r
+                               function( arg )\r
                                {\r
                                        err_massage = err_massage.replace("%s" , arg.dname );\r
                                        dic_error_message(err_massage);\r
                                });\r
                };\r
 \r
-               dic.dic_restore = dialog.dic_restore || function ( el, dic_name , dic_buttons )\r
+               dic.dic_restore = dialog.dic_restore || function( el, dic_name , dic_buttons )\r
                        {\r
                                // try to restore existing dictionary\r
                                var all_buttons = dic_buttons[0] + ',' + dic_buttons[1];\r
@@ -382,14 +387,14 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                var suc_massage = captions["succ_dic_restore"];\r
 \r
                                window.scayt.restoreUserDictionary(dic_name,\r
-                                       function(arg)\r
+                                       function( arg )\r
                                        {\r
                                                suc_massage = suc_massage.replace("%s" , arg.dname );\r
                                                hide_dic_buttons ( all_buttons );\r
                                                display_dic_buttons(dic_buttons[1]);\r
                                                dic_success_message( suc_massage );\r
                                        },\r
-                                       function(arg)\r
+                                       function( arg )\r
                                        {\r
                                                err_massage = err_massage.replace("%s" , arg.dname );\r
                                                dic_error_message( err_massage );\r
@@ -408,7 +413,9 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                var el = id = ev.data.getTarget().getParent();\r
                                var id = el.getId();\r
                                dic[ id ].apply( null, [ el, dic_name, dic_buttons ] );\r
-                       }catch(err){\r
+                       }\r
+                       catch(err)\r
+                       {\r
                                dic_error_message(" Dictionary error. ");\r
                        }\r
 \r
@@ -431,7 +438,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
        {\r
                var dialog = this;\r
                // for enabled options tab\r
-               if (tags[0] == 1){\r
+               if ( tags[0] == 1 ){\r
                        var opto = getBOMAllOptions();\r
 \r
                        // Animate options.\r
@@ -466,8 +473,8 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                //for enabled languages tab\r
                if ( tags[1] == 1 )\r
                {\r
-                       var domLang = doc.getById("cke_option"+dialog.sLang);\r
-                       setCheckedValue(domLang.$,dialog.sLang);\r
+                       var domLang = doc.getById("cke_option" + dialog.sLang);\r
+                       setCheckedValue( domLang.$,dialog.sLang );\r
                }\r
 \r
                // * user dictionary\r
@@ -487,7 +494,7 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
                                                display_dic_buttons( dic_buttons[0] );\r
 \r
                                },\r
-                               function ()\r
+                               function()\r
                                {\r
                                        doc.getById( 'dic_name' ).setValue("");\r
                                });\r
@@ -496,35 +503,29 @@ CKEDITOR.dialog.add( 'scaytcheck', function( editor )
 \r
        };\r
 \r
-       function dic_error_message ( m )\r
+       function dic_error_message( m )\r
        {\r
                doc.getById('dic_message').setHtml('<span style="color:red;">' + m + '</span>' );\r
        }\r
-       function dic_success_message ( m )\r
+       function dic_success_message( m )\r
        {\r
                doc.getById('dic_message').setHtml('<span style="color:blue;">' + m + '</span>') ;\r
        }\r
-       function display_dic_buttons ( sIds )\r
+       function display_dic_buttons( sIds )\r
        {\r
-\r
                sIds = String( sIds );\r
                var aIds = sIds.split(',');\r
                for ( var i=0, l = aIds.length; i < l ; i+=1)\r
-               {\r
                        doc.getById( aIds[i] ).$.style.display = "inline";\r
-               }\r
-\r
        }\r
-       function hide_dic_buttons ( sIds )\r
+       function hide_dic_buttons( sIds )\r
        {\r
                sIds = String( sIds );\r
                var aIds = sIds.split(',');\r
                for ( var i = 0, l = aIds.length; i < l ; i += 1 )\r
-               {\r
                        doc.getById( aIds[i] ).$.style.display = "none";\r
-               }\r
        }\r
-       function set_dic_name ( dic_name )\r
+       function set_dic_name( dic_name )\r
        {\r
                doc.getById('dic_name').$.value= dic_name;\r
        }\r
index ec64fed..653c755 100644 (file)
@@ -10,18 +10,19 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 (function()\r
 {\r
-       var commandName         = 'scaytcheck',\r
-               openPage                = '';\r
+       var commandName  = 'scaytcheck',\r
+               openPage = '';\r
 \r
        // Checks if a value exists in an array\r
-       function in_array(needle, haystack)\r
+       function in_array( needle, haystack )\r
        {\r
-               var found = false, key;\r
-               for (key in haystack)\r
+               var found = 0,\r
+                       key;\r
+               for ( key in haystack )\r
                {\r
-                       if ((haystack[key] === needle) || ( haystack[key] == needle))\r
+                       if ( haystack[ key ] == needle )\r
                        {\r
-                               found = true;\r
+                               found = 1;\r
                                break;\r
                        }\r
                }\r
@@ -34,16 +35,17 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                var createInstance = function() // Create new instance every time Document is created.\r
                {\r
+                       var config = editor.config;\r
                        // Initialise Scayt instance.\r
                        var oParams = {};\r
                        // Get the iframe.\r
                        oParams.srcNodeRef = editor.document.getWindow().$.frameElement;\r
                        // syntax : AppName.AppVersion@AppRevision\r
                        oParams.assocApp  = 'CKEDITOR.' + CKEDITOR.version + '@' + CKEDITOR.revision;\r
-                       oParams.customerid = editor.config.scayt_customerid  || '1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';\r
-                       oParams.customDictionaryIds = editor.config.scayt_customDictionaryIds || '';\r
-                       oParams.userDictionaryName = editor.config.scayt_userDictionaryName || '';\r
-                       oParams.sLang = editor.config.scayt_sLang || 'en_US';\r
+                       oParams.customerid = config.scayt_customerid  || '1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';\r
+                       oParams.customDictionaryIds = config.scayt_customDictionaryIds || '';\r
+                       oParams.userDictionaryName = config.scayt_userDictionaryName || '';\r
+                       oParams.sLang = config.scayt_sLang || 'en_US';\r
 \r
                        // Introduce SCAYT onLoad callback. (#5632)\r
                        oParams.onLoad = function()\r
@@ -66,16 +68,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        };\r
 \r
                        var scayt_custom_params = window.scayt_custom_params;\r
-                       if ( typeof scayt_custom_params == 'object')\r
+                       if ( typeof scayt_custom_params == 'object' )\r
                        {\r
                                for ( var k in scayt_custom_params )\r
-                               {\r
                                        oParams[ k ] = scayt_custom_params[ k ];\r
-                               }\r
                        }\r
                        // needs for restoring a specific scayt control settings\r
-                       if ( plugin.getControlId(editor) )\r
-                               oParams.id = plugin.getControlId(editor);\r
+                       if ( plugin.getControlId( editor ) )\r
+                               oParams.id = plugin.getControlId( editor );\r
 \r
                        var scayt_control = new window.scayt( oParams );\r
 \r
@@ -85,7 +85,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        } );\r
 \r
                        // Copy config.\r
-                       var     lastInstance = plugin.instances[ editor.name ];\r
+                       var lastInstance = plugin.instances[ editor.name ];\r
                        if ( lastInstance )\r
                        {\r
                                scayt_control.sLang = lastInstance.sLang;\r
@@ -100,7 +100,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        var uiTabs = window.scayt.uiTags;\r
                        var fTabs  = [];\r
 \r
-                       for (var i = 0,l=4; i<l; i++)\r
+                       for ( var i = 0, l=4; i < l; i++ )\r
                            fTabs.push( uiTabs[i] && plugin.uiTabs[i] );\r
 \r
                        plugin.uiTabs = fTabs;\r
@@ -132,7 +132,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                editor.on( 'beforeCommandExec', function( ev )          // Disable SCAYT before Source command execution.\r
                        {\r
-                               if ( (ev.data.name == 'source' ||  ev.data.name == 'newpage') && editor.mode == 'wysiwyg' )\r
+                               if ( ( ev.data.name == 'source' || ev.data.name == 'newpage' ) && editor.mode == 'wysiwyg' )\r
                                {\r
                                        var scayt_instance = plugin.getScayt( editor );\r
                                        if ( scayt_instance )\r
@@ -257,7 +257,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                // Override Image.equals method avoid CK snapshot module to add SCAYT markup to snapshots. (#5546)\r
                var undoImagePrototype = CKEDITOR.plugins.undo.Image.prototype;\r
-               undoImagePrototype.equals =      CKEDITOR.tools.override( undoImagePrototype.equals, function( org )\r
+               undoImagePrototype.equals = CKEDITOR.tools.override( undoImagePrototype.equals, function( org )\r
                {\r
                        return function( otherImage )\r
                        {\r
@@ -298,7 +298,7 @@ CKEDITOR.plugins.scayt =
                        for ( var infoOpt in o )\r
                                this.controlInfo[ editor.name ][ infoOpt ] = o[ infoOpt ];\r
                },\r
-               isControlRestored : function ( editor )\r
+               isControlRestored : function( editor )\r
                {\r
                        if ( editor &&\r
                                        editor.name &&\r
@@ -308,15 +308,15 @@ CKEDITOR.plugins.scayt =
                        }\r
                        return false;\r
                },\r
-               markControlRestore : function ( editor )\r
+               markControlRestore : function( editor )\r
                {\r
-                       this.setControlInfo( editor,{ restored:true } );\r
+                       this.setControlInfo( editor, { restored:true } );\r
                },\r
-               setControlId: function (editor, id)\r
+               setControlId: function( editor, id )\r
                {\r
-                       this.setControlInfo( editor,{ id:id } );\r
+                       this.setControlInfo( editor, { id:id } );\r
                },\r
-               getControlId: function (editor)\r
+               getControlId: function( editor )\r
                {\r
                        if ( editor &&\r
                                        editor.name &&\r
@@ -327,17 +327,17 @@ CKEDITOR.plugins.scayt =
                        }\r
                        return null;\r
                },\r
-               setPaused: function ( editor , bool )\r
+               setPaused: function( editor , bool )\r
                {\r
-                       this.setControlInfo( editor,{ paused:bool } );\r
+                       this.setControlInfo( editor, { paused:bool } );\r
                },\r
-               isPaused: function (editor)\r
+               isPaused: function( editor )\r
                {\r
                        if ( editor &&\r
                                        editor.name &&\r
                                        this.controlInfo[editor.name] )\r
                        {\r
-                               return this.controlInfo[editor.name].paused ;\r
+                               return this.controlInfo[editor.name].paused;\r
                        }\r
                        return undefined;\r
                },\r
@@ -450,6 +450,7 @@ CKEDITOR.plugins.scayt =
        {\r
                preserveState : true,\r
                editorFocus : false,\r
+               canUndo : false,\r
 \r
                exec: function( editor )\r
                {\r
@@ -466,7 +467,7 @@ CKEDITOR.plugins.scayt =
                                //   scayt_control.focus();\r
                                //\r
                                // now focus is set certainly\r
-                               scayt_control.focus( );\r
+                               scayt_control.focus();\r
                                scayt_control.setDisabled( isEnabled );\r
                        }\r
                        else if ( !editor.config.scayt_autoStartup && plugin.engineLoaded >= 0 )        // Load first time\r
@@ -492,7 +493,7 @@ CKEDITOR.plugins.scayt =
 \r
                        if ( items_order && items_order.length )\r
                        {\r
-                               for ( var pos in items_order )\r
+                               for ( var pos = 0 ; pos < items_order.length ; pos++ )\r
                                        items_order_str += 'scayt_' + items_order[ pos ] + ( items_order.length != parseInt( pos, 10 ) + 1 ? ',' : '' );\r
                        }\r
 \r
@@ -502,8 +503,8 @@ CKEDITOR.plugins.scayt =
 \r
                init : function( editor )\r
                {\r
-                       var moreSuggestions = {};\r
-                       var mainSuggestions = {};\r
+                       var moreSuggestions = {},\r
+                               mainSuggestions = {};\r
 \r
                        // Scayt command.\r
                        var command = editor.addCommand( commandName, commandDefinition );\r
@@ -516,9 +517,9 @@ CKEDITOR.plugins.scayt =
                        // string to array convert\r
                        confuiTabs = confuiTabs.split( ',' );\r
                        // check array length ! always must be 3 filled with 1 or 0\r
-                       for (var i=0,l=3; i<l; i++)\r
+                       for ( var i=0, l=3; i < l; i++ )\r
                        {\r
-                               var flag = parseInt(confuiTabs[i] || '1' ,10);\r
+                               var flag = parseInt( confuiTabs[i] || '1', 10 );\r
                                uiTabs.push( flag );\r
                        }\r
 \r
@@ -527,18 +528,20 @@ CKEDITOR.plugins.scayt =
                        // combine menu items to render\r
                        var uiMuneItems = {};\r
 \r
+                       var lang = editor.lang.scayt;\r
+\r
                        // always added\r
                        uiMuneItems.scaytToggle =\r
                                {\r
-                                       label : editor.lang.scayt.enable,\r
+                                       label : lang.enable,\r
                                        command : commandName,\r
                                        group : menuGroup\r
                                };\r
 \r
-                       if (uiTabs[0] == 1)\r
+                       if ( uiTabs[0] == 1 )\r
                                uiMuneItems.scaytOptions =\r
                                {\r
-                                       label : editor.lang.scayt.options,\r
+                                       label : lang.options,\r
                                        group : menuGroup,\r
                                        onClick : function()\r
                                        {\r
@@ -547,10 +550,10 @@ CKEDITOR.plugins.scayt =
                                        }\r
                                };\r
 \r
-                       if (uiTabs[1] == 1)\r
+                       if ( uiTabs[1] == 1 )\r
                                uiMuneItems.scaytLangs =\r
                                {\r
-                                       label : editor.lang.scayt.langs,\r
+                                       label : lang.langs,\r
                                        group : menuGroup,\r
                                        onClick : function()\r
                                        {\r
@@ -558,10 +561,10 @@ CKEDITOR.plugins.scayt =
                                                editor.openDialog( commandName );\r
                                        }\r
                                };\r
-                       if (uiTabs[2] == 1)\r
+                       if ( uiTabs[2] == 1 )\r
                                uiMuneItems.scaytDict =\r
                                {\r
-                                       label : editor.lang.scayt.dictionariesTab,\r
+                                       label : lang.dictionariesTab,\r
                                        group : menuGroup,\r
                                        onClick : function()\r
                                        {\r
@@ -579,8 +582,7 @@ CKEDITOR.plugins.scayt =
                                                openPage = 'about';\r
                                                editor.openDialog( commandName );\r
                                        }\r
-                               }\r
-                       ;\r
+                               };\r
 \r
                        uiTabs[3] = 1; // about us tab is always on\r
                        plugin.uiTabs = uiTabs;\r
@@ -589,8 +591,8 @@ CKEDITOR.plugins.scayt =
 \r
                                editor.ui.add( 'Scayt', CKEDITOR.UI_MENUBUTTON,\r
                                        {\r
-                                               label : editor.lang.scayt.title,\r
-                                               title : CKEDITOR.env.opera ? editor.lang.scayt.opera_title : editor.lang.scayt.title,\r
+                                               label : lang.title,\r
+                                               title : CKEDITOR.env.opera ? lang.opera_title : lang.title,\r
                                                className : 'cke_button_scayt',\r
                                                onRender: function()\r
                                                {\r
@@ -604,7 +606,7 @@ CKEDITOR.plugins.scayt =
                                                {\r
                                                        var isEnabled = plugin.isScaytEnabled( editor );\r
 \r
-                                                       editor.getMenuItem( 'scaytToggle' ).label = editor.lang.scayt[ isEnabled ? 'disable' : 'enable' ];\r
+                                                       editor.getMenuItem( 'scaytToggle' ).label = lang[ isEnabled ? 'disable' : 'enable' ];\r
 \r
                                                        return {\r
                                                                scaytToggle  : CKEDITOR.TRISTATE_OFF,\r
@@ -673,7 +675,7 @@ CKEDITOR.plugins.scayt =
                                                                        return {\r
                                                                                exec: function()\r
                                                                                {\r
-                                                                                       scayt_control.replace(el, s);\r
+                                                                                       scayt_control.replace( el, s );\r
                                                                                }\r
                                                                        };\r
                                                                })( node, items_suggestion[i] );\r
@@ -699,7 +701,7 @@ CKEDITOR.plugins.scayt =
                                                        // Register the More suggestions group;\r
                                                        editor.addMenuItem( 'scayt_moresuggest',\r
                                                        {\r
-                                                               label : editor.lang.scayt.moreSuggestions,\r
+                                                               label : lang.moreSuggestions,\r
                                                                group : 'scayt_moresuggest',\r
                                                                order : 10,\r
                                                                getItems : function()\r
@@ -717,7 +719,7 @@ CKEDITOR.plugins.scayt =
                                                                        scayt_control.ignore( node );\r
                                                                }\r
                                                        };\r
-                                                       addButtonCommand( editor, 'ignore', editor.lang.scayt.ignore, 'scayt_ignore', ignore_command, 'scayt_control', 1 );\r
+                                                       addButtonCommand( editor, 'ignore', lang.ignore, 'scayt_ignore', ignore_command, 'scayt_control', 1 );\r
                                                        mainSuggestions[ 'scayt_ignore' ] = CKEDITOR.TRISTATE_OFF;\r
                                                }\r
 \r
@@ -728,7 +730,7 @@ CKEDITOR.plugins.scayt =
                                                                        scayt_control.ignoreAll( node );\r
                                                                }\r
                                                        };\r
-                                                       addButtonCommand(editor, 'ignore_all', editor.lang.scayt.ignoreAll, 'scayt_ignore_all', ignore_all_command, 'scayt_control', 2);\r
+                                                       addButtonCommand(editor, 'ignore_all', lang.ignoreAll, 'scayt_ignore_all', ignore_all_command, 'scayt_control', 2);\r
                                                        mainSuggestions['scayt_ignore_all'] = CKEDITOR.TRISTATE_OFF;\r
                                                }\r
 \r
@@ -739,7 +741,7 @@ CKEDITOR.plugins.scayt =
                                                                        window.scayt.addWordToUserDictionary( node );\r
                                                                }\r
                                                        };\r
-                                                       addButtonCommand(editor, 'add_word', editor.lang.scayt.addWord, 'scayt_add_word', addword_command, 'scayt_control', 3);\r
+                                                       addButtonCommand(editor, 'add_word', lang.addWord, 'scayt_add_word', addword_command, 'scayt_control', 3);\r
                                                        mainSuggestions['scayt_add_word'] = CKEDITOR.TRISTATE_OFF;\r
                                                }\r
 \r
index f0d2c44..17e2c52 100644 (file)
@@ -133,7 +133,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                // point.\r
                                                                if ( savedRange )\r
                                                                {\r
-                                                                       if ( restoreEnabled )\r
+                                                                       // Range restored here might invalidate the DOM structure thus break up\r
+                                                                       // the locked selection, give it up. (#6083)\r
+                                                                       var lockedSelection = doc.getCustomData( 'cke_locked_selection' );\r
+                                                                       if ( restoreEnabled && !lockedSelection )\r
                                                                        {\r
                                                                                // Well not break because of this.\r
                                                                                try\r
@@ -151,7 +154,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                body.on( 'focus', function()\r
                                                        {\r
                                                                // Enable selections to be saved.\r
-                                                               saveEnabled = true;\r
+                                                               saveEnabled = 1;\r
 \r
                                                                saveSelection();\r
                                                        });\r
@@ -164,7 +167,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        return;\r
 \r
                                                                // Disable selections from being saved.\r
-                                                               saveEnabled = false;\r
+                                                               saveEnabled = 0;\r
                                                                restoreEnabled = 1;\r
                                                        });\r
 \r
@@ -174,13 +177,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                {\r
                                                        editor.on( 'blur', function( evt )\r
                                                        {\r
-                                                               editor.document && editor.document.$.selection.empty();\r
+                                                               // Try/Catch to avoid errors if the editor is hidden. (#6375)\r
+                                                               try\r
+                                                               {\r
+                                                                       editor.document && editor.document.$.selection.empty();\r
+                                                               }\r
+                                                               catch (e) {}\r
                                                        });\r
                                                }\r
 \r
                                                // Listening on document element ensures that\r
                                                // scrollbar is included. (#5280)\r
-                                               html.on( 'mousedown', function ()\r
+                                               html.on( 'mousedown', function()\r
                                                {\r
                                                        // Lock restore selection now, as we have\r
                                                        // a followed 'click' event which introduce\r
@@ -188,7 +196,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        restoreEnabled = 0;\r
                                                });\r
 \r
-                                               html.on( 'mouseup', function ()\r
+                                               html.on( 'mouseup', function()\r
                                                {\r
                                                        restoreEnabled = 1;\r
                                                });\r
@@ -235,7 +243,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                }\r
                                                                scroll = null;\r
 \r
-                                                               saveEnabled = true;\r
+                                                               saveEnabled = 1;\r
                                                                setTimeout( function()\r
                                                                        {\r
                                                                                saveSelection( true );\r
@@ -247,7 +255,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                body.on( 'keyup',\r
                                                        function()\r
                                                        {\r
-                                                               saveEnabled = true;\r
+                                                               saveEnabled = 1;\r
                                                                saveSelection();\r
                                                        });\r
 \r
@@ -258,7 +266,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                                                function disableSave()\r
                                                {\r
-                                                       saveEnabled = false;\r
+                                                       saveEnabled = 0;\r
                                                }\r
 \r
                                                function saveSelection( testIt )\r
@@ -400,7 +408,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        return lockedSelection;\r
 \r
                this.document = document;\r
-               this.isLocked = false;\r
+               this.isLocked = 0;\r
                this._ =\r
                {\r
                        cache : {}\r
@@ -543,7 +551,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                 * var ranges = selection.getRanges();\r
                 * alert(ranges.length);\r
                 */\r
-               getRanges : (function ()\r
+               getRanges : (function()\r
                {\r
                        var func = CKEDITOR.env.ie ?\r
                                ( function()\r
@@ -655,6 +663,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        boundaryInfo = getBoundaryInformation( nativeRange );\r
                                                        range.setEnd( new CKEDITOR.dom.node( boundaryInfo.container ), boundaryInfo.offset );\r
 \r
+                                                       // Correct an invalid IE range case on empty list item. (#5850)\r
+                                                       if ( range.endContainer.getPosition( range.startContainer ) & CKEDITOR.POSITION_PRECEDING\r
+                                                                       && range.endOffset <= range.startContainer.getIndex() )\r
+                                                       {\r
+                                                               range.collapse();\r
+                                                       }\r
+\r
                                                        return [ range ];\r
                                                }\r
                                                else if ( type == CKEDITOR.SELECTION_ELEMENT )\r
@@ -740,7 +755,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                                                // Drop range spans inside one ready-only node.\r
                                                var parent = range.getCommonAncestor();\r
-                                               if ( parent.isReadOnly())\r
+                                               if ( parent.isReadOnly() )\r
                                                        ranges.splice( i, 1 );\r
 \r
                                                if ( range.collapsed )\r
@@ -850,7 +865,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        // Decrease the range content to exclude particial\r
                                                        // selected node on the start which doesn't have\r
                                                        // visual impact. ( #3231 )\r
-                                                       while ( true )\r
+                                                       while ( 1 )\r
                                                        {\r
                                                                var startContainer = range.startContainer,\r
                                                                        startOffset = range.startOffset;\r
@@ -870,32 +885,25 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        node = node.getChild( range.startOffset );\r
 \r
                                                        if ( !node || node.type != CKEDITOR.NODE_ELEMENT )\r
-                                                               return range.startContainer;\r
-\r
-                                                       var child = node.getFirst();\r
-                                                       while (  child && child.type == CKEDITOR.NODE_ELEMENT )\r
+                                                               node = range.startContainer;\r
+                                                       else\r
                                                        {\r
-                                                               node = child;\r
-                                                               child = child.getFirst();\r
+                                                               var child = node.getFirst();\r
+                                                               while (  child && child.type == CKEDITOR.NODE_ELEMENT )\r
+                                                               {\r
+                                                                       node = child;\r
+                                                                       child = child.getFirst();\r
+                                                               }\r
                                                        }\r
-\r
-                                                       return node;\r
                                                }\r
-                                       }\r
-\r
-                                       if ( CKEDITOR.env.ie )\r
-                                       {\r
-                                               range = sel.createRange();\r
-                                               range.collapse( true );\r
-\r
-                                               node = range.parentElement();\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               node = sel.anchorNode;\r
+                                               else\r
+                                               {\r
+                                                       node = range.startContainer;\r
+                                                       if ( node.type != CKEDITOR.NODE_ELEMENT )\r
+                                                               node = node.getParent();\r
+                                               }\r
 \r
-                                               if ( node && node.nodeType != 1 )\r
-                                                       node = node.parentNode;\r
+                                               node = node.$;\r
                                        }\r
                        }\r
 \r
@@ -959,7 +967,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        // The native selection is not available when locked.\r
                        this._.cache.nativeSel = {};\r
 \r
-                       this.isLocked = true;\r
+                       this.isLocked = 1;\r
 \r
                        // Save this selection inside the DOM document.\r
                        this.document.setCustomData( 'cke_locked_selection', this );\r
@@ -979,7 +987,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        var selectedElement = lockedSelection.getSelectedElement(),\r
                                                ranges = !selectedElement && lockedSelection.getRanges();\r
 \r
-                                       this.isLocked = false;\r
+                                       this.isLocked = 0;\r
                                        this.reset();\r
 \r
                                        doc.getBody().focus();\r
@@ -993,7 +1001,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                        if  ( !lockedSelection || !restore )\r
                        {\r
-                               this.isLocked = false;\r
+                               this.isLocked = 0;\r
                                this.reset();\r
                        }\r
                },\r
@@ -1034,7 +1042,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        range.addElement( element.$ );\r
                                        range.select();\r
                                }\r
-                               catch(e)\r
+                               catch( e )\r
                                {\r
                                        // If failed, select it as a text range.\r
                                        range = this.document.$.body.createTextRange();\r
index 818e833..60f686a 100644 (file)
@@ -153,4 +153,3 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * @example\r
  * config.startupOutlineBlocks = true;\r
  */\r
-CKEDITOR.config.startupOutlineBlocks = false;\r
index 8371fb1..5c351e3 100644 (file)
@@ -36,7 +36,9 @@ CKEDITOR.dialog.add( 'smiley', function( editor )
                                        src : src,\r
                                        _cke_saved_src : src,\r
                                        title : title,\r
-                                       alt : title\r
+                                       alt : title,\r
+                                       width : target.$.width,\r
+                                       height : target.$.height\r
                                }\r
                        });\r
 \r
@@ -52,8 +54,8 @@ CKEDITOR.dialog.add( 'smiley', function( editor )
                element = new CKEDITOR.dom.element( element );\r
                var relative, nodeToMove;\r
 \r
-               var keystroke = ev.getKeystroke();\r
-               var rtl = editor.lang.dir == 'rtl';\r
+               var keystroke = ev.getKeystroke(),\r
+                       rtl = editor.lang.dir == 'rtl';\r
                switch ( keystroke )\r
                {\r
                        // UP-ARROW\r
index fe39339..234bbf0 100644 (file)
@@ -72,12 +72,12 @@ CKEDITOR.plugins.add( 'sourcearea',
                                                                win.on( 'resize', onResize );\r
                                                                setTimeout( onResize, 0 );\r
                                                        }\r
-                                                       else\r
+                                                       // As we prevent click to put focus on editor container,\r
+                                                       // while 'mousedown' inside <textarea> is also captured,\r
+                                                       // but we must stop the even propagation, otherwise\r
+                                                       // it's not possible to place the caret inside of it (non IE and IE9).\r
+                                                       if ( document.addEventListener )\r
                                                        {\r
-                                                               // By some yet unknown reason, we must stop the\r
-                                                               // mousedown propagation for the textarea,\r
-                                                               // otherwise it's not possible to place the caret\r
-                                                               // inside of it (non IE).\r
                                                                textarea.on( 'mousedown', function( evt )\r
                                                                        {\r
                                                                                evt.data.stopPropagation();\r
index 5e706c7..0fba305 100644 (file)
@@ -112,8 +112,8 @@ CKEDITOR.dialog.add( 'specialchar', function( editor )
                // Get an Anchor element.\r
                var element = ev.getTarget();\r
                var relative, nodeToMove;\r
-               var keystroke = ev.getKeystroke();\r
-               var rtl = editor.lang.dir == 'rtl';\r
+               var keystroke = ev.getKeystroke(),\r
+                       rtl = editor.lang.dir == 'rtl';\r
 \r
                switch ( keystroke )\r
                {\r
@@ -347,7 +347,7 @@ CKEDITOR.dialog.add( 'specialchar', function( editor )
                                                                focus : function()\r
                                                                {\r
                                                                        var firstChar = this.getElement().getElementsByTag( 'a' ).getItem( 0 );\r
-                                                                       setTimeout(function()\r
+                                                                       setTimeout( function()\r
                                                                        {\r
                                                                                firstChar.focus();\r
                                                                                onFocus( null, firstChar );\r
index 8bab79d..5eee185 100644 (file)
@@ -478,39 +478,64 @@ CKEDITOR.STYLE_OBJECT = 3;
                        if ( applyStyle && styleRange && !styleRange.collapsed )\r
                        {\r
                                // Build the style element, based on the style object definition.\r
-                               var styleNode = getElement( this, document );\r
+                               var styleNode = getElement( this, document ),\r
+                                       styleHasAttrs = styleNode.hasAttributes();\r
 \r
                                // Get the element that holds the entire range.\r
                                var parent = styleRange.getCommonAncestor();\r
 \r
+                               var removeList = {\r
+                                       styles : {},\r
+                                       attrs : {},\r
+                                       // Styles cannot be removed.\r
+                                       blockedStyles : {},\r
+                                       // Attrs cannot be removed.\r
+                                       blockedAttrs : {}\r
+                               };\r
+\r
+                               var attName, styleName, value;\r
+\r
                                // Loop through the parents, removing the redundant attributes\r
                                // from the element to be applied.\r
                                while ( styleNode && parent )\r
                                {\r
                                        if ( parent.getName() == elementName )\r
                                        {\r
-                                               for ( var attName in def.attributes )\r
+                                               for ( attName in def.attributes )\r
                                                {\r
-                                                       if ( styleNode.getAttribute( attName ) == parent.getAttribute( attName ) )\r
-                                                               styleNode.removeAttribute( attName );\r
-                                               }\r
+                                                       if ( removeList.blockedAttrs[ attName ] || !( value = parent.getAttribute( styleName ) ) )\r
+                                                               continue;\r
 \r
-                                               for ( var styleName in def.styles )\r
-                                               {\r
-                                                       if ( styleNode.getStyle( styleName ) == parent.getStyle( styleName ) )\r
-                                                               styleNode.removeStyle( styleName );\r
+                                                       if ( styleNode.getAttribute( attName ) == value )\r
+                                                               removeList.attrs[ attName ] = 1;\r
+                                                       else\r
+                                                               removeList.blockedAttrs[ attName ] = 1;\r
                                                }\r
 \r
-                                               if ( !styleNode.hasAttributes() )\r
+                                               for ( styleName in def.styles )\r
                                                {\r
-                                                       styleNode = null;\r
-                                                       break;\r
+                                                       if ( removeList.blockedStyles[ styleName ] || !( value = parent.getStyle( styleName ) ) )\r
+                                                               continue;\r
+\r
+                                                       if ( styleNode.getStyle( styleName ) == value )\r
+                                                               removeList.styles[ styleName ] = 1;\r
+                                                       else\r
+                                                               removeList.blockedStyles[ styleName ] = 1;\r
                                                }\r
                                        }\r
 \r
                                        parent = parent.getParent();\r
                                }\r
 \r
+                               for ( attName in removeList.attrs )\r
+                                       styleNode.removeAttribute( attName );\r
+\r
+                               for ( styleName in removeList.styles )\r
+                                       styleNode.removeStyle( styleName );\r
+\r
+                               if ( styleHasAttrs && !styleNode.hasAttributes() )\r
+                                       styleNode = null;\r
+\r
                                if ( styleNode )\r
                                {\r
                                        // Move the contents of the range to the style element.\r
@@ -536,6 +561,15 @@ CKEDITOR.STYLE_OBJECT = 3;
                                        if ( !CKEDITOR.env.ie )\r
                                                styleNode.$.normalize();\r
                                }\r
+                               // Style already inherit from parents, left just to clear up any internal overrides. (#5931)\r
+                               else\r
+                               {\r
+                                       styleNode = new CKEDITOR.dom.element( 'span' );\r
+                                       styleRange.extractContents().appendTo( styleNode );\r
+                                       styleRange.insertNode( styleNode );\r
+                                       removeFromInsideElement( this, styleNode );\r
+                                       styleNode.remove( true );\r
+                               }\r
 \r
                                // Style applied, let's release the range, so it gets\r
                                // re-initialization in the next loop.\r
@@ -775,7 +809,7 @@ CKEDITOR.STYLE_OBJECT = 3;
 \r
                while ( ( block = iterator.getNextParagraph() ) )               // Only one =\r
                {\r
-                       var newBlock = getElement( this, doc );\r
+                       var newBlock = getElement( this, doc, block );\r
                        replaceBlock( block, newBlock );\r
                }\r
 \r
@@ -1083,7 +1117,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                }\r
        }\r
 \r
-       function getElement( style, targetDocument )\r
+       function getElement( style, targetDocument, element )\r
        {\r
                var el;\r
 \r
@@ -1098,6 +1132,10 @@ CKEDITOR.STYLE_OBJECT = 3;
                // Create the element.\r
                el = new CKEDITOR.dom.element( elementName, targetDocument );\r
 \r
+               // #6226: attributes should be copied before the new ones are applied\r
+               if ( element )\r
+                       element.copyAttributes( el );\r
+\r
                return setupElement( el, style );\r
        }\r
 \r
@@ -1117,16 +1155,8 @@ CKEDITOR.STYLE_OBJECT = 3;
                }\r
 \r
                // Assign all defined styles.\r
-               if ( def.styles )\r
-               {\r
-                       for ( var i in def.styles )\r
-                       {\r
-                               if ( !def.styles.hasOwnProperty( i ) )\r
-                                       continue;\r
-\r
-                               el.setStyle( i, def.styles[ i ] );\r
-                       }\r
-               }\r
+               if( styles )\r
+                       el.setAttribute( 'style', styles );\r
 \r
                return el;\r
        }\r
@@ -1276,7 +1306,11 @@ CKEDITOR.STYLE_OBJECT = 3;
                // Compensate tail semi-colon.\r
                return styleText.replace( /\s*([;:])\s*/, '$1' )\r
                                                         .replace( /([^\s;])$/, '$1;')\r
-                                                        .replace( /,\s+/g, ',' ) // Trimming spaces after comma (e.g. font-family name)(#4107).\r
+                                                       // Trimming spaces after comma(#4107),\r
+                                                       // remove quotations(#6403),\r
+                                                       // mostly for differences on "font-family".\r
+                                                        .replace( /,\s+/g, ',' )\r
+                                                        .replace( /\"/g,'' )\r
                                                         .toLowerCase();\r
        }\r
 \r
@@ -1320,8 +1354,8 @@ CKEDITOR.STYLE_OBJECT = 3;
        {\r
                var selection = document.getSelection(),\r
                        // Bookmark the range so we can re-select it after processing.\r
-                       bookmarks = selection.createBookmarks(),\r
-                       ranges = selection.getRanges( true ),\r
+                       bookmarks = selection.createBookmarks( 1 ),\r
+                       ranges = selection.getRanges( 1 ),\r
                        func = remove ? this.removeFromRange : this.applyToRange,\r
                        range;\r
 \r
@@ -1332,7 +1366,7 @@ CKEDITOR.STYLE_OBJECT = 3;
                if ( bookmarks.length == 1 && bookmarks[0].collapsed )\r
                {\r
                        selection.selectRanges( ranges );\r
-                       bookmarks[0].startNode.remove();\r
+                       document.getById( bookmarks[ 0 ].startNode ).remove();\r
                }\r
                else\r
                        selection.selectBookmarks( bookmarks );\r
index f3ebfd5..fb44d5c 100644 (file)
@@ -26,7 +26,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        styleName;\r
 \r
                                                // Put all styles into an Array.\r
-                                               for ( var i = 0 ; i < stylesDefinitions.length ; i++ )\r
+                                               for ( var i = 0, count = stylesDefinitions.length ; i < count ; i++ )\r
                                                {\r
                                                        var styleDefinition = stylesDefinitions[ i ];\r
 \r
@@ -71,7 +71,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                // Loop over the Array, adding all items to the\r
                                                                // combo.\r
                                                                var lastType;\r
-                                                               for ( var i = 0 ; i < stylesList.length ; i++ )\r
+                                                               for ( var i = 0, count = stylesList.length ; i < count ; i++ )\r
                                                                {\r
                                                                        style = stylesList[ i ];\r
                                                                        styleName = style._name;\r
@@ -126,7 +126,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        elements = elementPath.elements;\r
 \r
                                                                // For each element into the elements path.\r
-                                                               for ( var i = 0, element ; i < elements.length ; i++ )\r
+                                                               for ( var i = 0, count = elements.length, element ; i < count ; i++ )\r
                                                                {\r
                                                                        element = elements[i];\r
 \r
@@ -154,9 +154,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                if ( CKEDITOR.env.ie || CKEDITOR.env.webkit )\r
                                                        editor.focus();\r
 \r
-                                               var selection = editor.getSelection();\r
-\r
-                                               var element = selection.getSelectedElement(),\r
+                                               var selection = editor.getSelection(),\r
+                                                       element = selection.getSelectedElement(),\r
                                                        elementPath = new CKEDITOR.dom.elementPath( element || selection.getStartElement() );\r
 \r
                                                var counter = [ 0, 0, 0, 0 ];\r
index f63cd5b..42255b1 100644 (file)
@@ -38,8 +38,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                if ( editor.focusManager.hasFocus )\r
                                {\r
                                        var sel = editor.getSelection(),\r
-                                                       ancestor = sel.getCommonAncestor(),\r
-                                                       cell;\r
+                                               ancestor = sel.getCommonAncestor(),\r
+                                               cell;\r
 \r
                                        if ( ( cell = ( ancestor.getAscendant( 'td', true ) || ancestor.getAscendant( 'th', true ) ) ) )\r
                                        {\r
index c6f8a05..7cb2708 100644 (file)
@@ -604,8 +604,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                                if ( nodeList.count() > 0 )\r
                                                                                {\r
                                                                                        var caption = nodeList.getItem( 0 );\r
-                                                                                       caption = ( caption.getChild( 0 ) && caption.getChild( 0 ).getText() ) || '';\r
-                                                                                       caption = CKEDITOR.tools.trim( caption );\r
+                                                                                       caption = CKEDITOR.tools.trim( caption.getText() );\r
                                                                                        this.setValue( caption );\r
                                                                                }\r
                                                                        },\r
index 9f5ca9d..387d64a 100644 (file)
@@ -58,10 +58,10 @@ CKEDITOR.plugins.add( 'table',
                {\r
                        editor.contextMenu.addListener( function( element, selection )\r
                                {\r
-                                       if ( !element || element.isReadOnly())\r
+                                       if ( !element || element.isReadOnly() )\r
                                                return null;\r
 \r
-                                       var isTable     = element.is( 'table' ) || element.hasAscendant( 'table' );\r
+                                       var isTable = element.hasAscendant( 'table', 1 );\r
 \r
                                        if ( isTable )\r
                                        {\r
index f16978a..23c19d6 100644 (file)
@@ -393,7 +393,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                return;\r
                }\r
 \r
-               target.getAscendant( 'table', true ).removeCustomData( '_cke_table_pillars' );\r
+               target.getAscendant( 'table', 1 ).removeCustomData( '_cke_table_pillars' );\r
                evt.removeListener();\r
        }\r
 \r
@@ -423,10 +423,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        table,\r
                                                        pillars;\r
 \r
-                                               if ( !target.is( 'table' ) && !target.getAscendant( 'tbody', true ) )\r
+                                               if ( !target.is( 'table' ) && !target.getAscendant( 'tbody', 1 ) )\r
                                                        return;\r
 \r
-                                               table = target.getAscendant( 'table', true );\r
+                                               table = target.getAscendant( 'table', 1 );\r
 \r
                                                if ( !( pillars = table.getCustomData( '_cke_table_pillars' ) ) )\r
                                                {\r
index b06f59a..0019a49 100644 (file)
@@ -146,7 +146,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        return;\r
 \r
                // Create a clone of the row.\r
-               var newRow = row.clone( true );\r
+               var newRow = row.clone( 1 );\r
 \r
                insertBefore ?\r
                        newRow.insertBefore( row ) :\r
@@ -216,7 +216,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        {\r
                // Get the cell where the selection is placed in.\r
                var startElement = selection.getStartElement();\r
-               var cell = startElement.getAscendant( 'td', true ) || startElement.getAscendant( 'th', true );\r
+               var cell = startElement.getAscendant( 'td', 1 ) || startElement.getAscendant( 'th', 1 );\r
 \r
                if ( !cell )\r
                        return;\r
@@ -234,7 +234,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        if ( $row.cells.length < ( cellIndex + 1 ) )\r
                                continue;\r
 \r
-                       cell = ( new CKEDITOR.dom.element( $row.cells[ cellIndex ] ) ).clone( false );\r
+                       cell = ( new CKEDITOR.dom.element( $row.cells[ cellIndex ] ) ).clone( 0 );\r
 \r
                        if ( !CKEDITOR.env.ie )\r
                                cell.appendBogus();\r
@@ -339,7 +339,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        function insertCell( selection, insertBefore )\r
        {\r
                var startElement = selection.getStartElement();\r
-               var cell = startElement.getAscendant( 'td', true ) || startElement.getAscendant( 'th', true );\r
+               var cell = startElement.getAscendant( 'td', 1 ) || startElement.getAscendant( 'th', 1 );\r
 \r
                if ( !cell )\r
                        return;\r
@@ -714,9 +714,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                {\r
                                        exec : function( editor )\r
                                        {\r
-                                               var selection = editor.getSelection();\r
-                                               var startElement = selection && selection.getStartElement();\r
-                                               var table = startElement && startElement.getAscendant( 'table', true );\r
+                                               var selection = editor.getSelection(),\r
+                                                       startElement = selection && selection.getStartElement(),\r
+                                                       table = startElement && startElement.getAscendant( 'table', 1 );\r
 \r
                                                if ( !table )\r
                                                        return;\r
@@ -727,9 +727,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                range.collapse();\r
                                                selection.selectRanges( [ range ] );\r
 \r
-                                               // If the table's parent has only one child, remove it,except body,as well.( #5416 )\r
+                                               // If the table's parent has only one child remove it as well (unless it's the body or a table cell) (#5416, #6289)\r
                                                var parent = table.getParent();\r
-                                               if ( parent.getChildCount() == 1 && parent.getName() != 'body' )\r
+                                               if ( parent.getChildCount() == 1 && !parent.is( 'body', 'td', 'th' ) )\r
                                                        parent.remove();\r
                                                else\r
                                                        table.remove();\r
index d3d78c6..eb86b65 100644 (file)
@@ -15,7 +15,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                // clear loading wait text.\r
                                container.setHtml( '' );\r
 \r
-                               for ( var i = 0 ; i < templatesDefinitions.length ; i++ )\r
+                               for ( var i = 0, totalDefs = templatesDefinitions.length ; i < totalDefs ; i++ )\r
                                {\r
                                        var definition = CKEDITOR.getTemplates( templatesDefinitions[ i ] ),\r
                                                imagesPath = definition.imagesPath,\r
@@ -44,7 +44,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                var html = '<table style="width:350px;" class="cke_tpl_preview" role="presentation"><tr>';\r
 \r
                                if ( template.image && imagesPath )\r
-                                       html += '<td class="cke_tpl_preview_img"><img src="' + CKEDITOR.getUrl( imagesPath + template.image ) + '"' + ( CKEDITOR.env.ie6Compat? ' onload="this.width=this.width"' : '' ) + ' alt="" title=""></td>';\r
+                                       html += '<td class="cke_tpl_preview_img"><img src="' + CKEDITOR.getUrl( imagesPath + template.image ) + '"' + ( CKEDITOR.env.ie6Compat ? ' onload="this.width=this.width"' : '' ) + ' alt="" title=""></td>';\r
 \r
                                html += '<td style="white-space:normal;"><span class="cke_tpl_title">' + template.title + '</span><br/>';\r
 \r
@@ -80,12 +80,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                // Place the cursor at the first editable place.\r
                                                var range = new CKEDITOR.dom.range( editor.document );\r
                                                range.moveToElementEditStart( editor.document.getBody() );\r
-                                               range.select( true );\r
-                                               setTimeout( function ()\r
+                                               range.select( 1 );\r
+                                               setTimeout( function()\r
                                                {\r
                                                        editor.fire( 'saveSnapshot' );\r
                                                }, 0 );\r
-                                       } );\r
+                                       });\r
 \r
                                        editor.fire( 'saveSnapshot' );\r
                                        editor.setData( html );\r
@@ -146,7 +146,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                        var listContainer;\r
 \r
-                       var templateListLabelId = 'cke_tpl_list_label_' + CKEDITOR.tools.getNextNumber();\r
+                       var templateListLabelId = 'cke_tpl_list_label_' + CKEDITOR.tools.getNextNumber(),\r
+                               lang = editor.lang.templates,\r
+                               config = editor.config;\r
                        return {\r
                                title :editor.lang.templates.title,\r
 \r
@@ -157,7 +159,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                [\r
                                        {\r
                                                id :'selectTpl',\r
-                                               label : editor.lang.templates.title,\r
+                                               label : lang.title,\r
                                                elements :\r
                                                [\r
                                                        {\r
@@ -169,24 +171,24 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                                type : 'html',\r
                                                                                html :\r
                                                                                        '<span>'  +\r
-                                                                                               editor.lang.templates.selectPromptMsg +\r
+                                                                                               lang.selectPromptMsg +\r
                                                                                        '</span>'\r
                                                                        },\r
                                                                        {\r
-                                                                               id : "templatesList",\r
+                                                                               id : 'templatesList',\r
                                                                                type : 'html',\r
                                                                                focus: true,\r
                                                                                html :\r
                                                                                        '<div class="cke_tpl_list" tabIndex="-1" role="listbox" aria-labelledby="' + templateListLabelId+ '">' +\r
                                                                                                '<div class="cke_tpl_loading"><span></span></div>' +\r
                                                                                        '</div>' +\r
-                                                                                       '<span class="cke_voice_label" id="' + templateListLabelId + '">' + editor.lang.templates.options+ '</span>'\r
+                                                                                       '<span class="cke_voice_label" id="' + templateListLabelId + '">' + lang.options+ '</span>'\r
                                                                        },\r
                                                                        {\r
                                                                                id : 'chkInsertOpt',\r
                                                                                type : 'checkbox',\r
-                                                                               label : editor.lang.templates.insertOption,\r
-                                                                               'default' : editor.config.templates_replaceContent\r
+                                                                               label : lang.insertOption,\r
+                                                                               'default' : config.templates_replaceContent\r
                                                                        }\r
                                                                ]\r
                                                        }\r
@@ -201,9 +203,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        var templatesListField = this.getContentElement( 'selectTpl' , 'templatesList' );\r
                                        listContainer = templatesListField.getElement();\r
 \r
-                                       CKEDITOR.loadTemplates( editor.config.templates_files, function()\r
+                                       CKEDITOR.loadTemplates( config.templates_files, function()\r
                                                {\r
-                                                       var templates = editor.config.templates.split( ',' );\r
+                                                       var templates = ( config.templates || 'default' ).split( ',' );\r
 \r
                                                        if ( templates.length )\r
                                                        {\r
@@ -214,7 +216,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        {\r
                                                                listContainer.setHtml(\r
                                                                        '<div class="cke_tpl_empty">' +\r
-                                                                               '<span>' + editor.lang.templates.emptyListMsg + '</span>' +\r
+                                                                               '<span>' + lang.emptyListMsg + '</span>' +\r
                                                                        '</div>' );\r
                                                        }\r
                                                });\r
@@ -222,7 +224,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        this._.element.on( 'keydown', keyNavigation );\r
                                },\r
 \r
-                               onHide : function ()\r
+                               onHide : function()\r
                                {\r
                                        this._.element.removeListener( 'keydown', keyNavigation );\r
                                }\r
index 64d70e0..3cf9855 100644 (file)
@@ -42,7 +42,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                var toLoad = [];\r
 \r
                // Look for pending template files to get loaded.\r
-               for ( var i = 0 ; i < templateFiles.length ; i++ )\r
+               for ( var i = 0, count = templateFiles.length ; i < count ; i++ )\r
                {\r
                        if ( !loadedTemplatesFiles[ templateFiles[ i ] ] )\r
                        {\r
@@ -51,7 +51,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        }\r
                }\r
 \r
-               if ( toLoad.length > 0 )\r
+               if ( toLoad.length )\r
                        CKEDITOR.scriptLoader.load( toLoad, callback );\r
                else\r
                        setTimeout( callback, 0 );\r
@@ -68,7 +68,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * @example\r
  * config.templates = 'my_templates';\r
  */\r
-CKEDITOR.config.templates = 'default';\r
 \r
 /**\r
  * The list of templates definition files to load.\r
index 5287752..1e5d2b7 100644 (file)
@@ -157,7 +157,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        {\r
                                                editor.toolbox = new toolbox();\r
 \r
-                                               var labelId = 'cke_' + CKEDITOR.tools.getNextNumber();\r
+                                               var labelId = CKEDITOR.tools.getNextId();\r
 \r
                                                var output = [ '<div class="cke_toolbox" role="toolbar" aria-labelledby="', labelId, '"' ],\r
                                                        expanded =  editor.config.toolbarStartupExpanded !== false,\r
@@ -187,7 +187,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                        if ( !row )\r
                                                                continue;\r
 \r
-                                                       var toolbarId = 'cke_' + CKEDITOR.tools.getNextNumber(),\r
+                                                       var toolbarId = CKEDITOR.tools.getNextId(),\r
                                                                toolbarObj = { id : toolbarId, items : [] };\r
 \r
                                                        if ( groupStarted )\r
@@ -283,25 +283,25 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                function()\r
                                                                {\r
                                                                        editor.execCommand( 'toolbarCollapse' );\r
-                                                               } );\r
+                                                               });\r
 \r
                                                        editor.on( 'destroy', function () {\r
                                                                        CKEDITOR.tools.removeFunction( collapserFn );\r
-                                                               } );\r
+                                                               });\r
 \r
-                                                       var collapserId = 'cke_' + CKEDITOR.tools.getNextNumber();\r
+                                                       var collapserId = CKEDITOR.tools.getNextId();\r
 \r
                                                        editor.addCommand( 'toolbarCollapse',\r
                                                                {\r
                                                                        exec : function( editor )\r
                                                                        {\r
-                                                                               var collapser = CKEDITOR.document.getById( collapserId );\r
-                                                                               var toolbox = collapser.getPrevious();\r
-                                                                               var contents = editor.getThemeSpace( 'contents' );\r
-                                                                               var toolboxContainer = toolbox.getParent();\r
-                                                                               var contentHeight = parseInt( contents.$.style.height, 10 );\r
-                                                                               var previousHeight = toolboxContainer.$.offsetHeight;\r
-                                                                               var collapsed = !toolbox.isVisible();\r
+                                                                               var collapser = CKEDITOR.document.getById( collapserId ),\r
+                                                                                       toolbox = collapser.getPrevious(),\r
+                                                                                       contents = editor.getThemeSpace( 'contents' ),\r
+                                                                                       toolboxContainer = toolbox.getParent(),\r
+                                                                                       contentHeight = parseInt( contents.$.style.height, 10 ),\r
+                                                                                       previousHeight = toolboxContainer.$.offsetHeight,\r
+                                                                                       collapsed = !toolbox.isVisible();\r
 \r
                                                                                if ( !collapsed )\r
                                                                                {\r
diff --git a/_source/plugins/uicolor/lang/he.js b/_source/plugins/uicolor/lang/he.js
new file mode 100644 (file)
index 0000000..9010193
--- /dev/null
@@ -0,0 +1,15 @@
+/*\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+\r
+CKEDITOR.plugins.setLang( 'uicolor', 'he',\r
+{\r
+       uicolor :\r
+       {\r
+               title : 'בחירת צבע ממשק משתמש',\r
+               preview : 'תצוגה מקדימה',\r
+               config : 'הדבק את הטקסט הבא לתוך הקובץ config.js',\r
+               predefined : 'קבוצות צבעים מוגדרות מראש'\r
+       }\r
+});\r
index 007f59f..fa31a29 100644 (file)
@@ -6,7 +6,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 CKEDITOR.plugins.add( 'uicolor',\r
 {\r
        requires : [ 'dialog' ],\r
-       lang : [ 'en' ],\r
+       lang : [ 'en', 'he' ],\r
 \r
        init : function( editor )\r
        {\r
index fde581f..b78995c 100644 (file)
@@ -133,7 +133,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        editor.on( 'updateSnapshot', function()\r
                        {\r
                                if ( undoManager.currentImage && new Image( editor ).equals( undoManager.currentImage ) )\r
-                                       setTimeout( function () { undoManager.update(); }, 0 );\r
+                                       setTimeout( function() { undoManager.update(); }, 0 );\r
                        });\r
                }\r
        });\r
@@ -339,7 +339,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                         */\r
                        this.index = -1;\r
 \r
-                       this.limit = this.editor.config.undoStackSize;\r
+                       this.limit = this.editor.config.undoStackSize || 20;\r
 \r
                        this.currentImage = null;\r
 \r
@@ -545,7 +545,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
  * @example\r
  * config.undoStackSize = 50;\r
  */\r
-CKEDITOR.config.undoStackSize = 20;\r
 \r
 /**\r
  * Fired when the editor is about to save an undo snapshot. This event can be\r
index e626aad..5ea1f1a 100644 (file)
@@ -14,7 +14,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        var nonExitableElementNames = { table:1,pre:1 };\r
 \r
        // Matching an empty paragraph at the end of document.\r
-       var emptyParagraphRegexp = /\s*<(p|div|address|h\d|center)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\1>)?(?=\s*$|<\/body>)/gi;\r
+       var emptyParagraphRegexp = /(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;\r
 \r
        var notWhitespaceEval = CKEDITOR.dom.walker.whitespaces( true );\r
 \r
@@ -92,6 +92,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                var marker = this.document.getById( 'cke_paste_marker' );\r
                                marker.scrollIntoView();\r
                                marker.remove();\r
+                               marker = null;\r
                        }\r
 \r
                        CKEDITOR.tools.setTimeout( function()\r
@@ -132,14 +133,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                // Remove the original contents.\r
                                range.deleteContents();\r
 \r
-                               clone = !i && element || element.clone( true );\r
+                               clone = !i && element || element.clone( 1 );\r
 \r
                                // If we're inserting a block at dtd-violated position, split\r
                                // the parent blocks until we reach blockLimit.\r
                                var current, dtd;\r
                                if ( isBlock )\r
                                {\r
-                                       while ( ( current = range.getCommonAncestor( false, true ) )\r
+                                       while ( ( current = range.getCommonAncestor( 0, 1 ) )\r
                                                        && ( dtd = CKEDITOR.dtd[ current.getName() ] )\r
                                                        && !( dtd && dtd [ elementName ] ) )\r
                                        {\r
@@ -530,7 +531,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
                                                CKEDITOR.env.gecko && CKEDITOR.tools.setTimeout( activateEditing, 0, null, editor );\r
 \r
-                                               domWindow       = editor.window         = new CKEDITOR.dom.window( domWindow );\r
+                                               domWindow       = editor.window = new CKEDITOR.dom.window( domWindow );\r
                                                domDocument     = editor.document       = new CKEDITOR.dom.document( domDocument );\r
 \r
                                                domDocument.on( 'dblclick', function( evt )\r
@@ -542,7 +543,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                });\r
 \r
                                                // Gecko/Webkit need some help when selecting control type elements. (#3448)\r
-                                               if ( !( CKEDITOR.env.ie || CKEDITOR.env.opera) )\r
+                                               if ( !( CKEDITOR.env.ie || CKEDITOR.env.opera ) )\r
                                                {\r
                                                        domDocument.on( 'mousedown', function( ev )\r
                                                        {\r
@@ -625,6 +626,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                editor.focusManager.blur();\r
                                                        });\r
 \r
+                                               var wasFocused;\r
+\r
                                                domWindow.on( 'focus', function()\r
                                                        {\r
                                                                var doc = editor.document;\r
@@ -633,6 +636,15 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                        blinkCursor();\r
                                                                else if ( CKEDITOR.env.opera )\r
                                                                        doc.getBody().focus();\r
+                                                               // Webkit needs focus for the first time on the HTML element. (#6153)\r
+                                                               else if ( CKEDITOR.env.webkit )\r
+                                                               {\r
+                                                                       if ( !wasFocused )\r
+                                                                       {\r
+                                                                               editor.document.getDocumentElement().focus();\r
+                                                                               wasFocused = 1;\r
+                                                                       }\r
+                                                               }\r
 \r
                                                                editor.focusManager.focus();\r
                                                        });\r
@@ -873,9 +885,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                if ( editor.dataProcessor )\r
                                                                        data = editor.dataProcessor.toDataFormat( data, fixForBody );\r
 \r
-                                                               // Strip the last blank paragraph within document.\r
+                                                               // Reset empty if the document contains only one empty paragraph.\r
                                                                if ( config.ignoreEmptyParagraph )\r
-                                                                       data = data.replace( emptyParagraphRegexp, '' );\r
+                                                                       data = data.replace( emptyParagraphRegexp, function( match, lookback ) { return lookback; } );\r
 \r
                                                                if ( docType )\r
                                                                        data = docType + '\n' + data;\r
@@ -930,6 +942,10 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                                                // Temporary solution caused by #6025, supposed be unified by #6154.\r
                                                                else if ( CKEDITOR.env.opera && editor.document )\r
                                                                {\r
+                                                                       // Required for Opera when switching focus\r
+                                                                       // from another iframe, e.g. panels. (#6444)\r
+                                                                       var iframe = editor.window.$.frameElement;\r
+                                                                       iframe.blur(), iframe.focus();\r
                                                                        editor.document.getBody().focus();\r
 \r
                                                                        editor.selectionChange();\r
@@ -952,7 +968,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                        var titleBackup;\r
                        // Setting voice label as window title, backup the original one\r
                        // and restore it before running into use.\r
-                       editor.on( 'contentDom', function ()\r
+                       editor.on( 'contentDom', function()\r
                                {\r
                                        var title = editor.document.getElementsByTag( 'title' ).getItem( 0 );\r
                                        title.setAttribute( '_cke_title', editor.document.$.title );\r
@@ -970,6 +986,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        selectors.push( 'html.CSS1Compat ' + tag + '[contenteditable=false]' );\r
                                editor.addCss( selectors.join( ',' ) + '{ display:inline-block;}' );\r
                        }\r
+                       // Set the HTML style to 100% to have the text cursor in affect (#6341)\r
+                       else if ( CKEDITOR.env.gecko )\r
+                               editor.addCss( 'html { height: 100% !important; }' );\r
 \r
                        // Switch on design mode for a short while and close it after then.\r
                        function blinkCursor( retry )\r
@@ -978,10 +997,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
                                        function()\r
                                        {\r
                                                editor.document.$.designMode = 'on';\r
-                                               setTimeout( function ()\r
+                                               setTimeout( function()\r
                                                {\r
                                                        editor.document.$.designMode = 'off';\r
-                                                       editor.document.getBody().focus();\r
+                                                       if ( CKEDITOR.currentInstance == editor )\r
+                                                               editor.document.getBody().focus();\r
                                                }, 50 );\r
                                        },\r
                                        function()\r
@@ -1043,7 +1063,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        // Fixing Firefox 'Back-Forward Cache' break design mode. (#4514)\r
        if ( CKEDITOR.env.gecko )\r
        {\r
-               ( function ()\r
+               (function()\r
                {\r
                        var body = document.body;\r
 \r
index 743854e..839263a 100644 (file)
@@ -239,6 +239,32 @@ body .cke_dialog
        padding: 1px 0px;\r
 }\r
 \r
+/* Opera/IE doesn't leave enough padding in text input for cursor to blink in RTL. (#6087) */\r
+.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,\r
+.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,\r
+.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,\r
+.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password\r
+{\r
+       padding-right: 2px;\r
+}\r
+\r
+/* Compensate the padding added above on container. */\r
+.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,\r
+.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,\r
+.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,\r
+.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password\r
+{\r
+       padding-left: 2px;\r
+}\r
+\r
+.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,\r
+.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,\r
+.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,\r
+.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last\r
+{\r
+       padding-right: 2px !important;\r
+}\r
+\r
 .cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text {\r
        padding-right: 1px;\r
 }\r
index 1b2fa76..da4b549 100644 (file)
@@ -67,6 +67,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        clear: both;\r
 }\r
 \r
+/* IE9 insists on border box model on this element.*/\r
+ .cke_browser_ie9 .cke_skin_kama .cke_menuitem .cke_icon_wrapper\r
+{\r
+       width:24px;\r
+       height:24px;\r
+}\r
+\r
 .cke_rtl .cke_skin_kama .cke_menuitem .cke_icon_wrapper\r
 {\r
        float: right;\r
@@ -100,6 +107,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        margin-left: 24px;\r
        background-color: #fff;\r
 }\r
+\r
+/* IE9 insists on border box model on this element.*/\r
+.cke_browser_ie9 .cke_skin_kama .cke_menuitem .cke_label\r
+{\r
+       height:24px;\r
+}\r
+\r
 /* Set these after the document has been loaded and we know the dimensions*/\r
 .cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label\r
 {\r
index fe8923b..34841d9 100644 (file)
@@ -147,7 +147,7 @@ CKEDITOR.skins.add( 'kama', (function()
                                {\r
                                        var cssContent,\r
                                                uiStyle = getStylesheet( CKEDITOR.document ),\r
-                                               cssId = '.cke_editor_' + CKEDITOR.tools.escapeCssSelector( editor.name );\r
+                                               cssId = '.' + editor.id;\r
 \r
                                        var cssSelectors =\r
                                                [\r
@@ -242,11 +242,11 @@ CKEDITOR.skins.add( 'kama', (function()
 \r
                                                // ml\r
                                                el = innerDialog.getChild( 4 );\r
-                                               el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               el.setStyle( 'height', ( height + body.getChild(0).$.offsetHeight ) + 'px' );\r
 \r
                                                // mr\r
                                                el = innerDialog.getChild( 5 );\r
-                                               el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               el.setStyle( 'height', ( height + body.getChild(0).$.offsetHeight ) + 'px' );\r
                                        },\r
                                        100 );\r
                        });\r
index 05dc4a4..c30f55c 100644 (file)
@@ -181,12 +181,6 @@ body .cke_dialog
        position: relative;\r
 }\r
 \r
-.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_title\r
-{\r
-       position: static !important;\r
-       unicode-bidi: bidi-override;\r
-}\r
-\r
 .cke_skin_office2003 .cke_dialog_contents\r
 {\r
        background-color: #f7f8fd;\r
@@ -333,6 +327,32 @@ body .cke_dialog
        padding: 1px 0px;\r
 }\r
 \r
+/* Opera/IE doesn't leave enough padding in text input for cursor to blink in RTL. (#6087) */\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,\r
+.cke_skin_office2003 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,\r
+.cke_skin_office2003 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password\r
+{\r
+       padding-right: 2px\r
+}\r
+\r
+/* Compensate the padding added above on container. */\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,\r
+.cke_skin_office2003 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,\r
+.cke_skin_office2003 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password\r
+{\r
+       padding-left: 2px;\r
+}\r
+\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,\r
+.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last\r
+{\r
+       padding-right: 2px !important;\r
+}\r
+\r
 .cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text {\r
        padding-right: 1px;\r
 }\r
index 385dfb0..4e556d5 100644 (file)
@@ -67,6 +67,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        clear: both;\r
 }\r
 \r
+/* IE9 insists on border box model on this element.*/\r
+ .cke_browser_ie9 .cke_skin_office2003 .cke_menuitem .cke_icon_wrapper\r
+{\r
+       width:24px;\r
+       height:24px;\r
+}\r
+\r
 .cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon_wrapper\r
 {\r
        float: right;\r
@@ -100,6 +107,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        margin-left: 24px;\r
        background-color: #fff;\r
 }\r
+\r
+/* IE9 insists on border box model on this element.*/\r
+.cke_browser_ie9 .cke_skin_office2003 .cke_menuitem .cke_label\r
+{\r
+       height:24px;\r
+}\r
+\r
 /* Set these after the document has been loaded and we know the dimensions*/\r
 .cke_skin_office2003 .cke_frameLoaded .cke_menuitem .cke_label\r
 {\r
index 61aee1e..fa30b41 100644 (file)
@@ -65,11 +65,11 @@ CKEDITOR.skins.add( 'office2003', (function()
 \r
                                                // ml\r
                                                el = innerDialog.getChild( 4 );\r
-                                               el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               el.setStyle( 'height', ( height + body.getChild(0).$.offsetHeight ) + 'px' );\r
 \r
                                                // mr\r
                                                el = innerDialog.getChild( 5 );\r
-                                               el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               el.setStyle( 'height', ( height + body.getChild(0).$.offsetHeight ) + 'px' );\r
                                        };\r
                                setTimeout( fixSize, 100 );\r
 \r
index a63baca..d86a4a9 100644 (file)
@@ -178,12 +178,6 @@ body .cke_dialog
        position: relative;\r
 }\r
 \r
-.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_title\r
-{\r
-       position: static !important;\r
-       unicode-bidi: bidi-override;\r
-}\r
-\r
 .cke_skin_v2 .cke_dialog_contents\r
 {\r
        background-color: #f1f1e3;\r
@@ -336,6 +330,32 @@ body .cke_dialog
        border-width: 1px;\r
 }\r
 \r
+/* Opera/IE doesn't leave enough padding in text input for cursor to blink in RTL. (#6087) */\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,\r
+.cke_skin_v2 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,\r
+.cke_skin_v2 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password\r
+{\r
+       padding-right: 2px\r
+}\r
+\r
+/* Compensate the padding added above on container. */\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,\r
+.cke_skin_v2 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,\r
+.cke_skin_v2 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password\r
+{\r
+       padding-left: 2px;\r
+}\r
+\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,\r
+.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last\r
+{\r
+       padding-right: 2px !important;\r
+}\r
+\r
 .cke_skin_v2 div.cke_dialog_ui_input_text,\r
 .cke_skin_v2 div.cke_dialog_ui_input_password\r
 {\r
index 8b25e26..f7c19d9 100644 (file)
@@ -66,6 +66,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        clear: both;\r
 }\r
 \r
+/* IE9 insists on border box model on this element.*/\r
+ .cke_browser_ie9 .cke_skin_v2 .cke_menuitem .cke_icon_wrapper\r
+{\r
+       width:24px;\r
+       height:24px;\r
+}\r
+\r
 .cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon_wrapper\r
 {\r
        float: right;\r
@@ -99,6 +106,13 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
        margin-left: 24px;\r
        background-color: #fff;\r
 }\r
+\r
+/* IE9 insists on border box model on this element.*/\r
+.cke_browser_ie9 .cke_skin_v2 .cke_menuitem .cke_label\r
+{\r
+       height:24px;\r
+}\r
+\r
 /* Set these after the document has been loaded and we know the dimensions*/\r
 .cke_skin_v2 .cke_frameLoaded .cke_menuitem .cke_label\r
 {\r
index f7d5060..808a79c 100644 (file)
@@ -65,11 +65,11 @@ CKEDITOR.skins.add( 'v2', (function()
 \r
                                                // ml\r
                                                el = innerDialog.getChild( 4 );\r
-                                               el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               el.setStyle( 'height', ( height + body.getChild(0).$.offsetHeight ) + 'px' );\r
 \r
                                                // mr\r
                                                el = innerDialog.getChild( 5 );\r
-                                               el.setStyle( 'height', ( body.$.offsetHeight - 31 - 14 ) + 'px' );\r
+                                               el.setStyle( 'height', ( height + body.getChild(0).$.offsetHeight ) + 'px' );\r
                                        },\r
                                        100 );\r
                        });\r
index 00219ff..26fc3d6 100644 (file)
@@ -3,6 +3,11 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
+/**\r
+ * @name CKEDITOR.theme\r
+ * @class\r
+ */\r
+\r
 CKEDITOR.themes.add( 'default', (function()\r
 {\r
        function checkSharedSpace( editor, spaceName )\r
@@ -22,7 +27,7 @@ CKEDITOR.themes.add( 'default', (function()
                        // Creates an HTML structure that reproduces the editor class hierarchy.\r
                        var html =\r
                                '<span class="cke_shared">' +\r
-                               '<span class="' + editor.skinClass + ' cke_editor_' + editor.name + '">' +\r
+                               '<span class="' + editor.skinClass + ' ' + editor.id + ' cke_editor_' + editor.name + '">' +\r
                                '<span class="' + CKEDITOR.env.cssClass + '">' +\r
                                '<span class="cke_wrapper cke_' + editor.lang.dir + '">' +\r
                                '<span class="cke_editor">' +\r
@@ -65,7 +70,7 @@ CKEDITOR.themes.add( 'default', (function()
                return container;\r
        }\r
 \r
-       return {\r
+       return /** @lends CKEDITOR.theme */ {\r
                build : function( editor, themePath )\r
                {\r
                        var name = editor.name,\r
@@ -114,7 +119,7 @@ CKEDITOR.themes.add( 'default', (function()
                                '<span' +\r
                                        ' id="cke_', name, '"' +\r
                                        ' onmousedown="return false;"' +\r
-                                       ' class="', editor.skinClass, ' cke_editor_', name, '"' +\r
+                                       ' class="', editor.skinClass, ' ', editor.id, ' cke_editor_', name, '"' +\r
                                        ' dir="', editor.lang.dir, '"' +\r
                                        ' title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '"' +\r
                                        ' lang="', editor.langCode, '"' +\r
@@ -167,7 +172,7 @@ CKEDITOR.themes.add( 'default', (function()
                        var baseIdNumber = CKEDITOR.tools.getNextNumber();\r
 \r
                        var element = CKEDITOR.dom.element.createFromHtml( [\r
-                                       '<div class="cke_editor_' + editor.name.replace('.', '\\.') + '_dialog cke_skin_', editor.skinName,\r
+                                       '<div class="', editor.id, '_dialog cke_editor_', editor.name.replace('.', '\\.'), '_dialog cke_skin_', editor.skinName,\r
                                                '" dir="', editor.lang.dir, '"' +\r
                                                ' lang="', editor.langCode, '"' +\r
                                                ' role="dialog"' +\r
index c87d521..d18695f 100644 (file)
@@ -91,9 +91,9 @@ Class CKEditor
 \r
 \r
        Private Sub Class_Initialize()\r
-               version = "3.4.1"\r
-               timeStamp = "A8LE4JO"\r
-               mTimeStamp = "A8LE4JO"\r
+               version = "3.4.2"\r
+               timeStamp = "AA4E4NT"\r
+               mTimeStamp = "AA4E4NT"\r
 \r
                Set oInstanceConfig = CreateObject("Scripting.Dictionary")\r
                Set oAllInstancesConfig = CreateObject("Scripting.Dictionary")\r
index baffe11..25d3c23 100644 (file)
@@ -3,133 +3,135 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'A8LE4JO',version:'3.4.1',revision:'5892',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b,c){var d=a.event.prototype;for(var e in d){if(b[e]==undefined)b[e]=d[e];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];\r
-return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?'8':'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';\r
-return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=true;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=true;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f],i=h.name;if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var j=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!j.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();a.dom={};var d=a.dom;(function(){var e=[];a.on('reset',function(){e=[];});a.tools={arrayCompare:function(f,g){if(!f&&!g)return true;if(!f||!g||f.length!=g.length)return false;for(var h=0;h<f.length;h++){if(f[h]!=g[h])return false;}return true;},clone:function(f){var g;if(f&&f instanceof Array){g=[];for(var h=0;h<f.length;h++)g[h]=this.clone(f[h]);return g;}if(f===null||typeof f!='object'||f instanceof String||f instanceof Number||f instanceof Boolean||f instanceof Date||f instanceof RegExp)return f;g=new f.constructor();for(var i in f){var j=f[i];g[i]=this.clone(j);}return g;},capitalize:function(f){return f.charAt(0).toUpperCase()+f.substring(1).toLowerCase();},extend:function(f){var g=arguments.length,h,i;if(typeof (h=arguments[g-1])=='boolean')g--;else if(typeof (h=arguments[g-2])=='boolean'){i=arguments[g-1];g-=2;}for(var j=1;j<g;j++){var k=arguments[j];for(var l in k){if(h===true||f[l]==undefined)if(!i||l in i)f[l]=k[l];}}return f;},prototypedCopy:function(f){var g=function(){};\r
-g.prototype=f;return new g();},isArray:function(f){return!!f&&f instanceof Array;},isEmpty:function(f){for(var g in f){if(f.hasOwnProperty(g))return false;}return true;},cssStyleToDomStyle:(function(){var f=document.createElement('div').style,g=typeof f.cssFloat!='undefined'?'cssFloat':typeof f.styleFloat!='undefined'?'styleFloat':'float';return function(h){if(h=='float')return g;else return h.replace(/-./g,function(i){return i.substr(1).toUpperCase();});};})(),buildStyleHtml:function(f){f=[].concat(f);var g,h=[];for(var i=0;i<f.length;i++){g=f[i];if(/@import|[{}]/.test(g))h.push('<style>'+g+'</style>');else h.push('<link type="text/css" rel=stylesheet href="'+g+'">');}return h.join('');},htmlEncode:function(f){var g=function(k){var l=new d.element('span');l.setText(k);return l.getHtml();},h=g('\n').toLowerCase()=='<br>'?function(k){return g(k).replace(/<br>/gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'&gt;');}:h,j=g('  ')=='&nbsp; '?function(k){return i(k).replace(/&nbsp;/g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'&quot;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},escapeCssSelector:function(f){return f.replace(/[\s#:.,$*^\[\]()~=+>]/g,'\\$&');},getNextNumber:(function(){var f=0;return function(){return++f;};})(),getNextId:function(){return 'cke_'+this.getNextNumber();},override:function(f,g){return g(f);},setTimeout:function(f,g,h,i,j){if(!j)j=window;if(!h)h=j;return j.setTimeout(function(){if(i)f.apply(h,[].concat(i));else f.apply(h);},g||0);},trim:(function(){var f=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(g){return g.replace(f,'');};})(),ltrim:(function(){var f=/^[ \t\n\r]+/g;return function(g){return g.replace(f,'');};})(),rtrim:(function(){var f=/[ \t\n\r]+$/g;return function(g){return g.replace(f,'');};})(),indexOf:Array.prototype.indexOf?function(f,g){return f.indexOf(g);}:function(f,g){for(var h=0,i=f.length;h<i;h++){if(f[h]===g)return h;}return-1;},bind:function(f,g){return function(){return f.apply(g,arguments);};},createClass:function(f){var g=f.$,h=f.base,i=f.privates||f._,j=f.proto,k=f.statics;if(i){var l=g;g=function(){var p=this;var m=p._||(p._={});for(var n in i){var o=i[n];m[n]=typeof o=='function'?a.tools.bind(o,p):o;}l.apply(p,arguments);};}if(h){g.prototype=this.prototypedCopy(h.prototype);g.prototype['constructor']=g;g.prototype.base=function(){this.base=h.prototype.base;h.apply(this,arguments);this.base=arguments.callee;};}if(j)this.extend(g.prototype,j,true);\r
-if(k)this.extend(g,k,true);return g;},addFunction:function(f,g){return e.push(function(){f.apply(g||this,arguments);})-1;},removeFunction:function(f){e[f]=null;},callFunction:function(f){var g=e[f];return g&&g.apply(window,Array.prototype.slice.call(arguments,1));},cssLength:(function(){var f=/^\d+(?:\.\d+)?$/;return function(g){return g+(f.test(g)?'px':'');};})(),repeat:function(f,g){return new Array(g+1).join(f);},tryThese:function(){var f;for(var g=0,h=arguments.length;g<h;g++){var i=arguments[g];try{f=i();break;}catch(j){}}return f;},genKey:function(){return Array.prototype.slice.call(arguments).join('-');}};})();var e=a.tools;a.dtd=(function(){var f=e.extend,g={isindex:1,fieldset:1},h={input:1,button:1,select:1,textarea:1,label:1},i=f({a:1},h),j=f({iframe:1},i),k={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},l={ins:1,del:1,script:1,style:1},m=f({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},l),n=f({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},m),o=f({p:1},n),p=f({iframe:1},n,h),q={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},r=f({a:1},p),s={tr:1},t={'#':1},u=f({param:1},q),v=f({form:1},g,j,k,o),w={li:1},x={style:1,script:1},y={base:1,link:1,meta:1,title:1},z=f(y,x),A={head:1,body:1},B={html:1},C={address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};return{$nonBodyContent:f(B,A,y),$block:C,$blockLimit:{body:1,div:1,td:1,th:1,caption:1,form:1},$inline:r,$body:f({script:1,style:1},C),$cdata:{script:1,style:1},$empty:{area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},$listItem:{dd:1,dt:1,li:1},$list:{ul:1,ol:1,dl:1},$nonEditable:{applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},$removeEmpty:{abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},html:A,head:z,style:t,script:t,body:v,base:{},link:{},meta:{},title:t,col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:v,td:v,br:{},th:v,center:v,kbd:r,button:f(o,k),basefont:{},h5:r,h4:r,samp:r,h6:r,ol:w,h1:r,h3:r,option:t,h2:r,form:f(g,j,k,o),select:{optgroup:1,option:1},font:r,ins:r,menu:w,abbr:r,label:r,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:r,script:t,tfoot:s,cite:r,li:v,input:{},iframe:v,strong:r,textarea:t,noframes:v,big:r,small:r,span:r,hr:{},dt:r,sub:r,optgroup:{option:1},param:{},bdo:r,'var':r,div:v,object:u,sup:r,dd:v,strike:r,area:{},dir:w,map:f({area:1,form:1,p:1},g,l,k),applet:u,dl:{dt:1,dd:1},del:r,isindex:{},fieldset:f({legend:1},q),thead:s,ul:w,acronym:r,b:r,a:p,blockquote:v,caption:r,i:r,u:r,tbody:s,s:r,address:f(j,o),tt:r,legend:r,q:r,pre:f(m,i),p:r,em:r,dfn:r};\r
-})();var f=a.dtd;d.event=function(g){this.$=g;};d.event.prototype={getKey:function(){return this.$.keyCode||this.$.which;},getKeystroke:function(){var h=this;var g=h.getKey();if(h.$.ctrlKey||h.$.metaKey)g+=1000;if(h.$.shiftKey)g+=2000;if(h.$.altKey)g+=4000;return g;},preventDefault:function(g){var h=this.$;if(h.preventDefault)h.preventDefault();else h.returnValue=false;if(g)this.stopPropagation();},stopPropagation:function(){var g=this.$;if(g.stopPropagation)g.stopPropagation();else g.cancelBubble=true;},getTarget:function(){var g=this.$.target||this.$.srcElement;return g?new d.node(g):null;}};a.CTRL=1000;a.SHIFT=2000;a.ALT=4000;d.domObject=function(g){if(g)this.$=g;};d.domObject.prototype=(function(){var g=function(h,i){return function(j){if(typeof a!='undefined')h.fire(i,new d.event(j));};};return{getPrivate:function(){var h;if(!(h=this.getCustomData('_')))this.setCustomData('_',h={});return h;},on:function(h){var k=this;var i=k.getCustomData('_cke_nativeListeners');if(!i){i={};k.setCustomData('_cke_nativeListeners',i);}if(!i[h]){var j=i[h]=g(k,h);if(k.$.addEventListener)k.$.addEventListener(h,j,!!a.event.useCapture);else if(k.$.attachEvent)k.$.attachEvent('on'+h,j);}return a.event.prototype.on.apply(k,arguments);},removeListener:function(h){var k=this;a.event.prototype.removeListener.apply(k,arguments);if(!k.hasListeners(h)){var i=k.getCustomData('_cke_nativeListeners'),j=i&&i[h];if(j){if(k.$.removeEventListener)k.$.removeEventListener(h,j,false);else if(k.$.detachEvent)k.$.detachEvent('on'+h,j);delete i[h];}}},removeAllListeners:function(){var k=this;var h=k.getCustomData('_cke_nativeListeners');for(var i in h){var j=h[i];if(k.$.removeEventListener)k.$.removeEventListener(i,j,false);else if(k.$.detachEvent)k.$.detachEvent('on'+i,j);delete h[i];}}};})();(function(g){var h={};a.on('reset',function(){h={};});g.equals=function(i){return i&&i.$===this.$;};g.setCustomData=function(i,j){var k=this.getUniqueId(),l=h[k]||(h[k]={});l[i]=j;return this;};g.getCustomData=function(i){var j=this.$._cke_expando,k=j&&h[j];return k&&k[i];};g.removeCustomData=function(i){var j=this.$._cke_expando,k=j&&h[j],l=k&&k[i];if(typeof l!='undefined')delete k[i];return l||null;};g.clearCustomData=function(){this.removeAllListeners();var i=this.$._cke_expando;i&&delete h[i];};g.getUniqueId=function(){return this.$._cke_expando||(this.$._cke_expando=e.getNextNumber());};a.event.implementOn(g);})(d.domObject.prototype);d.window=function(g){d.domObject.call(this,g);};d.window.prototype=new d.domObject();\r
+(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'AA4E4NT',version:'3.4.2',revision:'6041',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b){var c=a.event.prototype;for(var d in c){if(b[d]==undefined)b[d]=c[d];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];\r
+return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?document.documentMode:'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';\r
+}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=1;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=1;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f],i=h.name;if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var j=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!j.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();a.dom={};var d=a.dom;(function(){var e=[];a.on('reset',function(){e=[];});a.tools={arrayCompare:function(f,g){if(!f&&!g)return true;if(!f||!g||f.length!=g.length)return false;for(var h=0;h<f.length;h++){if(f[h]!=g[h])return false;}return true;},clone:function(f){var g;if(f&&f instanceof Array){g=[];for(var h=0;h<f.length;h++)g[h]=this.clone(f[h]);return g;}if(f===null||typeof f!='object'||f instanceof String||f instanceof Number||f instanceof Boolean||f instanceof Date||f instanceof RegExp)return f;g=new f.constructor();for(var i in f){var j=f[i];g[i]=this.clone(j);}return g;},capitalize:function(f){return f.charAt(0).toUpperCase()+f.substring(1).toLowerCase();},extend:function(f){var g=arguments.length,h,i;if(typeof (h=arguments[g-1])=='boolean')g--;else if(typeof (h=arguments[g-2])=='boolean'){i=arguments[g-1];g-=2;}for(var j=1;j<g;j++){var k=arguments[j];for(var l in k){if(h===true||f[l]==undefined)if(!i||l in i)f[l]=k[l];\r
+}}return f;},prototypedCopy:function(f){var g=function(){};g.prototype=f;return new g();},isArray:function(f){return!!f&&f instanceof Array;},isEmpty:function(f){for(var g in f){if(f.hasOwnProperty(g))return false;}return true;},cssStyleToDomStyle:(function(){var f=document.createElement('div').style,g=typeof f.cssFloat!='undefined'?'cssFloat':typeof f.styleFloat!='undefined'?'styleFloat':'float';return function(h){if(h=='float')return g;else return h.replace(/-./g,function(i){return i.substr(1).toUpperCase();});};})(),buildStyleHtml:function(f){f=[].concat(f);var g,h=[];for(var i=0;i<f.length;i++){g=f[i];if(/@import|[{}]/.test(g))h.push('<style>'+g+'</style>');else h.push('<link type="text/css" rel=stylesheet href="'+g+'">');}return h.join('');},htmlEncode:function(f){var g=function(k){var l=new d.element('span');l.setText(k);return l.getHtml();},h=g('\n').toLowerCase()=='<br>'?function(k){return g(k).replace(/<br>/gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'&gt;');}:h,j=g('  ')=='&nbsp; '?function(k){return i(k).replace(/&nbsp;/g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'&quot;').replace(/</g,'&lt;').replace(/>/g,'&gt;');},getNextNumber:(function(){var f=0;return function(){return++f;};})(),getNextId:function(){return 'cke_'+this.getNextNumber();},override:function(f,g){return g(f);},setTimeout:function(f,g,h,i,j){if(!j)j=window;if(!h)h=j;return j.setTimeout(function(){if(i)f.apply(h,[].concat(i));else f.apply(h);},g||0);},trim:(function(){var f=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(g){return g.replace(f,'');};})(),ltrim:(function(){var f=/^[ \t\n\r]+/g;return function(g){return g.replace(f,'');};})(),rtrim:(function(){var f=/[ \t\n\r]+$/g;return function(g){return g.replace(f,'');};})(),indexOf:Array.prototype.indexOf?function(f,g){return f.indexOf(g);}:function(f,g){for(var h=0,i=f.length;h<i;h++){if(f[h]===g)return h;}return-1;},bind:function(f,g){return function(){return f.apply(g,arguments);};},createClass:function(f){var g=f.$,h=f.base,i=f.privates||f._,j=f.proto,k=f.statics;if(i){var l=g;g=function(){var p=this;var m=p._||(p._={});for(var n in i){var o=i[n];m[n]=typeof o=='function'?a.tools.bind(o,p):o;}l.apply(p,arguments);};}if(h){g.prototype=this.prototypedCopy(h.prototype);g.prototype['constructor']=g;g.prototype.base=function(){this.base=h.prototype.base;h.apply(this,arguments);this.base=arguments.callee;};}if(j)this.extend(g.prototype,j,true);if(k)this.extend(g,k,true);\r
+return g;},addFunction:function(f,g){return e.push(function(){f.apply(g||this,arguments);})-1;},removeFunction:function(f){e[f]=null;},callFunction:function(f){var g=e[f];return g&&g.apply(window,Array.prototype.slice.call(arguments,1));},cssLength:(function(){var f=/^\d+(?:\.\d+)?$/;return function(g){return g+(f.test(g)?'px':'');};})(),repeat:function(f,g){return new Array(g+1).join(f);},tryThese:function(){var f;for(var g=0,h=arguments.length;g<h;g++){var i=arguments[g];try{f=i();break;}catch(j){}}return f;},genKey:function(){return Array.prototype.slice.call(arguments).join('-');}};})();var e=a.tools;a.dtd=(function(){var f=e.extend,g={isindex:1,fieldset:1},h={input:1,button:1,select:1,textarea:1,label:1},i=f({a:1},h),j=f({iframe:1},i),k={hr:1,ul:1,menu:1,div:1,blockquote:1,noscript:1,table:1,center:1,address:1,dir:1,pre:1,h5:1,dl:1,h4:1,noframes:1,h6:1,ol:1,h1:1,h3:1,h2:1},l={ins:1,del:1,script:1,style:1},m=f({b:1,acronym:1,bdo:1,'var':1,'#':1,abbr:1,code:1,br:1,i:1,cite:1,kbd:1,u:1,strike:1,s:1,tt:1,strong:1,q:1,samp:1,em:1,dfn:1,span:1},l),n=f({sub:1,img:1,object:1,sup:1,basefont:1,map:1,applet:1,font:1,big:1,small:1},m),o=f({p:1},n),p=f({iframe:1},n,h),q={img:1,noscript:1,br:1,kbd:1,center:1,button:1,basefont:1,h5:1,h4:1,samp:1,h6:1,ol:1,h1:1,h3:1,h2:1,form:1,font:1,'#':1,select:1,menu:1,ins:1,abbr:1,label:1,code:1,table:1,script:1,cite:1,input:1,iframe:1,strong:1,textarea:1,noframes:1,big:1,small:1,span:1,hr:1,sub:1,bdo:1,'var':1,div:1,object:1,sup:1,strike:1,dir:1,map:1,dl:1,applet:1,del:1,isindex:1,fieldset:1,ul:1,b:1,acronym:1,a:1,blockquote:1,i:1,u:1,s:1,tt:1,address:1,q:1,pre:1,p:1,em:1,dfn:1},r=f({a:1},p),s={tr:1},t={'#':1},u=f({param:1},q),v=f({form:1},g,j,k,o),w={li:1},x={style:1,script:1},y={base:1,link:1,meta:1,title:1},z=f(y,x),A={head:1,body:1},B={html:1},C={address:1,blockquote:1,center:1,dir:1,div:1,dl:1,fieldset:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,hr:1,isindex:1,menu:1,noframes:1,ol:1,p:1,pre:1,table:1,ul:1};return{$nonBodyContent:f(B,A,y),$block:C,$blockLimit:{body:1,div:1,td:1,th:1,caption:1,form:1},$inline:r,$body:f({script:1,style:1},C),$cdata:{script:1,style:1},$empty:{area:1,base:1,br:1,col:1,hr:1,img:1,input:1,link:1,meta:1,param:1},$listItem:{dd:1,dt:1,li:1},$list:{ul:1,ol:1,dl:1},$nonEditable:{applet:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,script:1,textarea:1,param:1},$removeEmpty:{abbr:1,acronym:1,address:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},html:A,head:z,style:t,script:t,body:v,base:{},link:{},meta:{},title:t,col:{},tr:{td:1,th:1},img:{},colgroup:{col:1},noscript:v,td:v,br:{},th:v,center:v,kbd:r,button:f(o,k),basefont:{},h5:r,h4:r,samp:r,h6:r,ol:w,h1:r,h3:r,option:t,h2:r,form:f(g,j,k,o),select:{optgroup:1,option:1},font:r,ins:r,menu:w,abbr:r,label:r,table:{thead:1,col:1,tbody:1,tr:1,colgroup:1,caption:1,tfoot:1},code:r,script:t,tfoot:s,cite:r,li:v,input:{},iframe:v,strong:r,textarea:t,noframes:v,big:r,small:r,span:r,hr:{},dt:r,sub:r,optgroup:{option:1},param:{},bdo:r,'var':r,div:v,object:u,sup:r,dd:v,strike:r,area:{},dir:w,map:f({area:1,form:1,p:1},g,l,k),applet:u,dl:{dt:1,dd:1},del:r,isindex:{},fieldset:f({legend:1},q),thead:s,ul:w,acronym:r,b:r,a:p,blockquote:v,caption:r,i:r,u:r,tbody:s,s:r,address:f(j,o),tt:r,legend:r,q:r,pre:f(m,i),p:r,em:r,dfn:r};\r
+})();var f=a.dtd;d.event=function(g){this.$=g;};d.event.prototype={getKey:function(){return this.$.keyCode||this.$.which;},getKeystroke:function(){var h=this;var g=h.getKey();if(h.$.ctrlKey||h.$.metaKey)g+=1000;if(h.$.shiftKey)g+=2000;if(h.$.altKey)g+=4000;return g;},preventDefault:function(g){var h=this.$;if(h.preventDefault)h.preventDefault();else h.returnValue=false;if(g)this.stopPropagation();},stopPropagation:function(){var g=this.$;if(g.stopPropagation)g.stopPropagation();else g.cancelBubble=true;},getTarget:function(){var g=this.$.target||this.$.srcElement;return g?new d.node(g):null;}};a.CTRL=1000;a.SHIFT=2000;a.ALT=4000;d.domObject=function(g){if(g)this.$=g;};d.domObject.prototype=(function(){var g=function(h,i){return function(j){if(typeof a!='undefined')h.fire(i,new d.event(j));};};return{getPrivate:function(){var h;if(!(h=this.getCustomData('_')))this.setCustomData('_',h={});return h;},on:function(h){var k=this;var i=k.getCustomData('_cke_nativeListeners');if(!i){i={};k.setCustomData('_cke_nativeListeners',i);}if(!i[h]){var j=i[h]=g(k,h);if(k.$.attachEvent)k.$.attachEvent('on'+h,j);else if(k.$.addEventListener)k.$.addEventListener(h,j,!!a.event.useCapture);}return a.event.prototype.on.apply(k,arguments);},removeListener:function(h){var k=this;a.event.prototype.removeListener.apply(k,arguments);if(!k.hasListeners(h)){var i=k.getCustomData('_cke_nativeListeners'),j=i&&i[h];if(j){if(k.$.detachEvent)k.$.detachEvent('on'+h,j);else if(k.$.removeEventListener)k.$.removeEventListener(h,j,false);delete i[h];}}},removeAllListeners:function(){var k=this;var h=k.getCustomData('_cke_nativeListeners');for(var i in h){var j=h[i];if(k.$.detachEvent)k.$.detachEvent('on'+i,j);else if(k.$.removeEventListener)k.$.removeEventListener(i,j,false);delete h[i];}}};})();(function(g){var h={};a.on('reset',function(){h={};});g.equals=function(i){return i&&i.$===this.$;};g.setCustomData=function(i,j){var k=this.getUniqueId(),l=h[k]||(h[k]={});l[i]=j;return this;};g.getCustomData=function(i){var j=this.$._cke_expando,k=j&&h[j];return k&&k[i];};g.removeCustomData=function(i){var j=this.$._cke_expando,k=j&&h[j],l=k&&k[i];if(typeof l!='undefined')delete k[i];return l||null;};g.clearCustomData=function(){this.removeAllListeners();var i=this.$._cke_expando;i&&delete h[i];};g.getUniqueId=function(){return this.$._cke_expando||(this.$._cke_expando=e.getNextNumber());};a.event.implementOn(g);})(d.domObject.prototype);d.window=function(g){d.domObject.call(this,g);};d.window.prototype=new d.domObject();\r
 e.extend(d.window.prototype,{focus:function(){if(b.webkit&&this.$.parent)this.$.parent.focus();this.$.focus();},getViewPaneSize:function(){var g=this.$.document,h=g.compatMode=='CSS1Compat';return{width:(h?g.documentElement.clientWidth:g.body.clientWidth)||0,height:(h?g.documentElement.clientHeight:g.body.clientHeight)||0};},getScrollPosition:function(){var g=this.$;if('pageXOffset' in g)return{x:g.pageXOffset||0,y:g.pageYOffset||0};else{var h=g.document;return{x:h.documentElement.scrollLeft||h.body.scrollLeft||0,y:h.documentElement.scrollTop||h.body.scrollTop||0};}}});d.document=function(g){d.domObject.call(this,g);};var g=d.document;g.prototype=new d.domObject();e.extend(g.prototype,{appendStyleSheet:function(h){if(this.$.createStyleSheet)this.$.createStyleSheet(h);else{var i=new d.element('link');i.setAttributes({rel:'stylesheet',type:'text/css',href:h});this.getHead().append(i);}},appendStyleText:function(h){var k=this;if(k.$.createStyleSheet){var i=k.$.createStyleSheet('');i.cssText=h;}else{var j=new d.element('style',k);j.append(new d.text(h,k));k.getHead().append(j);}},createElement:function(h,i){var j=new d.element(h,this);if(i){if(i.attributes)j.setAttributes(i.attributes);if(i.styles)j.setStyles(i.styles);}return j;},createText:function(h){return new d.text(h,this);},focus:function(){this.getWindow().focus();},getById:function(h){var i=this.$.getElementById(h);return i?new d.element(i):null;},getByAddress:function(h,i){var j=this.$.documentElement;for(var k=0;j&&k<h.length;k++){var l=h[k];if(!i){j=j.childNodes[l];continue;}var m=-1;for(var n=0;n<j.childNodes.length;n++){var o=j.childNodes[n];if(i===true&&o.nodeType==3&&o.previousSibling&&o.previousSibling.nodeType==3)continue;m++;if(m==l){j=o;break;}}}return j?new d.node(j):null;},getElementsByTag:function(h,i){if(!c&&i)h=i+':'+h;return new d.nodeList(this.$.getElementsByTagName(h));},getHead:function(){var h=this.$.getElementsByTagName('head')[0];h=new d.element(h);return(this.getHead=function(){return h;})();},getBody:function(){var h=new d.element(this.$.body);return(this.getBody=function(){return h;})();},getDocumentElement:function(){var h=new d.element(this.$.documentElement);return(this.getDocumentElement=function(){return h;})();},getWindow:function(){var h=new d.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return h;})();}});d.node=function(h){if(h){switch(h.nodeType){case 9:return new g(h);case 1:return new d.element(h);case 3:return new d.text(h);}d.domObject.call(this,h);\r
 }return this;};d.node.prototype=new d.domObject();a.NODE_ELEMENT=1;a.NODE_DOCUMENT=9;a.NODE_TEXT=3;a.NODE_COMMENT=8;a.NODE_DOCUMENT_FRAGMENT=11;a.POSITION_IDENTICAL=0;a.POSITION_DISCONNECTED=1;a.POSITION_FOLLOWING=2;a.POSITION_PRECEDING=4;a.POSITION_IS_CONTAINED=8;a.POSITION_CONTAINS=16;e.extend(d.node.prototype,{appendTo:function(h,i){h.append(this,i);return h;},clone:function(h,i){var j=this.$.cloneNode(h);if(!i){var k=function(l){if(l.nodeType!=1)return;l.removeAttribute('id',false);l.removeAttribute('_cke_expando',false);var m=l.childNodes;for(var n=0;n<m.length;n++)k(m[n]);};k(j);}return new d.node(j);},hasPrevious:function(){return!!this.$.previousSibling;},hasNext:function(){return!!this.$.nextSibling;},insertAfter:function(h){h.$.parentNode.insertBefore(this.$,h.$.nextSibling);return h;},insertBefore:function(h){h.$.parentNode.insertBefore(this.$,h.$);return h;},insertBeforeMe:function(h){this.$.parentNode.insertBefore(h.$,this.$);return h;},getAddress:function(h){var i=[],j=this.getDocument().$.documentElement,k=this.$;while(k&&k!=j){var l=k.parentNode,m=-1;if(l){for(var n=0;n<l.childNodes.length;n++){var o=l.childNodes[n];if(h&&o.nodeType==3&&o.previousSibling&&o.previousSibling.nodeType==3)continue;m++;if(o==k)break;}i.unshift(m);}k=l;}return i;},getDocument:function(){var h=new g(this.$.ownerDocument||this.$.parentNode.ownerDocument);return(this.getDocument=function(){return h;})();},getIndex:function(){var h=this.$,i=h.parentNode&&h.parentNode.firstChild,j=-1;while(i){j++;if(i==h)return j;i=i.nextSibling;}return-1;},getNextSourceNode:function(h,i,j){if(j&&!j.call){var k=j;j=function(n){return!n.equals(k);};}var l=!h&&this.getFirst&&this.getFirst(),m;if(!l){if(this.type==1&&j&&j(this,true)===false)return null;l=this.getNext();}while(!l&&(m=(m||this).getParent())){if(j&&j(m,true)===false)return null;l=m.getNext();}if(!l)return null;if(j&&j(l)===false)return null;if(i&&i!=l.type)return l.getNextSourceNode(false,i,j);return l;},getPreviousSourceNode:function(h,i,j){if(j&&!j.call){var k=j;j=function(n){return!n.equals(k);};}var l=!h&&this.getLast&&this.getLast(),m;if(!l){if(this.type==1&&j&&j(this,true)===false)return null;l=this.getPrevious();}while(!l&&(m=(m||this).getParent())){if(j&&j(m,true)===false)return null;l=m.getPrevious();}if(!l)return null;if(j&&j(l)===false)return null;if(i&&l.type!=i)return l.getPreviousSourceNode(false,i,j);return l;},getPrevious:function(h){var i=this.$,j;do{i=i.previousSibling;j=i&&new d.node(i);}while(j&&h&&!h(j))return j;\r
 },getNext:function(h){var i=this.$,j;do{i=i.nextSibling;j=i&&new d.node(i);}while(j&&h&&!h(j))return j;},getParent:function(){var h=this.$.parentNode;return h&&h.nodeType==1?new d.node(h):null;},getParents:function(h){var i=this,j=[];do j[h?'push':'unshift'](i);while(i=i.getParent())return j;},getCommonAncestor:function(h){var j=this;if(h.equals(j))return j;if(h.contains&&h.contains(j))return h;var i=j.contains?j:j.getParent();do{if(i.contains(h))return i;}while(i=i.getParent())return null;},getPosition:function(h){var i=this.$,j=h.$;if(i.compareDocumentPosition)return i.compareDocumentPosition(j);if(i==j)return 0;if(this.type==1&&h.type==1){if(i.contains){if(i.contains(j))return 16+4;if(j.contains(i))return 8+2;}if('sourceIndex' in i)return i.sourceIndex<0||j.sourceIndex<0?1:i.sourceIndex<j.sourceIndex?4:2;}var k=this.getAddress(),l=h.getAddress(),m=Math.min(k.length,l.length);for(var n=0;n<=m-1;n++){if(k[n]!=l[n]){if(n<m)return k[n]<l[n]?4:2;break;}}return k.length<l.length?16+4:8+2;},getAscendant:function(h,i){var j=this.$;if(!i)j=j.parentNode;while(j){if(j.nodeName&&j.nodeName.toLowerCase()==h)return new d.node(j);j=j.parentNode;}return null;},hasAscendant:function(h,i){var j=this.$;if(!i)j=j.parentNode;while(j){if(j.nodeName&&j.nodeName.toLowerCase()==h)return true;j=j.parentNode;}return false;},move:function(h,i){h.append(this.remove(),i);},remove:function(h){var i=this.$,j=i.parentNode;if(j){if(h)for(var k;k=i.firstChild;)j.insertBefore(i.removeChild(k),i);j.removeChild(i);}return this;},replace:function(h){this.insertBefore(h);h.remove();},trim:function(){this.ltrim();this.rtrim();},ltrim:function(){var k=this;var h;while(k.getFirst&&(h=k.getFirst())){if(h.type==3){var i=e.ltrim(h.getText()),j=h.getLength();if(!i){h.remove();continue;}else if(i.length<j){h.split(j-i.length);k.$.removeChild(k.$.firstChild);}}break;}},rtrim:function(){var k=this;var h;while(k.getLast&&(h=k.getLast())){if(h.type==3){var i=e.rtrim(h.getText()),j=h.getLength();if(!i){h.remove();continue;}else if(i.length<j){h.split(i.length);k.$.lastChild.parentNode.removeChild(k.$.lastChild);}}break;}if(!c&&!b.opera){h=k.$.lastChild;if(h&&h.type==1&&h.nodeName.toLowerCase()=='br')h.parentNode.removeChild(h);}},isReadOnly:function(){var h=this;while(h){if(h.type==1){if(h.is('body')||h.getCustomData('_cke_notReadOnly'))break;if(h.getAttribute('contentEditable')=='false')return h;else if(h.getAttribute('contentEditable')=='true')break;}h=h.getParent();}return false;}});d.nodeList=function(h){this.$=h;\r
-};d.nodeList.prototype={count:function(){return this.$.length;},getItem:function(h){var i=this.$[h];return i?new d.node(i):null;}};d.element=function(h,i){if(typeof h=='string')h=(i?i.$:document).createElement(h);d.domObject.call(this,h);};var h=d.element;h.get=function(i){return i&&(i.$?i:new h(i));};h.prototype=new d.node();h.createFromHtml=function(i,j){var k=new h('div',j);k.setHtml(i);return k.getFirst().remove();};h.setMarker=function(i,j,k,l){var m=j.getCustomData('list_marker_id')||j.setCustomData('list_marker_id',e.getNextNumber()).getCustomData('list_marker_id'),n=j.getCustomData('list_marker_names')||j.setCustomData('list_marker_names',{}).getCustomData('list_marker_names');i[m]=j;n[k]=1;return j.setCustomData(k,l);};h.clearAllMarkers=function(i){for(var j in i)h.clearMarkers(i,i[j],true);};h.clearMarkers=function(i,j,k){var l=j.getCustomData('list_marker_names'),m=j.getCustomData('list_marker_id');for(var n in l)j.removeCustomData(n);j.removeCustomData('list_marker_names');if(k){j.removeCustomData('list_marker_id');delete i[m];}};e.extend(h.prototype,{type:1,addClass:function(i){var j=this.$.className;if(j){var k=new RegExp('(?:^|\\s)'+i+'(?:\\s|$)','');if(!k.test(j))j+=' '+i;}this.$.className=j||i;},removeClass:function(i){var j=this.getAttribute('class');if(j){var k=new RegExp('(?:^|\\s+)'+i+'(?=\\s|$)','i');if(k.test(j)){j=j.replace(k,'').replace(/^\s+/,'');if(j)this.setAttribute('class',j);else this.removeAttribute('class');}}},hasClass:function(i){var j=new RegExp('(?:^|\\s+)'+i+'(?=\\s|$)','');return j.test(this.getAttribute('class'));},append:function(i,j){var k=this;if(typeof i=='string')i=k.getDocument().createElement(i);if(j)k.$.insertBefore(i.$,k.$.firstChild);else k.$.appendChild(i.$);return i;},appendHtml:function(i){var k=this;if(!k.$.childNodes.length)k.setHtml(i);else{var j=new h('div',k.getDocument());j.setHtml(i);j.moveChildren(k);}},appendText:function(i){if(this.$.text!=undefined)this.$.text+=i;else this.append(new d.text(i));},appendBogus:function(){var k=this;var i=k.getLast();while(i&&i.type==3&&!e.rtrim(i.getText()))i=i.getPrevious();if(!i||!i.is||!i.is('br')){var j=b.opera?k.getDocument().createText(''):k.getDocument().createElement('br');b.gecko&&j.setAttribute('type','_moz');k.append(j);}},breakParent:function(i){var l=this;var j=new d.range(l.getDocument());j.setStartAfter(l);j.setEndAfter(i);var k=j.extractContents();j.insertNode(l.remove());k.insertAfterNode(l);},contains:c||b.webkit?function(i){var j=this.$;return i.type!=1?j.contains(i.getParent().$):j!=i.$&&j.contains(i.$);\r
+};d.nodeList.prototype={count:function(){return this.$.length;},getItem:function(h){var i=this.$[h];return i?new d.node(i):null;}};d.element=function(h,i){if(typeof h=='string')h=(i?i.$:document).createElement(h);d.domObject.call(this,h);};var h=d.element;h.get=function(i){return i&&(i.$?i:new h(i));};h.prototype=new d.node();h.createFromHtml=function(i,j){var k=new h('div',j);k.setHtml(i);return k.getFirst().remove();};h.setMarker=function(i,j,k,l){var m=j.getCustomData('list_marker_id')||j.setCustomData('list_marker_id',e.getNextNumber()).getCustomData('list_marker_id'),n=j.getCustomData('list_marker_names')||j.setCustomData('list_marker_names',{}).getCustomData('list_marker_names');i[m]=j;n[k]=1;return j.setCustomData(k,l);};h.clearAllMarkers=function(i){for(var j in i)h.clearMarkers(i,i[j],1);};h.clearMarkers=function(i,j,k){var l=j.getCustomData('list_marker_names'),m=j.getCustomData('list_marker_id');for(var n in l)j.removeCustomData(n);j.removeCustomData('list_marker_names');if(k){j.removeCustomData('list_marker_id');delete i[m];}};e.extend(h.prototype,{type:1,addClass:function(i){var j=this.$.className;if(j){var k=new RegExp('(?:^|\\s)'+i+'(?:\\s|$)','');if(!k.test(j))j+=' '+i;}this.$.className=j||i;},removeClass:function(i){var j=this.getAttribute('class');if(j){var k=new RegExp('(?:^|\\s+)'+i+'(?=\\s|$)','i');if(k.test(j)){j=j.replace(k,'').replace(/^\s+/,'');if(j)this.setAttribute('class',j);else this.removeAttribute('class');}}},hasClass:function(i){var j=new RegExp('(?:^|\\s+)'+i+'(?=\\s|$)','');return j.test(this.getAttribute('class'));},append:function(i,j){var k=this;if(typeof i=='string')i=k.getDocument().createElement(i);if(j)k.$.insertBefore(i.$,k.$.firstChild);else k.$.appendChild(i.$);return i;},appendHtml:function(i){var k=this;if(!k.$.childNodes.length)k.setHtml(i);else{var j=new h('div',k.getDocument());j.setHtml(i);j.moveChildren(k);}},appendText:function(i){if(this.$.text!=undefined)this.$.text+=i;else this.append(new d.text(i));},appendBogus:function(){var k=this;var i=k.getLast();while(i&&i.type==3&&!e.rtrim(i.getText()))i=i.getPrevious();if(!i||!i.is||!i.is('br')){var j=b.opera?k.getDocument().createText(''):k.getDocument().createElement('br');b.gecko&&j.setAttribute('type','_moz');k.append(j);}},breakParent:function(i){var l=this;var j=new d.range(l.getDocument());j.setStartAfter(l);j.setEndAfter(i);var k=j.extractContents();j.insertNode(l.remove());k.insertAfterNode(l);},contains:c||b.webkit?function(i){var j=this.$;return i.type!=1?j.contains(i.getParent().$):j!=i.$&&j.contains(i.$);\r
 }:function(i){return!!(this.$.compareDocumentPosition(i.$)&16);},focus:function(){try{this.$.focus();}catch(i){}},getHtml:function(){var i=this.$.innerHTML;return c?i.replace(/<\?[^>]*>/g,''):i;},getOuterHtml:function(){var j=this;if(j.$.outerHTML)return j.$.outerHTML.replace(/<\?[^>]*>/,'');var i=j.$.ownerDocument.createElement('div');i.appendChild(j.$.cloneNode(true));return i.innerHTML;},setHtml:function(i){return this.$.innerHTML=i;},setText:function(i){h.prototype.setText=this.$.innerText!=undefined?function(j){return this.$.innerText=j;}:function(j){return this.$.textContent=j;};return this.setText(i);},getAttribute:(function(){var i=function(j){return this.$.getAttribute(j,2);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){var n=this;switch(j){case 'class':j='className';break;case 'tabindex':var k=i.call(n,j);if(k!==0&&n.$.tabIndex===0)k=null;return k;break;case 'checked':var l=n.$.attributes.getNamedItem(j),m=l.specified?l.nodeValue:n.$.checked;return m?'checked':null;case 'hspace':return n.$.hspace;case 'style':return n.$.style.cssText;}return i.call(n,j);};else return i;})(),getChildren:function(){return new d.nodeList(this.$.childNodes);},getComputedStyle:c?function(i){return this.$.currentStyle[e.cssStyleToDomStyle(i)];}:function(i){return this.getWindow().$.getComputedStyle(this.$,'').getPropertyValue(i);},getDtd:function(){var i=f[this.getName()];this.getDtd=function(){return i;};return i;},getElementsByTag:g.prototype.getElementsByTag,getTabIndex:c?function(){var i=this.$.tabIndex;if(i===0&&!f.$tabIndex[this.getName()]&&parseInt(this.getAttribute('tabindex'),10)!==0)i=-1;return i;}:b.webkit?function(){var i=this.$.tabIndex;if(i==undefined){i=parseInt(this.getAttribute('tabindex'),10);if(isNaN(i))i=-1;}return i;}:function(){return this.$.tabIndex;},getText:function(){return this.$.textContent||this.$.innerText||'';},getWindow:function(){return this.getDocument().getWindow();},getId:function(){return this.$.id||null;},getNameAtt:function(){return this.$.name||null;},getName:function(){var i=this.$.nodeName.toLowerCase();if(c){var j=this.$.scopeName;if(j!='HTML')i=j.toLowerCase()+':'+i;}return(this.getName=function(){return i;})();},getValue:function(){return this.$.value;},getFirst:function(i){var j=this.$.firstChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getNext(i);return k;},getLast:function(i){var j=this.$.lastChild,k=j&&new d.node(j);if(k&&i&&!i(k))k=k.getPrevious(i);return k;},getStyle:function(i){return this.$.style[e.cssStyleToDomStyle(i)];\r
 },is:function(){var i=this.getName();for(var j=0;j<arguments.length;j++){if(arguments[j]==i)return true;}return false;},isEditable:function(){var i=this.getName(),j=!f.$nonEditable[i]&&(f[i]||f.span);return j&&j['#'];},isIdentical:function(i){if(this.getName()!=i.getName())return false;var j=this.$.attributes,k=i.$.attributes,l=j.length,m=k.length;if(!c&&l!=m)return false;for(var n=0;n<l;n++){var o=j[n];if((!c||o.specified&&o.nodeName!='_cke_expando')&&o.nodeValue!=i.getAttribute(o.nodeName))return false;}if(c)for(n=0;n<m;n++){o=k[n];if(o.specified&&o.nodeName!='_cke_expando'&&o.nodeValue!=this.getAttribute(o.nodeName))return false;}return true;},isVisible:function(){var i=!!this.$.offsetHeight&&this.getComputedStyle('visibility')!='hidden',j,k;if(i&&(b.webkit||b.opera)){j=this.getWindow();if(!j.equals(a.document.getWindow())&&(k=j.$.frameElement))i=new h(k).isVisible();}return i;},isEmptyInlineRemoveable:function(){if(!f.$removeEmpty[this.getName()])return false;var i=this.getChildren();for(var j=0,k=i.count();j<k;j++){var l=i.getItem(j);if(l.type==1&&l.getAttribute('_cke_bookmark'))continue;if(l.type==1&&!l.isEmptyInlineRemoveable()||l.type==3&&e.trim(l.getText()))return false;}return true;},hasAttributes:c&&(b.ie7Compat||b.ie6Compat)?function(){var i=this.$.attributes;for(var j=0;j<i.length;j++){var k=i[j];switch(k.nodeName){case 'class':if(this.getAttribute('class'))return true;case '_cke_expando':continue;default:if(k.specified)return true;}}return false;}:function(){var i=this.$.attributes,j=i.length,k={_cke_expando:1,_moz_dirty:1};return j>0&&(j>2||!k[i[0].nodeName]||j==2&&!k[i[1].nodeName]);},hasAttribute:function(i){var j=this.$.attributes.getNamedItem(i);return!!(j&&j.specified);},hide:function(){this.setStyle('display','none');},moveChildren:function(i,j){var k=this.$;i=i.$;if(k==i)return;var l;if(j)while(l=k.lastChild)i.insertBefore(k.removeChild(l),i.firstChild);else while(l=k.firstChild)i.appendChild(k.removeChild(l));},mergeSiblings:(function(){function i(j,k,l){if(k&&k.type==1){var m=[];while(k.getAttribute('_cke_bookmark')||k.isEmptyInlineRemoveable()){m.push(k);k=l?k.getNext():k.getPrevious();if(!k||k.type!=1)return;}if(j.isIdentical(k)){var n=l?j.getLast():j.getFirst();while(m.length)m.shift().move(j,!l);k.moveChildren(j,!l);k.remove();if(n&&n.type==1)n.mergeSiblings();}}};return function(){var j=this;if(!(f.$removeEmpty[j.getName()]||j.is('a')))return;i(j,j.getNext(),true);i(j,j.getPrevious());};})(),show:function(){this.setStyles({display:'',visibility:''});\r
 },setAttribute:(function(){var i=function(j,k){this.$.setAttribute(j,k);return this;};if(c&&(b.ie7Compat||b.ie6Compat))return function(j,k){var l=this;if(j=='class')l.$.className=k;else if(j=='style')l.$.style.cssText=k;else if(j=='tabindex')l.$.tabIndex=k;else if(j=='checked')l.$.checked=k;else i.apply(l,arguments);return l;};else return i;})(),setAttributes:function(i){for(var j in i)this.setAttribute(j,i[j]);return this;},setValue:function(i){this.$.value=i;return this;},removeAttribute:(function(){var i=function(j){this.$.removeAttribute(j);};if(c&&(b.ie7Compat||b.ie6Compat))return function(j){if(j=='class')j='className';else if(j=='tabindex')j='tabIndex';i.call(this,j);};else return i;})(),removeAttributes:function(i){if(e.isArray(i))for(var j=0;j<i.length;j++)this.removeAttribute(i[j]);else for(var k in i)i.hasOwnProperty(k)&&this.removeAttribute(k);},removeStyle:function(i){var j=this;j.setStyle(i,'');if(j.$.style.removeAttribute)j.$.style.removeAttribute(e.cssStyleToDomStyle(i));if(!j.$.style.cssText)j.removeAttribute('style');},setStyle:function(i,j){this.$.style[e.cssStyleToDomStyle(i)]=j;return this;},setStyles:function(i){for(var j in i)this.setStyle(j,i[j]);return this;},setOpacity:function(i){if(c){i=Math.round(i*100);this.setStyle('filter',i>=100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+i+')');}else this.setStyle('opacity',i);},unselectable:b.gecko?function(){this.$.style.MozUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:b.webkit?function(){this.$.style.KhtmlUserSelect='none';this.on('dragstart',function(i){i.data.preventDefault();});}:function(){if(c||b.opera){var i=this.$,j,k=0;i.unselectable='on';while(j=i.all[k++])switch(j.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break;default:j.unselectable='on';}}},getPositionedAncestor:function(){var i=this;while(i.getName()!='html'){if(i.getComputedStyle('position')!='static')return i;i=i.getParent();}return null;},getDocumentPosition:function(i){var D=this;var j=0,k=0,l=D.getDocument().getBody(),m=D.getDocument().$.compatMode=='BackCompat',n=D.getDocument();if(document.documentElement.getBoundingClientRect){var o=D.$.getBoundingClientRect(),p=n.$,q=p.documentElement,r=q.clientTop||l.$.clientTop||0,s=q.clientLeft||l.$.clientLeft||0,t=true;if(c){var u=n.getDocumentElement().contains(D),v=n.getBody().contains(D);t=m&&v||!m&&u;}if(t){j=o.left+(!m&&q.scrollLeft||l.$.scrollLeft);j-=s;k=o.top+(!m&&q.scrollTop||l.$.scrollTop);\r
 k-=r;}}else{var w=D,x=null,y;while(w&&!(w.getName()=='body'||w.getName()=='html')){j+=w.$.offsetLeft-w.$.scrollLeft;k+=w.$.offsetTop-w.$.scrollTop;if(!w.equals(D)){j+=w.$.clientLeft||0;k+=w.$.clientTop||0;}var z=x;while(z&&!z.equals(w)){j-=z.$.scrollLeft;k-=z.$.scrollTop;z=z.getParent();}x=w;w=(y=w.$.offsetParent)?new h(y):null;}}if(i){var A=D.getWindow(),B=i.getWindow();if(!A.equals(B)&&A.$.frameElement){var C=new h(A.$.frameElement).getDocumentPosition(i);j+=C.x;k+=C.y;}}if(!document.documentElement.getBoundingClientRect)if(b.gecko&&!m){j+=D.$.clientLeft?1:0;k+=D.$.clientTop?1:0;}return{x:j,y:k};},scrollIntoView:function(i){var o=this;var j=o.getWindow(),k=j.getViewPaneSize().height,l=k*-1;if(i)l+=k;else{l+=o.$.offsetHeight||0;l+=parseInt(o.getComputedStyle('marginBottom')||0,10)||0;}var m=o.getDocumentPosition();l+=m.y;l=l<0?0:l;var n=j.getScrollPosition().y;if(l>n||l<n-k)j.$.scrollTo(0,l);},setState:function(i){var j=this;switch(i){case 1:j.addClass('cke_on');j.removeClass('cke_off');j.removeClass('cke_disabled');break;case 0:j.addClass('cke_disabled');j.removeClass('cke_off');j.removeClass('cke_on');break;default:j.addClass('cke_off');j.removeClass('cke_on');j.removeClass('cke_disabled');break;}},getFrameDocument:function(){var i=this.$;try{i.contentWindow.document;}catch(j){i.src=i.src;if(c&&b.version<7)window.showModalDialog('javascript:document.write("<script>window.setTimeout(function(){window.close();},50);</script>")');}return i&&new g(i.contentWindow.document);},copyAttributes:function(i,j){var p=this;var k=p.$.attributes;j=j||{};for(var l=0;l<k.length;l++){var m=k[l],n=m.nodeName.toLowerCase(),o;if(n in j)continue;if(n=='checked'&&(o=p.getAttribute(n)))i.setAttribute(n,o);else if(m.specified||c&&m.nodeValue&&n=='value'){o=p.getAttribute(n);if(o===null)o=m.nodeValue;i.setAttribute(n,o);}}if(p.$.style.cssText!=='')i.$.style.cssText=p.$.style.cssText;},renameNode:function(i){var l=this;if(l.getName()==i)return;var j=l.getDocument(),k=new h(i,j);l.copyAttributes(k);l.moveChildren(k);l.getParent()&&l.$.parentNode.replaceChild(k.$,l.$);k.$._cke_expando=l.$._cke_expando;l.$=k.$;},getChild:function(i){var j=this.$;if(!i.slice)j=j.childNodes[i];else while(i.length>0&&j)j=j.childNodes[i.shift()];return j?new d.node(j):null;},getChildCount:function(){return this.$.childNodes.length;},disableContextMenu:function(){this.on('contextmenu',function(i){if(!i.data.getTarget().hasClass('cke_enable_context_menu'))i.data.preventDefault();});},setSize:(function(){var i={width:['border-left-width','border-right-width','padding-left','padding-right'],height:['border-top-width','border-bottom-width','padding-top','padding-bottom']};\r
-return function(j,k,l){if(typeof k=='number'){if(l&&!(c&&b.quirks)){var m=0;for(var n=0,o=i[j].length;n<o;n++)m+=parseInt(this.getComputedStyle(i[j][n])||0,10);k-=m;}this.setStyle(j,k+'px');}};})()});a.command=function(i,j){this.uiItems=[];this.exec=function(k){if(this.state==0)return false;if(this.editorFocus)i.focus();return j.exec.call(this,i,k)!==false;};e.extend(this,j,{modes:{wysiwyg:1},editorFocus:true,state:2});a.event.call(this);};a.command.prototype={enable:function(){var i=this;if(i.state==0)i.setState(!i.preserveState||typeof i.previousState=='undefined'?2:i.previousState);},disable:function(){this.setState(0);},setState:function(i){var j=this;if(j.state==i)return false;j.previousState=j.state;j.state=i;j.fire('state');return true;},toggleState:function(){var i=this;if(i.state==2)i.setState(1);else if(i.state==1)i.setState(2);}};a.event.implementOn(a.command.prototype,true);a.ENTER_P=1;a.ENTER_BR=2;a.ENTER_DIV=3;a.config={customConfig:'config.js',autoUpdateElement:true,baseHref:'',contentsCss:a.basePath+'contents.css',contentsLangDirection:'ui',contentsLanguage:'',language:'',defaultLanguage:'en',enterMode:1,forceEnterMode:false,shiftEnterMode:2,corePlugins:'',docType:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',bodyId:'',bodyClass:'',fullPage:false,height:200,plugins:'about,a11yhelp,basicstyles,bidi,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,dialogadvtab,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,smiley,showblocks,showborders,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',extraPlugins:'',removePlugins:'',protectedSource:[],tabIndex:0,theme:'default',skin:'kama',width:'',baseFloatZIndex:10000};var i=a.config;a.focusManager=function(j){if(j.focusManager)return j.focusManager;this.hasFocus=false;this._={editor:j};return this;};a.focusManager.prototype={focus:function(){var k=this;if(k._.timer)clearTimeout(k._.timer);if(!k.hasFocus){if(a.currentInstance)a.currentInstance.focusManager.forceBlur();var j=k._.editor;j.container.getChild(1).addClass('cke_focus');k.hasFocus=true;j.fire('focus');}},blur:function(){var j=this;if(j._.timer)clearTimeout(j._.timer);j._.timer=setTimeout(function(){delete j._.timer;\r
-j.forceBlur();},100);},forceBlur:function(){if(this.hasFocus){var j=this._.editor;j.container.getChild(1).removeClass('cke_focus');this.hasFocus=false;j.fire('blur');}}};(function(){var j={};a.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,'en-au':1,'en-ca':1,'en-gb':1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,'fr-ca':1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,km:1,ko:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,'pt-br':1,pt:1,ro:1,ru:1,sk:1,sl:1,'sr-latn':1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,'zh-cn':1,zh:1},load:function(k,l,m){if(!k||!a.lang.languages[k])k=this.detect(l,k);if(!this[k])a.scriptLoader.load(a.getUrl('lang/'+k+'.js'),function(){m(k,this[k]);},this);else m(k,this[k]);},detect:function(k,l){var m=this.languages;l=l||navigator.userLanguage||navigator.language;var n=l.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),o=n[1],p=n[2];if(m[o+'-'+p])o=o+'-'+p;else if(!m[o])o=null;a.lang.detect=o?function(){return o;}:function(q){return q;};return o||k;}};})();a.scriptLoader=(function(){var j={},k={};return{load:function(l,m,n,o,p){var q=typeof l=='string';if(q)l=[l];if(!n)n=a;var r=l.length,s=[],t=[],u=function(z){if(m)if(q)m.call(n,z);else m.call(n,s,t);};if(r===0){u(true);return;}var v=function(z,A){(A?s:t).push(z);if(--r<=0){p&&a.document.getDocumentElement().removeStyle('cursor');u(A);}},w=function(z,A){j[z]=1;var B=k[z];delete k[z];for(var C=0;C<B.length;C++)B[C](z,A);},x=function(z){if(o!==true&&j[z]){v(z,true);return;}var A=k[z]||(k[z]=[]);A.push(v);if(A.length>1)return;var B=new h('script');B.setAttributes({type:'text/javascript',src:z});if(m)if(c)B.$.onreadystatechange=function(){if(B.$.readyState=='loaded'||B.$.readyState=='complete'){B.$.onreadystatechange=null;w(z,true);}};else{B.$.onload=function(){setTimeout(function(){w(z,true);},0);};B.$.onerror=function(){w(z,false);};}B.appendTo(a.document.getHead());};p&&a.document.getDocumentElement().setStyle('cursor','wait');for(var y=0;y<r;y++)x(l[y]);},loadCode:function(l){var m=new h('script');m.setAttribute('type','text/javascript');m.appendText(l);m.appendTo(a.document.getHead());}};})();a.resourceManager=function(j,k){var l=this;l.basePath=j;l.fileName=k;l.registered={};l.loaded={};l.externals={};l._={waitingList:{}};};a.resourceManager.prototype={add:function(j,k){if(this.registered[j])throw '[CKEDITOR.resourceManager.add] The resource name "'+j+'" is already registered.';a.fire(j+e.capitalize(this.fileName)+'Ready',this.registered[j]=k||{});},get:function(j){return this.registered[j]||null;\r
-},getPath:function(j){var k=this.externals[j];return a.getUrl(k&&k.dir||this.basePath+j+'/');},getFilePath:function(j){var k=this.externals[j];return a.getUrl(this.getPath(j)+(k&&typeof k.file=='string'?k.file:this.fileName+'.js'));},addExternal:function(j,k,l){j=j.split(',');for(var m=0;m<j.length;m++){var n=j[m];this.externals[n]={dir:k,file:l};}},load:function(j,k,l){if(!e.isArray(j))j=j?[j]:[];var m=this.loaded,n=this.registered,o=[],p={},q={};for(var r=0;r<j.length;r++){var s=j[r];if(!s)continue;if(!m[s]&&!n[s]){var t=this.getFilePath(s);o.push(t);if(!(t in p))p[t]=[];p[t].push(s);}else q[s]=this.get(s);}a.scriptLoader.load(o,function(u,v){if(v.length)throw '[CKEDITOR.resourceManager.load] Resource name "'+p[v[0]].join(',')+'" was not found at "'+v[0]+'".';for(var w=0;w<u.length;w++){var x=p[u[w]];for(var y=0;y<x.length;y++){var z=x[y];q[z]=this.get(z);m[z]=1;}}k.call(l,q);},this);}};a.plugins=new a.resourceManager('plugins/','plugin');var j=a.plugins;j.load=e.override(j.load,function(k){return function(l,m,n){var o={},p=function(q){k.call(this,q,function(r){e.extend(o,r);var s=[];for(var t in r){var u=r[t],v=u&&u.requires;if(v)for(var w=0;w<v.length;w++){if(!o[v[w]])s.push(v[w]);}}if(s.length)p.call(this,s);else{for(t in o){u=o[t];if(u.onLoad&&!u.onLoad._called){u.onLoad();u.onLoad._called=1;}}if(m)m.call(n||window,o);}},this);};p.call(this,l);};});j.setLang=function(k,l,m){var n=this.get(k),o=n.lang||(n.lang={});o[l]=m;};(function(){var k={},l=function(m,n){var o=function(){p.removeAllListeners();k[m]=1;n();},p=new h('img');p.on('load',o);p.on('error',o);p.setAttribute('src',m);};a.imageCacher={load:function(m,n){var o=m.length,p=function(){if(--o===0)n();};for(var q=0;q<m.length;q++){var r=m[q];if(k[r])p();else l(r,p);}}};})();a.skins=(function(){var k={},l={},m={},n=function(o,p,q,r){var s=k[p];if(!o.skin){o.skin=s;if(s.init)s.init(o);}var t=function(D){for(var E=0;E<D.length;E++)D[E]=a.getUrl(m[p]+D[E]);};function u(D,E){return D.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(F,G,H,I){if(/^\/|^\w?:/.test(H))return F;else return 'url('+E+G+H+I+')';});};if(!l[p]){var v=s.preload;if(v&&v.length>0){t(v);a.imageCacher.load(v,function(){l[p]=1;n(o,p,q,r);});return;}l[p]=1;}q=s[q];var w=!q||!!q._isLoaded;if(w)r&&r();else{var x=q._pending||(q._pending=[]);x.push(r);if(x.length>1)return;var y=!q.css||!q.css.length,z=!q.js||!q.js.length,A=function(){if(y&&z){q._isLoaded=1;for(var D=0;D<x.length;D++){if(x[D])x[D]();}}};if(!y){var B=q.css;if(e.isArray(B)){t(B);\r
-for(var C=0;C<B.length;C++)a.document.appendStyleSheet(B[C]);}else{B=u(B,a.getUrl(m[p]));a.document.appendStyleText(B);}q.css=B;y=1;}if(!z){t(q.js);a.scriptLoader.load(q.js,function(){z=1;A();});}A();}};return{add:function(o,p){k[o]=p;p.skinPath=m[o]||(m[o]=a.getUrl('skins/'+o+'/'));},load:function(o,p,q){var r=o.skinName,s=o.skinPath;if(k[r])n(o,r,p,q);else{m[r]=s;a.scriptLoader.load(a.getUrl(s+'skin.js'),function(){n(o,r,p,q);});}}};})();a.themes=new a.resourceManager('themes/','theme');a.ui=function(k){if(k.ui)return k.ui;this._={handlers:{},items:{},editor:k};return this;};var k=a.ui;k.prototype={add:function(l,m,n){this._.items[l]={type:m,command:n.command||null,args:Array.prototype.slice.call(arguments,2)};},create:function(l){var q=this;var m=q._.items[l],n=m&&q._.handlers[m.type],o=m&&m.command&&q._.editor.getCommand(m.command),p=n&&n.create.apply(q,m.args);if(o)o.uiItems.push(p);return p;},addHandler:function(l,m){this._.handlers[l]=m;}};(function(){var l=0,m=function(){var x='editor'+ ++l;return a.instances&&a.instances[x]?m():x;},n={},o=function(x){var y=x.config.customConfig;if(!y)return false;y=a.getUrl(y);var z=n[y]||(n[y]={});if(z.fn){z.fn.call(x,x.config);if(a.getUrl(x.config.customConfig)==y||!o(x))x.fireOnce('customConfigLoaded');}else a.scriptLoader.load(y,function(){if(a.editorConfig)z.fn=a.editorConfig;else z.fn=function(){};o(x);});return true;},p=function(x,y){x.on('customConfigLoaded',function(){if(y){if(y.on)for(var z in y.on)x.on(z,y.on[z]);e.extend(x.config,y,true);delete x.config.on;}q(x);});if(y&&y.customConfig!=undefined)x.config.customConfig=y.customConfig;if(!o(x))x.fireOnce('customConfigLoaded');},q=function(x){var y=x.config.skin.split(','),z=y[0],A=a.getUrl(y[1]||'skins/'+z+'/');x.skinName=z;x.skinPath=A;x.skinClass='cke_skin_'+z;x.tabIndex=x.config.tabIndex||x.element.getAttribute('tabindex')||0;x.fireOnce('configLoaded');t(x);},r=function(x){a.lang.load(x.config.language,x.config.defaultLanguage,function(y,z){x.langCode=y;x.lang=e.prototypedCopy(z);if(b.gecko&&b.version<10900&&x.lang.dir=='rtl')x.lang.dir='ltr';var A=x.config;A.contentsLangDirection=='ui'&&(A.contentsLangDirection=x.lang.dir);s(x);});},s=function(x){var y=x.config,z=y.plugins,A=y.extraPlugins,B=y.removePlugins;if(A){var C=new RegExp('(?:^|,)(?:'+A.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');z+=','+A;}if(B){C=new RegExp('(?:^|,)(?:'+B.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');}j.load(z.split(','),function(D){var E=[],F=[],G=[];\r
-x.plugins=D;for(var H in D){var I=D[H],J=I.lang,K=j.getPath(H),L=null;I.path=K;if(J){L=e.indexOf(J,x.langCode)>=0?x.langCode:J[0];if(!I.lang[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.lang[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit'];for(var N=0;N<M.length;N++)for(var O=0;O<E.length;O++){var P=E[O];if(N===0&&F[O]&&P.lang)e.extend(x.lang,P.lang[F[O]]);if(P[M[N]])P[M[N]](x);}x.fire('pluginsLoaded');u(x);});});},t=function(x){a.skins.load(x,'editor',function(){r(x);});},u=function(x){var y=x.config.theme;a.themes.load(y,function(){var z=x.theme=a.themes.get(y);z.path=a.themes.getPath(y);z.build(x);if(x.config.autoUpdateElement)v(x);});},v=function(x){var y=x.element;if(x.elementMode==1&&y.is('textarea')){var z=y.$.form&&new h(y.$.form);if(z){function A(){x.updateElement();};z.on('submit',A);if(!z.$.submit.nodeName)z.$.submit=e.override(z.$.submit,function(B){return function(){x.updateElement();if(B.apply)B.apply(this,arguments);else B();};});x.on('destroy',function(){z.removeListener('submit',A);});}}};function w(){var x,y=this._.commands,z=this.mode;for(var A in y){x=y[A];x[x.startDisabled?'disable':x.modes[z]?'enable':'disable']();}};a.editor.prototype._init=function(){var z=this;var x=h.get(z._.element),y=z._.instanceConfig;delete z._.element;delete z._.instanceConfig;z._.commands={};z._.styles=[];z.element=x;z.name=x&&z.elementMode==1&&(x.getId()||x.getNameAtt())||m();if(z.name in a.instances)throw '[CKEDITOR.editor] The instance "'+z.name+'" already exists.';z.config=e.prototypedCopy(i);z.ui=new k(z);z.focusManager=new a.focusManager(z);a.fire('instanceCreated',null,z);z.on('mode',w,null,null,1);p(z,y);};})();e.extend(a.editor.prototype,{addCommand:function(l,m){return this._.commands[l]=new a.command(this,m);},addCss:function(l){this._.styles.push(l);},destroy:function(l){var r=this;if(!l)r.updateElement();if(r.mode)r._.modes[r.mode].unload(r.getThemeSpace('contents'));r.theme.destroy(r);var m,n=0,o,p,q;if(r.toolbox){m=r.toolbox.toolbars;for(;n<m.length;n++){p=m[n].items;for(o=0;o<p.length;o++){q=p[o];if(q.clickFn)e.removeFunction(q.clickFn);if(q.keyDownFn)e.removeFunction(q.keyDownFn);if(q.index)k.button._.instances[q.index]=null;}}}if(r.contextMenu)e.removeFunction(r.contextMenu._.functionId);if(r._.filebrowserFn)e.removeFunction(r._.filebrowserFn);r.fire('destroy');a.remove(r);a.fire('instanceDestroyed',null,r);},execCommand:function(l,m){var n=this.getCommand(l),o={name:l,commandData:m,command:n};\r
-if(n&&n.state!=0)if(this.fire('beforeCommandExec',o)!==true){o.returnValue=n.exec(o.commandData);if(!n.async&&this.fire('afterCommandExec',o)!==true)return o.returnValue;}return false;},getCommand:function(l){return this._.commands[l];},getData:function(){var n=this;n.fire('beforeGetData');var l=n._.data;if(typeof l!='string'){var m=n.element;if(m&&n.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();else l='';}l={dataValue:l};n.fire('getData',l);return l.dataValue;},getSnapshot:function(){var l=this.fire('getSnapshot');if(typeof l!='string'){var m=this.element;if(m&&this.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();}return l;},loadSnapshot:function(l){this.fire('loadSnapshot',l);},setData:function(l,m){if(m)this.on('dataReady',function(o){o.removeListener();m.call(o.editor);});var n={dataValue:l};this.fire('setData',n);this._.data=n.dataValue;this.fire('afterSetData',n);},insertHtml:function(l){this.fire('insertHtml',l);},insertElement:function(l){this.fire('insertElement',l);},checkDirty:function(){return this.mayBeDirty&&this._.previousValue!==this.getSnapshot();},resetDirty:function(){if(this.mayBeDirty)this._.previousValue=this.getSnapshot();},updateElement:function(){var n=this;var l=n.element;if(l&&n.elementMode==1){var m=n.getData();if(n.config.htmlEncodeOutput)m=e.htmlEncode(m);if(l.is('textarea'))l.setValue(m);else l.setHtml(m);}}});a.on('loaded',function(){var l=a.editor._pending;if(l){delete a.editor._pending;for(var m=0;m<l.length;m++)l[m]._init();}});a.htmlParser=function(){this._={htmlPartsRegex:new RegExp("<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:[^\"'>]+)|(?:\"[^\"]*\")|(?:'[^']*'))*)\\/?>))",'g')};};(function(){var l=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,m={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};a.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(n){var A=this;var o,p,q=0,r;while(o=A._.htmlPartsRegex.exec(n)){var s=o.index;if(s>q){var t=n.substring(q,s);if(r)r.push(t);else A.onText(t);}q=A._.htmlPartsRegex.lastIndex;if(p=o[1]){p=p.toLowerCase();if(r&&f.$cdata[p]){A.onCDATA(r.join(''));r=null;}if(!r){A.onTagClose(p);continue;}}if(r){r.push(o[0]);continue;}if(p=o[3]){p=p.toLowerCase();if(/="/.test(p))continue;var u={},v,w=o[4],x=!!(w&&w.charAt(w.length-1)=='/');if(w)while(v=l.exec(w)){var y=v[1].toLowerCase(),z=v[2]||v[3]||v[4]||'';\r
-if(!z&&m[y])u[y]=y;else u[y]=z;}A.onTagOpen(p,u,x);if(!r&&f.$cdata[p])r=[];continue;}if(p=o[2])A.onComment(p);}if(n.length>q)A.onText(n.substring(q,n.length));}};})();a.htmlParser.comment=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.comment.prototype={type:8,writeHtml:function(l,m){var n=this.value;if(m){if(!(n=m.onComment(n,this)))return;if(typeof n!='string'){n.parent=this.parent;n.writeHtml(l,m);return;}}l.comment(n);}};(function(){var l=/[\t\r\n ]{2,}|[\t\r\n]/g;a.htmlParser.text=function(m){this.value=m;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(m,n){var o=this.value;if(n&&!(o=n.onText(o,this)))return;m.text(o);}};})();(function(){a.htmlParser.cdata=function(l){this.value=l;};a.htmlParser.cdata.prototype={type:3,writeHtml:function(l){l.write(this.value);}};})();a.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false};};(function(){var l={colgroup:1,dd:1,dt:1,li:1,option:1,p:1,td:1,tfoot:1,th:1,thead:1,tr:1},m=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),n=f.$list,o=f.$listItem;a.htmlParser.fragment.fromHtml=function(p,q){var r=new a.htmlParser(),s=[],t=new a.htmlParser.fragment(),u=[],v=[],w=t,x=false,y;function z(E){var F;if(u.length>0)for(var G=0;G<u.length;G++){var H=u[G],I=H.name,J=f[I],K=w.name&&f[w.name];if((!K||K[I])&&(!E||!J||J[E]||!f[E])){if(!F){A();F=1;}H=H.clone();H.parent=w;w=H;u.splice(G,1);G--;}}};function A(E){while(v.length-(E||0)>0)w.add(v.shift());};function B(E,F,G){F=F||w||t;if(q&&!F.type){var H,I;if(E.attributes&&(I=E.attributes._cke_real_element_type))H=I;else H=E.name;if(H&&!(H in f.$body)&&!(H in f.$nonBodyContent)){var J=w;w=F;r.onTagOpen(q,{});F=w;if(G)w=J;}}if(E._.isBlockLike&&E.name!='pre'){var K=E.children.length,L=E.children[K-1],M;if(L&&L.type==3)if(!(M=e.rtrim(L.value)))E.children.length=K-1;else L.value=M;}F.add(E);if(E.returnPoint){w=E.returnPoint;delete E.returnPoint;}};r.onTagOpen=function(E,F,G){var H=new a.htmlParser.element(E,F);if(H.isUnknown&&G)H.isEmpty=true;if(f.$removeEmpty[E]){u.push(H);return;}else if(E=='pre')x=true;else if(E=='br'&&x){w.add(new a.htmlParser.text('\n'));return;}if(E=='br'){v.push(H);return;}var I=w.name,J=I&&(f[I]||(w._.isBlockLike?f.div:f.span));if(J&&!H.isUnknown&&!w.isUnknown&&!J[E]){var K=false,L;if(E in n&&I in n){var M=w.children,N=M[M.length-1];if(!(N&&N.name in o))B(N=new a.htmlParser.element('li'),w);y=w,L=N;}else if(E==I)B(w,w.parent);else{if(m[I]){if(!y)y=w;\r
-}else{B(w,w.parent,true);if(!l[I])u.unshift(w);}K=true;}if(L)w=L;else w=w.returnPoint||w.parent;if(K){r.onTagOpen.apply(this,arguments);return;}}z(E);A();H.parent=w;H.returnPoint=y;y=0;if(H.isEmpty)B(H);else w=H;};r.onTagClose=function(E){for(var F=u.length-1;F>=0;F--){if(E==u[F].name){u.splice(F,1);return;}}var G=[],H=[],I=w;while(I.type&&I.name!=E){if(!I._.isBlockLike)H.unshift(I);G.push(I);I=I.parent;}if(I.type){for(F=0;F<G.length;F++){var J=G[F];B(J,J.parent);}w=I;if(w.name=='pre')x=false;if(I._.isBlockLike)A();B(I,I.parent);if(I==w)w=w.parent;u=u.concat(H);}if(E=='body')q=false;};r.onText=function(E){if(!w._.hasInlineStarted&&!x){E=e.ltrim(E);if(E.length===0)return;}A();z();if(q&&(!w.type||w.name=='body')&&e.trim(E))this.onTagOpen(q,{});if(!x)E=E.replace(/[\t\r\n ]{2,}|[\t\r\n]/g,' ');w.add(new a.htmlParser.text(E));};r.onCDATA=function(E){w.add(new a.htmlParser.cdata(E));};r.onComment=function(E){w.add(new a.htmlParser.comment(E));};r.parse(p);A(!c&&1);while(w.type){var C=w.parent,D=w;if(q&&(!C.type||C.name=='body')&&!f.$body[D.name]){w=C;r.onTagOpen(q,{});C=w;}C.add(D);w=C;}return t;};a.htmlParser.fragment.prototype={add:function(p){var s=this;var q=s.children.length,r=q>0&&s.children[q-1]||null;if(r){if(p._.isBlockLike&&r.type==3){r.value=e.rtrim(r.value);if(r.value.length===0){s.children.pop();s.add(p);return;}}r.next=p;}p.previous=r;p.parent=s;s.children.push(p);s._.hasInlineStarted=p.type==3||p.type==1&&!p._.isBlockLike;},writeHtml:function(p,q){var r;this.filterChildren=function(){var s=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,s,q,true);var t=s.getHtml();this.children=new a.htmlParser.fragment.fromHtml(t).children;r=1;};!this.name&&q&&q.onFragment(this);this.writeChildrenHtml(p,r?null:q);},writeChildrenHtml:function(p,q){for(var r=0;r<this.children.length;r++)this.children[r].writeHtml(p,q);}};})();a.htmlParser.element=function(l,m){var r=this;r.name=l;r.attributes=m||(m={});r.children=[];var n=m._cke_real_element_type||l,o=f,p=!!(o.$nonBodyContent[n]||o.$block[n]||o.$listItem[n]||o.$tableContent[n]||o.$nonEditable[n]||n=='br'),q=!!o.$empty[l];r.isEmpty=q;r.isUnknown=!o[l];r._={isBlockLike:p,hasInlineStarted:q||!p};};(function(){var l=function(m,n){m=m[0];n=n[0];return m<n?-1:m>n?1:0;};a.htmlParser.element.prototype={type:1,add:a.htmlParser.fragment.prototype.add,clone:function(){return new a.htmlParser.element(this.name,this.attributes);},writeHtml:function(m,n){var o=this.attributes,p=this,q=p.name,r,s,t,u;p.filterChildren=function(){if(!u){var z=new a.htmlParser.basicWriter();\r
-a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,z,n);p.children=new a.htmlParser.fragment.fromHtml(z.getHtml()).children;u=1;}};if(n){for(;;){if(!(q=n.onElementName(q)))return;p.name=q;if(!(p=n.onElement(p)))return;p.parent=this.parent;if(p.name==q)break;if(p.type!=1){p.writeHtml(m,n);return;}q=p.name;if(!q){this.writeChildrenHtml.call(p,m,u?null:n);return;}}o=p.attributes;}m.openTag(q,o);var v=[];for(var w=0;w<2;w++)for(r in o){s=r;t=o[r];if(w==1)v.push([r,t]);else if(n){for(;;){if(!(s=n.onAttributeName(r))){delete o[r];break;}else if(s!=r){delete o[r];r=s;continue;}else break;}if(s)if((t=n.onAttribute(p,s,t))===false)delete o[s];else o[s]=t;}}if(m.sortAttributes)v.sort(l);var x=v.length;for(w=0;w<x;w++){var y=v[w];m.attribute(y[0],y[1]);}m.openTagClose(q,p.isEmpty);if(!p.isEmpty){this.writeChildrenHtml.call(p,m,u?null:n);m.closeTag(q);}},writeChildrenHtml:function(m,n){a.htmlParser.fragment.prototype.writeChildrenHtml.apply(this,arguments);}};})();(function(){a.htmlParser.filter=e.createClass({$:function(q){this._={elementNames:[],attributeNames:[],elements:{$length:0},attributes:{$length:0}};if(q)this.addRules(q,10);},proto:{addRules:function(q,r){var s=this;if(typeof r!='number')r=10;m(s._.elementNames,q.elementNames,r);m(s._.attributeNames,q.attributeNames,r);n(s._.elements,q.elements,r);n(s._.attributes,q.attributes,r);s._.text=o(s._.text,q.text,r)||s._.text;s._.comment=o(s._.comment,q.comment,r)||s._.comment;s._.root=o(s._.root,q.root,r)||s._.root;},onElementName:function(q){return l(q,this._.elementNames);},onAttributeName:function(q){return l(q,this._.attributeNames);},onText:function(q){var r=this._.text;return r?r.filter(q):q;},onComment:function(q,r){var s=this._.comment;return s?s.filter(q,r):q;},onFragment:function(q){var r=this._.root;return r?r.filter(q):q;},onElement:function(q){var v=this;var r=[v._.elements['^'],v._.elements[q.name],v._.elements.$],s,t;for(var u=0;u<3;u++){s=r[u];if(s){t=s.filter(q,v);if(t===false)return null;if(t&&t!=q)return v.onNode(t);if(q.parent&&!q.name)break;}}return q;},onNode:function(q){var r=q.type;return r==1?this.onElement(q):r==3?new a.htmlParser.text(this.onText(q.value)):r==8?new a.htmlParser.comment(this.onComment(q.value)):null;},onAttribute:function(q,r,s){var t=this._.attributes[r];if(t){var u=t.filter(s,q,this);if(u===false)return false;if(typeof u!='undefined')return u;}return s;}}});function l(q,r){for(var s=0;q&&s<r.length;s++){var t=r[s];q=q.replace(t[0],t[1]);}return q;};function m(q,r,s){if(typeof r=='function')r=[r];\r
-var t,u,v=q.length,w=r&&r.length;if(w){for(t=0;t<v&&q[t].pri<s;t++){}for(u=w-1;u>=0;u--){var x=r[u];if(x){x.pri=s;q.splice(t,0,x);}}}};function n(q,r,s){if(r)for(var t in r){var u=q[t];q[t]=o(u,r[t],s);if(!u)q.$length++;}};function o(q,r,s){if(r){r.pri=s;if(q){if(!q.splice){if(q.pri>s)q=[r,q];else q=[q,r];q.filter=p;}else m(q,r,s);return q;}else{r.filter=r;return r;}}};function p(q){var r=q.type||q instanceof a.htmlParser.fragment;for(var s=0;s<this.length;s++){if(r)var t=q.type,u=q.name;var v=this[s],w=v.apply(window,arguments);if(w===false)return w;if(r){if(w&&(w.name!=u||w.type!=t))return w;}else if(typeof w!='string')return w;w!=undefined&&(q=w);}return q;};})();a.htmlParser.basicWriter=e.createClass({$:function(){this._={output:[]};},proto:{openTag:function(l,m){this._.output.push('<',l);},openTagClose:function(l,m){if(m)this._.output.push(' />');else this._.output.push('>');},attribute:function(l,m){if(typeof m=='string')m=e.htmlEncodeAttr(m);this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){this._.output.push('</',l,'>');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('<!--',l,'-->');},write:function(l){this._.output.push(l);},reset:function(){this._.output=[];this._.indent=false;},getHtml:function(l){var m=this._.output.join('');if(l)this.reset();return m;}}});delete a.loadFullCore;a.instances={};a.document=new g(document);a.add=function(l){a.instances[l.name]=l;l.on('focus',function(){if(a.currentInstance!=l){a.currentInstance=l;a.fire('currentInstance');}});l.on('blur',function(){if(a.currentInstance==l){a.currentInstance=null;a.fire('currentInstance');}});};a.remove=function(l){delete a.instances[l.name];};a.on('instanceDestroyed',function(){if(e.isEmpty(this.instances))a.fire('reset');});a.TRISTATE_ON=1;a.TRISTATE_OFF=2;a.TRISTATE_DISABLED=0;d.comment=e.createClass({base:d.node,$:function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);this.base(l);},proto:{type:8,getOuterHtml:function(){return '<!--'+this.$.nodeValue+'-->';}}});(function(){var l={address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,dd:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,caption:1,form:1},n=function(o){var p=o.getChildren();for(var q=0,r=p.count();q<r;q++){var s=p.getItem(q);if(s.type==1&&f.$block[s.getName()])return true;}return false;};d.elementPath=function(o){var u=this;var p=null,q=null,r=[],s=o;while(s){if(s.type==1){if(!u.lastElement)u.lastElement=s;var t=s.getName();if(c&&s.$.scopeName!='HTML')t=s.$.scopeName.toLowerCase()+':'+t;\r
-if(!q){if(!p&&l[t])p=s;if(m[t])if(!p&&t=='div'&&!n(s))p=s;else q=s;}r.push(s);if(t=='body')break;}s=s.getParent();}u.block=p;u.blockLimit=q;u.elements=r;};})();d.elementPath.prototype={compare:function(l){var m=this.elements,n=l&&l.elements;if(!n||m.length!=n.length)return false;for(var o=0;o<m.length;o++){if(!m[o].equals(n[o]))return false;}return true;},contains:function(l){var m=this.elements;for(var n=0;n<m.length;n++){if(m[n].getName() in l)return m[n];}return null;}};d.text=function(l,m){if(typeof l=='string')l=(m?m.$:document).createTextNode(l);this.$=l;};d.text.prototype=new d.node();e.extend(d.text.prototype,{type:3,getLength:function(){return this.$.nodeValue.length;},getText:function(){return this.$.nodeValue;},split:function(l){var q=this;if(c&&l==q.getLength()){var m=q.getDocument().createText('');m.insertAfter(q);return m;}var n=q.getDocument(),o=new d.text(q.$.splitText(l),n);if(b.ie8){var p=new d.text('',n);p.insertAfter(o);p.remove();}return o;},substring:function(l,m){if(typeof m!='number')return this.$.nodeValue.substr(l);else return this.$.nodeValue.substring(l,m);}});d.documentFragment=function(l){l=l||a.document;this.$=l.$.createDocumentFragment();};e.extend(d.documentFragment.prototype,h.prototype,{type:11,insertAfterNode:function(l){l=l.$;l.parentNode.insertBefore(this.$,l.nextSibling);}},true,{append:1,appendBogus:1,getFirst:1,getLast:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});(function(){function l(t,u){if(this._.end)return null;var v,w=this.range,x,y=this.guard,z=this.type,A=t?'getPreviousSourceNode':'getNextSourceNode';if(!this._.start){this._.start=1;w.trim();if(w.collapsed){this.end();return null;}}if(!t&&!this._.guardLTR){var B=w.endContainer,C=B.getChild(w.endOffset);this._.guardLTR=function(G,H){return(!H||!B.equals(G))&&(!C||!G.equals(C))&&(G.type!=1||!H||G.getName()!='body');};}if(t&&!this._.guardRTL){var D=w.startContainer,E=w.startOffset>0&&D.getChild(w.startOffset-1);this._.guardRTL=function(G,H){return(!H||!D.equals(G))&&(!E||!G.equals(E))&&(G.type!=1||!H||G.getName()!='body');};}var F=t?this._.guardRTL:this._.guardLTR;if(y)x=function(G,H){if(F(G,H)===false)return false;return y(G,H);};else x=F;if(this.current)v=this.current[A](false,z,x);else if(t){v=w.endContainer;if(w.endOffset>0){v=v.getChild(w.endOffset-1);if(x(v)===false)v=null;}else v=x(v,true)===false?null:v.getPreviousSourceNode(true,z,x);}else{v=w.startContainer;\r
-v=v.getChild(w.startOffset);if(v){if(x(v)===false)v=null;}else v=x(w.startContainer,true)===false?null:w.startContainer.getNextSourceNode(true,z,x);}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!u)return v;}else if(u&&this.evaluator)return false;v=v[A](false,z,x);}this.end();return this.current=null;};function m(t){var u,v=null;while(u=l.call(this,t))v=u;return v;};d.walker=e.createClass({$:function(t){this.range=t;this._={};},proto:{end:function(){this._.end=1;},next:function(){return l.call(this);},previous:function(){return l.call(this,true);},checkForward:function(){return l.call(this,false,true)!==false;},checkBackward:function(){return l.call(this,true,true)!==false;},lastForward:function(){return m.call(this);},lastBackward:function(){return m.call(this,true);},reset:function(){delete this.current;this._={};}}});var n={block:1,'list-item':1,table:1,'table-row-group':1,'table-header-group':1,'table-footer-group':1,'table-row':1,'table-column-group':1,'table-column':1,'table-cell':1,'table-caption':1},o={hr:1};h.prototype.isBlockBoundary=function(t){var u=e.extend({},o,t||{});return n[this.getComputedStyle('display')]||u[this.getName()];};d.walker.blockBoundary=function(t){return function(u,v){return!(u.type==1&&u.isBlockBoundary(t));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(t,u){function v(w){return w&&w.getName&&w.getName()=='span'&&w.hasAttribute('_cke_bookmark');};return function(w){var x,y;x=w&&!w.getName&&(y=w.getParent())&&v(y);x=t?x:x||v(w);return u^x;};};d.walker.whitespaces=function(t){return function(u){var v=u&&u.type==3&&!e.trim(u.getText());return t^v;};};d.walker.invisible=function(t){var u=d.walker.whitespaces();return function(v){var w=u(v)||v.is&&!v.$.offsetHeight;return t^w;};};var p=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,q=d.walker.whitespaces(true),r=d.walker.bookmark(false,true),s=function(t){return r(t)&&q(t);};h.prototype.getBogus=function(){var t=this.getLast(s);if(t&&(!c?t.is&&t.is('br'):t.getText&&p.test(t.getText())))return t;return false;};})();d.range=function(l){var m=this;m.startContainer=null;m.startOffset=null;m.endContainer=null;m.endOffset=null;m.collapsed=true;m.document=l;};(function(){var l=function(t){t.collapsed=t.startContainer&&t.endContainer&&t.startContainer.equals(t.endContainer)&&t.startOffset==t.endOffset;},m=function(t,u,v){t.optimizeBookmark();var w=t.startContainer,x=t.endContainer,y=t.startOffset,z=t.endOffset,A,B;\r
-if(x.type==3)x=x.split(z);else if(x.getChildCount()>0)if(z>=x.getChildCount()){x=x.append(t.document.createText(''));B=true;}else x=x.getChild(z);if(w.type==3){w.split(y);if(w.equals(x))x=w.getNext();}else if(!y){w=w.getFirst().insertBeforeMe(t.document.createText(''));A=true;}else if(y>=w.getChildCount()){w=w.append(t.document.createText(''));A=true;}else w=w.getChild(y).getPrevious();var C=w.getParents(),D=x.getParents(),E,F,G;for(E=0;E<C.length;E++){F=C[E];G=D[E];if(!F.equals(G))break;}var H=v,I,J,K,L;for(var M=E;M<C.length;M++){I=C[M];if(H&&!I.equals(w))J=H.append(I.clone());K=I.getNext();while(K){if(K.equals(D[M])||K.equals(x))break;L=K.getNext();if(u==2)H.append(K.clone(true));else{K.remove();if(u==1)H.append(K);}K=L;}if(H)H=J;}H=v;for(var N=E;N<D.length;N++){I=D[N];if(u>0&&!I.equals(x))J=H.append(I.clone());if(!C[N]||I.$.parentNode!=C[N].$.parentNode){K=I.getPrevious();while(K){if(K.equals(C[N])||K.equals(w))break;L=K.getPrevious();if(u==2)H.$.insertBefore(K.$.cloneNode(true),H.$.firstChild);else{K.remove();if(u==1)H.$.insertBefore(K.$,H.$.firstChild);}K=L;}}if(H)H=J;}if(u==2){var O=t.startContainer;if(O.type==3){O.$.data+=O.$.nextSibling.data;O.$.parentNode.removeChild(O.$.nextSibling);}var P=t.endContainer;if(P.type==3&&P.$.nextSibling){P.$.data+=P.$.nextSibling.data;P.$.parentNode.removeChild(P.$.nextSibling);}}else{if(F&&G&&(w.$.parentNode!=F.$.parentNode||x.$.parentNode!=G.$.parentNode)){var Q=G.getIndex();if(A&&G.$.parentNode==w.$.parentNode)Q--;t.setStart(G.getParent(),Q);}t.collapse(true);}if(A)w.remove();if(B&&x.$.parentNode)x.remove();},n={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1};function o(t){var u=false,v=d.walker.bookmark(true);return function(w){if(v(w))return true;if(w.type==3){if(e.trim(w.getText()).length)return false;}else if(w.type==1)if(!n[w.getName()])if(!t&&!c&&w.getName()=='br'&&!u)u=true;else return false;return true;};};function p(t){return t.type!=3&&t.getName() in f.$removeEmpty||!e.trim(t.getText())||t.getParent().hasAttribute('_cke_bookmark');};var q=new d.walker.whitespaces(),r=new d.walker.bookmark();function s(t){return!q(t)&&!r(t);};d.range.prototype={clone:function(){var u=this;var t=new d.range(u.document);t.startContainer=u.startContainer;t.startOffset=u.startOffset;t.endContainer=u.endContainer;t.endOffset=u.endOffset;t.collapsed=u.collapsed;return t;},collapse:function(t){var u=this;if(t){u.endContainer=u.startContainer;\r
-u.endOffset=u.startOffset;}else{u.startContainer=u.endContainer;u.startOffset=u.endOffset;}u.collapsed=true;},cloneContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,t);return t;},deleteContents:function(){if(this.collapsed)return;m(this,0);},extractContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,t);return t;},createBookmark:function(t){var z=this;var u,v,w,x,y=z.collapsed;u=z.document.createElement('span');u.setAttribute('_cke_bookmark',1);u.setStyle('display','none');u.setHtml('&nbsp;');if(t){w='cke_bm_'+e.getNextNumber();u.setAttribute('id',w+'S');}if(!y){v=u.clone();v.setHtml('&nbsp;');if(t)v.setAttribute('id',w+'E');x=z.clone();x.collapse();x.insertNode(v);}x=z.clone();x.collapse(true);x.insertNode(u);if(v){z.setStartAfter(u);z.setEndBefore(v);}else z.moveToPosition(u,4);return{startNode:t?w+'S':u,endNode:t?w+'E':v,serializable:t,collapsed:y};},createBookmark2:function(t){var B=this;var u=B.startContainer,v=B.endContainer,w=B.startOffset,x=B.endOffset,y=B.collapsed,z,A;if(!u||!v)return{start:0,end:0};if(t){if(u.type==1){z=u.getChild(w);if(z&&z.type==3&&w>0&&z.getPrevious().type==3){u=z;w=0;}}while(u.type==3&&(A=u.getPrevious())&&A.type==3){u=A;w+=A.getLength();}if(!y){if(v.type==1){z=v.getChild(x);if(z&&z.type==3&&x>0&&z.getPrevious().type==3){v=z;x=0;}}while(v.type==3&&(A=v.getPrevious())&&A.type==3){v=A;x+=A.getLength();}}}return{start:u.getAddress(t),end:y?null:v.getAddress(t),startOffset:w,endOffset:x,normalized:t,collapsed:y,is2:true};},moveToBookmark:function(t){var B=this;if(t.is2){var u=B.document.getByAddress(t.start,t.normalized),v=t.startOffset,w=t.end&&B.document.getByAddress(t.end,t.normalized),x=t.endOffset;B.setStart(u,v);if(w)B.setEnd(w,x);else B.collapse(true);}else{var y=t.serializable,z=y?B.document.getById(t.startNode):t.startNode,A=y?B.document.getById(t.endNode):t.endNode;B.setStartBefore(z);z.remove();if(A){B.setEndBefore(A);A.remove();}else B.collapse(true);}},getBoundaryNodes:function(){var y=this;var t=y.startContainer,u=y.endContainer,v=y.startOffset,w=y.endOffset,x;if(t.type==1){x=t.getChildCount();if(x>v)t=t.getChild(v);else if(x<1)t=t.getPreviousSourceNode();else{t=t.$;while(t.lastChild)t=t.lastChild;t=new d.node(t);t=t.getNextSourceNode()||t;}}if(u.type==1){x=u.getChildCount();if(x>w)u=u.getChild(w).getPreviousSourceNode(true);else if(x<1)u=u.getPreviousSourceNode();else{u=u.$;while(u.lastChild)u=u.lastChild;u=new d.node(u);}}if(t.getPosition(u)&2)t=u;\r
-return{startNode:t,endNode:u};},getCommonAncestor:function(t,u){var y=this;var v=y.startContainer,w=y.endContainer,x;if(v.equals(w)){if(t&&v.type==1&&y.startOffset==y.endOffset-1)x=v.getChild(y.startOffset);else x=v;}else x=v.getCommonAncestor(w);return u&&!x.is?x.getParent():x;},optimize:function(){var v=this;var t=v.startContainer,u=v.startOffset;if(t.type!=1)if(!u)v.setStartBefore(t);else if(u>=t.getLength())v.setStartAfter(t);t=v.endContainer;u=v.endOffset;if(t.type!=1)if(!u)v.setEndBefore(t);else if(u>=t.getLength())v.setEndAfter(t);},optimizeBookmark:function(){var v=this;var t=v.startContainer,u=v.endContainer;if(t.is&&t.is('span')&&t.hasAttribute('_cke_bookmark'))v.setStartAt(t,3);if(u&&u.is&&u.is('span')&&u.hasAttribute('_cke_bookmark'))v.setEndAt(u,4);},trim:function(t,u){var B=this;var v=B.startContainer,w=B.startOffset,x=B.collapsed;if((!t||x)&&v&&v.type==3){if(!w){w=v.getIndex();v=v.getParent();}else if(w>=v.getLength()){w=v.getIndex()+1;v=v.getParent();}else{var y=v.split(w);w=v.getIndex()+1;v=v.getParent();if(B.startContainer.equals(B.endContainer))B.setEnd(y,B.endOffset-B.startOffset);else if(v.equals(B.endContainer))B.endOffset+=1;}B.setStart(v,w);if(x){B.collapse(true);return;}}var z=B.endContainer,A=B.endOffset;if(!(u||x)&&z&&z.type==3){if(!A){A=z.getIndex();z=z.getParent();}else if(A>=z.getLength()){A=z.getIndex()+1;z=z.getParent();}else{z.split(A);A=z.getIndex()+1;z=z.getParent();}B.setEnd(z,A);}},enlarge:function(t){switch(t){case 1:if(this.collapsed)return;var u=this.getCommonAncestor(),v=this.document.getBody(),w,x,y,z,A,B=false,C,D,E=this.startContainer,F=this.startOffset;if(E.type==3){if(F){E=!e.trim(E.substring(0,F)).length&&E;B=!!E;}if(E)if(!(z=E.getPrevious()))y=E.getParent();}else{if(F)z=E.getChild(F-1)||E.getLast();if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)w=y;else this.setStartBefore(y);}z=y.getPrevious();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/[\s\ufeff]$/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;else{var G=z.$.all||z.$.getElementsByTagName('*');for(var H=0,I;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B){if(A)w=y;else if(y)this.setStartBefore(y);}else B=true;if(z){var J=z.getPrevious();if(!y&&!J){y=z;z=null;break;\r
-}z=J;}else y=null;}if(y)y=y.getParent();}E=this.endContainer;F=this.endOffset;y=z=null;A=B=false;if(E.type==3){E=!e.trim(E.substring(F)).length&&E;B=!(E&&E.getLength());if(E)if(!(z=E.getNext()))y=E.getParent();}else{z=E.getChild(F);if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)x=y;else if(y)this.setEndAfter(y);}z=y.getNext();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/^[\s\ufeff]/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;else{G=z.$.all||z.$.getElementsByTagName('*');for(H=0;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B)if(A)x=y;else this.setEndAfter(y);if(z){J=z.getNext();if(!y&&!J){y=z;z=null;break;}z=J;}else y=null;}if(y)y=y.getParent();}if(w&&x){u=w.contains(x)?x:w;this.setStartBefore(u);this.setEndAfter(u);}break;case 2:case 3:var K=new d.range(this.document);v=this.document.getBody();K.setStartAt(v,1);K.setEnd(this.startContainer,this.startOffset);var L=new d.walker(K),M,N,O=d.walker.blockBoundary(t==3?{br:1}:null),P=function(R){var S=O(R);if(!S)M=R;return S;},Q=function(R){var S=P(R);if(!S&&R.is&&R.is('br'))N=R;return S;};L.guard=P;y=L.lastBackward();M=M||v;this.setStartAt(M,!M.is('br')&&(!y&&this.checkStartOfBlock()||y&&M.contains(y))?1:4);K=this.clone();K.collapse();K.setEndAt(v,2);L=new d.walker(K);L.guard=t==3?Q:P;M=null;y=L.lastForward();M=M||v;this.setEndAt(M,!y&&this.checkEndOfBlock()||y&&M.contains(y)?2:3);if(N)this.setEndAfter(N);}},shrink:function(t,u){if(!this.collapsed){t=t||2;var v=this.clone(),w=this.startContainer,x=this.endContainer,y=this.startOffset,z=this.endOffset,A=this.collapsed,B=1,C=1;if(w&&w.type==3)if(!y)v.setStartBefore(w);else if(y>=w.getLength())v.setStartAfter(w);else{v.setStartBefore(w);B=0;}if(x&&x.type==3)if(!z)v.setEndBefore(x);else if(z>=x.getLength())v.setEndAfter(x);else{v.setEndAfter(x);C=0;}var D=new d.walker(v);D.evaluator=function(H){return H.type==(t==1?1:3);};var E;D.guard=function(H,I){if(t==1&&H.type==3)return false;if(I&&H.equals(E))return false;if(!I&&H.type==1)E=H;return true;};if(B){var F=D[t==1?'lastForward':'next']();F&&this.setStartAt(F,u?1:3);}if(C){D.reset();var G=D[t==1?'lastBackward':'previous']();G&&this.setEndAt(G,u?2:4);}return!!(B||C);}},insertNode:function(t){var x=this;x.optimizeBookmark();\r
-x.trim(false,true);var u=x.startContainer,v=x.startOffset,w=u.getChild(v);if(w)t.insertBefore(w);else u.append(t);if(t.getParent().equals(x.endContainer))x.endOffset++;x.setStartBefore(t);},moveToPosition:function(t,u){this.setStartAt(t,u);this.collapse(true);},selectNodeContents:function(t){this.setStart(t,0);this.setEnd(t,t.type==3?t.getLength():t.getChildCount());},setStart:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])t=t.getParent(),u=t.getIndex();v.startContainer=t;v.startOffset=u;if(!v.endContainer){v.endContainer=t;v.endOffset=u;}l(v);},setEnd:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])t=t.getParent(),u=t.getIndex()+1;v.endContainer=t;v.endOffset=u;if(!v.startContainer){v.startContainer=t;v.startOffset=u;}l(v);},setStartAfter:function(t){this.setStart(t.getParent(),t.getIndex()+1);},setStartBefore:function(t){this.setStart(t.getParent(),t.getIndex());},setEndAfter:function(t){this.setEnd(t.getParent(),t.getIndex()+1);},setEndBefore:function(t){this.setEnd(t.getParent(),t.getIndex());},setStartAt:function(t,u){var v=this;switch(u){case 1:v.setStart(t,0);break;case 2:if(t.type==3)v.setStart(t,t.getLength());else v.setStart(t,t.getChildCount());break;case 3:v.setStartBefore(t);break;case 4:v.setStartAfter(t);}l(v);},setEndAt:function(t,u){var v=this;switch(u){case 1:v.setEnd(t,0);break;case 2:if(t.type==3)v.setEnd(t,t.getLength());else v.setEnd(t,t.getChildCount());break;case 3:v.setEndBefore(t);break;case 4:v.setEndAfter(t);}l(v);},fixBlock:function(t,u){var x=this;var v=x.createBookmark(),w=x.document.createElement(u);x.collapse(t);x.enlarge(2);x.extractContents().appendTo(w);w.trim();if(!c)w.appendBogus();x.insertNode(w);x.moveToBookmark(v);return w;},splitBlock:function(t){var D=this;var u=new d.elementPath(D.startContainer),v=new d.elementPath(D.endContainer),w=u.blockLimit,x=v.blockLimit,y=u.block,z=v.block,A=null;if(!w.equals(x))return null;if(t!='br'){if(!y){y=D.fixBlock(true,t);z=new d.elementPath(D.endContainer).block;}if(!z)z=D.fixBlock(false,t);}var B=y&&D.checkStartOfBlock(),C=z&&D.checkEndOfBlock();D.deleteContents();if(y&&y.equals(z))if(C){A=new d.elementPath(D.startContainer);D.moveToPosition(z,4);z=null;}else if(B){A=new d.elementPath(D.startContainer);D.moveToPosition(y,3);y=null;}else{z=D.splitElement(y);if(!c&&!y.is('ul','ol'))y.appendBogus();}return{previousBlock:y,nextBlock:z,wasStartOfBlock:B,wasEndOfBlock:C,elementPath:A};},splitElement:function(t){var w=this;if(!w.collapsed)return null;w.setEndAt(t,2);\r
-var u=w.extractContents(),v=t.clone(false);u.appendTo(v);v.insertAfter(t);w.moveToPosition(t,4);return v;},checkBoundaryOfElement:function(t,u){var v=u==1,w=this.clone();w.collapse(v);w[v?'setStartAt':'setEndAt'](t,v?1:2);var x=new d.walker(w);x.evaluator=p;return x[v?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var z=this;var t=z.startContainer,u=z.startOffset;if(u&&t.type==3){var v=e.ltrim(t.substring(0,u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.startContainer),x=z.clone();x.collapse(true);x.setStartAt(w.block||w.blockLimit,1);var y=new d.walker(x);y.evaluator=o(true);return y.checkBackward();},checkEndOfBlock:function(){var z=this;var t=z.endContainer,u=z.endOffset;if(t.type==3){var v=e.rtrim(t.substring(u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.endContainer),x=z.clone();x.collapse(false);x.setEndAt(w.block||w.blockLimit,2);var y=new d.walker(x);y.evaluator=o(false);return y.checkForward();},moveToElementEditablePosition:function(t,u){var v;if(f.$empty[t.getName()])return false;while(t&&t.type==1){v=t.isEditable();if(v)this.moveToPosition(t,u?2:1);else if(f.$inline[t.getName()]){this.moveToPosition(t,u?4:3);return true;}if(f.$empty[t.getName()])t=t[u?'getPrevious':'getNext'](s);else t=t[u?'getLast':'getFirst'](s);if(t&&t.type==3){this.moveToPosition(t,u?4:3);return true;}}return v;},moveToElementEditStart:function(t){return this.moveToElementEditablePosition(t);},moveToElementEditEnd:function(t){return this.moveToElementEditablePosition(t,true);},getEnclosedNode:function(){var t=this.clone();t.optimize();if(t.startContainer.type!=1||t.endContainer.type!=1)return null;var u=new d.walker(t),v=d.walker.bookmark(true),w=d.walker.whitespaces(true),x=function(z){return w(z)&&v(z);};t.evaluator=x;var y=u.next();u.reset();return y&&y.equals(u.previous())?y:null;},getTouchedStartNode:function(){var t=this.startContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.startOffset)||t;},getTouchedEndNode:function(){var t=this.endContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.endOffset-1)||t;}};})();a.POSITION_AFTER_START=1;a.POSITION_BEFORE_END=2;a.POSITION_BEFORE_START=3;a.POSITION_AFTER_END=4;a.ENLARGE_ELEMENT=1;a.ENLARGE_BLOCK_CONTENTS=2;a.ENLARGE_LIST_ITEM_CONTENTS=3;a.START=1;a.END=2;a.STARTEND=3;a.SHRINK_ELEMENT=1;a.SHRINK_TEXT=2;(function(){d.rangeList=function(n){if(n instanceof d.rangeList)return n;if(!n)n=[];else if(n instanceof d.range)n=[n];return e.extend(n,l);\r
-};var l={createIterator:function(){var n=this,o=[],p;return{getNextRange:function(){p=p==undefined?0:p+1;var q=n[p];if(q&&n.length>1)if(!p)for(var r=n.length-1;r>0;r--)o.unshift(n[r].createBookmark(true));else q.moveToBookmark(o.shift());return q;}};},createBookmarks:function(n){var s=this;var o=[],p;for(var q=0;q<s.length;q++){o.push(p=s[q].createBookmark(n,true));for(var r=q+1;r<s.length;r++){s[r]=m(p,s[r]);s[r]=m(p,s[r],true);}}return o;},createBookmarks2:function(n){var o=[];for(var p=0;p<this.length;p++)o.push(this[p].createBookmark2(n));return o;},moveToBookmarks:function(n){for(var o=0;o<this.length;o++)this[o].moveToBookmark(n[o]);}};function m(n,o,p){var q=n.serializable,r=o[p?'endContainer':'startContainer'],s=p?'endOffset':'startOffset',t=q?o.document.getById(n.startNode):n.startNode,u=q?o.document.getById(n.endNode):n.endNode;if(r.equals(t.getPrevious())){o.startOffset=o.startOffset-r.getLength()-u.getPrevious().getLength();r=u.getNext();}else if(r.equals(u.getPrevious())){o.startOffset=o.startOffset-r.getLength();r=u.getNext();}r.equals(t.getParent())&&o[s]++;r.equals(u.getParent())&&o[s]++;o[p?'endContainer':'startContainer']=r;return o;};})();(function(){if(b.webkit){b.hc=false;return;}var l=c&&b.version<7,m=c&&b.version==7,n=l?a.basePath+'images/spacer.gif':m?'about:blank':'data:image/png;base64,',o=h.createFromHtml('<div style="width:0px;height:0px;position:absolute;left:-10000px;background-image:url('+n+')"></div>',a.document);o.appendTo(a.document.getHead());try{b.hc=o.getComputedStyle('background-image')=='none';}catch(p){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';o.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0;m<l.length;m++)a.add(l[m]);}});a.skins.add('kama',(function(){var l=[],m='cke_ui_color';if(c&&b.version<7)l.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:l,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(n){if(n.config.width&&!isNaN(n.config.width))n.config.width-=12;var o=[],p=/\$color/g,q='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';\r
-if(b.webkit){q=q.split('}').slice(0,-1);for(var r=0;r<q.length;r++)q[r]=q[r].split('{');}function s(v){var w=v.getById(m);if(!w){w=v.getHead().append('style');w.setAttribute('id',m);w.setAttribute('type','text/css');}return w;};function t(v,w,x){var y,z,A;for(var B=0;B<v.length;B++){if(b.webkit)for(z=0;z<w.length;z++){A=w[z][1];for(y=0;y<x.length;y++)A=A.replace(x[y][0],x[y][1]);v[B].$.sheet.addRule(w[z][0],A);}else{A=w;for(y=0;y<x.length;y++)A=A.replace(x[y][0],x[y][1]);if(c)v[B].$.styleSheet.cssText+=A;else v[B].$.innerHTML+=A;}}};var u=/\$color/g;e.extend(n,{uiColor:null,getUiColor:function(){return this.uiColor;},setUiColor:function(v){var w,x=s(a.document),y='.cke_editor_'+e.escapeCssSelector(n.name),z=[y+' .cke_wrapper',y+'_dialog .cke_dialog_contents',y+'_dialog a.cke_dialog_tab',y+'_dialog .cke_dialog_footer'].join(','),A='background-color: $color !important;';if(b.webkit)w=[[z,A]];else w=z+'{'+A+'}';return(this.setUiColor=function(B){var C=[[u,B]];n.uiColor=B;t([x],w,C);t(o,q,C);})(v);}});n.on('menuShow',function(v){var w=v.data[0],x=w.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!x.getById('cke_ui_color')){var y=s(x);o.push(y);var z=n.getUiColor();if(z)t([y],q,[[u,z]]);}});if(n.config.uiColor)n.setUiColor(n.config.uiColor);}};})());(function(){a.dialog?l():a.on('dialogPluginReady',l);function l(){a.dialog.on('resize',function(m){var n=m.data,o=n.width,p=n.height,q=n.dialog,r=q.parts.contents;if(n.skin!='kama')return;r.setStyles({width:o+'px',height:p+'px'});setTimeout(function(){var s=q.parts.dialog.getChild([0,0,0]),t=s.getChild(0),u=s.getChild(2);u.setStyle('width',t.$.offsetWidth+'px');u=s.getChild(7);u.setStyle('width',t.$.offsetWidth-28+'px');u=s.getChild(4);u.setStyle('height',t.$.offsetHeight-31-14+'px');u=s.getChild(5);u.setStyle('height',t.$.offsetHeight-31-14+'px');},100);});};})();j.add('about',{requires:['dialog'],init:function(l){var m=l.addCommand('about',new a.dialogCommand('about'));m.modes={wysiwyg:1,source:1};m.canUndo=false;l.ui.addButton('About',{label:l.lang.about.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});(function(){var l='a11yhelp',m='a11yHelp';j.add(l,{availableLangs:{en:1,he:1},init:function(n){var o=this;n.addCommand(m,{exec:function(){var p=n.langCode;p=o.availableLangs[p]?p:'en';a.scriptLoader.load(a.getUrl(o.path+'lang/'+p+'.js'),function(){e.extend(n.lang,o.lang[p]);n.openDialog(m);});},modes:{wysiwyg:1,source:1},canUndo:false});a.dialog.add(m,this.path+'dialogs/a11yhelp.js');\r
-}});})();j.add('basicstyles',{requires:['styles','button'],init:function(l){var m=function(p,q,r,s){var t=new a.style(s);l.attachStyleStateChange(t,function(u){l.getCommand(r).setState(u);});l.addCommand(r,new a.styleCommand(t));l.ui.addButton(p,{label:q,command:r});},n=l.config,o=l.lang;m('Bold',o.bold,'bold',n.coreStyles_bold);m('Italic',o.italic,'italic',n.coreStyles_italic);m('Underline',o.underline,'underline',n.coreStyles_underline);m('Strike',o.strike,'strike',n.coreStyles_strike);m('Subscript',o.subscript,'subscript',n.coreStyles_subscript);m('Superscript',o.superscript,'superscript',n.coreStyles_superscript);}});i.coreStyles_bold={element:'strong',overrides:'b'};i.coreStyles_italic={element:'em',overrides:'i'};i.coreStyles_underline={element:'u'};i.coreStyles_strike={element:'strike'};i.coreStyles_subscript={element:'sub'};i.coreStyles_superscript={element:'sup'};(function(){var l={table:1,ul:1,ol:1,blockquote:1,div:1},m={};e.extend(m,l,{tr:1,p:1,div:1,li:1});function n(r){var s=r.editor,t=r.data.path,u=s.config.useComputedState,v;u=u===undefined||u;if(u){var w=s.getSelection(),x=w.getRanges();v=x&&x[0].getEnclosedNode();if(!v||v&&!(v.type==1&&v.getName() in m))v=p(w,l);}v=v||t.block||t.blockLimit;if(!v||v.getName()=='body')return;var y=u?v.getComputedStyle('direction'):v.getStyle('direction')||v.getAttribute('dir');s.getCommand('bidirtl').setState(y=='rtl'?1:2);s.getCommand('bidiltr').setState(y=='ltr'?1:2);var z=s.container.getChild(1);if(y!=s.lang.dir)z.addClass('cke_mixed_dir_content');else z.removeClass('cke_mixed_dir_content');};function o(r,s,t){var u=r.getComputedStyle('direction'),v=r.getStyle('direction')||r.getAttribute('dir')||'';r.removeStyle('direction');if(v.toLowerCase()==s)r.removeAttribute('dir');else r.setAttribute('dir',s);var w=r.getComputedStyle('direction');if(w!=u){var x=new d.range(r.getDocument());x.setStartBefore(r);x.setEndAfter(r);var y=new d.walker(x),z;while(z=y.next()){if(z.type==1){if(!z.equals(r)&&z.hasAttribute('dir')){x.setStartAfter(z);y=new d.walker(x);continue;}var A=z.getStyle('margin-right'),B=z.getStyle('margin-left');A?z.setStyle('margin-left',A):z.removeStyle('margin-left');B?z.setStyle('margin-right',B):z.removeStyle('margin-right');}}}t.forceNextSelectionCheck();};function p(r,s){var t=r.getCommonAncestor();while(t.type==1&&!(t.getName() in s)&&t.getParent().getChildCount()==1)t=t.getParent();return t.type==1&&t.getName() in s&&t;};function q(r){return function(s){var t=s.getSelection(),u=s.config.enterMode,v=t.getRanges();\r
-if(v&&v.length){var w=v[0].getEnclosedNode();if(!w||w&&!(w.type==1&&w.getName() in m))w=p(t,l);if(w){if(!w.isReadOnly())o(w,r,s);}else{var x=t.createBookmarks(),y,z;for(var A=v.length-1;A>=0;A--){var B=[],C=new d.walker(v[A]);C.evaluator=function(G){return G.type==1&&G.getName() in l&&!(G.getName()==(u==1)?'p':'div'&&G.getParent().type==1&&G.getParent().getName()=='blockquote');};while(z=C.next()){o(z,r,s);B.push(z);}y=v[A].createIterator();y.enlargeBr=u!=2;while(z=y.getNextParagraph(u==1?'p':'div')){if(z.isReadOnly())continue;var D=0;for(var E=0;E<B.length;E++){var F=z.getParent();while(F&&F.getName()!='body'){if(F.$.isSameNode&&F.$.isSameNode(B[E].$)||F.$==B[E].$){D=1;break;}F=F.getParent();}if(D)break;}if(!D)o(z,r,s);}}s.forceNextSelectionCheck();t.selectBookmarks(x);}s.focus();}};};j.add('bidi',{requires:['styles','button'],init:function(r){var s=function(u,v,w,x){r.addCommand(w,new a.command(r,{exec:x}));r.ui.addButton(u,{label:v,command:w});},t=r.lang.bidi;s('BidiLtr',t.ltr,'bidiltr',q('ltr'));s('BidiRtl',t.rtl,'bidirtl',q('rtl'));r.on('selectionChange',n);}});})();(function(){function l(p,q){var r=q.block||q.blockLimit;if(!r||r.getName()=='body')return 2;if(r.getAscendant('blockquote',true))return 1;return 2;};function m(p){var q=p.editor,r=q.getCommand('blockquote');r.state=l(q,p.data.path);r.fire('state');};function n(p){for(var q=0,r=p.getChildCount(),s;q<r&&(s=p.getChild(q));q++){if(s.type==1&&s.isBlockBoundary())return false;}return true;};var o={exec:function(p){var q=p.getCommand('blockquote').state,r=p.getSelection(),s=r&&r.getRanges(true)[0];if(!s)return;var t=r.createBookmarks();if(c){var u=t[0].startNode,v=t[0].endNode,w;if(u&&u.getParent().getName()=='blockquote'){w=u;while(w=w.getNext()){if(w.type==1&&w.isBlockBoundary()){u.move(w,true);break;}}}if(v&&v.getParent().getName()=='blockquote'){w=v;while(w=w.getPrevious()){if(w.type==1&&w.isBlockBoundary()){v.move(w);break;}}}}var x=s.createIterator(),y;if(q==2){var z=[];while(y=x.getNextParagraph())z.push(y);if(z.length<1){var A=p.document.createElement(p.config.enterMode==1?'p':'div'),B=t.shift();s.insertNode(A);A.append(new d.text('\ufeff',p.document));s.moveToBookmark(B);s.selectNodeContents(A);s.collapse(true);B=s.createBookmark();z.push(A);t.unshift(B);}var C=z[0].getParent(),D=[];for(var E=0;E<z.length;E++){y=z[E];C=C.getCommonAncestor(y.getParent());}var F={table:1,tbody:1,tr:1,ol:1,ul:1};while(F[C.getName()])C=C.getParent();var G=null;while(z.length>0){y=z.shift();while(!y.getParent().equals(C))y=y.getParent();\r
-if(!y.equals(G))D.push(y);G=y;}while(D.length>0){y=D.shift();if(y.getName()=='blockquote'){var H=new d.documentFragment(p.document);while(y.getFirst()){H.append(y.getFirst().remove());z.push(H.getLast());}H.replace(y);}else z.push(y);}var I=p.document.createElement('blockquote');I.insertBefore(z[0]);while(z.length>0){y=z.shift();I.append(y);}}else if(q==1){var J=[],K={};while(y=x.getNextParagraph()){var L=null,M=null;while(y.getParent()){if(y.getParent().getName()=='blockquote'){L=y.getParent();M=y;break;}y=y.getParent();}if(L&&M&&!M.getCustomData('blockquote_moveout')){J.push(M);h.setMarker(K,M,'blockquote_moveout',true);}}h.clearAllMarkers(K);var N=[],O=[];K={};while(J.length>0){var P=J.shift();I=P.getParent();if(!P.getPrevious())P.remove().insertBefore(I);else if(!P.getNext())P.remove().insertAfter(I);else{P.breakParent(P.getParent());O.push(P.getNext());}if(!I.getCustomData('blockquote_processed')){O.push(I);h.setMarker(K,I,'blockquote_processed',true);}N.push(P);}h.clearAllMarkers(K);for(E=O.length-1;E>=0;E--){I=O[E];if(n(I))I.remove();}if(p.config.enterMode==2){var Q=true;while(N.length){P=N.shift();if(P.getName()=='div'){H=new d.documentFragment(p.document);var R=Q&&P.getPrevious()&&!(P.getPrevious().type==1&&P.getPrevious().isBlockBoundary());if(R)H.append(p.document.createElement('br'));var S=P.getNext()&&!(P.getNext().type==1&&P.getNext().isBlockBoundary());while(P.getFirst())P.getFirst().remove().appendTo(H);if(S)H.append(p.document.createElement('br'));H.replace(P);Q=false;}}}}r.selectBookmarks(t);p.focus();}};j.add('blockquote',{init:function(p){p.addCommand('blockquote',o);p.ui.addButton('Blockquote',{label:p.lang.blockquote,command:'blockquote'});p.on('selectionChange',m);},requires:['domiterator']});})();j.add('button',{beforeInit:function(l){l.ui.addHandler(1,k.button.handler);}});a.UI_BUTTON=1;k.button=function(l){e.extend(this,l,{title:l.label,className:l.className||l.command&&'cke_button_'+l.command||'',click:l.click||(function(m){m.execCommand(l.command);})});this._={};};k.button.handler={create:function(l){return new k.button(l);}};k.button.prototype={canGroup:true,render:function(l,m){var n=b,o=this._.id='cke_'+e.getNextNumber(),p='',q=this.command,r,s;this._.editor=l;var t={id:o,button:this,editor:l,focus:function(){var v=a.document.getById(o);v.focus();},execute:function(){this.button.click(l);}};t.clickFn=r=e.addFunction(t.execute,t);t.index=s=k.button._.instances.push(t)-1;if(this.modes)l.on('mode',function(){this.setState(this.modes[l.mode]?2:0);\r
-},this);else if(q){q=l.getCommand(q);if(q){q.on('state',function(){this.setState(q.state);},this);p+='cke_'+(q.state==1?'on':q.state==0?'disabled':'off');}}if(!q)p+='cke_off';if(this.className)p+=' '+this.className;m.push('<span class="cke_button">','<a id="',o,'" class="',p,'"',n.gecko&&n.version>=10900&&!n.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+o+'_label"'+(this.hasArrow?' aria-haspopup="true"':''));if(n.opera||n.gecko&&n.mac)m.push(' onkeypress="return false;"');if(n.gecko)m.push(' onblur="this.style.cssText = this.style.cssText;"');m.push(' onkeydown="return CKEDITOR.ui.button._.keydown(',s,', event);" onfocus="return CKEDITOR.ui.button._.focus(',s,', event);" onclick="CKEDITOR.tools.callFunction(',r,', this); return false;"><span class="cke_icon"');if(this.icon){var u=(this.iconOffset||0)*-16;m.push(' style="background-image:url(',a.getUrl(this.icon),');background-position:0 '+u+'px;"');}m.push('>&nbsp;</span><span id="',o,'_label" class="cke_label">',this.label,'</span>');if(this.hasArrow)m.push('<span class="cke_buttonarrow">'+(b.hc?'&#9660;':'&nbsp;')+'</span>');m.push('</a>','</span>');if(this.onRender)this.onRender();return t;},setState:function(l){if(this._.state==l)return false;this._.state=l;var m=a.document.getById(this._.id);if(m){m.setState(l);l==0?m.setAttribute('aria-disabled',true):m.removeAttribute('aria-disabled');l==1?m.setAttribute('aria-pressed',true):m.removeAttribute('aria-pressed');return true;}else return false;}};k.button._={instances:[],keydown:function(l,m){var n=k.button._.instances[l];if(n.onkey){m=new d.event(m);return n.onkey(n,m.getKeystroke())!==false;}},focus:function(l,m){var n=k.button._.instances[l],o;if(n.onfocus)o=n.onfocus(n,new d.event(m))!==false;if(b.gecko&&b.version<10900)m.preventBubble();return o;}};k.prototype.addButton=function(l,m){this.add(l,1,m);};a.on('reset',function(){k.button._.instances=[];});(function(){var l=function(s,t){var u=s.document,v=u.getBody(),w=false,x=function(){w=true;};v.on(t,x);(b.version>7?u.$:u.$.selection.createRange()).execCommand(t);v.removeListener(t,x);return w;},m=c?function(s,t){return l(s,t);}:function(s,t){try{return s.document.$.execCommand(t);}catch(u){return false;}},n=function(s){this.type=s;this.canUndo=this.type=='cut';};n.prototype={exec:function(s,t){this.type=='cut'&&r(s);var u=m(s,this.type);if(!u)alert(s.lang.clipboard[this.type+'Error']);\r
-return u;}};var o={canUndo:false,exec:c?function(s){s.focus();if(!s.document.getBody().fire('beforepaste')&&!l(s,'paste')){s.fire('pasteDialog');return false;}}:function(s){try{if(!s.document.getBody().fire('beforepaste')&&!s.document.$.execCommand('Paste',false,null))throw 0;}catch(t){setTimeout(function(){s.fire('pasteDialog');},0);return false;}}},p=function(s){if(this.mode!='wysiwyg')return;switch(s.data.keyCode){case 1000+86:case 2000+45:var t=this.document.getBody();if(!c&&t.fire('beforepaste'))s.cancel();else if(b.opera||b.gecko&&b.version<10900)t.fire('paste');return;case 1000+88:case 2000+46:var u=this;this.fire('saveSnapshot');setTimeout(function(){u.fire('saveSnapshot');},0);}};function q(s,t,u){var v=this.document;if(c&&v.getById('cke_pastebin'))return;if(t=='text'&&s.data&&s.data.$.clipboardData){var w=s.data.$.clipboardData.getData('text/plain');if(w){s.data.preventDefault();u(w);return;}}var x=this.getSelection(),y=new d.range(v),z=new h(t=='text'?'textarea':b.webkit?'body':'div',v);z.setAttribute('id','cke_pastebin');b.webkit&&z.append(v.createText('\xa0'));v.getBody().append(z);z.setStyles({position:'absolute',top:x.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});z.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var A=x.createBookmarks();if(t=='text'){if(c){var B=v.getBody().$.createTextRange();B.moveToElementText(z.$);B.execCommand('Paste');s.data.preventDefault();}else{v.$.designMode='off';z.$.focus();}}else{y.setStartAt(z,1);y.setEndAt(z,2);y.select(true);}window.setTimeout(function(){t=='text'&&!c&&(v.$.designMode='on');z.remove();var C;z=b.webkit&&(C=z.getFirst())&&C.is&&C.hasClass('Apple-style-span')?C:z;x.selectBookmarks(A);u(z['get'+(t=='text'?'Value':'Html')]());},0);};function r(s){if(!c||s.document.$.compatMode=='BackCompat')return;var t=s.getSelection(),u;if(t.getType()==3&&(u=t.getSelectedElement())){var v=t.getRanges()[0],w=s.document.createText('');w.insertBefore(u);v.setStartBefore(w);v.setEndAfter(u);t.selectRanges([v]);setTimeout(function(){if(u.getParent()){w.remove();t.selectElement(u);}},0);}};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(s){s.on('paste',function(x){var y=x.data;if(y.html)s.insertHtml(y.html);else if(y.text)s.insertText(y.text);},null,null,1000);s.on('pasteDialog',function(x){setTimeout(function(){s.openDialog('paste');},0);});function t(x,y,z,A){var B=s.lang[y];s.addCommand(y,z);s.ui.addButton(x,{label:B,command:y});\r
-if(s.addMenuItems)s.addMenuItem(y,{label:B,command:y,group:'clipboard',order:A});};t('Cut','cut',new n('cut'),1);t('Copy','copy',new n('copy'),4);t('Paste','paste',o,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));s.on('key',p,s);var u=s.config.forcePasteAsPlainText?'text':'html';s.on('contentDom',function(){var x=s.document.getBody();x.on(u=='text'&&c||b.webkit?'paste':'beforepaste',function(y){if(v)return;q.call(s,y,u,function(z){if(!z)return;var A={};A[u]=z;s.fire('paste',A);});});x.on('beforecut',function(){!v&&r(s);});});if(s.contextMenu){var v;function w(x){c&&(v=1);var y=s.document.$.queryCommandEnabled(x)?2:0;v=0;return y;};s.contextMenu.addListener(function(x,y){var z=y.getCommonAncestor().isReadOnly();return{cut:!z&&w('Cut'),copy:w('Copy'),paste:!z&&(b.webkit?2:w('Paste'))};});}}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(l){var m=l.config,n=l.lang.colorButton,o;if(!b.hc){p('TextColor','fore',n.textColorTitle);p('BGColor','back',n.bgColorTitle);}function p(r,s,t){l.ui.add(r,4,{label:t,title:t,className:'cke_button_'+r.toLowerCase(),modes:{wysiwyg:1},panel:{css:l.skin.editor.css,attributes:{role:'listbox','aria-label':n.panelTitle}},onBlock:function(u,v){v.autoSize=true;v.element.addClass('cke_colorblock');v.element.setHtml(q(u,s));v.element.getDocument().getBody().setStyle('overflow','hidden');var w=v.keys,x=l.lang.dir=='rtl';w[x?37:39]='next';w[40]='next';w[9]='next';w[x?39:37]='prev';w[38]='prev';w[2000+9]='prev';w[32]='click';}});};function q(r,s){var t=[],u=m.colorButton_colors.split(','),v=u.length+(m.colorButton_enableMore?2:1),w=e.addFunction(function(C,D){if(C=='?'){var E=arguments.callee;function F(H){this.removeListener('ok',F);this.removeListener('cancel',F);H.name=='ok'&&E(this.getContentElement('picker','selectedColor').getValue(),D);};l.openDialog('colordialog',function(){this.on('ok',F);this.on('cancel',F);});return;}l.focus();r.hide();l.fire('saveSnapshot');new a.style(m['colorButton_'+D+'Style'],{color:'inherit'}).remove(l.document);if(C){var G=m['colorButton_'+D+'Style'];G.childRule=D=='back'?function(){return false;}:function(H){return H.getName()!='a';};new a.style(G,{color:C}).apply(l.document);}l.fire('saveSnapshot');});t.push('<a class="cke_colorauto" _cke_focus=1 hidefocus=true title="',n.auto,'" onclick="CKEDITOR.tools.callFunction(',w,",null,'",s,"');return false;\" href=\"javascript:void('",n.auto,'\')" role="option" aria-posinset="1" aria-setsize="',v,'"><table role="presentation" cellspacing=0 cellpadding=0 width="100%"><tr><td><span class="cke_colorbox" style="background-color:#000"></span></td><td colspan=7 align=center>',n.auto,'</td></tr></table></a><table role="presentation" cellspacing=0 cellpadding=0 width="100%">');\r
-for(var x=0;x<u.length;x++){if(x%8===0)t.push('</tr><tr>');var y=u[x].split('/'),z=y[0],A=y[1]||z;if(!y[1])z='#'+z.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var B=l.lang.colors[A]||A;t.push('<td><a class="cke_colorbox" _cke_focus=1 hidefocus=true title="',B,'" onclick="CKEDITOR.tools.callFunction(',w,",'",z,"','",s,"'); return false;\" href=\"javascript:void('",B,'\')" role="option" aria-posinset="',x+2,'" aria-setsize="',v,'"><span class="cke_colorbox" style="background-color:#',A,'"></span></a></td>');}if(m.colorButton_enableMore)t.push('</tr><tr><td colspan=8 align=center><a class="cke_colormore" _cke_focus=1 hidefocus=true title="',n.more,'" onclick="CKEDITOR.tools.callFunction(',w,",'?','",s,"');return false;\" href=\"javascript:void('",n.more,"')\"",' role="option" aria-posinset="',v,'" aria-setsize="',v,'">',n.more,'</a></td>');t.push('</tr></table>');return t.join('');};}});i.colorButton_enableMore=true;i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};(function(){j.colordialog={init:function(l){l.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);})();j.add('contextmenu',{requires:['menu'],beforeInit:function(l){l.contextMenu=new j.contextMenu(l);l.addCommand('contextMenu',{exec:function(){l.contextMenu.show(l.document.getBody());}});}});j.contextMenu=e.createClass({$:function(l){this.id='cke_'+e.getNextNumber();this.editor=l;this._.listeners=[];this._.functionId=e.addFunction(function(m){this._.panel.hide();l.focus();l.execCommand(m);},this);this.definition={panel:{className:l.skinClass+' cke_contextmenu',attributes:{'aria-label':l.lang.contextmenu.options}}};},_:{onMenu:function(l,m,n,o){var p=this._.menu,q=this.editor;if(p){p.hide();p.removeAll();}else{p=this._.menu=new a.menu(q,this.definition);p.onClick=e.bind(function(z){p.hide();if(z.onClick)z.onClick();else if(z.command)q.execCommand(z.command);},this);p.onEscape=function(z){var A=this.parent;if(A){A._.panel.hideChild();var B=A._.panel._.panel._.currentBlock,C=B._.focusIndex;\r
-B._.markItem(C);}else if(z==27){this.hide();q.focus();}return false;};}var r=this._.listeners,s=[],t=this.editor.getSelection(),u=t&&t.getStartElement();p.onHide=e.bind(function(){p.onHide=null;if(c){var z=q.getSelection();z&&z.unlock();}this.onHide&&this.onHide();},this);for(var v=0;v<r.length;v++){var w=r[v](u,t);if(w)for(var x in w){var y=this.editor.getMenuItem(x);if(y){y.state=w[x];p.add(y);}}}p.items.length&&p.show(l,m||(q.lang.dir=='rtl'?2:1),n,o);}},proto:{addTarget:function(l,m){if(b.opera){var n;l.on('mousedown',function(r){r=r.data;if(r.$.button!=2){if(r.getKeystroke()==1000+1)l.fire('contextmenu',r);return;}if(m&&(b.mac?r.$.metaKey:r.$.ctrlKey))return;var s=r.getTarget();if(!n){var t=s.getDocument();n=t.createElement('input');n.$.type='button';t.getBody().append(n);}n.setAttribute('style','position:absolute;top:'+(r.$.clientY-2)+'px;left:'+(r.$.clientX-2)+'px;width:5px;height:5px;opacity:0.01');});l.on('mouseup',function(r){if(n){n.remove();n=undefined;l.fire('contextmenu',r.data);}});}l.on('contextmenu',function(r){var s=r.data;if(m&&(b.webkit?o:b.mac?s.$.metaKey:s.$.ctrlKey))return;s.preventDefault();var t=s.getTarget().getDocument().getDocumentElement(),u=s.$.clientX,v=s.$.clientY;e.setTimeout(function(){this.show(t,null,u,v);},0,this);},this);if(b.webkit){var o,p=function(r){o=b.mac?r.data.$.metaKey:r.data.$.ctrlKey;},q=function(){o=0;};l.on('keydown',p);l.on('keyup',q);l.on('contextmenu',q);}},addListener:function(l){this._.listeners.push(l);},show:function(l,m,n,o){this.editor.focus();if(c){var p=this.editor.getSelection();p&&p.lock();}this._.onMenu(l||a.document.getDocumentElement(),m,n||0,o||0);}}});(function(){function l(n){var o=this.att,p=n&&n.hasAttribute(o)&&n.getAttribute(o)||'';if(p!==undefined)this.setValue(p);};function m(){var n;for(var o=0;o<arguments.length;o++){if(arguments[o] instanceof h){n=arguments[o];break;}}if(n){var p=this.att,q=this.getValue();if(q)n.setAttribute(p,q);else n.removeAttribute(p,q);}};j.add('dialogadvtab',{createAdvancedTab:function(n,o){if(!o)o={id:1,dir:1,classes:1,styles:1};var p=n.lang.common,q={id:'advanced',label:p.advancedTab,title:p.advancedTab,elements:[{type:'vbox',padding:1,children:[]}]},r=[];if(o.id||o.dir){if(o.id)r.push({id:'advId',att:'id',type:'text',label:p.id,setup:l,commit:m});if(o.dir)r.push({id:'advLangDir',att:'dir',type:'select',label:p.langDir,'default':'',style:'width:100%',items:[[p.notSet,''],[p.langDirLTR,'ltr'],[p.langDirRTL,'rtl']],setup:l,commit:m});q.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(r)});\r
-}if(o.styles||o.classes){r=[];if(o.styles)r.push({id:'advStyles',att:'style',type:'text',label:p.styles,'default':'',onChange:function(){},getStyle:function(s,t){var u=this.getValue().match(new RegExp(s+'\\s*:s*([^;]*)','i'));return u?u[1]:t;},updateStyle:function(s,t){var u=this.getValue();if(u)u=u.replace(new RegExp('\\s*'+s+'s*:[^;]*(?:$|;s*)','i'),'').replace(/^[;\s]+/,'').replace(/\s+$/,'');if(t){u&&!/;\s*$/.test(u)&&(u+='; ');u+=s+': '+t;}this.setValue(u,true);},setup:l,commit:m});if(o.classes)r.push({type:'hbox',widths:['45%','55%'],children:[{id:'advCSSClasses',att:'class',type:'text',label:p.cssClasses,'default':'',setup:l,commit:m}]});q.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(r)});}return q;}});})();(function(){j.add('div',{requires:['editingblock','domiterator','styles'],init:function(l){var m=l.lang.div;l.addCommand('creatediv',new a.dialogCommand('creatediv'));l.addCommand('editdiv',new a.dialogCommand('editdiv'));l.addCommand('removediv',{exec:function(n){var o=n.getSelection(),p=o&&o.getRanges(),q,r=o.createBookmarks(),s,t=[];function u(w){var x=new d.elementPath(w),y=x.blockLimit,z=y.is('div')&&y;if(z&&!z.getAttribute('_cke_div_added')){t.push(z);z.setAttribute('_cke_div_added');}};for(var v=0;v<p.length;v++){q=p[v];if(q.collapsed)u(o.getStartElement());else{s=new d.walker(q);s.evaluator=u;s.lastForward();}}for(v=0;v<t.length;v++)t[v].remove(true);o.selectBookmarks(r);}});l.ui.addButton('CreateDiv',{label:m.toolbar,command:'creatediv'});if(l.addMenuItems){l.addMenuItems({editdiv:{label:m.edit,command:'editdiv',group:'div',order:1},removediv:{label:m.remove,command:'removediv',group:'div',order:5}});if(l.contextMenu)l.contextMenu.addListener(function(n,o){if(!n||n.isReadOnly())return null;var p=new d.elementPath(n),q=p.blockLimit;if(q&&q.getAscendant('div',true))return{editdiv:2,removediv:2};return null;});}a.dialog.add('creatediv',this.path+'dialogs/div.js');a.dialog.add('editdiv',this.path+'dialogs/div.js');}});})();(function(){var l={toolbarFocus:{exec:function(n){var o=n._.elementsPath.idBase,p=a.document.getById(o+'0');if(p)p.focus();}}},m='<span class="cke_empty">&nbsp;</span>';j.add('elementspath',{requires:['selection'],init:function(n){var o='cke_path_'+n.name,p,q=function(){if(!p)p=a.document.getById(o);return p;},r='cke_elementspath_'+e.getNextNumber()+'_';n._.elementsPath={idBase:r,filters:[]};n.on('themeSpace',function(s){if(s.data.space=='bottom')s.data.html+='<span id="'+o+'_label" class="cke_voice_label">'+n.lang.elementsPath.eleLabel+'</span>'+'<div id="'+o+'" class="cke_path" role="group" aria-labelledby="'+o+'_label">'+m+'</div>';\r
-});n.on('selectionChange',function(s){var t=b,u=s.data.selection,v=u.getStartElement(),w=[],x=s.editor,y=x._.elementsPath.list=[],z=x._.elementsPath.filters;while(v){var A=0;for(var B=0;B<z.length;B++){if(z[B](v)===false){A=1;break;}}if(!A){var C=y.push(v)-1,D;if(v.getAttribute('_cke_real_element_type'))D=v.getAttribute('_cke_real_element_type');else D=v.getName();var E='';if(t.opera||t.gecko&&t.mac)E+=' onkeypress="return false;"';if(t.gecko)E+=' onblur="this.style.cssText = this.style.cssText;"';var F=x.lang.elementsPath.eleTitle.replace(/%1/,D);w.unshift('<a id="',r,C,'" href="javascript:void(\'',D,'\')" tabindex="-1" title="',F,'"'+(b.gecko&&b.version<10900?' onfocus="event.preventBubble();"':'')+' hidefocus="true" '+" onkeydown=\"return CKEDITOR._.elementsPath.keydown('",x.name,"',",C,', event);"'+E," onclick=\"return CKEDITOR._.elementsPath.click('",x.name,"',",C,');"',' role="button" aria-labelledby="'+r+C+'_label">',D,'<span id="',r,C,'_label" class="cke_label">'+F+'</span>','</a>');}if(D=='body')break;v=v.getParent();}q().setHtml(w.join('')+m);});n.on('contentDomUnload',function(){p&&p.setHtml(m);});n.addCommand('elementsPathFocus',l.toolbarFocus);}});})();a._.elementsPath={click:function(l,m){var n=a.instances[l];n.focus();var o=n._.elementsPath.list[m];n.getSelection().selectElement(o);return false;},keydown:function(l,m,n){var o=k.button._.instances[m],p=a.instances[l],q=p._.elementsPath.idBase,r;n=new d.event(n);var s=p.lang.dir=='rtl';switch(n.getKeystroke()){case s?39:37:case 9:r=a.document.getById(q+(m+1));if(!r)r=a.document.getById(q+'0');r.focus();return false;case s?37:39:case 2000+9:r=a.document.getById(q+(m-1));if(!r)r=a.document.getById(q+(p._.elementsPath.list.length-1));r.focus();return false;case 27:p.focus();return false;case 13:case 32:this.click(l,m);return false;}return true;}};(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(s){var t=s.specialKeys;t[13]=q;t[2000+13]=p;}});j.enterkey={enterBlock:function(s,t,u,v){u=u||r(s);if(!u)return;var w=u.document;if(u.checkStartOfBlock()&&u.checkEndOfBlock()){var x=new d.elementPath(u.startContainer),y=x.block;if(y&&(y.is('li')||y.getParent().is('li'))){s.execCommand('outdent');return;}}var z=t==3?'div':'p',A=u.splitBlock(z);if(!A)return;var B=A.previousBlock,C=A.nextBlock,D=A.wasStartOfBlock,E=A.wasEndOfBlock,F;if(C){F=C.getParent();if(F.is('li')){C.breakParent(F);C.move(C.getNext(),true);}}else if(B&&(F=B.getParent())&&F.is('li')){B.breakParent(F);u.moveToElementEditStart(B.getNext());\r
-B.move(B.getPrevious());}if(!D&&!E){if(C.is('li')&&(F=C.getFirst(d.walker.invisible(true)))&&F.is&&F.is('ul','ol'))(c?w.createText('\xa0'):w.createElement('br')).insertBefore(F);if(C)u.moveToElementEditStart(C);}else{var G;if(B){if(B.is('li')||!o.test(B.getName()))G=B.clone();}else if(C)G=C.clone();if(!G)G=w.createElement(z);else if(v&&!G.is('li'))G.renameNode(z);var H=A.elementPath;if(H)for(var I=0,J=H.elements.length;I<J;I++){var K=H.elements[I];if(K.equals(H.block)||K.equals(H.blockLimit))break;if(f.$removeEmpty[K.getName()]){K=K.clone();G.moveChildren(K);G.append(K);}}if(!c)G.appendBogus();u.insertNode(G);if(c&&D&&(!E||!B.getChildCount())){u.moveToElementEditStart(E?B:G);u.select();}u.moveToElementEditStart(D&&!E?C:G);}if(!c)if(C){var L=w.createElement('span');L.setHtml('&nbsp;');u.insertNode(L);L.scrollIntoView();u.deleteContents();}else G.scrollIntoView();u.select();},enterBr:function(s,t,u,v){u=u||r(s);if(!u)return;var w=u.document,x=t==3?'div':'p',y=u.checkEndOfBlock(),z=new d.elementPath(s.getSelection().getStartElement()),A=z.block,B=A&&z.block.getName(),C=false;if(!v&&B=='li'){n(s,t,u,v);return;}if(!v&&y&&o.test(B)){w.createElement('br').insertAfter(A);if(b.gecko)w.createText('').insertAfter(A);u.setStartAt(A.getNext(),c?3:1);}else{var D;C=B=='pre';if(C&&!b.gecko)D=w.createText(c?'\r':'\n');else D=w.createElement('br');u.deleteContents();u.insertNode(D);if(!c)w.createText('\ufeff').insertAfter(D);if(y&&!c)D.getParent().appendBogus();if(!c)D.getNext().$.nodeValue='';if(c)u.setStartAt(D,4);else u.setStartAt(D.getNext(),1);if(!c){var E=null;if(!b.gecko){E=w.createElement('span');E.setHtml('&nbsp;');}else E=w.createElement('br');E.insertBefore(D.getNext());E.scrollIntoView();E.remove();}}u.collapse(true);u.select(C);}};var l=j.enterkey,m=l.enterBr,n=l.enterBlock,o=/^h[1-6]$/;function p(s){if(s.mode!='wysiwyg')return false;if(s.getSelection().getStartElement().hasAscendant('pre',true)){setTimeout(function(){n(s,s.config.enterMode,null,true);},0);return true;}else return q(s,s.config.shiftEnterMode,true);};function q(s,t,u){u=s.config.forceEnterMode||u;if(s.mode!='wysiwyg')return false;if(!t)t=s.config.enterMode;setTimeout(function(){s.fire('saveSnapshot');if(t==2||s.getSelection().getStartElement().hasAscendant('pre',true))m(s,t,null,u);else n(s,t,null,u);},0);return true;};function r(s){var t=s.getSelection().getRanges(true);for(var u=t.length-1;u>0;u--)t[u].deleteContents();return t[0];};})();(function(){var l='nbsp,gt,lt,quot',m='iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',n='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',o='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv';\r
-function p(q,r){var s={},t=[],u={nbsp:'\xa0',shy:'­',gt:'>',lt:'<'};q=q.replace(/\b(nbsp|shy|gt|lt|amp)(?:,|$)/g,function(z,A){var B=r?'&'+A+';':u[A],C=r?u[A]:'&'+A+';';s[B]=C;t.push(B);return '';});if(!r){q=q.split(',');var v=document.createElement('div'),w;v.innerHTML='&'+q.join(';&')+';';w=v.innerHTML;v=null;for(var x=0;x<w.length;x++){var y=w.charAt(x);s[y]='&'+q[x]+';';t.push(y);}}s.regex=t.join(r?'|':'');return s;};j.add('entities',{afterInit:function(q){var r=q.config,s=q.dataProcessor,t=s&&s.htmlFilter;if(t){var u=l;if(r.entities){u+=','+m;if(r.entities_latin)u+=','+n;if(r.entities_greek)u+=','+o;if(r.entities_additional)u+=','+r.entities_additional;}var v=p(u),w='['+v.regex+']';delete v.regex;if(r.entities&&r.entities_processNumerical)w='[^ -~]|'+w;w=new RegExp(w,'g');function x(B){return r.entities_processNumerical=='force'||!v[B]?'&#'+B.charCodeAt(0)+';':v[B];};var y=p([l,'shy'].join(','),true),z=new RegExp(y.regex,'g');function A(B){return y[B];};t.addRules({text:function(B){return B.replace(z,A).replace(w,x);}});}}});})();i.entities=true;i.entities_latin=true;i.entities_greek=true;i.entities_processNumerical=false;i.entities_additional='#39';(function(){function l(u,v){var w=[];if(!v)return u;else for(var x in v)w.push(x+'='+encodeURIComponent(v[x]));return u+(u.indexOf('?')!=-1?'&':'?')+w.join('&');};function m(u){u+='';var v=u.charAt(0).toUpperCase();return v+u.substr(1);};function n(u){var B=this;var v=B.getDialog(),w=v.getParentEditor();w._.filebrowserSe=B;var x=w.config['filebrowser'+m(v.getName())+'WindowWidth']||w.config.filebrowserWindowWidth||'80%',y=w.config['filebrowser'+m(v.getName())+'WindowHeight']||w.config.filebrowserWindowHeight||'70%',z=B.filebrowser.params||{};z.CKEditor=w.name;z.CKEditorFuncNum=w._.filebrowserFn;if(!z.langCode)z.langCode=w.langCode;var A=l(B.filebrowser.url,z);w.popup(A,x,y,w.config.fileBrowserWindowFeatures);};function o(u){var x=this;var v=x.getDialog(),w=v.getParentEditor();w._.filebrowserSe=x;if(!v.getContentElement(x['for'][0],x['for'][1]).getInputElement().$.value)return false;if(!v.getContentElement(x['for'][0],x['for'][1]).getAction())return false;return true;};function p(u,v,w){var x=w.params||{};x.CKEditor=u.name;x.CKEditorFuncNum=u._.filebrowserFn;if(!x.langCode)x.langCode=u.langCode;v.action=l(w.url,x);v.filebrowser=w;};function q(u,v,w,x){var y,z;for(var A in x){y=x[A];if(y.type=='hbox'||y.type=='vbox')q(u,v,w,y.children);if(!y.filebrowser)continue;if(typeof y.filebrowser=='string'){var B={action:y.type=='fileButton'?'QuickUpload':'Browse',target:y.filebrowser};\r
-y.filebrowser=B;}if(y.filebrowser.action=='Browse'){var C=y.filebrowser.url||u.config['filebrowser'+m(v)+'BrowseUrl']||u.config.filebrowserBrowseUrl;if(C){y.onClick=n;y.filebrowser.url=C;y.hidden=false;}}else if(y.filebrowser.action=='QuickUpload'&&y['for']){C=y.filebrowser.url||u.config['filebrowser'+m(v)+'UploadUrl']||u.config.filebrowserUploadUrl;if(C){var D=y.onClick;y.onClick=function(E){var F=E.sender;if(D&&D.call(F,E)===false)return false;return o.call(F,E);};y.filebrowser.url=C;y.hidden=false;p(u,w.getContents(y['for'][0]).get(y['for'][1]),y.filebrowser);}}}};function r(u,v){var w=v.getDialog(),x=v.filebrowser.target||null;u=u.replace(/#/g,'%23');if(x){var y=x.split(':'),z=w.getContentElement(y[0],y[1]);if(z){z.setValue(u);w.selectPage(y[0]);}}};function s(u,v,w){if(w.indexOf(';')!==-1){var x=w.split(';');for(var y=0;y<x.length;y++){if(s(u,v,x[y]))return true;}return false;}var z=u.getContents(v).get(w).filebrowser;return z&&z.url;};function t(u,v){var z=this;var w=z._.filebrowserSe.getDialog(),x=z._.filebrowserSe['for'],y=z._.filebrowserSe.filebrowser.onSelect;if(x)w.getContentElement(x[0],x[1]).reset();if(typeof v=='function'&&v.call(z._.filebrowserSe)===false)return;if(y&&y.call(z._.filebrowserSe,u,v)===false)return;if(typeof v=='string'&&v)alert(v);if(u)r(u,z._.filebrowserSe);};j.add('filebrowser',{init:function(u,v){u._.filebrowserFn=e.addFunction(t,u);}});a.on('dialogDefinition',function(u){var v=u.data.definition,w;for(var x in v.contents){if(w=v.contents[x]){q(u.editor,u.data.name,v,w.elements);if(w.hidden&&w.filebrowser)w.hidden=!s(v,w.id,w.filebrowser);}}});})();j.add('find',{init:function(l){var m=j.find;l.ui.addButton('Find',{label:l.lang.findAndReplace.find,command:'find'});var n=l.addCommand('find',new a.dialogCommand('find'));n.canUndo=false;l.ui.addButton('Replace',{label:l.lang.findAndReplace.replace,command:'replace'});var o=l.addCommand('replace',new a.dialogCommand('replace'));o.canUndo=false;a.dialog.add('find',this.path+'dialogs/find.js');a.dialog.add('replace',this.path+'dialogs/find.js');},requires:['styles']});i.find_highlight={element:'span',styles:{'background-color':'#004',color:'#fff'}};(function(){var l=/\.swf(?:$|\?)/i,m=/^\d+(?:\.\d+)?$/;function n(q){if(m.test(q))return q+'px';return q;};function o(q){var r=q.attributes;return r.type=='application/x-shockwave-flash'||l.test(r.src||'');};function p(q,r){var s=q.createFakeParserElement(r,'cke_flash','flash',true),t=s.attributes.style||'',u=r.attributes.width,v=r.attributes.height;\r
-if(typeof u!='undefined')t=s.attributes.style=t+'width:'+n(u)+';';if(typeof v!='undefined')t=s.attributes.style=t+'height:'+n(v)+';';return s;};j.add('flash',{init:function(q){q.addCommand('flash',new a.dialogCommand('flash'));q.ui.addButton('Flash',{label:q.lang.common.flash,command:'flash'});a.dialog.add('flash',this.path+'dialogs/flash.js');q.addCss('img.cke_flash{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');if(q.addMenuItems)q.addMenuItems({flash:{label:q.lang.flash.properties,command:'flash',group:'flash'}});q.on('doubleclick',function(r){var s=r.data.element;if(s.is('img')&&s.getAttribute('_cke_real_element_type')=='flash')r.data.dialog='flash';});if(q.contextMenu)q.contextMenu.addListener(function(r,s){if(r&&r.is('img')&&!r.isReadOnly()&&r.getAttribute('_cke_real_element_type')=='flash')return{flash:2};});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter;if(s)s.addRules({elements:{'cke:object':function(t){var u=t.attributes,v=u.classid&&String(u.classid).toLowerCase();if(!v){for(var w=0;w<t.children.length;w++){if(t.children[w].name=='cke:embed'){if(!o(t.children[w]))return null;return p(q,t);}}return null;}return p(q,t);},'cke:embed':function(t){if(!o(t))return null;return p(q,t);}}},5);},requires:['fakeobjects']});})();e.extend(i,{flashEmbedTagOnly:false,flashAddEmbedTag:true,flashConvertOnEdit:false});(function(){function l(m,n,o,p,q,r,s){var t=m.config,u=q.split(';'),v=[],w={};for(var x=0;x<u.length;x++){var y=u[x];if(y){y=y.split('/');var z={},A=u[x]=y[0];z[o]=v[x]=y[1]||A;w[A]=new a.style(s,z);w[A]._.definition.name=A;}else u.splice(x--,1);}m.ui.addRichCombo(n,{label:p.label,title:p.panelTitle,className:'cke_'+(o=='size'?'fontSize':'font'),panel:{css:m.skin.editor.css.concat(t.contentsCss),multiSelect:false,attributes:{'aria-label':p.panelTitle}},init:function(){this.startGroup(p.panelTitle);for(var B=0;B<u.length;B++){var C=u[B];this.add(C,w[C].buildPreview(),C);}},onClick:function(B){m.focus();m.fire('saveSnapshot');var C=w[B];if(this.getValue()==B)C.remove(m.document);else C.apply(m.document);m.fire('saveSnapshot');},onRender:function(){m.on('selectionChange',function(B){var C=this.getValue(),D=B.data.path,E=D.elements;for(var F=0,G;F<E.length;F++){G=E[F];for(var H in w){if(w[H].checkElementRemovable(G,true)){if(H!=C)this.setValue(H);return;}}}this.setValue('',r);},this);\r
-}});};j.add('font',{requires:['richcombo','styles'],init:function(m){var n=m.config;l(m,'Font','family',m.lang.font,n.font_names,n.font_defaultLabel,n.font_style);l(m,'FontSize','size',m.lang.fontSize,n.fontSize_sizes,n.fontSize_defaultLabel,n.fontSize_style);}});})();i.font_names='Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif';i.font_defaultLabel='';i.font_style={element:'span',styles:{'font-family':'#(family)'},overrides:[{element:'font',attributes:{face:null}}]};i.fontSize_sizes='8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px';i.fontSize_defaultLabel='';i.fontSize_style={element:'span',styles:{'font-size':'#(size)'},overrides:[{element:'font',attributes:{size:null}}]};j.add('format',{requires:['richcombo','styles'],init:function(l){var m=l.config,n=l.lang.format,o=m.format_tags.split(';'),p={};for(var q=0;q<o.length;q++){var r=o[q];p[r]=new a.style(m['format_'+r]);p[r]._.enterMode=l.config.enterMode;}l.ui.addRichCombo('Format',{label:n.label,title:n.panelTitle,className:'cke_format',panel:{css:l.skin.editor.css.concat(m.contentsCss),multiSelect:false,attributes:{'aria-label':n.panelTitle}},init:function(){this.startGroup(n.panelTitle);for(var s in p){var t=n['tag_'+s];this.add(s,'<'+s+'>'+t+'</'+s+'>',t);}},onClick:function(s){l.focus();l.fire('saveSnapshot');p[s].apply(l.document);setTimeout(function(){l.fire('saveSnapshot');},0);},onRender:function(){l.on('selectionChange',function(s){var t=this.getValue(),u=s.data.path;for(var v in p){if(p[v].checkActive(u)){if(v!=t)this.setValue(v,l.lang.format['tag_'+v]);return;}}this.setValue('');},this);}});}});i.format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div';i.format_p={element:'p'};i.format_div={element:'div'};i.format_pre={element:'pre'};i.format_address={element:'address'};i.format_h1={element:'h1'};i.format_h2={element:'h2'};i.format_h3={element:'h3'};i.format_h4={element:'h4'};i.format_h5={element:'h5'};i.format_h6={element:'h6'};j.add('forms',{init:function(l){var m=l.lang;l.addCss('form{border: 1px dotted #FF0000;padding: 2px;}\n');l.addCss('img.cke_hidden{background-image: url('+a.getUrl(this.path+'images/hiddenfield.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 16px !important;'+'height: 16px !important;'+'}');\r
-var n=function(p,q,r){l.addCommand(q,new a.dialogCommand(q));l.ui.addButton(p,{label:m.common[p.charAt(0).toLowerCase()+p.slice(1)],command:q});a.dialog.add(q,r);},o=this.path+'dialogs/';n('Form','form',o+'form.js');n('Checkbox','checkbox',o+'checkbox.js');n('Radio','radio',o+'radio.js');n('TextField','textfield',o+'textfield.js');n('Textarea','textarea',o+'textarea.js');n('Select','select',o+'select.js');n('Button','button',o+'button.js');n('ImageButton','imagebutton',j.getPath('image')+'dialogs/image.js');n('HiddenField','hiddenfield',o+'hiddenfield.js');if(l.addMenuItems)l.addMenuItems({form:{label:m.form.menu,command:'form',group:'form'},checkbox:{label:m.checkboxAndRadio.checkboxTitle,command:'checkbox',group:'checkbox'},radio:{label:m.checkboxAndRadio.radioTitle,command:'radio',group:'radio'},textfield:{label:m.textfield.title,command:'textfield',group:'textfield'},hiddenfield:{label:m.hidden.title,command:'hiddenfield',group:'hiddenfield'},imagebutton:{label:m.image.titleButton,command:'imagebutton',group:'imagebutton'},button:{label:m.button.title,command:'button',group:'button'},select:{label:m.select.title,command:'select',group:'select'},textarea:{label:m.textarea.title,command:'textarea',group:'textarea'}});if(l.contextMenu){l.contextMenu.addListener(function(p){if(p&&p.hasAscendant('form',true)&&!p.isReadOnly())return{form:2};});l.contextMenu.addListener(function(p){if(p&&!p.isReadOnly()){var q=p.getName();if(q=='select')return{select:2};if(q=='textarea')return{textarea:2};if(q=='input'){var r=p.getAttribute('type');if(r=='text'||r=='password')return{textfield:2};if(r=='button'||r=='submit'||r=='reset')return{button:2};if(r=='checkbox')return{checkbox:2};if(r=='radio')return{radio:2};if(r=='image')return{imagebutton:2};}if(q=='img'&&p.getAttribute('_cke_real_element_type')=='hiddenfield')return{hiddenfield:2};}});}l.on('doubleclick',function(p){var q=p.data.element;if(q.is('form'))p.data.dialog='form';else if(q.is('select'))p.data.dialog='select';else if(q.is('textarea'))p.data.dialog='textarea';else if(q.is('img')&&q.getAttribute('_cke_real_element_type')=='hiddenfield')p.data.dialog='hiddenfield';else if(q.is('input')){var r=q.getAttribute('type');switch(r){case 'text':case 'password':p.data.dialog='textfield';break;case 'button':case 'submit':case 'reset':p.data.dialog='button';break;case 'checkbox':p.data.dialog='checkbox';break;case 'radio':p.data.dialog='radio';break;case 'image':p.data.dialog='imagebutton';break;}}});},afterInit:function(l){var m=l.dataProcessor,n=m&&m.htmlFilter,o=m&&m.dataFilter;\r
-if(c)n&&n.addRules({elements:{input:function(p){var q=p.attributes,r=q.type;if(r=='checkbox'||r=='radio')q.value=='on'&&delete q.value;}}});if(o)o.addRules({elements:{input:function(p){if(p.attributes.type=='hidden')return l.createFakeParserElement(p,'cke_hidden','hiddenfield');}}});},requires:['image','fakeobjects']});if(c)h.prototype.hasAttribute=function(l){var o=this;var m=o.$.attributes.getNamedItem(l);if(o.getName()=='input')switch(l){case 'class':return o.$.className.length>0;case 'checked':return!!o.$.checked;case 'value':var n=o.getAttribute('type');if(n=='checkbox'||n=='radio')return o.$.value!='on';break;default:}return!!(m&&m.specified);};(function(){var l={canUndo:false,exec:function(n){n.insertElement(n.document.createElement('hr'));}},m='horizontalrule';j.add(m,{init:function(n){n.addCommand(m,l);n.ui.addButton('HorizontalRule',{label:n.lang.horizontalrule,command:m});}});})();(function(){var l=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,m='{cke_protected}';function n(R){var S=R.children.length,T=R.children[S-1];while(T&&T.type==3&&!e.trim(T.value))T=R.children[--S];return T;};function o(R,S){var T=R.children,U=n(R);if(U){if((S||!c)&&U.type==1&&U.name=='br')T.pop();if(U.type==3&&l.test(U.value))T.pop();}};function p(R){var S=n(R);return!S||S.type==1&&S.name=='br'||R.name=='form'&&S.name=='input';};function q(R){o(R,true);if(p(R))if(c)R.add(new a.htmlParser.text('\xa0'));else R.add(new a.htmlParser.element('br',{}));};function r(R){o(R);if(p(R))R.add(new a.htmlParser.text('\xa0'));};var s=f,t=e.extend({},s.$block,s.$listItem,s.$tableContent);for(var u in t){if(!('br' in s[u]))delete t[u];}delete t.pre;var v={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},w={elements:{}};for(u in t)w.elements[u]=q;var x={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(R){var S=R.attributes;if(S){if(S.cke_temp)return false;var T=['name','href','src'],U;for(var V=0;V<T.length;V++){U='_cke_saved_'+T[V];U in S&&delete S[T[V]];}}return R;},embed:function(R){var S=R.parent;if(S&&S.name=='object'){var T=S.attributes.width,U=S.attributes.height;T&&(R.attributes.width=T);U&&(R.attributes.height=U);}},param:function(R){R.children=[];R.isEmpty=true;return R;},a:function(R){if(!(R.children.length||R.attributes.name||R.attributes._cke_saved_name))return false;},html:function(R){delete R.attributes.contenteditable;delete R.attributes['class'];},body:function(R){delete R.attributes.spellcheck;\r
-delete R.attributes.contenteditable;},style:function(R){var S=R.children[0];S&&S.value&&(S.value=e.trim(S.value));if(!R.attributes.type)R.attributes.type='text/css';},title:function(R){var S=R.children[0];S&&(S.value=R.attributes._cke_title||'');}},attributes:{'class':function(R,S){return e.ltrim(R.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}},comment:function(R){if(R.substr(0,m.length)==m){if(R.substr(m.length,3)=='{C}')R=R.substr(m.length+3);else R=R.substr(m.length);return new a.htmlParser.cdata(decodeURIComponent(R));}return R;}},y={elements:{}};for(u in t)y.elements[u]=r;if(c)x.attributes.style=function(R,S){return R.toLowerCase();};function z(R){R.attributes.contenteditable='false';};function A(R){delete R.attributes.contenteditable;};for(u in {input:1,textarea:1}){v.elements[u]=z;x.elements[u]=A;}var B=/<((?:a|area|img|input)[\s\S]*?\s)((href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+)))([^>]*)>/gi,C=/\s_cke_saved_src\s*=/,D=/(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,E=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,F=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,G=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,H=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;function I(R){return R.replace(B,function(S,T,U,V,W){if(V=='src'&&C.test(S))return S;else return '<'+T+U+' _cke_saved_'+U+W+'>';});};function J(R){return R.replace(D,function(S){return '<cke:encoded>'+encodeURIComponent(S)+'</cke:encoded>';});};function K(R){return R.replace(E,function(S,T){return decodeURIComponent(T);});};function L(R){return R.replace(F,'$1cke:$2');};function M(R){return R.replace(G,'$1$2');};function N(R){return R.replace(H,'<cke:$1$2></cke:$1>');};function O(R){return R.replace(/<!--(?!{cke_protected})[\s\S]+?-->/g,function(S){return '<!--'+m+'{C}'+encodeURIComponent(S).replace(/--/g,'%2D%2D')+'-->';});};function P(R){return R.replace(/<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g,function(S,T){return decodeURIComponent(T);});};function Q(R,S){var T=[],U=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,V=[/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi].concat(S);R=R.replace(/<!--[\s\S]*?-->/g,function(X){return '<!--{cke_tempcomment}'+(T.push(X)-1)+'-->';});for(var W=0;W<V.length;W++)R=R.replace(V[W],function(X){X=X.replace(U,function(Y,Z,aa){return T[aa];});return '<!--{cke_temp}'+(T.push(X)-1)+'-->';});R=R.replace(U,function(X,Y,Z){return '<!--'+m+(Y?'{C}':'')+encodeURIComponent(T[Z]).replace(/--/g,'%2D%2D')+'-->';\r
-});return R;};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(R){var S=R.dataProcessor=new a.htmlDataProcessor(R);S.writer.forceSimpleAmpersand=R.config.forceSimpleAmpersand;S.dataFilter.addRules(v);S.dataFilter.addRules(w);S.htmlFilter.addRules(x);S.htmlFilter.addRules(y);}});a.htmlDataProcessor=function(R){var S=this;S.editor=R;S.writer=new a.htmlWriter();S.dataFilter=new a.htmlParser.filter();S.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(R,S){R=Q(R,this.editor.config.protectedSource);R=I(R);R=J(R);R=L(R);R=N(R);var T=new h('div');T.setHtml('a'+R);R=T.getHtml().substr(1);R=M(R);R=K(R);R=P(R);var U=a.htmlParser.fragment.fromHtml(R,S),V=new a.htmlParser.basicWriter();U.writeHtml(V,this.dataFilter);R=V.getHtml(true);R=O(R);return R;},toDataFormat:function(R,S){var T=this.writer,U=a.htmlParser.fragment.fromHtml(R,S);T.reset();U.writeHtml(T,this.htmlFilter);return T.getHtml(true);}};})();i.forceSimpleAmpersand=false;j.add('image',{init:function(l){var m='image';a.dialog.add(m,this.path+'dialogs/image.js');l.addCommand(m,new a.dialogCommand(m));l.ui.addButton('Image',{label:l.lang.common.image,command:m});l.on('doubleclick',function(n){var o=n.data.element;if(o.is('img')&&!o.getAttribute('_cke_realelement'))n.data.dialog='image';});if(l.addMenuItems)l.addMenuItems({image:{label:l.lang.image.menu,command:'image',group:'image'}});if(l.contextMenu)l.contextMenu.addListener(function(n,o){if(!n||!n.is('img')||n.getAttribute('_cke_realelement')||n.isReadOnly())return null;return{image:2};});}});i.image_removeLinkByEmptyURL=true;(function(){var l={ol:1,ul:1},m=d.walker.whitespaces(true),n=d.walker.bookmark(false,true);function o(t,u){t.getCommand(this.name).setState(u);};function p(t){var C=this;var u=t.editor,v=t.data.path,w=v&&v.contains(l);if(w)return o.call(C,u,2);if(!C.useIndentClasses&&C.name=='indent')return o.call(C,u,2);var x=t.data.path,y=x.block||x.blockLimit;if(!y)return o.call(C,u,0);if(C.useIndentClasses){var z=y.$.className.match(C.classNameRegex),A=0;if(z){z=z[1];A=C.indentClassMap[z];}if(C.name=='outdent'&&!A||C.name=='indent'&&A==u.config.indentClasses.length)return o.call(C,u,0);return o.call(C,u,2);}else{var B=parseInt(y.getStyle(r(y)),10);if(isNaN(B))B=0;if(B<=0)return o.call(C,u,0);return o.call(C,u,2);}};function q(t,u){var w=this;w.name=u;w.useIndentClasses=t.config.indentClasses&&t.config.indentClasses.length>0;if(w.useIndentClasses){w.classNameRegex=new RegExp('(?:^|\\s+)('+t.config.indentClasses.join('|')+')(?=$|\\s)');\r
-w.indentClassMap={};for(var v=0;v<t.config.indentClasses.length;v++)w.indentClassMap[t.config.indentClasses[v]]=v+1;}w.startDisabled=u=='outdent';};function r(t){return t.getComputedStyle('direction')=='ltr'?'margin-left':'margin-right';};function s(t){return t.type=1&&t.is('li');};q.prototype={exec:function(t){var u=this,v={};function w(N){var O=C.startContainer,P=C.endContainer;while(O&&!O.getParent().equals(N))O=O.getParent();while(P&&!P.getParent().equals(N))P=P.getParent();if(!O||!P)return;var Q=O,R=[],S=false;while(!S){if(Q.equals(P))S=true;R.push(Q);Q=Q.getNext();}if(R.length<1)return;var T=N.getParents(true);for(var U=0;U<T.length;U++){if(T[U].getName&&l[T[U].getName()]){N=T[U];break;}}var V=u.name=='indent'?1:-1,W=R[0],X=R[R.length-1],Y=j.list.listToArray(N,v),Z=Y[X.getCustomData('listarray_index')].indent;for(U=W.getCustomData('listarray_index');U<=X.getCustomData('listarray_index');U++){Y[U].indent+=V;var aa=Y[U].parent;Y[U].parent=new h(aa.getName(),aa.getDocument());}for(U=X.getCustomData('listarray_index')+1;U<Y.length&&Y[U].indent>Z;U++)Y[U].indent+=V;var ab=N.getAttribute('dir')||N.getStyle('direction'),ac=j.list.arrayToList(Y,v,null,t.config.enterMode,ab);if(u.name=='outdent'){var ad;if((ad=N.getParent())&&ad.is('li')){var ae=ac.listNode.getChildren(),af=[],ag=ae.count(),ah;for(U=ag-1;U>=0;U--){if((ah=ae.getItem(U))&&ah.is&&ah.is('li'))af.push(ah);}}}if(ac)ac.listNode.replace(N);if(af&&af.length)for(U=0;U<af.length;U++){var ai=af[U],aj=ai;while((aj=aj.getNext())&&aj.is&&aj.getName() in l){if(c&&!ai.getFirst(function(ak){return m(ak)&&n(ak);}))ai.append(C.document.createText('\xa0'));ai.append(aj);}ai.insertAfter(ad);}};function x(){var N=C.createIterator(),O=t.config.enterMode;N.enforceRealBlocks=true;N.enlargeBr=O!=2;var P;while(P=N.getNextParagraph())y(P);};function y(N){if(N.getCustomData('indent_processed'))return false;if(u.useIndentClasses){var O=N.$.className.match(u.classNameRegex),P=0;if(O){O=O[1];P=u.indentClassMap[O];}if(u.name=='outdent')P--;else P++;if(P<0)return false;P=Math.min(P,t.config.indentClasses.length);P=Math.max(P,0);var Q=e.ltrim(N.$.className.replace(u.classNameRegex,''));if(P<1)N.$.className=Q;else N.addClass(t.config.indentClasses[P-1]);}else{var R=r(N),S=parseInt(N.getStyle(R),10);if(isNaN(S))S=0;S+=(u.name=='indent'?1:-1)*t.config.indentOffset;if(S<0)return false;S=Math.max(S,0);S=Math.ceil(S/t.config.indentOffset)*t.config.indentOffset;N.setStyle(R,S?S+t.config.indentUnit:'');if(N.getAttribute('style')==='')N.removeAttribute('style');\r
-}h.setMarker(v,N,'indent_processed',true);return true;};var z=t.getSelection(),A=z.createBookmarks(true),B=z&&z.getRanges(true),C,D=function(N){return!N.hasAttribute('_cke_bookmark');},E=B.createIterator();while(C=E.getNextRange()){C.shrink(1);if(C.endContainer.getName()=='body')C.setEndAt(C.endContainer.getLast(D),2);var F=C.startContainer,G=C.endContainer,H=C.getCommonAncestor(),I=H;while(I&&!(I.type==1&&l[I.getName()]))I=I.getParent();if(I&&F.type==1&&F.getName() in l){var J=new d.walker(C);J.evaluator=s;C.startContainer=J.next();}if(I&&G.type==1&&G.getName() in l){J=new d.walker(C);J.evaluator=s;C.endContainer=J.previous();}if(I){var K=I.getFirst(function(N){return N.type==1&&N.is('li');}),L=C.startContainer,M=K.equals(L)||K.contains(L);if(!(M&&y(I)))w(I);}else x();}h.clearAllMarkers(v);t.forceNextSelectionCheck();z.selectBookmarks(A);}};j.add('indent',{init:function(t){var u=new q(t,'indent'),v=new q(t,'outdent');t.addCommand('indent',u);t.addCommand('outdent',v);t.ui.addButton('Indent',{label:t.lang.indent,command:'indent'});t.ui.addButton('Outdent',{label:t.lang.outdent,command:'outdent'});t.on('selectionChange',e.bind(p,u));t.on('selectionChange',e.bind(p,v));if(b.ie6Compat||b.ie7Compat)t.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');},requires:['domiterator','list']});})();e.extend(i,{indentOffset:40,indentUnit:'px',indentClasses:null});(function(){function l(p,q){var r=q.block||q.blockLimit;if(!r||r.getName()=='body')return 2;return m(r,p.config.useComputedState)==this.value?1:2;};function m(p,q){q=q===undefined||q;var r;if(q)r=p.getComputedStyle('text-align');else{while(!p.hasAttribute||!(p.hasAttribute('align')||p.getStyle('text-align'))){var s=p.getParent();if(!s)break;p=s;}r=p.getStyle('text-align')||p.getAttribute('align')||'';}r&&(r=r.replace(/-moz-|-webkit-|start|auto/i,''));!r&&q&&(r=p.getComputedStyle('direction')=='rtl'?'right':'left');return r;};function n(p){var q=p.editor.getCommand(this.name);q.state=l.call(this,p.editor,p.data.path);q.fire('state');};function o(p,q,r){var t=this;t.name=q;t.value=r;var s=p.config.justifyClasses;if(s){switch(r){case 'left':t.cssClassName=s[0];break;case 'center':t.cssClassName=s[1];break;case 'right':t.cssClassName=s[2];break;case 'justify':t.cssClassName=s[3];break;}t.cssClassRegex=new RegExp('(?:^|\\s+)(?:'+s.join('|')+')(?=$|\\s)');}};o.prototype={exec:function(p){var B=this;var q=p.getSelection(),r=p.config.enterMode;if(!q)return;var s=q.createBookmarks(),t=q.getRanges(true),u=B.cssClassName,v,w,x=p.config.useComputedState;\r
-x=x===undefined||x;for(var y=t.length-1;y>=0;y--){v=t[y].createIterator();v.enlargeBr=r!=2;while(w=v.getNextParagraph()){w.removeAttribute('align');w.removeStyle('text-align');var z=u&&(w.$.className=e.ltrim(w.$.className.replace(B.cssClassRegex,''))),A=B.state==2&&(!x||m(w,true)!=B.value);if(u){if(A)w.addClass(u);else if(!z)w.removeAttribute('class');}else if(A)w.setStyle('text-align',B.value);}}p.focus();p.forceNextSelectionCheck();q.selectBookmarks(s);}};j.add('justify',{init:function(p){var q=new o(p,'justifyleft','left'),r=new o(p,'justifycenter','center'),s=new o(p,'justifyright','right'),t=new o(p,'justifyblock','justify');p.addCommand('justifyleft',q);p.addCommand('justifycenter',r);p.addCommand('justifyright',s);p.addCommand('justifyblock',t);p.ui.addButton('JustifyLeft',{label:p.lang.justify.left,command:'justifyleft'});p.ui.addButton('JustifyCenter',{label:p.lang.justify.center,command:'justifycenter'});p.ui.addButton('JustifyRight',{label:p.lang.justify.right,command:'justifyright'});p.ui.addButton('JustifyBlock',{label:p.lang.justify.block,command:'justifyblock'});p.on('selectionChange',e.bind(n,q));p.on('selectionChange',e.bind(n,s));p.on('selectionChange',e.bind(n,r));p.on('selectionChange',e.bind(n,t));},requires:['domiterator']});})();e.extend(i,{justifyClasses:null});j.add('keystrokes',{beforeInit:function(l){l.keystrokeHandler=new a.keystrokeHandler(l);l.specialKeys={};},init:function(l){var m=l.config.keystrokes,n=l.config.blockedKeystrokes,o=l.keystrokeHandler.keystrokes,p=l.keystrokeHandler.blockedKeystrokes;for(var q=0;q<m.length;q++)o[m[q][0]]=m[q][1];for(q=0;q<n.length;q++)p[n[q]]=1;}});a.keystrokeHandler=function(l){var m=this;if(l.keystrokeHandler)return l.keystrokeHandler;m.keystrokes={};m.blockedKeystrokes={};m._={editor:l};return m;};(function(){var l,m=function(o){o=o.data;var p=o.getKeystroke(),q=this.keystrokes[p],r=this._.editor;l=r.fire('key',{keyCode:p})===true;if(!l){if(q){var s={from:'keystrokeHandler'};l=r.execCommand(q,s)!==false;}if(!l){var t=r.specialKeys[p];l=t&&t(r)===true;if(!l)l=!!this.blockedKeystrokes[p];}}if(l)o.preventDefault(true);return!l;},n=function(o){if(l){l=false;o.data.preventDefault(true);}};a.keystrokeHandler.prototype={attach:function(o){o.on('keydown',m,this);if(b.opera||b.gecko&&b.mac)o.on('keypress',n,this);}};})();i.blockedKeystrokes=[1000+66,1000+73,1000+85];i.keystrokes=[[4000+121,'toolbarFocus'],[4000+122,'elementsPathFocus'],[2000+121,'contextMenu'],[1000+2000+121,'contextMenu'],[1000+90,'undo'],[1000+89,'redo'],[1000+2000+90,'redo'],[1000+76,'link'],[1000+66,'bold'],[1000+73,'italic'],[1000+85,'underline'],[4000+109,'toolbarCollapse'],[4000+48,'a11yHelp']];\r
-j.add('link',{init:function(l){l.addCommand('link',new a.dialogCommand('link'));l.addCommand('anchor',new a.dialogCommand('anchor'));l.addCommand('unlink',new a.unlinkCommand());l.ui.addButton('Link',{label:l.lang.link.toolbar,command:'link'});l.ui.addButton('Unlink',{label:l.lang.unlink,command:'unlink'});l.ui.addButton('Anchor',{label:l.lang.anchor.toolbar,command:'anchor'});a.dialog.add('link',this.path+'dialogs/link.js');a.dialog.add('anchor',this.path+'dialogs/anchor.js');l.addCss('img.cke_anchor{background-image: url('+a.getUrl(this.path+'images/anchor.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 18px !important;'+'height: 18px !important;'+'}\n'+'a.cke_anchor'+'{'+'background-image: url('+a.getUrl(this.path+'images/anchor.gif')+');'+'background-position: 0 center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'padding-left: 18px;'+'}');l.on('selectionChange',function(m){var n=l.getCommand('unlink'),o=m.data.path.lastElement&&m.data.path.lastElement.getAscendant('a',true);if(o&&o.getName()=='a'&&o.getAttribute('href'))n.setState(2);else n.setState(0);});l.on('doubleclick',function(m){var n=j.link.getSelectedLink(l)||m.data.element;if(n.is('a'))m.data.dialog=n.getAttribute('name')&&!n.getAttribute('href')?'anchor':'link';else if(n.is('img')&&n.getAttribute('_cke_real_element_type')=='anchor')m.data.dialog='anchor';});if(l.addMenuItems)l.addMenuItems({anchor:{label:l.lang.anchor.menu,command:'anchor',group:'anchor'},link:{label:l.lang.link.menu,command:'link',group:'link',order:1},unlink:{label:l.lang.unlink,command:'unlink',group:'link',order:5}});if(l.contextMenu)l.contextMenu.addListener(function(m,n){if(!m||m.isReadOnly())return null;var o=m.is('img')&&m.getAttribute('_cke_real_element_type')=='anchor';if(!o){if(!(m=j.link.getSelectedLink(l)))return null;o=m.getAttribute('name')&&!m.getAttribute('href');}return o?{anchor:2}:{link:2,unlink:2};});},afterInit:function(l){var m=l.dataProcessor,n=m&&m.dataFilter;if(n)n.addRules({elements:{a:function(o){var p=o.attributes;if(p.name&&!p.href)return l.createFakeParserElement(o,'cke_anchor','anchor');}}});},requires:['fakeobjects']});j.link={getSelectedLink:function(l){try{var m=l.getSelection();if(m.getType()==3){var n=m.getSelectedElement();if(n.is('a'))return n;}var o=m.getRanges(true)[0];o.shrink(2);var p=o.getCommonAncestor();return p.getAscendant('a',true);}catch(q){return null;}}};a.unlinkCommand=function(){};a.unlinkCommand.prototype={exec:function(l){var m=l.getSelection(),n=m.createBookmarks(),o=m.getRanges(),p,q;\r
-for(var r=0;r<o.length;r++){p=o[r].getCommonAncestor(true);q=p.getAscendant('a',true);if(!q)continue;o[r].selectNodeContents(q);}m.selectRanges(o);l.document.$.execCommand('unlink',false,null);m.selectBookmarks(n);},startDisabled:true};e.extend(i,{linkShowAdvancedTab:true,linkShowTargetTab:true});(function(){var l={ol:1,ul:1},m=/^[\n\r\t ]*$/;j.list={listToArray:function(B,C,D,E,F){if(!l[B.getName()])return[];if(!E)E=0;if(!D)D=[];for(var G=0,H=B.getChildCount();G<H;G++){var I=B.getChild(G);if(I.$.nodeName.toLowerCase()!='li')continue;var J={parent:B,indent:E,element:I,contents:[]};if(!F){J.grandparent=B.getParent();if(J.grandparent&&J.grandparent.$.nodeName.toLowerCase()=='li')J.grandparent=J.grandparent.getParent();}else J.grandparent=F;if(C)h.setMarker(C,I,'listarray_index',D.length);D.push(J);for(var K=0,L=I.getChildCount(),M;K<L;K++){M=I.getChild(K);if(M.type==1&&l[M.getName()])j.list.listToArray(M,C,D,E+1,J.grandparent);else J.contents.push(M);}}return D;},arrayToList:function(B,C,D,E,F){if(!D)D=0;if(!B||B.length<D+1)return null;var G=B[D].parent.getDocument(),H=new d.documentFragment(G),I=null,J=D,K=Math.max(B[D].indent,0),L=null,M=E==1?'p':'div';for(;;){var N=B[J];if(N.indent==K){if(!I||B[J].parent.getName()!=I.getName()){I=B[J].parent.clone(false,true);H.append(I);}L=I.append(N.element.clone(false,true));for(var O=0;O<N.contents.length;O++)L.append(N.contents[O].clone(true,true));J++;}else if(N.indent==Math.max(K,0)+1){var P=j.list.arrayToList(B,null,J,E);L.append(P.listNode);J=P.nextIndex;}else if(N.indent==-1&&!D&&N.grandparent){L;if(l[N.grandparent.getName()])L=N.element.clone(false,true);else if(F||E!=2&&N.grandparent.getName()!='td'){L=G.createElement(M);if(F)L.setAttribute('dir',F);}else L=new d.documentFragment(G);for(O=0;O<N.contents.length;O++)L.append(N.contents[O].clone(true,true));if(L.type==11&&J!=B.length-1){if(L.getLast()&&L.getLast().type==1&&L.getLast().getAttribute('type')=='_moz')L.getLast().remove();L.appendBogus();}if(L.type==1&&L.getName()==M&&L.$.firstChild){L.trim();var Q=L.getFirst();if(Q.type==1&&Q.isBlockBoundary()){var R=new d.documentFragment(G);L.moveChildren(R);L=R;}}var S=L.$.nodeName.toLowerCase();if(!c&&(S=='div'||S=='p'))L.appendBogus();H.append(L);I=null;J++;}else return null;if(B.length<=J||Math.max(B[J].indent,0)<K)break;}if(C){var T=H.getFirst();while(T){if(T.type==1)h.clearMarkers(C,T);T=T.getNextSourceNode();}}return{listNode:H,nextIndex:J};}};function n(B,C){B.getCommand(this.name).setState(C);};function o(B){var C=B.data.path,D=C.blockLimit,E=C.elements,F;\r
-for(var G=0;G<E.length&&(F=E[G])&&!F.equals(D);G++){if(l[E[G].getName()])return n.call(this,B.editor,this.type==E[G].getName()?1:2);}return n.call(this,B.editor,2);};function p(B,C,D,E){var F=j.list.listToArray(C.root,D),G=[];for(var H=0;H<C.contents.length;H++){var I=C.contents[H];I=I.getAscendant('li',true);if(!I||I.getCustomData('list_item_processed'))continue;G.push(I);h.setMarker(D,I,'list_item_processed',true);}var J=C.root,K=J.getDocument().createElement(this.type);J.copyAttributes(K,{start:1,type:1});K.removeStyle('list-style-type');for(H=0;H<G.length;H++){var L=G[H].getCustomData('listarray_index');F[L].parent=K;}var M=j.list.arrayToList(F,D,null,B.config.enterMode),N,O=M.listNode.getChildCount();for(H=0;H<O&&(N=M.listNode.getChild(H));H++){if(N.getName()==this.type)E.push(N);}M.listNode.replace(C.root);};var q=/^h[1-6]$/;function r(B,C,D){var E=C.contents,F=C.root.getDocument(),G=[];if(E.length==1&&E[0].equals(C.root)){var H=F.createElement('div');E[0].moveChildren&&E[0].moveChildren(H);E[0].append(H);E[0]=H;}var I=C.contents[0].getParent();for(var J=0;J<E.length;J++)I=I.getCommonAncestor(E[J].getParent());for(J=0;J<E.length;J++){var K=E[J],L;while(L=K.getParent()){if(L.equals(I)){G.push(K);break;}K=L;}}if(G.length<1)return;var M=G[G.length-1].getNext(),N=F.createElement(this.type),O;D.push(N);while(G.length){var P=G.shift(),Q=F.createElement('li');if(P.is('pre')||q.test(P.getName()))P.appendTo(Q);else{if(P.hasAttribute('dir')){O=O||P.getAttribute('dir');P.removeAttribute('dir');}P.copyAttributes(Q);P.moveChildren(Q);P.remove();if(!c)Q.appendBogus();}Q.appendTo(N);}if(O)N.setAttribute('dir',O);if(M)N.insertBefore(M);else N.appendTo(I);};function s(B,C,D){var E=j.list.listToArray(C.root,D),F=[];for(var G=0;G<C.contents.length;G++){var H=C.contents[G];H=H.getAscendant('li',true);if(!H||H.getCustomData('list_item_processed'))continue;F.push(H);h.setMarker(D,H,'list_item_processed',true);}var I=null;for(G=0;G<F.length;G++){var J=F[G].getCustomData('listarray_index');E[J].indent=-1;I=J;}for(G=I+1;G<E.length;G++){if(E[G].indent>E[G-1].indent+1){var K=E[G-1].indent+1-E[G].indent,L=E[G].indent;while(E[G]&&E[G].indent>=L){E[G].indent+=K;G++;}G--;}}var M=j.list.arrayToList(E,D,null,B.config.enterMode,C.root.getAttribute('dir')),N=M.listNode,O,P;function Q(R){if((O=N[R?'getFirst':'getLast']())&&!(O.is&&O.isBlockBoundary())&&(P=C.root[R?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(P.is&&P.isBlockBoundary({br:1})))B.document.createElement('br')[R?'insertBefore':'insertAfter'](O);\r
-};Q(true);Q();N.replace(C.root);};function t(B,C){this.name=B;this.type=C;};t.prototype={exec:function(B){B.focus();var C=B.document,D=B.getSelection(),E=D&&D.getRanges(true);if(!E||E.length<1)return;if(this.state==2){var F=C.getBody();F.trim();if(!F.getFirst()){var G=C.createElement(B.config.enterMode==1?'p':B.config.enterMode==3?'div':'br');G.appendTo(F);E=new d.rangeList([new d.range(C)]);if(G.is('br')){E[0].setStartBefore(G);E[0].setEndAfter(G);}else E[0].selectNodeContents(G);D.selectRanges(E);}else{var H=E.length==1&&E[0],I=H&&H.getEnclosedNode();if(I&&I.is&&this.type==I.getName())n.call(this,B,1);}}var J=D.createBookmarks(true),K=[],L={},M=E.createIterator(),N=0;while((H=M.getNextRange())&&++N){var O=H.getBoundaryNodes(),P=O.startNode,Q=O.endNode;if(P.type==1&&P.getName()=='td')H.setStartAt(O.startNode,1);if(Q.type==1&&Q.getName()=='td')H.setEndAt(O.endNode,2);var R=H.createIterator(),S;R.forceBrBreak=this.state==2;while(S=R.getNextParagraph()){if(S.getCustomData('list_block'))continue;else h.setMarker(L,S,'list_block',1);var T=new d.elementPath(S),U=T.elements,V=U.length,W=null,X=false,Y=T.blockLimit,Z;for(var aa=V-1;aa>=0&&(Z=U[aa]);aa--){if(l[Z.getName()]&&Y.contains(Z)){Y.removeCustomData('list_group_object_'+N);var ab=Z.getCustomData('list_group_object');if(ab)ab.contents.push(S);else{ab={root:Z,contents:[S]};K.push(ab);h.setMarker(L,Z,'list_group_object',ab);}X=true;break;}}if(X)continue;var ac=Y;if(ac.getCustomData('list_group_object_'+N))ac.getCustomData('list_group_object_'+N).contents.push(S);else{ab={root:ac,contents:[S]};h.setMarker(L,ac,'list_group_object_'+N,ab);K.push(ab);}}}var ad=[];while(K.length>0){ab=K.shift();if(this.state==2){if(l[ab.root.getName()])p.call(this,B,ab,L,ad);else r.call(this,B,ab,ad);}else if(this.state==1&&l[ab.root.getName()])s.call(this,B,ab,L);}for(aa=0;aa<ad.length;aa++){W=ad[aa];var ae,af=this;(ae=function(ag){var ah=W[ag?'getPrevious':'getNext'](d.walker.whitespaces(true));if(ah&&ah.getName&&ah.getName()==af.type){ah.remove();ah.moveChildren(W,ag?true:false);}})();ae(true);}h.clearAllMarkers(L);D.selectBookmarks(J);B.focus();}};var u=f,v=/[\t\r\n ]*(?:&nbsp;|\xa0)$/;function w(B,C){var D,E=B.children,F=E.length;for(var G=0;G<F;G++){D=E[G];if(D.name&&D.name in C)return G;}return F;};function x(B){return function(C){var D=C.children,E=w(C,u.$list),F=D[E],G=F&&F.previous,H;if(G&&(G.name&&G.name=='br'||G.value&&(H=G.value.match(v)))){var I=G;if(!(H&&H.index)&&I==D[0])D[0]=B||c?new a.htmlParser.text('\xa0'):new a.htmlParser.element('br',{});\r
-else if(I.name=='br')D.splice(E-1,1);else I.value=I.value.replace(v,'');}};};var y={elements:{}};for(var z in u.$listItem)y.elements[z]=x();var A={elements:{}};for(z in u.$listItem)A.elements[z]=x(true);j.add('list',{init:function(B){var C=new t('numberedlist','ol'),D=new t('bulletedlist','ul');B.addCommand('numberedlist',C);B.addCommand('bulletedlist',D);B.ui.addButton('NumberedList',{label:B.lang.numberedlist,command:'numberedlist'});B.ui.addButton('BulletedList',{label:B.lang.bulletedlist,command:'bulletedlist'});B.on('selectionChange',e.bind(o,C));B.on('selectionChange',e.bind(o,D));},afterInit:function(B){var C=B.dataProcessor;if(C){C.dataFilter.addRules(y);C.htmlFilter.addRules(A);}},requires:['domiterator']});})();(function(){j.liststyle={requires:['dialog'],init:function(l){l.addCommand('numberedListStyle',new a.dialogCommand('numberedListStyle'));a.dialog.add('numberedListStyle',this.path+'dialogs/liststyle.js');l.addCommand('bulletedListStyle',new a.dialogCommand('bulletedListStyle'));a.dialog.add('bulletedListStyle',this.path+'dialogs/liststyle.js');if(l.addMenuItems){l.addMenuGroup('list',108);l.addMenuItems({numberedlist:{label:l.lang.list.numberedTitle,group:'list',command:'numberedListStyle'},bulletedlist:{label:l.lang.list.bulletedTitle,group:'list',command:'bulletedListStyle'}});}if(l.contextMenu)l.contextMenu.addListener(function(m,n){if(!m||m.isReadOnly())return null;while(m){var o=m.getName();if(o=='ol')return{numberedlist:2};else if(o=='ul')return{bulletedlist:2};m=m.getParent();}return null;});}};j.add('liststyle',j.liststyle);})();(function(){function l(r){if(!r||r.type!=1||r.getName()!='form')return[];var s=[],t=['style','className'];for(var u=0;u<t.length;u++){var v=t[u],w=r.$.elements.namedItem(v);if(w){var x=new h(w);s.push([x,x.nextSibling]);x.remove();}}return s;};function m(r,s){if(!r||r.type!=1||r.getName()!='form')return;if(s.length>0)for(var t=s.length-1;t>=0;t--){var u=s[t][0],v=s[t][1];if(v)u.insertBefore(v);else u.appendTo(r);}};function n(r,s){var t=l(r),u={},v=r.$;if(!s){u['class']=v.className||'';v.className='';}u.inline=v.style.cssText||'';if(!s)v.style.cssText='position: static; overflow: visible';m(t);return u;};function o(r,s){var t=l(r),u=r.$;if('class' in s)u.className=s['class'];if('inline' in s)u.style.cssText=s.inline;m(t);};function p(r){var s=a.instances;for(var t in s){var u=s[t];if(u.mode=='wysiwyg'){var v=u.document.getBody();v.setAttribute('contentEditable',false);v.setAttribute('contentEditable',true);}}if(r.focusManager.hasFocus){r.toolbox.focus();\r
-r.focus();}};function q(r){if(!c||b.version>6)return null;var s=h.createFromHtml('<iframe frameborder="0" tabindex="-1" src="javascript:void((function(){document.open();'+(b.isCustomDomain()?"document.domain='"+this.getDocument().$.domain+"';":'')+'document.close();'+'})())"'+' style="display:block;position:absolute;z-index:-1;'+'progid:DXImageTransform.Microsoft.Alpha(opacity=0);'+'"></iframe>');return r.append(s,true);};j.add('maximize',{init:function(r){var s=r.lang,t=a.document,u=t.getWindow(),v,w,x,y;function z(){var B=u.getViewPaneSize();y&&y.setStyles({width:B.width+'px',height:B.height+'px'});r.resize(B.width,B.height,null,true);};var A=2;r.addCommand('maximize',{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(){var B=r.container.getChild(1),C=r.getThemeSpace('contents');if(r.mode=='wysiwyg'){var D=r.getSelection();v=D&&D.getRanges();w=u.getScrollPosition();}else{var E=r.textarea.$;v=!c&&[E.selectionStart,E.selectionEnd];w=[E.scrollLeft,E.scrollTop];}if(this.state==2){u.on('resize',z);x=u.getScrollPosition();var F=r.container;while(F=F.getParent()){F.setCustomData('maximize_saved_styles',n(F));F.setStyle('z-index',r.config.baseFloatZIndex-1);}C.setCustomData('maximize_saved_styles',n(C,true));B.setCustomData('maximize_saved_styles',n(B,true));if(c)t.$.documentElement.style.overflow=t.getBody().$.style.overflow='hidden';else t.getBody().setStyles({overflow:'hidden',width:'0px',height:'0px'});c?setTimeout(function(){u.$.scrollTo(0,0);},0):u.$.scrollTo(0,0);var G=u.getViewPaneSize();B.setStyle('position','absolute');B.$.offsetLeft;B.setStyles({'z-index':r.config.baseFloatZIndex-1,left:'0px',top:'0px'});y=q(B);B.addClass('cke_maximized');z();var H=B.getDocumentPosition();B.setStyles({left:-1*H.x+'px',top:-1*H.y+'px'});b.gecko&&p(r);}else if(this.state==1){u.removeListener('resize',z);var I=[C,B];for(var J=0;J<I.length;J++){o(I[J],I[J].getCustomData('maximize_saved_styles'));I[J].removeCustomData('maximize_saved_styles');}F=r.container;while(F=F.getParent()){o(F,F.getCustomData('maximize_saved_styles'));F.removeCustomData('maximize_saved_styles');}c?setTimeout(function(){u.$.scrollTo(x.x,x.y);},0):u.$.scrollTo(x.x,x.y);B.removeClass('cke_maximized');if(y){y.remove();y=null;}r.fire('resize');}this.toggleState();var K=this.uiItems[0],L=this.state==2?s.maximize:s.minimize,M=r.element.getDocument().getById(K._.id);M.getChild(1).setHtml(L);M.setAttribute('title',L);M.setAttribute('href','javascript:void("'+L+'");');if(r.mode=='wysiwyg'){if(v){b.gecko&&p(r);\r
-r.getSelection().selectRanges(v);var N=r.getSelection().getStartElement();N&&N.scrollIntoView(true);}else u.$.scrollTo(w.x,w.y);}else{if(v){E.selectionStart=v[0];E.selectionEnd=v[1];}E.scrollLeft=w[0];E.scrollTop=w[1];}v=w=null;A=this.state;},canUndo:false});r.ui.addButton('Maximize',{label:s.maximize,command:'maximize'});r.on('mode',function(){r.getCommand('maximize').setState(A);},null,null,100);}});})();j.add('newpage',{init:function(l){l.addCommand('newpage',{modes:{wysiwyg:1,source:1},exec:function(m){var n=this;m.setData(m.config.newpage_html,function(){setTimeout(function(){m.fire('afterCommandExec',{name:n.name,command:n});},200);});m.focus();},async:true});l.ui.addButton('NewPage',{label:l.lang.newPage,command:'newpage'});}});i.newpage_html='';j.add('pagebreak',{init:function(l){l.addCommand('pagebreak',j.pagebreakCmd);l.ui.addButton('PageBreak',{label:l.lang.pagebreak,command:'pagebreak'});l.addCss('img.cke_pagebreak{background-image: url('+a.getUrl(this.path+'images/pagebreak.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'clear: both;'+'display: block;'+'float: none;'+'width:100% !important; _width:99.9% !important;'+'border-top: #999999 1px dotted;'+'border-bottom: #999999 1px dotted;'+'height: 5px !important;'+'page-break-after: always;'+'}');},afterInit:function(l){var m=l.dataProcessor,n=m&&m.dataFilter;if(n)n.addRules({elements:{div:function(o){var p=o.attributes,q=p&&p.style,r=q&&o.children.length==1&&o.children[0],s=r&&r.name=='span'&&r.attributes.style;if(s&&/page-break-after\s*:\s*always/i.test(q)&&/display\s*:\s*none/i.test(s)){var t=l.createFakeParserElement(o,'cke_pagebreak','div'),u=l.lang.pagebreakAlt;t.attributes.alt=u;t.attributes['aria-label']=u;return t;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(l){var m=l.lang.pagebreakAlt,n=h.createFromHtml('<div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>');n=l.createFakeElement(n,'cke_pagebreak','div');n.setAttribute('alt',m);n.setAttribute('aria-label',m);var o=l.getSelection().getRanges(true);l.fire('saveSnapshot');for(var p,q=o.length-1;q>=0;q--){p=o[q];if(q<o.length-1)n=n.clone(true);p.splitBlock('p');p.insertNode(n);if(q==o.length-1){p.moveToPosition(n,4);p.select();}var r=n.getPrevious();if(r&&f[r.getName()].div)n.move(r);}l.fire('saveSnapshot');}};(function(){j.add('pastefromword',{init:function(l){var m=0,n=function(){setTimeout(function(){m=0;},0);};l.addCommand('pastefromword',{canUndo:false,exec:function(){m=1;\r
-if(l.execCommand('paste')===false)l.on('dialogHide',function(o){o.removeListener();n();});else n();}});l.ui.addButton('PasteFromWord',{label:l.lang.pastefromword.toolbar,command:'pastefromword'});l.on('paste',function(o){var p=o.data,q;if((q=p.html)&&(m||/(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/.test(q))){var r=this.loadFilterRules(function(){if(r)l.fire('paste',p);else if(!l.config.pasteFromWordPromptCleanup||m||confirm(l.lang.pastefromword.confirmCleanup))p.html=a.cleanWord(q,l);});r&&o.cancel();}},this);},loadFilterRules:function(l){var m=a.cleanWord;if(m)l();else{var n=a.getUrl(i.pasteFromWordCleanupFile||this.path+'filter/default.js');a.scriptLoader.load(n,l,null,false,true);}return!m;}});})();(function(){var l={exec:function(o){var p=e.tryThese(function(){var q=window.clipboardData.getData('Text');if(!q)throw 0;return q;});if(!p){o.openDialog('pastetext');return false;}else o.fire('paste',{text:p});return true;}};function m(o,p){if(c){var q=o.selection;if(q.type=='Control')q.clear();q.createRange().pasteHTML(p);}else o.execCommand('inserthtml',false,p);};j.add('pastetext',{init:function(o){var p='pastetext',q=o.addCommand(p,l);o.ui.addButton('PasteText',{label:o.lang.pasteText.button,command:p});a.dialog.add(p,a.getUrl(this.path+'dialogs/pastetext.js'));if(o.config.forcePasteAsPlainText)o.on('beforeCommandExec',function(r){if(r.data.name=='paste'){o.execCommand('pastetext');r.cancel();}},null,null,0);},requires:['clipboard']});function n(o,p,q,r){while(q--)j.enterkey[p==2?'enterBr':'enterBlock'](o,p,null,r);};a.editor.prototype.insertText=function(o){this.focus();this.fire('saveSnapshot');var p=this.getSelection().getStartElement().hasAscendant('pre',true)?2:this.config.enterMode,q=p==2,r=this.document.$,s=this,t;o=e.htmlEncode(o.replace(/\r\n|\r/g,'\n'));var u=0;o.replace(/\n+/g,function(v,w){t=o.substring(u,w);u=w+v.length;t.length&&m(r,t);var x=v.length,y=q?0:Math.floor(x/2),z=q?x:x%2;n(s,p,y);n(s,2,z,q?false:true);});t=o.substring(u,o.length);t.length&&m(r,t);this.fire('saveSnapshot');};})();j.add('popup');e.extend(a.editor.prototype,{popup:function(l,m,n,o){m=m||'80%';n=n||'70%';if(typeof m=='string'&&m.length>1&&m.substr(m.length-1,1)=='%')m=parseInt(window.screen.width*parseInt(m,10)/100,10);if(typeof n=='string'&&n.length>1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.height*parseInt(n,10)/100,10);if(m<640)m=640;if(n<420)n=420;var p=parseInt((window.screen.height-n)/2,10),q=parseInt((window.screen.width-m)/2,10);o=(o||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+m+',height='+n+',top='+p+',left='+q;\r
-var r=window.open('',null,o,true);if(!r)return false;try{r.moveTo(q,p);r.resizeTo(m,n);r.focus();r.location.href=l;}catch(s){r=window.open(l,null,o,true);}return true;}});(function(){var l={modes:{wysiwyg:1,source:1},canUndo:false,exec:function(n){var o,p=n.config,q=p.baseHref?'<base href="'+p.baseHref+'"/>':'',r=b.isCustomDomain();if(p.fullPage)o=n.getData().replace(/<head>/,'$&'+q).replace(/[^>]*(?=<\/title>)/,n.lang.preview);else{var s='<body ',t=n.document&&n.document.getBody();if(t){if(t.getAttribute('id'))s+='id="'+t.getAttribute('id')+'" ';if(t.getAttribute('class'))s+='class="'+t.getAttribute('class')+'" ';}s+='>';o=n.config.docType+'<html dir="'+n.config.contentsLangDirection+'">'+'<head>'+q+'<title>'+n.lang.preview+'</title>'+e.buildStyleHtml(n.config.contentsCss)+'</head>'+s+n.getData()+'</body></html>';}var u=640,v=420,w=80;try{var x=window.screen;u=Math.round(x.width*0.8);v=Math.round(x.height*0.7);w=Math.round(x.width*0.1);}catch(A){}var y='';if(r){window._cke_htmlToLoad=o;y='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}var z=window.open(y,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+u+',height='+v+',left='+w);if(!r){z.document.open();z.document.write(o);z.document.close();}}},m='preview';j.add(m,{init:function(n){n.addCommand(m,l);n.ui.addButton('Preview',{label:n.lang.preview,command:m});}});})();j.add('print',{init:function(l){var m='print',n=l.addCommand(m,j.print);l.ui.addButton('Print',{label:l.lang.print,command:m});}});j.print={exec:function(l){if(b.opera)return;else if(b.gecko)l.window.$.print();else l.document.$.execCommand('Print');},canUndo:false,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(l){l.addCommand('removeFormat',j.removeformat.commands.removeformat);l.ui.addButton('RemoveFormat',{label:l.lang.removeFormat,command:'removeFormat'});l._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(l){var m=l._.removeFormatRegex||(l._.removeFormatRegex=new RegExp('^(?:'+l.config.removeFormatTags.replace(/,/g,'|')+')$','i')),n=l._.removeAttributes||(l._.removeAttributes=l.config.removeFormatAttributes.split(',')),o=j.removeformat.filter,p=l.getSelection().getRanges(true),q=p.createIterator(),r;while(r=q.getNextRange()){if(r.collapsed)continue;r.enlarge(1);var s=r.createBookmark(),t=s.startNode,u=s.endNode,v=function(y){var z=new d.elementPath(y),A=z.elements;\r
-for(var B=1,C;C=A[B];B++){if(C.equals(z.block)||C.equals(z.blockLimit))break;if(m.test(C.getName())&&o(l,C))y.breakParent(C);}};v(t);v(u);var w=t.getNextSourceNode(true,1);while(w){if(w.equals(u))break;var x=w.getNextSourceNode(false,1);if(!(w.getName()=='img'&&w.getAttribute('_cke_realelement'))&&o(l,w))if(m.test(w.getName()))w.remove(true);else{w.removeAttributes(n);l.fire('removeFormatCleanup',w);}w=x;}r.moveToBookmark(s);}l.getSelection().selectRanges(p);}}},filter:function(l,m){var n=l._.removeFormat.filters;for(var o=0;o<n.length;o++){if(n[o](m)===false)return false;}return true;}};a.editor.prototype.addRemoveFormatFilter=function(l){this._.removeFormat.filters.push(l);};i.removeFormatTags='b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var';i.removeFormatAttributes='class,style,lang,width,height,align,hspace,valign';j.add('resize',{init:function(l){var m=l.config;!m.resize_dir&&(m.resize_dir='both');m.resize_maxWidth==undefined&&(m.resize_maxWidth=3000);m.resize_maxHeight==undefined&&(m.resize_maxHeight=3000);m.resize_minWidth==undefined&&(m.resize_minWidth=750);m.resize_minHeight==undefined&&(m.resize_minHeight=250);if(m.resize_enabled!==false){var n=null,o,p,q=(m.resize_dir=='both'||m.resize_dir=='horizontal')&&m.resize_minWidth!=m.resize_maxWidth,r=(m.resize_dir=='both'||m.resize_dir=='vertical')&&m.resize_minHeight!=m.resize_maxHeight;function s(v){var w=v.data.$.screenX-o.x,x=v.data.$.screenY-o.y,y=p.width,z=p.height,A=y+w*(l.lang.dir=='rtl'?-1:1),B=z+x;if(q)y=Math.max(m.resize_minWidth,Math.min(A,m.resize_maxWidth));if(r)z=Math.max(m.resize_minHeight,Math.min(B,m.resize_maxHeight));l.resize(y,z);};function t(v){a.document.removeListener('mousemove',s);a.document.removeListener('mouseup',t);if(l.document){l.document.removeListener('mousemove',s);l.document.removeListener('mouseup',t);}};var u=e.addFunction(function(v){if(!n)n=l.getResizable();p={width:n.$.offsetWidth||0,height:n.$.offsetHeight||0};o={x:v.screenX,y:v.screenY};m.resize_minWidth>p.width&&(m.resize_minWidth=p.width);m.resize_minHeight>p.height&&(m.resize_minHeight=p.height);a.document.on('mousemove',s);a.document.on('mouseup',t);if(l.document){l.document.on('mousemove',s);l.document.on('mouseup',t);}});l.on('destroy',function(){e.removeFunction(u);});l.on('themeSpace',function(v){if(v.data.space=='bottom'){var w='';if(q&&!r)w=' cke_resizer_horizontal';if(!q&&r)w=' cke_resizer_vertical';v.data.html+='<div class="cke_resizer'+w+'"'+' title="'+e.htmlEncode(l.lang.resize)+'"'+' onmousedown="CKEDITOR.tools.callFunction('+u+', event)"'+'></div>';\r
-}},l,null,100);}}});(function(){var l={modes:{wysiwyg:1,source:1},exec:function(n){var o=n.element.$.form;if(o)try{o.submit();}catch(p){if(o.submit.click)o.submit.click();}}},m='save';j.add(m,{init:function(n){var o=n.addCommand(m,l);o.modes={wysiwyg:!!n.element.$.form};n.ui.addButton('Save',{label:n.lang.save,command:m});}});})();(function(){var l='scaytcheck',m='';function n(s,t){var u=false,v;for(v in t){if(t[v]===s||t[v]==s){u=true;break;}}return u;};var o=function(){var s=this,t=function(){var x={};x.srcNodeRef=s.document.getWindow().$.frameElement;x.assocApp='CKEDITOR.'+a.version+'@'+a.revision;x.customerid=s.config.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';x.customDictionaryIds=s.config.scayt_customDictionaryIds||'';x.userDictionaryName=s.config.scayt_userDictionaryName||'';x.sLang=s.config.scayt_sLang||'en_US';x.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(s.focusManager.hasFocus&&!p.isControlRestored(s))this.focus();};x.onBeforeChange=function(){if(p.getScayt(s)&&!s.checkDirty())setTimeout(function(){s.resetDirty();},0);};var y=window.scayt_custom_params;if(typeof y=='object')for(var z in y)x[z]=y[z];if(p.getControlId(s))x.id=p.getControlId(s);var A=new window.scayt(x);A.afterMarkupRemove.push(function(H){new h(H,A.document).mergeSiblings();});var B=p.instances[s.name];if(B){A.sLang=B.sLang;A.option(B.option());A.paused=B.paused;}p.instances[s.name]=A;var C='scaytButton',D=window.scayt.uiTags,E=[];for(var F=0,G=4;F<G;F++)E.push(D[F]&&p.uiTabs[F]);p.uiTabs=E;try{A.setDisabled(p.isPaused(s)===false);}catch(H){}s.fire('showScaytState');};s.on('contentDom',t);s.on('contentDomUnload',function(){var x=a.document.getElementsByTag('script'),y=/^dojoIoScript(\d+)$/i,z=/^https?:\/\/svc\.spellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var A=0;A<x.count();A++){var B=x.getItem(A),C=B.getId(),D=B.getAttribute('src');if(C&&D&&C.match(y)&&D.match(z))B.remove();}});s.on('beforeCommandExec',function(x){if((x.data.name=='source'||x.data.name=='newpage')&&s.mode=='wysiwyg'){var y=p.getScayt(s);if(y){p.setPaused(s,!y.disabled);p.setControlId(s,y.id);y.destroy(true);delete p.instances[s.name];}}else if(x.data.name=='source'&&s.mode=='source')p.markControlRestore(s);});s.on('afterCommandExec',function(x){if(!p.isScaytEnabled(s))return;if(s.mode=='wysiwyg'&&(x.data.name=='undo'||x.data.name=='redo'))window.setTimeout(function(){p.getScayt(s).refresh();},10);\r
-});s.on('destroy',function(x){var y=x.editor,z=p.getScayt(y);if(!z)return;delete p.instances[y.name];p.setControlId(y,z.id);z.destroy(true);});s.on('afterSetData',function(){if(p.isScaytEnabled(s))window.setTimeout(function(){var x=p.getScayt(s);x&&x.refresh();},10);});s.on('insertElement',function(){var x=p.getScayt(s);if(p.isScaytEnabled(s)){if(c)s.getSelection().unlock(true);window.setTimeout(function(){x.focus();x.refresh();},10);}},this,null,50);s.on('insertHtml',function(){var x=p.getScayt(s);if(p.isScaytEnabled(s)){if(c)s.getSelection().unlock(true);window.setTimeout(function(){x.focus();x.refresh();},10);}},this,null,50);s.on('scaytDialog',function(x){x.data.djConfig=window.djConfig;x.data.scayt_control=p.getScayt(s);x.data.tab=m;x.data.scayt=window.scayt;});var u=s.dataProcessor,v=u&&u.htmlFilter;if(v)v.addRules({elements:{span:function(x){if(x.attributes.scayt_word&&x.attributes.scaytid){delete x.name;return x;}}}});var w=j.undo.Image.prototype;w.equals=e.override(w.equals,function(x){return function(y){var D=this;var z=D.contents,A=y.contents,B=p.getScayt(D.editor);if(B&&p.isScaytReady(D.editor)){D.contents=B.reset(z)||'';y.contents=B.reset(A)||'';}var C=x.apply(D,arguments);D.contents=z;y.contents=A;return C;};});if(s.document)t();};j.scayt={engineLoaded:false,instances:{},controlInfo:{},setControlInfo:function(s,t){if(s&&s.name&&typeof this.controlInfo[s.name]!='object')this.controlInfo[s.name]={};for(var u in t)this.controlInfo[s.name][u]=t[u];},isControlRestored:function(s){if(s&&s.name&&this.controlInfo[s.name])return this.controlInfo[s.name].restored;return false;},markControlRestore:function(s){this.setControlInfo(s,{restored:true});},setControlId:function(s,t){this.setControlInfo(s,{id:t});},getControlId:function(s){if(s&&s.name&&this.controlInfo[s.name]&&this.controlInfo[s.name].id)return this.controlInfo[s.name].id;return null;},setPaused:function(s,t){this.setControlInfo(s,{paused:t});},isPaused:function(s){if(s&&s.name&&this.controlInfo[s.name])return this.controlInfo[s.name].paused;return undefined;},getScayt:function(s){return this.instances[s.name];},isScaytReady:function(s){return this.engineLoaded===true&&'undefined'!==typeof window.scayt&&this.getScayt(s);},isScaytEnabled:function(s){var t=this.getScayt(s);return t?t.disabled===false:false;},loadEngine:function(s){if(b.gecko&&b.version<10900||b.opera)return s.fire('showScaytState');if(this.engineLoaded===true)return o.apply(s);else if(this.engineLoaded==-1)return a.on('scaytReady',function(){o.apply(s);\r
-});a.on('scaytReady',o,s);a.on('scaytReady',function(){this.engineLoaded=true;},this,null,0);this.engineLoaded=-1;var t=document.location.protocol;t=t.search(/https?:/)!=-1?t:'http:';var u='svc.spellchecker.net/scayt25/loader__base.js',v=s.config.scayt_srcUrl||t+'//'+u,w=p.parseUrl(v).path+'/';if(window.scayt==undefined){a._djScaytConfig={baseUrl:w,addOnLoad:[function(){a.fireOnce('scaytReady');}],isDebug:false};a.document.getHead().append(a.document.createElement('script',{attributes:{type:'text/javascript',async:'true',src:v}}));}else a.fireOnce('scaytReady');return null;},parseUrl:function(s){var t;if(s.match&&(t=s.match(/(.*)[\/\\](.*?\.\w+)$/)))return{path:t[1],file:t[2]};else return s;}};var p=j.scayt,q=function(s,t,u,v,w,x,y){s.addCommand(v,w);s.addMenuItem(v,{label:u,command:v,group:x,order:y});},r={preserveState:true,editorFocus:false,exec:function(s){if(p.isScaytReady(s)){var t=p.isScaytEnabled(s);this.setState(t?2:1);var u=p.getScayt(s);u.focus();u.setDisabled(t);}else if(!s.config.scayt_autoStartup&&p.engineLoaded>=0){this.setState(0);p.loadEngine(s);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(s){var t=s.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',u='';t=t.split('|');if(t&&t.length)for(var v in t)u+='scayt_'+t[v]+(t.length!=parseInt(v,10)+1?',':'');s.config.menu_groups=u+','+s.config.menu_groups;},init:function(s){var t={},u={},v=s.addCommand(l,r);a.dialog.add(l,a.getUrl(this.path+'dialogs/options.js'));var w=s.config.scayt_uiTabs||'1,1,1',x=[];w=w.split(',');for(var y=0,z=3;y<z;y++){var A=parseInt(w[y]||'1',10);x.push(A);}var B='scaytButton';s.addMenuGroup(B);var C={};C.scaytToggle={label:s.lang.scayt.enable,command:l,group:B};if(x[0]==1)C.scaytOptions={label:s.lang.scayt.options,group:B,onClick:function(){m='options';s.openDialog(l);}};if(x[1]==1)C.scaytLangs={label:s.lang.scayt.langs,group:B,onClick:function(){m='langs';s.openDialog(l);}};if(x[2]==1)C.scaytDict={label:s.lang.scayt.dictionariesTab,group:B,onClick:function(){m='dictionaries';s.openDialog(l);}};C.scaytAbout={label:s.lang.scayt.about,group:B,onClick:function(){m='about';s.openDialog(l);}};x[3]=1;p.uiTabs=x;s.addMenuItems(C);s.ui.add('Scayt',5,{label:s.lang.scayt.title,title:b.opera?s.lang.scayt.opera_title:s.lang.scayt.title,className:'cke_button_scayt',onRender:function(){v.on('state',function(){this.setState(v.state);},this);},onMenu:function(){var E=p.isScaytEnabled(s);s.getMenuItem('scaytToggle').label=s.lang.scayt[E?'disable':'enable'];\r
-return{scaytToggle:2,scaytOptions:E&&p.uiTabs[0]?2:0,scaytLangs:E&&p.uiTabs[1]?2:0,scaytDict:E&&p.uiTabs[2]?2:0,scaytAbout:E&&p.uiTabs[3]?2:0};}});if(s.contextMenu&&s.addMenuItems)s.contextMenu.addListener(function(E,F){if(!p.isScaytEnabled(s)||F.getCommonAncestor().isReadOnly())return null;var G=p.getScayt(s),H=G.getScaytNode();if(!H)return null;var I=G.getWord(H);if(!I)return null;var J=G.getLang(),K={},L=window.scayt.getSuggestion(I,J);if(!L||!L.length)return null;for(y in t){delete s._.menuItems[y];delete s._.commands[y];}for(y in u){delete s._.menuItems[y];delete s._.commands[y];}t={};u={};var M=s.config.scayt_moreSuggestions||'on',N=false,O=s.config.scayt_maxSuggestions;typeof O!='number'&&(O=5);!O&&(O=L.length);var P=s.config.scayt_contextCommands||'all';P=P.split('|');for(var Q=0,R=L.length;Q<R;Q+=1){var S='scayt_suggestion_'+L[Q].replace(' ','_'),T=(function(X,Y){return{exec:function(){G.replace(X,Y);}};})(H,L[Q]);if(Q<O){q(s,'button_'+S,L[Q],S,T,'scayt_suggest',Q+1);K[S]=2;u[S]=2;}else if(M=='on'){q(s,'button_'+S,L[Q],S,T,'scayt_moresuggest',Q+1);t[S]=2;N=true;}}if(N){s.addMenuItem('scayt_moresuggest',{label:s.lang.scayt.moreSuggestions,group:'scayt_moresuggest',order:10,getItems:function(){return t;}});u.scayt_moresuggest=2;}if(n('all',P)||n('ignore',P)){var U={exec:function(){G.ignore(H);}};q(s,'ignore',s.lang.scayt.ignore,'scayt_ignore',U,'scayt_control',1);u.scayt_ignore=2;}if(n('all',P)||n('ignoreall',P)){var V={exec:function(){G.ignoreAll(H);}};q(s,'ignore_all',s.lang.scayt.ignoreAll,'scayt_ignore_all',V,'scayt_control',2);u.scayt_ignore_all=2;}if(n('all',P)||n('add',P)){var W={exec:function(){window.scayt.addWordToUserDictionary(H);}};q(s,'add_word',s.lang.scayt.addWord,'scayt_add_word',W,'scayt_control',3);u.scayt_add_word=2;}if(G.fireOnContextMenu)G.fireOnContextMenu(s);return u;});var D=function(){s.removeListener('showScaytState',D);if(!b.opera)v.setState(p.isScaytEnabled(s)?1:2);else v.setState(0);};s.on('showScaytState',D);if(b.opera)s.on('instanceReady',function(){D();});if(s.config.scayt_autoStartup)s.on('instanceReady',function(){p.loadEngine(s);});},afterInit:function(s){var t,u=function(v){if(v.hasAttribute('scaytid'))return false;};if(s._.elementsPath&&(t=s._.elementsPath.filters))t.push(u);s.addRemoveFormatFilter&&s.addRemoveFormatFilter(u);}});})();j.add('smiley',{requires:['dialog'],init:function(l){l.config.smiley_path=l.config.smiley_path||this.path+'images/';l.addCommand('smiley',new a.dialogCommand('smiley'));l.ui.addButton('Smiley',{label:l.lang.smiley.toolbar,command:'smiley'});\r
-a.dialog.add('smiley',this.path+'dialogs/smiley.js');}});i.smiley_images=['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'];i.smiley_descriptions=['smiley','sad','wink','laugh','frown','cheeky','blush','surprise','indecision','angry','angel','cool','devil','crying','enlightened','no','yes','heart','broken heart','kiss','mail'];(function(){var l='.%2 p,.%2 div,.%2 pre,.%2 address,.%2 blockquote,.%2 h1,.%2 h2,.%2 h3,.%2 h4,.%2 h5,.%2 h6{background-repeat: no-repeat;background-position: top %3;border: 1px dotted gray;padding-top: 8px;padding-%3: 8px;}.%2 p{%1p.png);}.%2 div{%1div.png);}.%2 pre{%1pre.png);}.%2 address{%1address.png);}.%2 blockquote{%1blockquote.png);}.%2 h1{%1h1.png);}.%2 h2{%1h2.png);}.%2 h3{%1h3.png);}.%2 h4{%1h4.png);}.%2 h5{%1h5.png);}.%2 h6{%1h6.png);}',m=/%1/g,n=/%2/g,o=/%3/g,p={preserveState:true,editorFocus:false,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_blocks');}};j.add('showblocks',{requires:['wysiwygarea'],init:function(q){var r=q.addCommand('showblocks',p);r.canUndo=false;if(q.config.startupOutlineBlocks)r.setState(1);q.addCss(l.replace(m,'background-image: url('+a.getUrl(this.path)+'images/block_').replace(n,'cke_show_blocks ').replace(o,q.lang.dir=='rtl'?'right':'left'));q.ui.addButton('ShowBlocks',{label:q.lang.showBlocks,command:'showblocks'});q.on('mode',function(){if(r.state!=0)r.refresh(q);});q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});}});})();i.startupOutlineBlocks=false;(function(){var l='cke_show_border',m,n=(b.ie6Compat?['.%1 table.%2,','.%1 table.%2 td, .%1 table.%2 th,','{','border : #d3d3d3 1px dotted','}']:['.%1 table.%2,','.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');m=n.replace(/%2/g,l).replace(/%1/g,'cke_show_borders ');var o={preserveState:true,editorFocus:false,exec:function(p){this.toggleState();this.refresh(p);},refresh:function(p){var q=this.state==1?'addClass':'removeClass';\r
-p.document.getBody()[q]('cke_show_borders');}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(p){var q=p.addCommand('showborders',o);q.canUndo=false;if(p.config.startupShowBorders!==false)q.setState(1);p.addCss(m);p.on('mode',function(){if(q.state!=0)q.refresh(p);},null,null,100);p.on('contentDom',function(){if(q.state!=0)q.refresh(p);});p.on('removeFormatCleanup',function(r){var s=r.data;if(p.getCommand('showborders').state==1&&s.is('table')&&(!s.hasAttribute('border')||parseInt(s.getAttribute('border'),10)<=0))s.addClass(l);});},afterInit:function(p){var q=p.dataProcessor,r=q&&q.dataFilter,s=q&&q.htmlFilter;if(r)r.addRules({elements:{table:function(t){var u=t.attributes,v=u['class'],w=parseInt(u.border,10);if(!w||w<=0)u['class']=(v||'')+' '+l;}}});if(s)s.addRules({elements:{table:function(t){var u=t.attributes,v=u['class'];v&&(u['class']=v.replace(l,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(p){var q=p.data.name;if(q=='table'||q=='tableProperties'){var r=p.data.definition,s=r.getContents('info'),t=s.get('txtBorder'),u=t.commit;t.commit=e.override(u,function(x){return function(y,z){x.apply(this,arguments);var A=parseInt(this.getValue(),10);z[!A||A<=0?'addClass':'removeClass'](l);};});var v=r.getContents('advanced'),w=v&&v.get('advCSSClasses');if(w){w.setup=e.override(w.setup,function(x){return function(){x.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});w.commit=e.override(w.commit,function(x){return function(y,z){x.apply(this,arguments);if(!parseInt(z.getAttribute('border'),10))z.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(l){var m=j.sourcearea,n=a.document.getWindow();l.on('editingBlockReady',function(){var o,p;l.addMode('source',{load:function(q,r){if(c&&b.version<8)q.setStyle('position','relative');l.textarea=o=new h('textarea');o.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:l.tabIndex,role:'textbox','aria-label':l.lang.editorTitle.replace('%1',l.name)});o.addClass('cke_source');o.addClass('cke_enable_context_menu');var s={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){p=function(){o.hide();o.setStyle('height',q.$.clientHeight+'px');o.setStyle('width',q.$.clientWidth+'px');o.show();};l.on('resize',p);n.on('resize',p);setTimeout(p,0);}else o.on('mousedown',function(u){u.data.stopPropagation();});q.setHtml('');q.append(o);o.setStyles(s);\r
-l.fire('ariaWidget',o);o.on('blur',function(){l.focusManager.blur();});o.on('focus',function(){l.focusManager.focus();});l.mayBeDirty=true;this.loadData(r);var t=l.keystrokeHandler;if(t)t.attach(o);setTimeout(function(){l.mode='source';l.fire('mode');},b.gecko||b.webkit?100:0);},loadData:function(q){o.setValue(q);l.fire('dataReady');},getData:function(){return o.getValue();},getSnapshotData:function(){return o.getValue();},unload:function(q){o.clearCustomData();l.textarea=o=null;if(p){l.removeListener('resize',p);n.removeListener('resize',p);}if(c&&b.version<8)q.removeStyle('position');},focus:function(){o.focus();}});});l.addCommand('source',m.commands.source);if(l.ui.addButton)l.ui.addButton('Source',{label:l.lang.source,command:'source'});l.on('mode',function(){l.getCommand('source').setState(l.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(l){if(l.mode=='wysiwyg')l.fire('saveSnapshot');l.getCommand('source').setState(0);l.setMode(l.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(m){var n=m.config,o=m.lang.stylesCombo,p={},q=[];function r(s){m.getStylesSet(function(t){if(!q.length){var u,v;for(var w=0;w<t.length;w++){var x=t[w];v=x.name;u=p[v]=new a.style(x);u._name=v;u._.enterMode=n.enterMode;q.push(u);}q.sort(l);}s&&s();});};m.ui.addRichCombo('Styles',{label:o.label,title:o.panelTitle,className:'cke_styles',panel:{css:m.skin.editor.css.concat(n.contentsCss),multiSelect:true,attributes:{'aria-label':o.panelTitle}},init:function(){var s=this;r(function(){var t,u,v;for(var w=0;w<q.length;w++){t=q[w];u=t._name;var x=t.type;if(x!=v){s.startGroup(o['panelTitle'+String(x)]);v=x;}s.add(u,t.type==3?u:t.buildPreview(),u);}s.commit();s.onOpen();});},onClick:function(s){m.focus();m.fire('saveSnapshot');var t=p[s],u=m.getSelection(),v=new d.elementPath(u.getStartElement());if(t.type==2&&t.checkActive(v))t.remove(m.document);else if(t.type==3&&t.checkActive(v))t.remove(m.document);else t.apply(m.document);m.fire('saveSnapshot');},onRender:function(){m.on('selectionChange',function(s){var t=this.getValue(),u=s.data.path,v=u.elements;for(var w=0,x;w<v.length;w++){x=v[w];for(var y in p){if(p[y].checkElementRemovable(x,true)){if(y!=t)this.setValue(y);return;}}}this.setValue('');},this);},onOpen:function(){var z=this;if(c||b.webkit)m.focus();var s=m.getSelection(),t=s.getSelectedElement(),u=new d.elementPath(t||s.getStartElement()),v=[0,0,0,0];\r
-z.showAll();z.unmarkAll();for(var w in p){var x=p[w],y=x.type;if(x.checkActive(u))z.mark(w);else if(y==3&&!x.checkApplicable(u)){z.hideItem(w);v[y]--;}v[y]++;}if(!v[1])z.hideGroup(o['panelTitle'+String(1)]);if(!v[2])z.hideGroup(o['panelTitle'+String(2)]);if(!v[3])z.hideGroup(o['panelTitle'+String(3)]);}});m.on('instanceReady',function(){r();});}});function l(m,n){var o=m.type,p=n.type;return o==p?0:o==3?-1:p==3?1:p==1?1:-1;};})();j.add('table',{init:function(l){var m=j.table,n=l.lang.table;l.addCommand('table',new a.dialogCommand('table'));l.addCommand('tableProperties',new a.dialogCommand('tableProperties'));l.ui.addButton('Table',{label:n.toolbar,command:'table'});a.dialog.add('table',this.path+'dialogs/table.js');a.dialog.add('tableProperties',this.path+'dialogs/table.js');if(l.addMenuItems)l.addMenuItems({table:{label:n.menu,command:'tableProperties',group:'table',order:5},tabledelete:{label:n.deleteTable,command:'tableDelete',group:'table',order:1}});l.on('doubleclick',function(o){var p=o.data.element;if(p.is('table'))o.data.dialog='tableProperties';});if(l.contextMenu)l.contextMenu.addListener(function(o,p){if(!o||o.isReadOnly())return null;var q=o.is('table')||o.hasAscendant('table');if(q)return{tabledelete:2,table:2};return null;});}});(function(){function l(F,G){if(c)F.removeAttribute(G);else delete F[G];};var m=/^(?:td|th)$/;function n(F){var G=F.createBookmarks(),H=F.getRanges(),I=[],J={};function K(S){if(I.length>0)return;if(S.type==1&&m.test(S.getName())&&!S.getCustomData('selected_cell')){h.setMarker(J,S,'selected_cell',true);I.push(S);}};for(var L=0;L<H.length;L++){var M=H[L];if(M.collapsed){var N=M.getCommonAncestor(),O=N.getAscendant('td',true)||N.getAscendant('th',true);if(O)I.push(O);}else{var P=new d.walker(M),Q;P.guard=K;while(Q=P.next()){var R=Q.getParent();if(R&&m.test(R.getName())&&!R.getCustomData('selected_cell')){h.setMarker(J,R,'selected_cell',true);I.push(R);}}}}h.clearAllMarkers(J);F.selectBookmarks(G);return I;};function o(F){var G=0,H=F.length-1,I={},J,K,L;while(J=F[G++])h.setMarker(I,J,'delete_cell',true);G=0;while(J=F[G++]){if((K=J.getPrevious())&&!K.getCustomData('delete_cell')||(K=J.getNext())&&!K.getCustomData('delete_cell')){h.clearAllMarkers(I);return K;}}h.clearAllMarkers(I);L=F[0].getParent();if(L=L.getPrevious())return L.getLast();L=F[H].getParent();if(L=L.getNext())return L.getChild(0);return null;};function p(F){var G=F.cells;for(var H=0;H<G.length;H++){G[H].innerHTML='';if(!c)new h(G[H]).appendBogus();}};function q(F,G){var H=F.getStartElement().getAscendant('tr');\r
-if(!H)return;var I=H.clone(true);G?I.insertBefore(H):I.insertAfter(H);p(I.$);};function r(F){if(F instanceof d.selection){var G=n(F),H=G.length,I=[],J,K,L;for(var M=0;M<H;M++){var N=G[M].getParent(),O=N.$.rowIndex;!M&&(K=O-1);I[O]=N;M==H-1&&(L=O+1);}var P=N.getAscendant('table'),Q=P.$.rows,R=Q.length;J=new h(L<R&&P.$.rows[L]||K>0&&P.$.rows[K]||P.$.parentNode);for(M=I.length;M>=0;M--){if(I[M])r(I[M]);}return J;}else if(F instanceof h){P=F.getAscendant('table');if(P.$.rows.length==1)P.remove();else F.remove();}return 0;};function s(F,G){var H=F.getStartElement(),I=H.getAscendant('td',true)||H.getAscendant('th',true);if(!I)return;var J=I.getAscendant('table'),K=I.$.cellIndex;for(var L=0;L<J.$.rows.length;L++){var M=J.$.rows[L];if(M.cells.length<K+1)continue;I=new h(M.cells[K]).clone(false);if(!c)I.appendBogus();var N=new h(M.cells[K]);if(G)I.insertBefore(N);else I.insertAfter(N);}};function t(F){var G=[],H=F[0]&&F[0].getAscendant('table'),I,J,K,L;for(I=0,J=F.length;I<J;I++)G.push(F[I].$.cellIndex);G.sort();for(I=1,J=G.length;I<J;I++){if(G[I]-G[I-1]>1){K=G[I-1]+1;break;}}if(!K)K=G[0]>0?G[0]-1:G[G.length-1]+1;var M=H.$.rows;for(I=0,J=M.length;I<J;I++){L=M[I].cells[K];if(L)break;}return L?new h(L):H.getPrevious();};function u(F){if(F instanceof d.selection){var G=n(F),H=t(G);for(var I=G.length-1;I>=0;I--){if(G[I])u(G[I]);}return H;}else if(F instanceof h){var J=F.getAscendant('table');if(!J)return null;var K=F.$.cellIndex;for(I=J.$.rows.length-1;I>=0;I--){var L=new h(J.$.rows[I]);if(!K&&L.$.cells.length==1){r(L);continue;}if(L.$.cells[K])L.$.removeChild(L.$.cells[K]);}}return null;};function v(F,G){var H=F.getStartElement(),I=H.getAscendant('td',true)||H.getAscendant('th',true);if(!I)return;var J=I.clone();if(!c)J.appendBogus();if(G)J.insertBefore(I);else J.insertAfter(I);};function w(F){if(F instanceof d.selection){var G=n(F),H=G[0]&&G[0].getAscendant('table'),I=o(G);for(var J=G.length-1;J>=0;J--)w(G[J]);if(I)y(I,true);else if(H)H.remove();}else if(F instanceof h){var K=F.getParent();if(K.getChildCount()==1)K.remove();else F.remove();}};function x(F){var G=F.getBogus();G&&G.remove();F.trim();};function y(F,G){var H=new d.range(F.getDocument());if(!H['moveToElementEdit'+(G?'End':'Start')](F)){H.selectNodeContents(F);H.collapse(G?false:true);}H.select(true);};function z(F,G,H){var I=F[G];if(typeof H=='undefined')return I;for(var J=0;I&&J<I.length;J++){if(H.is&&I[J]==H.$)return J;else if(J==H)return new h(I[J]);}return H.is?-1:null;};function A(F,G,H){var I=[];for(var J=0;\r
-J<F.length;J++){var K=F[J];if(typeof H=='undefined')I.push(K[G]);else if(H.is&&K[G]==H.$)return J;else if(J==H)return new h(K[G]);}return typeof H=='undefined'?I:H.is?-1:null;};function B(F,G,H){var I=n(F),J;if((G?I.length!=1:I.length<2)||(J=F.getCommonAncestor())&&J.type==1&&J.is('table'))return false;var K,L=I[0],M=L.getAscendant('table'),N=e.buildTableMap(M),O=N.length,P=N[0].length,Q=L.getParent().$.rowIndex,R=z(N,Q,L);if(G){var S;try{S=N[G=='up'?Q-1:G=='down'?Q+1:Q][G=='left'?R-1:G=='right'?R+1:R];}catch(ak){return false;}if(!S||L.$==S)return false;I[G=='up'||G=='left'?'unshift':'push'](new h(S));}var T=L.getDocument(),U=Q,V=0,W=0,X=!H&&new d.documentFragment(T),Y=0;for(var Z=0;Z<I.length;Z++){K=I[Z];var aa=K.getParent(),ab=K.getFirst(),ac=K.$.colSpan,ad=K.$.rowSpan,ae=aa.$.rowIndex,af=z(N,ae,K);Y+=ac*ad;W=Math.max(W,af-R+ac);V=Math.max(V,ae-Q+ad);if(!H){if(x(K),K.getChildren().count()){if(ae!=U&&ab&&!(ab.isBlockBoundary&&ab.isBlockBoundary({br:1}))){var ag=X.getLast(d.walker.whitespaces(true));if(ag&&!(ag.is&&ag.is('br')))X.append(new h('br'));}K.moveChildren(X);}Z?K.remove():K.setHtml('');}U=ae;}if(!H){X.moveChildren(L);if(!c)L.appendBogus();if(W>=P)L.removeAttribute('rowSpan');else L.$.rowSpan=V;if(V>=O)L.removeAttribute('colSpan');else L.$.colSpan=W;var ah=new d.nodeList(M.$.rows),ai=ah.count();for(Z=ai-1;Z>=0;Z--){var aj=ah.getItem(Z);if(!aj.$.cells.length){aj.remove();ai++;continue;}}return L;}else return V*W==Y;};function C(F,G){var H=n(F);if(H.length>1)return false;else if(G)return true;var I=H[0],J=I.getParent(),K=J.getAscendant('table'),L=e.buildTableMap(K),M=J.$.rowIndex,N=z(L,M,I),O=I.$.rowSpan,P,Q,R,S;if(O>1){Q=Math.ceil(O/2);R=Math.floor(O/2);S=M+Q;var T=new h(K.$.rows[S]),U=z(L,S),V;P=I.clone();for(var W=0;W<U.length;W++){V=U[W];if(V.parentNode==T.$&&W>N){P.insertBefore(new h(V));break;}else V=null;}if(!V)T.append(P,true);}else{R=Q=1;T=J.clone();T.insertAfter(J);T.append(P=I.clone());var X=z(L,M);for(var Y=0;Y<X.length;Y++)X[Y].rowSpan++;}if(!c)P.appendBogus();I.$.rowSpan=Q;P.$.rowSpan=R;if(Q==1)I.removeAttribute('rowSpan');if(R==1)P.removeAttribute('rowSpan');return P;};function D(F,G){var H=n(F);if(H.length>1)return false;else if(G)return true;var I=H[0],J=I.getParent(),K=J.getAscendant('table'),L=e.buildTableMap(K),M=J.$.rowIndex,N=z(L,M,I),O=I.$.colSpan,P,Q,R;if(O>1){Q=Math.ceil(O/2);R=Math.floor(O/2);}else{R=Q=1;var S=A(L,N);for(var T=0;T<S.length;T++)S[T].colSpan++;}P=I.clone();P.insertAfter(I);if(!c)P.appendBogus();I.$.colSpan=Q;P.$.colSpan=R;\r
-if(Q==1)I.removeAttribute('colSpan');if(R==1)P.removeAttribute('colSpan');return P;};var E={thead:1,tbody:1,tfoot:1,td:1,tr:1,th:1};j.tabletools={init:function(F){var G=F.lang.table;F.addCommand('cellProperties',new a.dialogCommand('cellProperties'));a.dialog.add('cellProperties',this.path+'dialogs/tableCell.js');F.addCommand('tableDelete',{exec:function(H){var I=H.getSelection(),J=I&&I.getStartElement(),K=J&&J.getAscendant('table',true);if(!K)return;I.selectElement(K);var L=I.getRanges()[0];L.collapse();I.selectRanges([L]);var M=K.getParent();if(M.getChildCount()==1&&M.getName()!='body')M.remove();else K.remove();}});F.addCommand('rowDelete',{exec:function(H){var I=H.getSelection();y(r(I));}});F.addCommand('rowInsertBefore',{exec:function(H){var I=H.getSelection();q(I,true);}});F.addCommand('rowInsertAfter',{exec:function(H){var I=H.getSelection();q(I);}});F.addCommand('columnDelete',{exec:function(H){var I=H.getSelection(),J=u(I);J&&y(J,true);}});F.addCommand('columnInsertBefore',{exec:function(H){var I=H.getSelection();s(I,true);}});F.addCommand('columnInsertAfter',{exec:function(H){var I=H.getSelection();s(I);}});F.addCommand('cellDelete',{exec:function(H){var I=H.getSelection();w(I);}});F.addCommand('cellMerge',{exec:function(H){y(B(H.getSelection()),true);}});F.addCommand('cellMergeRight',{exec:function(H){y(B(H.getSelection(),'right'),true);}});F.addCommand('cellMergeDown',{exec:function(H){y(B(H.getSelection(),'down'),true);}});F.addCommand('cellVerticalSplit',{exec:function(H){y(C(H.getSelection()));}});F.addCommand('cellHorizontalSplit',{exec:function(H){y(D(H.getSelection()));}});F.addCommand('cellInsertBefore',{exec:function(H){var I=H.getSelection();v(I,true);}});F.addCommand('cellInsertAfter',{exec:function(H){var I=H.getSelection();v(I);}});if(F.addMenuItems)F.addMenuItems({tablecell:{label:G.cell.menu,group:'tablecell',order:1,getItems:function(){var H=F.getSelection(),I=n(H);return{tablecell_insertBefore:2,tablecell_insertAfter:2,tablecell_delete:2,tablecell_merge:B(H,null,true)?2:0,tablecell_merge_right:B(H,'right',true)?2:0,tablecell_merge_down:B(H,'down',true)?2:0,tablecell_split_vertical:C(H,true)?2:0,tablecell_split_horizontal:D(H,true)?2:0,tablecell_properties:I.length>0?2:0};}},tablecell_insertBefore:{label:G.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:G.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:G.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:G.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:G.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:G.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:G.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:G.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:G.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:G.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2};\r
-}},tablerow_insertBefore:{label:G.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:G.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:G.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:G.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2};}},tablecolumn_insertBefore:{label:G.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:G.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:G.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(F.contextMenu)F.contextMenu.addListener(function(H,I){if(!H||H.isReadOnly())return null;while(H){if(H.getName() in E)return{tablecell:2,tablerow:2,tablecolumn:2};H=H.getParent();}return null;});},getSelectedCells:n};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(l){var m=l.$.rows,n=-1,o=[];for(var p=0;p<m.length;p++){n++;!o[n]&&(o[n]=[]);var q=-1;for(var r=0;r<m[p].cells.length;r++){var s=m[p].cells[r];q++;while(o[n][q])q++;var t=isNaN(s.colSpan)?1:s.colSpan,u=isNaN(s.rowSpan)?1:s.rowSpan;for(var v=0;v<u;v++){if(!o[n+v])o[n+v]=[];for(var w=0;w<t;w++)o[n+v][q+w]=m[p].cells[r];}q+=t-1;}}return o;};j.add('specialchar',{init:function(l){var m='specialchar';a.dialog.add(m,this.path+'dialogs/specialchar.js');l.addCommand(m,new a.dialogCommand(m));l.ui.addButton('SpecialChar',{label:l.lang.specialChar.toolbar,command:m});}});(function(){var l={editorFocus:false,modes:{wysiwyg:1,source:1}},m={exec:function(p){p.container.focusNext(true,p.tabIndex);}},n={exec:function(p){p.container.focusPrevious(true,p.tabIndex);}};function o(p){return{editorFocus:false,canUndo:false,modes:{wysiwyg:1},exec:function(q){if(q.focusManager.hasFocus){var r=q.getSelection(),s=r.getCommonAncestor(),t;if(t=s.getAscendant('td',true)||s.getAscendant('th',true)){var u=new d.range(q.document),v=e.tryThese(function(){var C=t.getParent(),D=C.$.cells[t.$.cellIndex+(p?-1:1)];D.parentNode.parentNode;return D;},function(){var C=t.getParent(),D=C.getAscendant('table'),E=D.$.rows[C.$.rowIndex+(p?-1:1)];return E.cells[p?E.cells.length-1:0];});if(!(v||p)){var w=t.getAscendant('table').$,x=t.getParent().$.cells,y=new h(w.insertRow(-1),q.document);for(var z=0,A=x.length;z<A;z++){var B=y.append(new h(x[z],q.document).clone(false,false));\r
-!c&&B.appendBogus();}u.moveToElementEditStart(y);}else if(v){v=new h(v);u.moveToElementEditStart(v);if(!(u.checkStartOfBlock()&&u.checkEndOfBlock()))u.selectNodeContents(v);}else return true;u.select(true);return true;}}return false;}};};j.add('tab',{requires:['keystrokes'],init:function(p){var q=p.config.enableTabKeyTools!==false,r=p.config.tabSpaces||0,s='';while(r--)s+='\xa0';if(s)p.on('key',function(t){if(t.data.keyCode==9){p.insertHtml(s);t.cancel();}});if(q)p.on('key',function(t){if(t.data.keyCode==9&&p.execCommand('selectNextCell')||t.data.keyCode==2000+9&&p.execCommand('selectPreviousCell'))t.cancel();});if(b.webkit||b.gecko)p.on('key',function(t){var u=t.data.keyCode;if(u==9&&!s){t.cancel();p.execCommand('blur');}if(u==2000+9){p.execCommand('blurBack');t.cancel();}});p.addCommand('blur',e.extend(m,l));p.addCommand('blurBack',e.extend(n,l));p.addCommand('selectNextCell',o());p.addCommand('selectPreviousCell',o(true));}});})();h.prototype.focusNext=function(l,m){var v=this;var n=v.$,o=m===undefined?v.getTabIndex():m,p,q,r,s,t,u;if(o<=0){t=v.getNextSourceNode(l,1);while(t){if(t.isVisible()&&t.getTabIndex()===0){r=t;break;}t=t.getNextSourceNode(false,1);}}else{t=v.getDocument().getBody().getFirst();while(t=t.getNextSourceNode(false,1)){if(!p)if(!q&&t.equals(v)){q=true;if(l){if(!(t=t.getNextSourceNode(true,1)))break;p=1;}}else if(q&&!v.contains(t))p=1;if(!t.isVisible()||(u=t.getTabIndex())<0)continue;if(p&&u==o){r=t;break;}if(u>o&&(!r||!s||u<s)){r=t;s=u;}else if(!r&&u===0){r=t;s=u;}}}if(r)r.focus();};h.prototype.focusPrevious=function(l,m){var v=this;var n=v.$,o=m===undefined?v.getTabIndex():m,p,q,r,s=0,t,u=v.getDocument().getBody().getLast();while(u=u.getPreviousSourceNode(false,1)){if(!p)if(!q&&u.equals(v)){q=true;if(l){if(!(u=u.getPreviousSourceNode(true,1)))break;p=1;}}else if(q&&!v.contains(u))p=1;if(!u.isVisible()||(t=u.getTabIndex())<0)continue;if(o<=0){if(p&&t===0){r=u;break;}if(t>s){r=u;s=t;}}else{if(p&&t==o){r=u;break;}if(t<o&&(!r||t>s)){r=u;s=t;}}}if(r)r.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(n){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));n.addCommand('templates',new a.dialogCommand('templates'));n.ui.addButton('Templates',{label:n.lang.templates.button,command:'templates'});}});var l={},m={};a.addTemplates=function(n,o){l[n]=o;};a.getTemplates=function(n){return l[n];};a.loadTemplates=function(n,o){var p=[];for(var q=0;q<n.length;q++){if(!m[n[q]]){p.push(n[q]);m[n[q]]=1;}}if(p.length>0)a.scriptLoader.load(p,o);\r
-else setTimeout(o,0);};})();i.templates='default';i.templates_files=[a.getUrl('plugins/templates/templates/default.js')];i.templates_replaceContent=true;(function(){var l=function(){this.toolbars=[];this.focusCommandExecuted=false;};l.prototype.focus=function(){for(var n=0,o;o=this.toolbars[n++];)for(var p=0,q;q=o.items[p++];){if(q.focus){q.focus();return;}}};var m={toolbarFocus:{modes:{wysiwyg:1,source:1},exec:function(n){if(n.toolbox){n.toolbox.focusCommandExecuted=true;if(c)setTimeout(function(){n.toolbox.focus();},100);else n.toolbox.focus();}}}};j.add('toolbar',{init:function(n){var o=function(p,q){var r,s,t,u=n.lang.dir=='rtl';switch(q){case u?37:39:case 9:do{r=p.next;if(!r){s=p.toolbar.next;t=s&&s.items.length;while(t===0){s=s.next;t=s&&s.items.length;}if(s)r=s.items[0];}p=r;}while(p&&!p.focus)if(p)p.focus();else n.toolbox.focus();return false;case u?39:37:case 2000+9:do{r=p.previous;if(!r){s=p.toolbar.previous;t=s&&s.items.length;while(t===0){s=s.previous;t=s&&s.items.length;}if(s)r=s.items[t-1];}p=r;}while(p&&!p.focus)if(p)p.focus();else{var v=n.toolbox.toolbars[n.toolbox.toolbars.length-1].items;v[v.length-1].focus();}return false;case 27:n.focus();return false;case 13:case 32:p.execute();return false;}return true;};n.on('themeSpace',function(p){if(p.data.space==n.config.toolbarLocation){n.toolbox=new l();var q='cke_'+e.getNextNumber(),r=['<div class="cke_toolbox" role="toolbar" aria-labelledby="',q,'"'],s=n.config.toolbarStartupExpanded!==false,t;r.push(s?'>':' style="display:none">');r.push('<span id="',q,'" class="cke_voice_label">',n.lang.toolbar,'</span>');var u=n.toolbox.toolbars,v=n.config.toolbar instanceof Array?n.config.toolbar:n.config['toolbar_'+n.config.toolbar];for(var w=0;w<v.length;w++){var x=v[w];if(!x)continue;var y='cke_'+e.getNextNumber(),z={id:y,items:[]};if(t){r.push('</div>');t=0;}if(x==='/'){r.push('<div class="cke_break"></div>');continue;}r.push('<span id="',y,'" class="cke_toolbar" role="presentation"><span class="cke_toolbar_start"></span>');var A=u.push(z)-1;if(A>0){z.previous=u[A-1];z.previous.next=z;}for(var B=0;B<x.length;B++){var C,D=x[B];if(D=='-')C=k.separator;else C=n.ui.create(D);if(C){if(C.canGroup){if(!t){r.push('<span class="cke_toolgroup" role="presentation">');t=1;}}else if(t){r.push('</span>');t=0;}var E=C.render(n,r);A=z.items.push(E)-1;if(A>0){E.previous=z.items[A-1];E.previous.next=E;}E.toolbar=z;E.onkey=o;E.onfocus=function(){if(!n.toolbox.focusCommandExecuted)n.focus();};}}if(t){r.push('</span>');t=0;\r
-}r.push('<span class="cke_toolbar_end"></span></span>');}r.push('</div>');if(n.config.toolbarCanCollapse){var F=e.addFunction(function(){n.execCommand('toolbarCollapse');});n.on('destroy',function(){e.removeFunction(F);});var G='cke_'+e.getNextNumber();n.addCommand('toolbarCollapse',{exec:function(H){var I=a.document.getById(G),J=I.getPrevious(),K=H.getThemeSpace('contents'),L=J.getParent(),M=parseInt(K.$.style.height,10),N=L.$.offsetHeight,O=!J.isVisible();if(!O){J.hide();I.addClass('cke_toolbox_collapser_min');I.setAttribute('title',H.lang.toolbarExpand);}else{J.show();I.removeClass('cke_toolbox_collapser_min');I.setAttribute('title',H.lang.toolbarCollapse);}I.getFirst().setText(O?'▲':'◀');var P=L.$.offsetHeight-N;K.setStyle('height',M-P+'px');H.fire('resize');},modes:{wysiwyg:1,source:1}});r.push('<a title="'+(s?n.lang.toolbarCollapse:n.lang.toolbarExpand)+'" id="'+G+'" tabIndex="-1" class="cke_toolbox_collapser');if(!s)r.push(' cke_toolbox_collapser_min');r.push('" onclick="CKEDITOR.tools.callFunction('+F+')">','<span>&#9650;</span>','</a>');}p.data.html+=r.join('');}});n.addCommand('toolbarFocus',m.toolbarFocus);}});})();k.separator={render:function(l,m){m.push('<span class="cke_separator" role="separator"></span>');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(r){var s=new n(r),t=r.addCommand('undo',{exec:function(){if(s.undo()){r.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),u=r.addCommand('redo',{exec:function(){if(s.redo()){r.selectionChange();this.fire('afterRedo');\r
-}},state:0,canUndo:false});s.onChange=function(){t.setState(s.undoable()?2:0);u.setState(s.redoable()?2:0);};function v(w){if(s.enabled&&w.data.command.canUndo!==false)s.save();};r.on('beforeCommandExec',v);r.on('afterCommandExec',v);r.on('saveSnapshot',function(){s.save();});r.on('contentDom',function(){r.document.on('keydown',function(w){if(!w.data.$.ctrlKey&&!w.data.$.metaKey)s.type(w);});});r.on('beforeModeUnload',function(){r.mode=='wysiwyg'&&s.save(true);});r.on('mode',function(){s.enabled=r.mode=='wysiwyg';s.onChange();});r.ui.addButton('Undo',{label:r.lang.undo,command:'undo'});r.ui.addButton('Redo',{label:r.lang.redo,command:'redo'});r.resetUndo=function(){s.reset();r.fire('saveSnapshot');};r.on('updateSnapshot',function(){if(s.currentImage&&new l(r).equals(s.currentImage))setTimeout(function(){s.update();},0);});}});j.undo={};var l=j.undo.Image=function(r){this.editor=r;var s=r.getSnapshot(),t=s&&r.getSelection();c&&s&&(s=s.replace(/\s+_cke_expando=".*?"/g,''));this.contents=s;this.bookmarks=t&&t.createBookmarks2(true);},m=/\b(?:href|src|name)="[^"]*?"/gi;l.prototype={equals:function(r,s){var t=this.contents,u=r.contents;if(c&&(b.ie7Compat||b.ie6Compat)){t=t.replace(m,'');u=u.replace(m,'');}if(t!=u)return false;if(s)return true;var v=this.bookmarks,w=r.bookmarks;if(v||w){if(!v||!w||v.length!=w.length)return false;for(var x=0;x<v.length;x++){var y=v[x],z=w[x];if(y.startOffset!=z.startOffset||y.endOffset!=z.endOffset||!e.arrayCompare(y.start,z.start)||!e.arrayCompare(y.end,z.end))return false;}}return true;}};function n(r){this.editor=r;this.reset();};var o={8:1,46:1},p={16:1,17:1,18:1},q={37:1,38:1,39:1,40:1};n.prototype={type:function(r){var s=r&&r.data.getKey(),t=s in p,u=s in o,v=this.lastKeystroke in o,w=u&&s==this.lastKeystroke,x=s in q,y=this.lastKeystroke in q,z=!u&&!x,A=u&&!w,B=!(t||this.typing)||z&&(v||y);if(B||A){var C=new l(this.editor);e.setTimeout(function(){var E=this;var D=E.editor.getSnapshot();if(c)D=D.replace(/\s+_cke_expando=".*?"/g,'');if(C.contents!=D){E.typing=true;if(!E.save(false,C,false))E.snapshots.splice(E.index+1,E.snapshots.length-E.index-1);E.hasUndo=true;E.hasRedo=false;E.typesCount=1;E.modifiersCount=1;E.onChange();}},0,this);}this.lastKeystroke=s;if(u){this.typesCount=0;this.modifiersCount++;if(this.modifiersCount>25){this.save(false,null,false);this.modifiersCount=1;}}else if(!x){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var r=this;\r
-r.lastKeystroke=0;r.snapshots=[];r.index=-1;r.limit=r.editor.config.undoStackSize;r.currentImage=null;r.hasUndo=false;r.hasRedo=false;r.resetType();},resetType:function(){var r=this;r.typing=false;delete r.lastKeystroke;r.typesCount=0;r.modifiersCount=0;},fireChange:function(){var r=this;r.hasUndo=!!r.getNextImage(true);r.hasRedo=!!r.getNextImage(false);r.resetType();r.onChange();},save:function(r,s,t){var v=this;var u=v.snapshots;if(!s)s=new l(v.editor);if(s.contents===false)return false;if(v.currentImage&&s.equals(v.currentImage,r))return false;u.splice(v.index+1,u.length-v.index-1);if(u.length==v.limit)u.shift();v.index=u.push(s)-1;v.currentImage=s;if(t!==false)v.fireChange();return true;},restoreImage:function(r){var t=this;t.editor.loadSnapshot(r.contents);if(r.bookmarks)t.editor.getSelection().selectBookmarks(r.bookmarks);else if(c){var s=t.editor.document.getBody().$.createTextRange();s.collapse(true);s.select();}t.index=r.index;t.update();t.fireChange();},getNextImage:function(r){var w=this;var s=w.snapshots,t=w.currentImage,u,v;if(t)if(r)for(v=w.index-1;v>=0;v--){u=s[v];if(!t.equals(u,true)){u.index=v;return u;}}else for(v=w.index+1;v<s.length;v++){u=s[v];if(!t.equals(u,true)){u.index=v;return u;}}return null;},redoable:function(){return this.enabled&&this.hasRedo;},undoable:function(){return this.enabled&&this.hasUndo;},undo:function(){var s=this;if(s.undoable()){s.save(true);var r=s.getNextImage(true);if(r)return s.restoreImage(r),true;}return false;},redo:function(){var s=this;if(s.redoable()){s.save(true);if(s.redoable()){var r=s.getNextImage(false);if(r)return s.restoreImage(r),true;}}return false;},update:function(){var r=this;r.snapshots.splice(r.index,1,r.currentImage=new l(r.editor));}};})();i.undoStackSize=20;(function(){var l={table:1,pre:1},m=/\s*<(p|div|address|h\d|center)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\1>)?(?=\s*$|<\/body>)/gi,n=d.walker.whitespaces(true);function o(A){if(A.getType()==3)return A.getSelectedElement().isReadOnly();else return A.getCommonAncestor().isReadOnly();};function p(A){if(this.mode=='wysiwyg'){this.focus();var B=this.getSelection();if(o(B))return;var C=A.data;this.fire('saveSnapshot');if(this.dataProcessor)C=this.dataProcessor.toHtml(C);if(c){var D=B.isLocked;if(D)B.unlock();var E=B.getNative();if(E.type=='Control')E.clear();else if(B.getType()==2){var F=B.getRanges()[0],G=F&&F.endContainer;if(G&&G.type==1&&G.getAttribute('contenteditable')=='false'&&F.checkBoundaryOfElement(G,2)){F.setEndAfter(F.endContainer);\r
-F.deleteContents();}}try{E.createRange().pasteHTML(C);}catch(I){}if(D)this.getSelection().lock();}else this.document.$.execCommand('inserthtml',false,C);if(b.webkit){this.document.$.execCommand('inserthtml',false,'<span id="cke_paste_marker" cke_temp="1"></span>');var H=this.document.getById('cke_paste_marker');H.scrollIntoView();H.remove();}e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function q(A){if(this.mode=='wysiwyg'){this.focus();var B=this.getSelection();if(o(B))return;this.fire('saveSnapshot');var C=B.getRanges(),D=A.data,E=D.getName(),F=f.$block[E],G=B.isLocked;if(G)B.unlock();var H,I,J,K;for(var L=C.length-1;L>=0;L--){H=C[L];H.deleteContents();I=!L&&D||D.clone(true);var M,N;if(F)while((M=H.getCommonAncestor(false,true))&&(N=f[M.getName()])&&!(N&&N[E])){if(M.getName() in f.span)H.splitElement(M);else if(H.checkStartOfBlock()&&H.checkEndOfBlock()){H.setStartBefore(M);H.collapse(true);M.remove();}else H.splitBlock();}H.insertNode(I);if(!J)J=I;}H.moveToPosition(J,4);if(F){var O=J.getNext(n),P=O&&O.type==1&&O.getName();if(P&&f.$block[P]&&f[P]['#'])H.moveToElementEditStart(O);}B.selectRanges([H]);if(G)this.getSelection().lock();e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function r(A){if(!A.checkDirty())setTimeout(function(){A.resetDirty();},0);};var s=d.walker.whitespaces(true),t=d.walker.bookmark(false,true);function u(A){return s(A)&&t(A);};function v(A){return A.type==3&&e.trim(A.getText()).match(/^(?:&nbsp;|\xa0)$/);};function w(A){if(A.isLocked){A.unlock();setTimeout(function(){A.lock();},0);}};function x(A){return A.getOuterHtml().match(m);};s=d.walker.whitespaces(true);function y(A){var B=A.window,C=A.document,D=A.document.getBody(),E=D.getChildren().count();if(!E||E==1&&D.getFirst().hasAttribute('_moz_editor_bogus_node')){r(A);var F=A.element.getDocument(),G=F.getDocumentElement(),H=G.$.scrollTop,I=G.$.scrollLeft,J=C.$.createEvent('KeyEvents');J.initKeyEvent('keypress',true,true,B.$,false,false,false,false,0,32);C.$.dispatchEvent(J);if(H!=G.$.scrollTop||I!=G.$.scrollLeft)F.getWindow().$.scrollTo(I,H);E&&D.getFirst().remove();C.getBody().appendBogus();var K=new d.range(C);K.setStartAt(D,1);K.select();}};function z(A){var B=A.editor,C=A.data.path,D=C.blockLimit,E=A.data.selection,F=E.getRanges()[0],G=B.document.getBody(),H=B.config.enterMode;b.gecko&&y(B);if(H!=2&&F.collapsed&&D.getName()=='body'&&!C.block){B.fire('updateSnapshot');r(B);c&&w(E);var I=F.fixBlock(true,B.config.enterMode==3?'div':'p');if(c){var J=I.getFirst(u);\r
-J&&v(J)&&J.remove();}if(x(I)){var K=I.getNext(s);if(K&&K.type==1&&!l[K.getName()]){F.moveToElementEditStart(K);I.remove();}else{K=I.getPrevious(s);if(K&&K.type==1&&!l[K.getName()]){F.moveToElementEditEnd(K);I.remove();}}}F.select();if(!c)B.selectionChange();}var L=new d.range(B.document),M=new d.walker(L);L.selectNodeContents(G);M.evaluator=function(O){return O.type==1&&O.getName() in l;};M.guard=function(O,P){return!(O.type==3&&s(O)||P);};if(M.previous()){B.fire('updateSnapshot');r(B);c&&w(E);var N;if(H!=2)N=G.append(new h(H==1?'p':'div'));else N=G;if(!c)N.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(A){var B=A.config.enterMode!=2?A.config.enterMode==3?'div':'p':false,C=A.lang.editorTitle.replace('%1',A.name),D;A.on('editingBlockReady',function(){var J,K,L,M,N,O,P=b.isCustomDomain(),Q=function(T){if(K)K.remove();var U='document.open();'+(P?'document.domain="'+document.domain+'";':'')+'document.close();';K=h.createFromHtml('<iframe style="width:100%;height:100%" frameBorder="0" title="'+C+'"'+' src="'+(c?'javascript:void(function(){'+encodeURIComponent(U)+'}())':'')+'"'+' tabIndex="'+(b.webkit?-1:A.tabIndex)+'"'+' allowTransparency="true"'+'></iframe>');if(document.location.protocol=='chrome:')a.event.useCapture=true;K.on('load',function(Y){N=1;Y.removeListener();var Z=K.getFrameDocument().$;Z.open('text/html','replace');Z.write(T);Z.close();});if(document.location.protocol=='chrome:')a.event.useCapture=false;var V=A.element,W=b.gecko&&!V.isVisible(),X={};if(W){V.show();X={position:V.getStyle('position'),top:V.getStyle('top')};V.setStyles({position:'absolute',top:'-3000px'});}J.append(K);if(W)setTimeout(function(){V.hide();V.setStyles(X);},1000);};D=e.addFunction(S);var R='<script id="cke_actscrpt" type="text/javascript" cke_temp="1">'+(P?'document.domain="'+document.domain+'";':'')+'window.parent.CKEDITOR.tools.callFunction( '+D+', window );'+'</script>';function S(T){if(!N)return;N=0;A.fire('ariaWidget',K);var U=T.document,V=U.body,W=U.getElementById('cke_actscrpt');W.parentNode.removeChild(W);V.spellcheck=!A.config.disableNativeSpellChecker;if(c){V.hideFocus=true;V.disabled=true;V.contentEditable=true;V.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)U.$.body.contentEditable=true;else if(b.webkit)U.$.body.parentNode.contentEditable=true;else U.$.designMode='on';},0);b.gecko&&e.setTimeout(y,0,null,A);T=A.window=new d.window(T);U=A.document=new g(U);U.on('dblclick',function(aa){var ab=aa.data.getTarget(),ac={element:ab,dialog:''};\r
-A.fire('doubleclick',ac);ac.dialog&&A.openDialog(ac.dialog);});if(!(c||b.opera))U.on('mousedown',function(aa){var ab=aa.data.getTarget();if(ab.is('img','hr','input','textarea','select'))A.getSelection().selectElement(ab);});if(b.gecko)U.on('mouseup',function(aa){if(aa.data.$.button==2){var ab=aa.data.getTarget();if(!ab.getOuterHtml().replace(m,'')){var ac=new d.range(U);ac.moveToElementEditStart(ab);ac.select(true);}}});U.on('click',function(aa){aa=aa.data;if(aa.getTarget().is('a')&&aa.$.button!=2)aa.preventDefault();});if(b.webkit){U.on('click',function(aa){if(aa.data.getTarget().is('input','select'))aa.data.preventDefault();});U.on('mouseup',function(aa){if(aa.data.getTarget().is('input','textarea'))aa.data.preventDefault();});}if(c&&U.$.compatMode=='CSS1Compat'||b.gecko||b.opera){var X=U.getDocumentElement();X.on('mousedown',function(aa){if(aa.data.getTarget().equals(X)){if(b.gecko&&b.version>=10900)H();I.focus();}});}T.on('blur',function(){A.focusManager.blur();});T.on('focus',function(){var aa=A.document;if(b.gecko&&b.version>=10900)H();else if(b.opera)aa.getBody().focus();A.focusManager.focus();});var Y=A.keystrokeHandler;if(Y)Y.attach(U);if(c){U.getDocumentElement().addClass(U.$.compatMode);U.on('keydown',function(aa){var ab=aa.data.getKeystroke();if(ab in {8:1,46:1}){var ac=A.getSelection(),ad=ac.getSelectedElement();if(ad){A.fire('saveSnapshot');var ae=ac.getRanges()[0].createBookmark();ad.remove();ac.selectBookmarks([ae]);A.fire('saveSnapshot');aa.data.preventDefault();}}});if(U.$.compatMode=='CSS1Compat'){var Z={33:1,34:1};U.on('keydown',function(aa){if(aa.data.getKeystroke() in Z)setTimeout(function(){A.getSelection().scrollIntoView();},0);});}}if(A.contextMenu)A.contextMenu.addTarget(U,A.config.browserContextMenuOnCtrl!==false);setTimeout(function(){A.fire('contentDom');if(O){A.mode='wysiwyg';A.fire('mode');O=false;}L=false;if(M){A.focus();M=false;}setTimeout(function(){A.fire('dataReady');},0);try{A.document.$.execCommand('enableObjectResizing',false,!A.config.disableObjectResizing);}catch(aa){}try{A.document.$.execCommand('enableInlineTableEditing',false,!A.config.disableNativeTableHandles);}catch(ab){}if(c)setTimeout(function(){if(A.document){var ac=A.document.$.body;ac.runtimeStyle.marginBottom='0px';ac.runtimeStyle.marginBottom='';}},1000);},0);};A.addMode('wysiwyg',{load:function(T,U,V){J=T;if(c&&b.quirks)T.setStyle('position','relative');A.mayBeDirty=true;O=true;if(V)this.loadSnapshotData(U);else this.loadData(U);},loadData:function(T){L=true;\r
-var U=A.config,V=U.fullPage,W=U.docType,X='<style type="text/css" cke_temp="1">'+A._.styles.join('\n')+'</style>';!V&&(X=e.buildStyleHtml(A.config.contentsCss)+X);var Y=U.baseHref?'<base href="'+U.baseHref+'" cke_temp="1" />':'';if(V)T=T.replace(/<!DOCTYPE[^>]*>/i,function(Z){A.docType=W=Z;return '';});if(A.dataProcessor)T=A.dataProcessor.toHtml(T,B);if(V){if(!/<body[\s|>]/.test(T))T='<body>'+T;if(!/<html[\s|>]/.test(T))T='<html>'+T+'</html>';if(!/<head[\s|>]/.test(T))T=T.replace(/<html[^>]*>/,'$&<head><title></title></head>');else if(!/<title[\s|>]/.test(T))T=T.replace(/<head[^>]*>/,'$&<title></title>');Y&&(T=T.replace(/<head>/,'$&'+Y));T=T.replace(/<\/head\s*>/,X+'$&');T=W+T;}else T=U.docType+'<html dir="'+U.contentsLangDirection+'"'+' lang="'+(U.contentsLanguage||A.langCode)+'">'+'<head>'+'<title>'+C+'</title>'+Y+X+'</head>'+'<body'+(U.bodyId?' id="'+U.bodyId+'"':'')+(U.bodyClass?' class="'+U.bodyClass+'"':'')+'>'+T+'</html>';T+=R;this.onDispose();Q(T);},getData:function(){var T=A.config,U=T.fullPage,V=U&&A.docType,W=K.getFrameDocument(),X=U?W.getDocumentElement().getOuterHtml():W.getBody().getHtml();if(A.dataProcessor)X=A.dataProcessor.toDataFormat(X,B);if(T.ignoreEmptyParagraph)X=X.replace(m,'');if(V)X=V+'\n'+X;return X;},getSnapshotData:function(){return K.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(T){K.getFrameDocument().getBody().setHtml(T);},onDispose:function(){if(!A.document)return;A.document.getDocumentElement().clearCustomData();A.document.getBody().clearCustomData();A.window.clearCustomData();A.document.clearCustomData();K.clearCustomData();K.remove();},unload:function(T){this.onDispose();A.window=A.document=K=J=M=null;A.fire('contentDomUnload');},focus:function(){if(L)M=true;else if(b.opera&&A.document){A.document.getBody().focus();A.selectionChange();}else if(!b.opera&&A.window){A.window.focus();A.selectionChange();}}});A.on('insertHtml',p,null,null,20);A.on('insertElement',q,null,null,20);A.on('selectionChange',z,null,null,1);});var E;A.on('contentDom',function(){var J=A.document.getElementsByTag('title').getItem(0);J.setAttribute('_cke_title',A.document.$.title);A.document.$.title=C;});if(b.ie8Compat){A.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var F=[];for(var G in f.$removeEmpty)F.push('html.CSS1Compat '+G+'[contenteditable=false]');A.addCss(F.join(',')+'{ display:inline-block;}');}function H(J){e.tryThese(function(){A.document.$.designMode='on';setTimeout(function(){A.document.$.designMode='off';\r
-A.document.getBody().focus();},50);},function(){A.document.$.designMode='off';var K=A.document.getBody();K.setAttribute('contentEditable',false);K.setAttribute('contentEditable',true);!J&&H(1);});};if(b.gecko||c||b.opera){var I;A.on('uiReady',function(){I=A.container.append(h.createFromHtml('<span tabindex="-1" style="position:absolute; left:-10000" role="presentation"></span>'));I.on('focus',function(){A.focus();});});A.on('destroy',function(){e.removeFunction(D);I.clearCustomData();});}A.on('insertElement',function(J){var K=J.data;if(K.type==1&&(K.is('input')||K.is('textarea')))if(!K.isReadOnly()){K.setAttribute('contentEditable',false);K.setCustomData('_cke_notReadOnly',1);}});}});if(b.gecko)(function(){var A=document.body;if(!A)window.addEventListener('load',arguments.callee,false);else{var B=A.getAttribute('onpageshow');A.setAttribute('onpageshow',(B?B+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(l){var m='checkspell',n=l.addCommand(m,new a.dialogCommand(m));n.modes={wysiwyg:!b.opera&&document.domain==window.location.hostname};l.ui.addButton('SpellChecker',{label:l.lang.spellCheck.toolbar,command:m});a.dialog.add(m,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){function l(N){return!!this._.tabs[N][0].$.offsetHeight;};function m(){var R=this;var N=R._.currentTabId,O=R._.tabIdList.length,P=e.indexOf(R._.tabIdList,N)+O;for(var Q=P-1;Q>P-O;Q--){if(l.call(R,R._.tabIdList[Q%O]))return R._.tabIdList[Q%O];}return null;};function n(){var R=this;var N=R._.currentTabId,O=R._.tabIdList.length,P=e.indexOf(R._.tabIdList,N);for(var Q=P+1;Q<P+O;Q++){if(l.call(R,R._.tabIdList[Q%O]))return R._.tabIdList[Q%O];}return null;};function o(N,O){var P=N.$.getElementsByTagName('input');for(var Q=0,R=P.length;Q<R;Q++){var S=new h(P[Q]);if(S.getAttribute('type').toLowerCase()=='text')if(O){S.setAttribute('value',S.getCustomData('fake_value')||'');\r
-S.removeCustomData('fake_value');}else{S.setCustomData('fake_value',S.getAttribute('value'));S.setAttribute('value','');}}};a.dialog=function(N,O){var P=a.dialog._.dialogDefinitions[O];P=e.extend(P(N),q);P=e.clone(P);P=new u(this,P);var Q=a.document,R=N.theme.buildDialog(N);this._={editor:N,element:R.element,name:O,contentSize:{width:0,height:0},size:{width:0,height:0},updateSize:false,contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:false,focusList:[],currentFocusIndex:0,hasFocus:false};this.parts=R.parts;e.setTimeout(function(){N.fire('ariaWidget',this.parts.contents);},0,this);this.parts.dialog.setStyles({position:b.ie6Compat?'absolute':'fixed',top:0,left:0,visibility:'hidden'});a.event.call(this);this.definition=P=a.fire('dialogDefinition',{name:O,definition:P},N).definition;if(P.onLoad)this.on('load',P.onLoad);if(P.onShow)this.on('show',P.onShow);if(P.onHide)this.on('hide',P.onHide);if(P.onOk)this.on('ok',function(ae){N.fire('saveSnapshot');setTimeout(function(){N.fire('saveSnapshot');},0);if(P.onOk.call(this,ae)===false)ae.data.hide=false;});if(P.onCancel)this.on('cancel',function(ae){if(P.onCancel.call(this,ae)===false)ae.data.hide=false;});var S=this,T=function(ae){var af=S._.contents,ag=false;for(var ah in af)for(var ai in af[ah]){ag=ae.call(this,af[ah][ai]);if(ag)return;}};this.on('ok',function(ae){T(function(af){if(af.validate){var ag=af.validate(this);if(typeof ag=='string'){alert(ag);ag=false;}if(ag===false){if(af.select)af.select();else af.focus();ae.data.hide=false;ae.stop();return true;}}});},this,null,0);this.on('cancel',function(ae){T(function(af){if(af.isChanged()){if(!confirm(N.lang.common.confirmCancel))ae.data.hide=false;return true;}});},this,null,0);this.parts.close.on('click',function(ae){if(this.fire('cancel',{hide:true}).hide!==false)this.hide();ae.data.preventDefault();},this);function U(){var ae=S._.focusList;ae.sort(function(ah,ai){if(ah.tabIndex!=ai.tabIndex)return ai.tabIndex-ah.tabIndex;else return ah.focusIndex-ai.focusIndex;});var af=ae.length;for(var ag=0;ag<af;ag++)ae[ag].focusIndex=ag;};function V(ae){var af=S._.focusList,ag=ae?1:-1;if(af.length<1)return;var ah=S._.currentFocusIndex;try{af[ah].getInputElement().$.blur();}catch(ak){}var ai=(ah+ag+af.length)%af.length,aj=ai;while(!af[aj].isFocusable()){aj=(aj+ag+af.length)%af.length;if(aj==ai)break;}af[aj].focus();if(af[aj].type=='text')af[aj].select();};this.changeFocus=V;var W;function X(ae){var aj=this;\r
-if(S!=a.dialog._.currentTop)return;var af=ae.data.getKeystroke(),ag=N.lang.dir=='rtl';W=0;if(af==9||af==2000+9){var ah=af==2000+9;if(S._.tabBarMode){var ai=ah?m.call(S):n.call(S);S.selectPage(ai);S._.tabs[ai][0].focus();}else V(!ah);W=1;}else if(af==4000+121&&!S._.tabBarMode&&S.getPageCount()>1){S._.tabBarMode=true;S._.tabs[S._.currentTabId][0].focus();W=1;}else if((af==37||af==39)&&S._.tabBarMode){ai=af==(ag?39:37)?m.call(S):n.call(S);S.selectPage(ai);S._.tabs[ai][0].focus();W=1;}else if((af==13||af==32)&&S._.tabBarMode){aj.selectPage(aj._.currentTabId);aj._.tabBarMode=false;aj._.currentFocusIndex=-1;V(true);W=1;}if(W){ae.stop();ae.data.preventDefault();}};function Y(ae){W&&ae.data.preventDefault();};var Z=this._.element;this.on('show',function(){Z.on('keydown',X,this,null,0);if(b.opera||b.gecko&&b.mac)Z.on('keypress',Y,this);});this.on('hide',function(){Z.removeListener('keydown',X);if(b.opera||b.gecko&&b.mac)Z.removeListener('keypress',Y);});this.on('iframeAdded',function(ae){var af=new g(ae.data.iframe.$.contentWindow.document);af.on('keydown',X,this,null,0);});this.on('show',function(){var ai=this;U();if(N.config.dialog_startupFocusTab&&S._.pageCount>1){S._.tabBarMode=true;S._.tabs[S._.currentTabId][0].focus();}else if(!ai._.hasFocus){ai._.currentFocusIndex=-1;if(P.onFocus){var ae=P.onFocus.call(ai);ae&&ae.focus();}else V(true);if(ai._.editor.mode=='wysiwyg'&&c){var af=N.document.$.selection,ag=af.createRange();if(ag)if(ag.parentElement&&ag.parentElement().ownerDocument==N.document.$||ag.item&&ag.item(0).ownerDocument==N.document.$){var ah=document.body.createTextRange();ah.moveToElementText(ai.getElement().getFirst().$);ah.collapse(true);ah.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ae){var af=this.getElement(),ag=af.getFirst();ag.remove();ag.appendTo(af);},this);w(this);x(this);new d.text(P.title,a.document).appendTo(this.parts.title);for(var aa=0;aa<P.contents.length;aa++){var ab=P.contents[aa];ab&&this.addPage(ab);}this.parts.tabs.on('click',function(ae){var ah=this;var af=ae.data.getTarget();if(af.hasClass('cke_dialog_tab')){var ag=af.$.id;ah.selectPage(ag.substring(4,ag.lastIndexOf('_')));if(ah._.tabBarMode){ah._.tabBarMode=false;ah._.currentFocusIndex=-1;V(true);}ae.data.preventDefault();}},this);var ac=[],ad=a.dialog._.uiElementBuilders.hbox.build(this,{type:'hbox',className:'cke_dialog_footer_buttons',widths:[],children:P.buttons},ac).getChild();this.parts.footer.setHtml(ac.join(''));for(aa=0;aa<ad.length;aa++)this._.buttons[ad[aa].id]=ad[aa];\r
-};function p(N,O,P){this.element=O;this.focusIndex=P;this.tabIndex=0;this.isFocusable=function(){return!O.getAttribute('disabled')&&O.isVisible();};this.focus=function(){N._.currentFocusIndex=this.focusIndex;this.element.focus();};O.on('keydown',function(Q){if(Q.data.getKeystroke() in {32:1,13:1})this.fire('click');});O.on('focus',function(){this.fire('mouseover');});O.on('blur',function(){this.fire('mouseout');});};a.dialog.prototype={destroy:function(){this.hide();this._.element.remove();},resize:(function(){return function(N,O){var P=this;if(P._.contentSize&&P._.contentSize.width==N&&P._.contentSize.height==O)return;a.dialog.fire('resize',{dialog:P,skin:P._.editor.skinName,width:N,height:O},P._.editor);P._.contentSize={width:N,height:O};P._.updateSize=true;};})(),getSize:function(){var P=this;if(!P._.updateSize)return P._.size;var N=P._.element.getFirst(),O=P._.size={width:N.$.offsetWidth||0,height:N.$.offsetHeight||0};P._.updateSize=!O.width||!O.height;return O;},move:(function(){var N;return function(O,P){var S=this;var Q=S._.element.getFirst();if(N===undefined)N=Q.getComputedStyle('position')=='fixed';if(N&&S._.position&&S._.position.x==O&&S._.position.y==P)return;S._.position={x:O,y:P};if(!N){var R=a.document.getWindow().getScrollPosition();O+=R.x;P+=R.y;}Q.setStyles({left:(O>0?O:0)+'px',top:(P>0?P:0)+'px'});};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var N=this._.editor;if(N.mode=='wysiwyg'&&c){var O=N.getSelection();O&&O.lock();}var P=this._.element,Q=this.definition;if(!(P.getParent()&&P.getParent().equals(a.document.getBody())))P.appendTo(a.document.getBody());else P.setStyle('display','block');if(b.gecko&&b.version<10900){var R=this.parts.dialog;R.setStyle('position','absolute');setTimeout(function(){R.setStyle('position','fixed');},0);}this.resize(Q.minWidth,Q.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;B(this._.editor);P.on('keydown',F);P.on(b.opera?'keypress':'keyup',G);for(var S in {keyup:1,keydown:1,keypress:1})P.on(S,M);}else{this._.parentDialog=a.dialog._.currentTop;var T=this._.parentDialog.getElement().getFirst();T.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}H(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();\r
-});this._.hasFocus=false;e.setTimeout(function(){var U=a.document.getWindow().getViewPaneSize(),V=this.getSize();this.move((U.width-Q.minWidth)/2,(U.height-V.height)/2);this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(W){W.setInitValue&&W.setInitValue();});},100,this);},foreach:function(N){var Q=this;for(var O in Q._.contents)for(var P in Q._.contents[O])N(Q._.contents[O][P]);return Q;},reset:(function(){var N=function(O){if(O.reset)O.reset(1);};return function(){this.foreach(N);return this;};})(),setupContent:function(){var N=arguments;this.foreach(function(O){if(O.setup)O.setup.apply(O,N);});},commitContent:function(){var N=arguments;this.foreach(function(O){if(O.commit)O.commit.apply(O,N);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var N=this._.element;N.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');I(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)C();else{var O=this._.parentDialog.getElement().getFirst();O.setStyle('z-index',parseInt(O.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;N.removeListener('keydown',F);N.removeListener(b.opera?'keypress':'keyup',G);for(var P in {keyup:1,keydown:1,keypress:1})N.removeListener(P,M);var Q=this._.editor;Q.focus();if(Q.mode=='wysiwyg'&&c){var R=Q.getSelection();R&&R.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(S){S.resetInitValue&&S.resetInitValue();});},addPage:function(N){var Z=this;var O=[],P=N.label?' title="'+e.htmlEncode(N.label)+'"':'',Q=N.elements,R=a.dialog._.uiElementBuilders.vbox.build(Z,{type:'vbox',className:'cke_dialog_page_contents',children:N.elements,expand:!!N.expand,padding:N.padding,style:N.style||'width: 100%; height: 100%;'},O),S=h.createFromHtml(O.join(''));S.setAttribute('role','tabpanel');var T=b,U='cke_'+N.id+'_'+e.getNextNumber(),V=h.createFromHtml(['<a class="cke_dialog_tab"',Z._.pageCount>0?' cke_last':'cke_first',P,!!N.hidden?' style="display:none"':'',' id="',U,'"',T.gecko&&T.version>=10900&&!T.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',N.label,'</a>'].join(''));S.setAttribute('aria-labelledby',U);Z._.tabs[N.id]=[V,S];Z._.tabIdList.push(N.id);\r
-!N.hidden&&Z._.pageCount++;Z._.lastTab=V;Z.updateStyle();var W=Z._.contents[N.id]={},X,Y=R.getChild();while(X=Y.shift()){W[X.id]=X;if(typeof X.getChild=='function')Y.push.apply(Y,X.getChild());}S.setAttribute('name',N.id);S.appendTo(Z.parts.contents);V.unselectable();Z.parts.tabs.append(V);if(N.accessKey){H(Z,Z,'CTRL+'+N.accessKey,K,J);Z._.accessKeyMap['CTRL+'+N.accessKey]=N.id;}},selectPage:function(N){if(this._.currentTabId==N)return;if(this.fire('selectPage',{page:N,currentPage:this._.currentTabId})===true)return;for(var O in this._.tabs){var P=this._.tabs[O][0],Q=this._.tabs[O][1];if(O!=N){P.removeClass('cke_dialog_tab_selected');Q.hide();}Q.setAttribute('aria-hidden',O!=N);}var R=this._.tabs[N];R[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){o(R[1]);R[1].show();setTimeout(function(){o(R[1],true);},0);}else R[1].show();this._.currentTabId=N;this._.currentTabIndex=e.indexOf(this._.tabIdList,N);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(N){var P=this;var O=P._.tabs[N]&&P._.tabs[N][0];if(!O||P._.pageCount==1)return;else if(N==P._.currentTabId)P.selectPage(m.call(P));O.hide();P._.pageCount--;P.updateStyle();},showPage:function(N){var P=this;var O=P._.tabs[N]&&P._.tabs[N][0];if(!O)return;O.show();P._.pageCount++;P.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(N,O){var P=this._.contents[N];return P&&P[O];},getValueOf:function(N,O){return this.getContentElement(N,O).getValue();},setValueOf:function(N,O,P){return this.getContentElement(N,O).setValue(P);},getButton:function(N){return this._.buttons[N];},click:function(N){return this._.buttons[N].click();},disableButton:function(N){return this._.buttons[N].disable();},enableButton:function(N){return this._.buttons[N].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement();},addFocusable:function(N,O){var Q=this;if(typeof O=='undefined'){O=Q._.focusList.length;Q._.focusList.push(new p(Q,N,O));}else{Q._.focusList.splice(O,0,new p(Q,N,O));for(var P=O+1;P<Q._.focusList.length;P++)Q._.focusList[P].focusIndex++;}}};e.extend(a.dialog,{add:function(N,O){if(!this._.dialogDefinitions[N]||typeof O=='function')this._.dialogDefinitions[N]=O;},exists:function(N){return!!this._.dialogDefinitions[N];\r
-},getCurrent:function(){return a.dialog._.currentTop;},okButton:(function(){var N=function(O,P){P=P||{};return e.extend({id:'ok',type:'button',label:O.lang.common.ok,'class':'cke_dialog_ui_button_ok',onClick:function(Q){var R=Q.data.dialog;if(R.fire('ok',{hide:true}).hide!==false)R.hide();}},P,true);};N.type='button';N.override=function(O){return e.extend(function(P){return N(P,O);},{type:'button'},true);};return N;})(),cancelButton:(function(){var N=function(O,P){P=P||{};return e.extend({id:'cancel',type:'button',label:O.lang.common.cancel,'class':'cke_dialog_ui_button_cancel',onClick:function(Q){var R=Q.data.dialog;if(R.fire('cancel',{hide:true}).hide!==false)R.hide();}},P,true);};N.type='button';N.override=function(O){return e.extend(function(P){return N(P,O);},{type:'button'},true);};return N;})(),addUIElement:function(N,O){this._.uiElementBuilders[N]=O;}});a.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};a.event.implementOn(a.dialog);a.event.implementOn(a.dialog.prototype,true);var q={resizable:3,minWidth:600,minHeight:400,buttons:[a.dialog.okButton,a.dialog.cancelButton]};b.mac&&q.buttons.reverse();var r=function(N,O,P){for(var Q=0,R;R=N[Q];Q++){if(R.id==O)return R;if(P&&R[P]){var S=r(R[P],O,P);if(S)return S;}}return null;},s=function(N,O,P,Q,R){if(P){for(var S=0,T;T=N[S];S++){if(T.id==P){N.splice(S,0,O);return O;}if(Q&&T[Q]){var U=s(T[Q],O,P,Q,true);if(U)return U;}}if(R)return null;}N.push(O);return O;},t=function(N,O,P){for(var Q=0,R;R=N[Q];Q++){if(R.id==O)return N.splice(Q,1);if(P&&R[P]){var S=t(R[P],O,P);if(S)return S;}}return null;},u=function(N,O){this.dialog=N;var P=O.contents;for(var Q=0,R;R=P[Q];Q++)P[Q]=R&&new v(N,R);e.extend(this,O);};u.prototype={getContents:function(N){return r(this.contents,N);},getButton:function(N){return r(this.buttons,N);},addContents:function(N,O){return s(this.contents,N,O);},addButton:function(N,O){return s(this.buttons,N,O);},removeContents:function(N){t(this.contents,N);},removeButton:function(N){t(this.buttons,N);}};function v(N,O){this._={dialog:N};e.extend(this,O);};v.prototype={get:function(N){return r(this.elements,N,'children');},add:function(N,O){return s(this.elements,N,O,'children');},remove:function(N){t(this.elements,N,'children');}};function w(N){var O=null,P=null,Q=N.getElement().getFirst(),R=N.getParentEditor(),S=R.config.dialog_magnetDistance,T=R.skin.margins||[0,0,0,0];if(typeof S=='undefined')S=20;function U(W){var X=N.getSize(),Y=a.document.getWindow().getViewPaneSize(),Z=W.data.$.screenX,aa=W.data.$.screenY,ab=Z-O.x,ac=aa-O.y,ad,ae;\r
-O={x:Z,y:aa};P.x+=ab;P.y+=ac;if(P.x+T[3]<S)ad=-T[3];else if(P.x-T[1]>Y.width-X.width-S)ad=Y.width-X.width+T[1];else ad=P.x;if(P.y+T[0]<S)ae=-T[0];else if(P.y-T[2]>Y.height-X.height-S)ae=Y.height-X.height+T[2];else ae=P.y;N.move(ad,ae);W.data.preventDefault();};function V(W){a.document.removeListener('mousemove',U);a.document.removeListener('mouseup',V);if(b.ie6Compat){var X=A.getChild(0).getFrameDocument();X.removeListener('mousemove',U);X.removeListener('mouseup',V);}};N.parts.title.on('mousedown',function(W){N._.updateSize=true;O={x:W.data.$.screenX,y:W.data.$.screenY};a.document.on('mousemove',U);a.document.on('mouseup',V);P=N.getPosition();if(b.ie6Compat){var X=A.getChild(0).getFrameDocument();X.on('mousemove',U);X.on('mouseup',V);}W.data.preventDefault();},N);};function x(N){var O=N.definition,P=O.minWidth||0,Q=O.minHeight||0,R=O.resizable,S=N.getParentEditor().skin.margins||[0,0,0,0];function T(ae,af){ae.y+=af;};function U(ae,af){ae.x2+=af;};function V(ae,af){ae.y2+=af;};function W(ae,af){ae.x+=af;};var X=null,Y=null,Z=N._.editor.config.magnetDistance,aa=['tl','t','tr','l','r','bl','b','br'];function ab(ae){var af=ae.listenerData.part,ag=N.getSize();Y=N.getPosition();e.extend(Y,{x2:Y.x+ag.width,y2:Y.y+ag.height});X={x:ae.data.$.screenX,y:ae.data.$.screenY};a.document.on('mousemove',ac,N,{part:af});a.document.on('mouseup',ad,N,{part:af});if(b.ie6Compat){var ah=A.getChild(0).getFrameDocument();ah.on('mousemove',ac,N,{part:af});ah.on('mouseup',ad,N,{part:af});}ae.data.preventDefault();};function ac(ae){var af=ae.data.$.screenX,ag=ae.data.$.screenY,ah=af-X.x,ai=ag-X.y,aj=a.document.getWindow().getViewPaneSize(),ak=ae.listenerData.part;if(ak.search('t')!=-1)T(Y,ai);if(ak.search('l')!=-1)W(Y,ah);if(ak.search('b')!=-1)V(Y,ai);if(ak.search('r')!=-1)U(Y,ah);X={x:af,y:ag};var al,am,an,ao;if(Y.x+S[3]<Z)al=-S[3];else if(ak.search('l')!=-1&&Y.x2-Y.x<P+Z)al=Y.x2-P;else al=Y.x;if(Y.y+S[0]<Z)am=-S[0];else if(ak.search('t')!=-1&&Y.y2-Y.y<Q+Z)am=Y.y2-Q;else am=Y.y;if(Y.x2-S[1]>aj.width-Z)an=aj.width+S[1];else if(ak.search('r')!=-1&&Y.x2-Y.x<P+Z)an=Y.x+P;else an=Y.x2;if(Y.y2-S[2]>aj.height-Z)ao=aj.height+S[2];else if(ak.search('b')!=-1&&Y.y2-Y.y<Q+Z)ao=Y.y+Q;else ao=Y.y2;N.move(al,am);N.resize(an-al,ao-am);ae.data.preventDefault();};function ad(ae){a.document.removeListener('mouseup',ad);a.document.removeListener('mousemove',ac);if(b.ie6Compat){var af=A.getChild(0).getFrameDocument();af.removeListener('mouseup',ad);af.removeListener('mousemove',ac);}};};var y,z={},A;function B(N){var O=a.document.getWindow(),P=N.config.dialog_backgroundCoverColor||'white',Q=N.config.dialog_backgroundCoverOpacity,R=N.config.baseFloatZIndex,S=e.genKey(P,Q,R),T=z[S];\r
-if(!T){var U=['<div style="position: ',b.ie6Compat?'absolute':'fixed','; z-index: ',R,'; top: 0px; left: 0px; ',!b.ie6Compat?'background-color: '+P:'','" class="cke_dialog_background_cover">'];if(b.ie6Compat){var V=b.isCustomDomain(),W="<html><body style=\\'background-color:"+P+";\\'></body></html>";U.push('<iframe hidefocus="true" frameborder="0" id="cke_dialog_background_iframe" src="javascript:');U.push('void((function(){document.open();'+(V?"document.domain='"+document.domain+"';":'')+"document.write( '"+W+"' );"+'document.close();'+'})())');U.push('" style="position:absolute;left:0;top:0;width:100%;height: 100%;progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>');}U.push('</div>');T=h.createFromHtml(U.join(''));T.setOpacity(Q!=undefined?Q:0.5);T.appendTo(a.document.getBody());z[S]=T;}else T.show();A=T;var X=function(){var aa=O.getViewPaneSize();T.setStyles({width:aa.width+'px',height:aa.height+'px'});},Y=function(){var aa=O.getScrollPosition(),ab=a.dialog._.currentTop;T.setStyles({left:aa.x+'px',top:aa.y+'px'});do{var ac=ab.getPosition();ab.move(ac.x,ac.y);}while(ab=ab._.parentDialog)};y=X;O.on('resize',X);X();if(b.ie6Compat){var Z=function(){Y();arguments.callee.prevScrollHandler.apply(this,arguments);};O.$.setTimeout(function(){Z.prevScrollHandler=window.onscroll||(function(){});window.onscroll=Z;},0);Y();}};function C(){if(!A)return;var N=a.document.getWindow();A.hide();N.removeListener('resize',y);if(b.ie6Compat)N.$.setTimeout(function(){var O=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=O||null;},0);y=null;};function D(){for(var N in z)z[N].remove();z={};};var E={},F=function(N){var O=N.data.$.ctrlKey||N.data.$.metaKey,P=N.data.$.altKey,Q=N.data.$.shiftKey,R=String.fromCharCode(N.data.$.keyCode),S=E[(O?'CTRL+':'')+(P?'ALT+':'')+(Q?'SHIFT+':'')+R];if(!S||!S.length)return;S=S[S.length-1];S.keydown&&S.keydown.call(S.uiElement,S.dialog,S.key);N.data.preventDefault();},G=function(N){var O=N.data.$.ctrlKey||N.data.$.metaKey,P=N.data.$.altKey,Q=N.data.$.shiftKey,R=String.fromCharCode(N.data.$.keyCode),S=E[(O?'CTRL+':'')+(P?'ALT+':'')+(Q?'SHIFT+':'')+R];if(!S||!S.length)return;S=S[S.length-1];if(S.keyup){S.keyup.call(S.uiElement,S.dialog,S.key);N.data.preventDefault();}},H=function(N,O,P,Q,R){var S=E[P]||(E[P]=[]);S.push({uiElement:N,dialog:O,key:P,keyup:R||N.accessKeyUp,keydown:Q||N.accessKeyDown});},I=function(N){for(var O in E){var P=E[O];for(var Q=P.length-1;Q>=0;Q--){if(P[Q].dialog==N||P[Q].uiElement==N)P.splice(Q,1);\r
-}if(P.length===0)delete E[O];}},J=function(N,O){if(N._.accessKeyMap[O])N.selectPage(N._.accessKeyMap[O]);},K=function(N,O){},L={27:1,13:1},M=function(N){if(N.data.getKeystroke() in L)N.data.stopPropagation();};(function(){k.dialog={uiElement:function(N,O,P,Q,R,S,T){if(arguments.length<4)return;var U=(Q.call?Q(O):Q)||'div',V=['<',U,' '],W=(R&&R.call?R(O):R)||{},X=(S&&S.call?S(O):S)||{},Y=(T&&T.call?T.call(this,N,O):T)||'',Z=this.domId=X.id||e.getNextId()+'_uiElement',aa=this.id=O.id,ab;X.id=Z;var ac={};if(O.type)ac['cke_dialog_ui_'+O.type]=1;if(O.className)ac[O.className]=1;var ad=X['class']&&X['class'].split?X['class'].split(' '):[];for(ab=0;ab<ad.length;ab++){if(ad[ab])ac[ad[ab]]=1;}var ae=[];for(ab in ac)ae.push(ab);X['class']=ae.join(' ');if(O.title)X.title=O.title;var af=(O.style||'').split(';');for(ab in W)af.push(ab+':'+W[ab]);if(O.hidden)af.push('display:none');for(ab=af.length-1;ab>=0;ab--){if(af[ab]==='')af.splice(ab,1);}if(af.length>0)X.style=(X.style?X.style+'; ':'')+af.join('; ');for(ab in X)V.push(ab+'="'+e.htmlEncode(X[ab])+'" ');V.push('>',Y,'</',U,'>');P.push(V.join(''));(this._||(this._={})).dialog=N;if(typeof O.isChanged=='boolean')this.isChanged=function(){return O.isChanged;};if(typeof O.isChanged=='function')this.isChanged=O.isChanged;a.event.implementOn(this);this.registerEvents(O);if(this.accessKeyUp&&this.accessKeyDown&&O.accessKey)H(this,N,'CTRL+'+O.accessKey);var ag=this;N.on('load',function(){if(ag.getInputElement())ag.getInputElement().on('focus',function(){N._.tabBarMode=false;N._.hasFocus=true;ag.fire('focus');},ag);});if(this.keyboardFocusable){this.tabIndex=O.tabIndex||0;this.focusIndex=N._.focusList.push(this)-1;this.on('focus',function(){N._.currentFocusIndex=ag.focusIndex;});}e.extend(this,O);},hbox:function(N,O,P,Q,R){if(arguments.length<4)return;this._||(this._={});var S=this._.children=O,T=R&&R.widths||null,U=R&&R.height||null,V={},W,X=function(){var Z=['<tbody><tr class="cke_dialog_ui_hbox">'];for(W=0;W<P.length;W++){var aa='cke_dialog_ui_hbox_child',ab=[];if(W===0)aa='cke_dialog_ui_hbox_first';if(W==P.length-1)aa='cke_dialog_ui_hbox_last';Z.push('<td class="',aa,'" role="presentation" ');if(T){if(T[W])ab.push('width:'+e.cssLength(T[W]));}else ab.push('width:'+Math.floor(100/P.length)+'%');if(U)ab.push('height:'+e.cssLength(U));if(R&&R.padding!=undefined)ab.push('padding:'+e.cssLength(R.padding));if(ab.length>0)Z.push('style="'+ab.join('; ')+'" ');Z.push('>',P[W],'</td>');}Z.push('</tr></tbody>');return Z.join('');},Y={role:'presentation'};\r
-R&&R.align&&(Y.align=R.align);k.dialog.uiElement.call(this,N,R||{type:'hbox'},Q,'table',V,Y,X);},vbox:function(N,O,P,Q,R){if(arguments.length<3)return;this._||(this._={});var S=this._.children=O,T=R&&R.width||null,U=R&&R.heights||null,V=function(){var W=['<table role="presentation" cellspacing="0" border="0" '];W.push('style="');if(R&&R.expand)W.push('height:100%;');W.push('width:'+e.cssLength(T||'100%'),';');W.push('"');W.push('align="',e.htmlEncode(R&&R.align||(N.getParentEditor().lang.dir=='ltr'?'left':'right')),'" ');W.push('><tbody>');for(var X=0;X<P.length;X++){var Y=[];W.push('<tr><td role="presentation" ');if(T)Y.push('width:'+e.cssLength(T||'100%'));if(U)Y.push('height:'+e.cssLength(U[X]));else if(R&&R.expand)Y.push('height:'+Math.floor(100/P.length)+'%');if(R&&R.padding!=undefined)Y.push('padding:'+e.cssLength(R.padding));if(Y.length>0)W.push('style="',Y.join('; '),'" ');W.push(' class="cke_dialog_ui_vbox_child">',P[X],'</td></tr>');}W.push('</tbody></table>');return W.join('');};k.dialog.uiElement.call(this,N,R||{type:'vbox'},Q,'div',null,{role:'presentation'},V);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(N,O){this.getInputElement().setValue(N);!O&&this.fire('change',{value:N});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var Q=this;var N=Q.getInputElement(),O=N,P;while((O=O.getParent())&&O.$.className.search('cke_dialog_page_contents')==-1){}if(!O)return Q;P=O.getAttribute('name');if(Q._.dialog._.currentTabId!=P)Q._.dialog.selectPage(P);return Q;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(N){var O=/^on([A-Z]\w+)/,P,Q=function(S,T,U,V){T.on('load',function(){S.getInputElement().on(U,V,S);});};for(var R in N){if(!(P=R.match(O)))continue;if(this.eventProcessors[R])this.eventProcessors[R].call(this,this._.dialog,N[R]);else Q(this,this._.dialog,P[1].toLowerCase(),N[R]);}return this;},eventProcessors:{onLoad:function(N,O){N.on('load',O,this);},onShow:function(N,O){N.on('show',O,this);},onHide:function(N,O){N.on('hide',O,this);}},accessKeyDown:function(N,O){this.focus();},accessKeyUp:function(N,O){},disable:function(){var N=this.getInputElement();N.setAttribute('disabled','true');N.addClass('cke_disabled');},enable:function(){var N=this.getInputElement();\r
-N.removeAttribute('disabled');N.removeClass('cke_disabled');},isEnabled:function(){return!this.getInputElement().getAttribute('disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(N){var O=this;if(arguments.length<1)return O._.children.concat();if(!N.splice)N=[N];if(N.length<2)return O._.children[N[0]];else return O._.children[N[0]]&&O._.children[N[0]].getChild?O._.children[N[0]].getChild(N.slice(1,N.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var N={build:function(O,P,Q){var R=P.children,S,T=[],U=[];for(var V=0;V<R.length&&(S=R[V]);V++){var W=[];T.push(W);U.push(a.dialog._.uiElementBuilders[S.type].build(O,S,W));}return new k.dialog[P.type](O,U,T,Q,P);}};a.dialog.addUIElement('hbox',N);a.dialog.addUIElement('vbox',N);})();a.dialogCommand=function(N){this.dialogName=N;};a.dialogCommand.prototype={exec:function(N){N.openDialog(this.dialogName);},canUndo:false,editorFocus:c||b.webkit};(function(){var N=/^([a]|[^a])+$/,O=/^\d*$/,P=/^\d*(?:\.\d+)?$/;a.VALIDATE_OR=1;a.VALIDATE_AND=2;a.dialog.validate={functions:function(){return function(){var W=this;var Q=W&&W.getValue?W.getValue():arguments[0],R=undefined,S=2,T=[],U;for(U=0;U<arguments.length;U++){if(typeof arguments[U]=='function')T.push(arguments[U]);else break;}if(U<arguments.length&&typeof arguments[U]=='string'){R=arguments[U];U++;}if(U<arguments.length&&typeof arguments[U]=='number')S=arguments[U];var V=S==2?true:false;for(U=0;U<T.length;U++){if(S==2)V=V&&T[U](Q);else V=V||T[U](Q);}if(!V){if(R!==undefined)alert(R);if(W&&(W.select||W.focus))W.select||W.focus();return false;}return true;};},regex:function(Q,R){return function(){var T=this;var S=T&&T.getValue?T.getValue():arguments[0];if(!Q.test(S)){if(R!==undefined)alert(R);if(T&&(T.select||T.focus))if(T.select)T.select();else T.focus();return false;}return true;};},notEmpty:function(Q){return this.regex(N,Q);},integer:function(Q){return this.regex(O,Q);},number:function(Q){return this.regex(P,Q);},equals:function(Q,R){return this.functions(function(S){return S==Q;},R);},notEqual:function(Q,R){return this.functions(function(S){return S!=Q;},R);}};a.on('instanceDestroyed',function(Q){if(e.isEmpty(a.instances)){var R;while(R=a.dialog._.currentTop)R.hide();D();}var S=Q.editor._.storedDialogs;for(var T in S)S[T].destroy();});})();})();e.extend(a.editor.prototype,{openDialog:function(l,m){var n=a.dialog._.dialogDefinitions[l],o=this.skin.dialog;\r
-if(typeof n=='function'&&o._isLoaded){var p=this._.storedDialogs||(this._.storedDialogs={}),q=p[l]||(p[l]=new a.dialog(this,l));m&&m.call(q,q);q.show();return q;}else if(n=='failed')throw new Error('[CKEDITOR.dialog.openDialog] Dialog "'+l+'" failed when loading definition.');var r=a.document.getBody(),s=r.$.style.cursor,t=this;r.setStyle('cursor','wait');function u(w){var x=a.dialog._.dialogDefinitions[l],y=t.skin.dialog;if(!y._isLoaded||v&&typeof w=='undefined')return;if(typeof x!='function')a.dialog._.dialogDefinitions[l]='failed';t.openDialog(l,m);r.setStyle('cursor',s);};if(typeof n=='string'){var v=1;a.scriptLoader.load(a.getUrl(n),u);}a.skins.load(this,'dialog',u);return null;}});j.add('dialog',{requires:['dialogui']});j.add('styles',{requires:['selection']});a.editor.prototype.attachStyleStateChange=function(l,m){var n=this._.styleStateChangeCallbacks;if(!n){n=this._.styleStateChangeCallbacks=[];this.on('selectionChange',function(o){for(var p=0;p<n.length;p++){var q=n[p],r=q.style.checkActive(o.data.path)?1:2;if(q.state!==r){q.fn.call(this,r);q.state=r;}}});}n.push({style:l,fn:m});};a.STYLE_BLOCK=1;a.STYLE_INLINE=2;a.STYLE_OBJECT=3;(function(){var l={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1},m={a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1},n=/\s*(?:;\s*|$)/;a.style=function(P,Q){if(Q){P=e.clone(P);H(P.attributes,Q);H(P.styles,Q);}var R=this.element=(P.element||'*').toLowerCase();this.type=R=='#'||l[R]?1:m[R]?3:2;this._={definition:P};};a.style.prototype={apply:function(P){O.call(this,P,false);},remove:function(P){O.call(this,P,true);},applyToRange:function(P){var Q=this;return(Q.applyToRange=Q.type==2?o:Q.type==1?s:Q.type==3?q:null).call(Q,P);},removeFromRange:function(P){var Q=this;return(Q.removeFromRange=Q.type==2?p:Q.type==3?r:null).call(Q,P);},applyToObject:function(P){F(P,this);},checkActive:function(P){var T=this;switch(T.type){case 1:return T.checkElementRemovable(P.block||P.blockLimit,true);case 3:case 2:var Q=P.elements;for(var R=0,S;R<Q.length;R++){S=Q[R];if(T.type==2&&(S==P.block||S==P.blockLimit))continue;if(T.type==3&&!(S.getName() in m))continue;if(T.checkElementRemovable(S,true))return true;}}return false;},checkApplicable:function(P){switch(this.type){case 2:case 1:break;case 3:return P.lastElement.getAscendant(this.element,true);}return true;},checkElementRemovable:function(P,Q){if(!P)return false;var R=this._.definition,S;if(P.getName()==this.element){if(!Q&&!P.hasAttributes())return true;\r
-S=I(R);if(S._length){for(var T in S){if(T=='_length')continue;var U=P.getAttribute(T)||'';if(T=='style'?N(S[T],L(U,false)):S[T]==U){if(!Q)return true;}else if(Q)return false;}if(Q)return true;}else return true;}var V=J(this)[P.getName()];if(V){if(!(S=V.attributes))return true;for(var W=0;W<S.length;W++){T=S[W][0];var X=P.getAttribute(T);if(X){var Y=S[W][1];if(Y===null||typeof Y=='string'&&X==Y||Y.test(X))return true;}}}return false;},buildPreview:function(){var P=this._.definition,Q=[],R=P.element;if(R=='bdo')R='span';Q=['<',R];var S=P.attributes;if(S)for(var T in S)Q.push(' ',T,'="',S[T],'"');var U=a.style.getStyleText(P);if(U)Q.push(' style="',U,'"');Q.push('>',P.name,'</',R,'>');return Q.join('');}};a.style.getStyleText=function(P){var Q=P._ST;if(Q)return Q;Q=P.styles;var R=P.attributes&&P.attributes.style||'',S='';if(R.length)R=R.replace(n,';');for(var T in Q){var U=Q[T],V=(T+':'+U).replace(n,';');if(U=='inherit')S+=V;else R+=V;}if(R.length)R=L(R);R+=S;return P._ST=R;};function o(P){var al=this;var Q=P.document;if(P.collapsed){var R=E(al,Q);P.insertNode(R);P.moveToPosition(R,2);return;}var S=al.element,T=al._.definition,U,V=f[S]||(U=true,f.span);P.enlarge(1);P.trim();var W=P.createBookmark(),X=W.startNode,Y=W.endNode,Z=X,aa;while(Z){var ab=false;if(Z.equals(Y)){Z=null;ab=true;}else{var ac=Z.type,ad=ac==1?Z.getName():null;if(ad&&Z.getAttribute('_cke_bookmark')){Z=Z.getNextSourceNode(true);continue;}if(!ad||V[ad]&&(Z.getPosition(Y)|4|0|8)==4+0+8&&(!T.childRule||T.childRule(Z))){var ae=Z.getParent();if(ae&&((ae.getDtd()||f.span)[S]||U)&&(!T.parentRule||T.parentRule(ae))){if(!aa&&(!ad||!f.$removeEmpty[ad]||(Z.getPosition(Y)|4|0|8)==4+0+8)){aa=new d.range(Q);aa.setStartBefore(Z);}if(ac==3||ac==1&&!Z.getChildCount()){var af=Z,ag;while(!af.$.nextSibling&&(ag=af.getParent(),V[ag.getName()])&&(ag.getPosition(X)|2|0|8)==2+0+8&&(!T.childRule||T.childRule(ag)))af=ag;aa.setEndAfter(af);if(!af.$.nextSibling)ab=true;}}else ab=true;}else ab=true;Z=Z.getNextSourceNode();}if(ab&&aa&&!aa.collapsed){var ah=E(al,Q),ai=aa.getCommonAncestor();while(ah&&ai){if(ai.getName()==S){for(var aj in T.attributes){if(ah.getAttribute(aj)==ai.getAttribute(aj))ah.removeAttribute(aj);}for(var ak in T.styles){if(ah.getStyle(ak)==ai.getStyle(ak))ah.removeStyle(ak);}if(!ah.hasAttributes()){ah=null;break;}}ai=ai.getParent();}if(ah){aa.extractContents().appendTo(ah);B(al,ah);aa.insertNode(ah);ah.mergeSiblings();if(!c)ah.$.normalize();}aa=null;}}P.moveToBookmark(W);P.shrink(2);};function p(P){P.enlarge(1);\r
-var Q=P.createBookmark(),R=Q.startNode;if(P.collapsed){var S=new d.elementPath(R.getParent()),T;for(var U=0,V;U<S.elements.length&&(V=S.elements[U]);U++){if(V==S.block||V==S.blockLimit)break;if(this.checkElementRemovable(V)){var W;if(P.collapsed&&(P.checkBoundaryOfElement(V,2)||(W=P.checkBoundaryOfElement(V,1)))){T=V;T.match=W?'start':'end';}else{V.mergeSiblings();A(this,V);}}}if(T){var X=R;for(U=0;true;U++){var Y=S.elements[U];if(Y.equals(T))break;else if(Y.match)continue;else Y=Y.clone();Y.append(X);X=Y;}X[T.match=='start'?'insertBefore':'insertAfter'](T);}}else{var Z=Q.endNode,aa=this;function ab(){var ae=new d.elementPath(R.getParent()),af=new d.elementPath(Z.getParent()),ag=null,ah=null;for(var ai=0;ai<ae.elements.length;ai++){var aj=ae.elements[ai];if(aj==ae.block||aj==ae.blockLimit)break;if(aa.checkElementRemovable(aj))ag=aj;}for(ai=0;ai<af.elements.length;ai++){aj=af.elements[ai];if(aj==af.block||aj==af.blockLimit)break;if(aa.checkElementRemovable(aj))ah=aj;}if(ah)Z.breakParent(ah);if(ag)R.breakParent(ag);};ab();var ac=R.getNext();while(!ac.equals(Z)){var ad=ac.getNextSourceNode();if(ac.type==1&&this.checkElementRemovable(ac)){if(ac.getName()==this.element)A(this,ac);else C(ac,J(this)[ac.getName()]);if(ad.type==1&&ad.contains(R)){ab();ad=R.getNext();}}ac=ad;}}P.moveToBookmark(Q);};function q(P){var Q=P.getCommonAncestor(true,true),R=Q.getAscendant(this.element,true);R&&F(R,this);};function r(P){var Q=P.getCommonAncestor(true,true),R=Q.getAscendant(this.element,true);if(!R)return;var S=this,T=S._.definition,U=T.attributes,V=a.style.getStyleText(T);if(U)for(var W in U)R.removeAttribute(W,U[W]);if(T.styles)for(var X in T.styles){if(!T.styles.hasOwnProperty(X))continue;R.removeStyle(X);}};function s(P){var Q=P.createBookmark(true),R=P.createIterator();R.enforceRealBlocks=true;if(this._.enterMode)R.enlargeBr=this._.enterMode!=2;var S,T=P.document,U;while(S=R.getNextParagraph()){var V=E(this,T);t(S,V);}P.moveToBookmark(Q);};function t(P,Q){var R=Q.is('pre'),S=P.is('pre'),T=R&&!S,U=!R&&S;if(T)Q=z(P,Q);else if(U)Q=y(w(P),Q);else P.moveChildren(Q);Q.replace(P);if(R)v(Q);};var u=d.walker.whitespaces(true);function v(P){var Q;if(!((Q=P.getPrevious(u))&&Q.is&&Q.is('pre')))return;var R=x(Q.getHtml(),/\n$/,'')+'\n\n'+x(P.getHtml(),/^\n/,'');if(c)P.$.outerHTML='<pre>'+R+'</pre>';else P.setHtml(R);Q.remove();};function w(P){var Q=/(\S\s*)\n(?:\s|(<span[^>]+_cke_bookmark.*?\/span>))*\n(?!$)/gi,R=P.getName(),S=x(P.getOuterHtml(),Q,function(U,V,W){return V+'</pre>'+W+'<pre>';\r
-}),T=[];S.replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(U,V){T.push(V);});return T;};function x(P,Q,R){var S='',T='';P=P.replace(/(^<span[^>]+_cke_bookmark.*?\/span>)|(<span[^>]+_cke_bookmark.*?\/span>$)/gi,function(U,V,W){V&&(S=V);W&&(T=W);return '';});return S+P.replace(Q,R)+T;};function y(P,Q){var R=new d.documentFragment(Q.getDocument());for(var S=0;S<P.length;S++){var T=P[S];T=T.replace(/(\r\n|\r)/g,'\n');T=x(T,/^[ \t]*\n/,'');T=x(T,/\n$/,'');T=x(T,/^[ \t]+|[ \t]+$/g,function(V,W,X){if(V.length==1)return '&nbsp;';else if(!W)return e.repeat('&nbsp;',V.length-1)+' ';else return ' '+e.repeat('&nbsp;',V.length-1);});T=T.replace(/\n/g,'<br>');T=T.replace(/[ \t]{2,}/g,function(V){return e.repeat('&nbsp;',V.length-1)+' ';});var U=Q.clone();U.setHtml(T);R.append(U);}return R;};function z(P,Q){var R=P.getHtml();R=x(R,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');R=R.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'$1');R=R.replace(/([ \t\n\r]+|&nbsp;)/g,' ');R=R.replace(/<br\b[^>]*>/gi,'\n');if(c){var S=P.getDocument().createElement('div');S.append(Q);Q.$.outerHTML='<pre>'+R+'</pre>';Q=S.getFirst().remove();}else Q.setHtml(R);return Q;};function A(P,Q){var R=P._.definition,S=e.extend({},R.attributes,J(P)[Q.getName()]),T=R.styles,U=e.isEmpty(S)&&e.isEmpty(T);for(var V in S){if((V=='class'||P._.definition.fullMatch)&&Q.getAttribute(V)!=K(V,S[V]))continue;U=Q.hasAttribute(V);Q.removeAttribute(V);}for(var W in T){if(P._.definition.fullMatch&&Q.getStyle(W)!=K(W,T[W],true))continue;U=U||!!Q.getStyle(W);Q.removeStyle(W);}U&&D(Q);};function B(P,Q){var R=P._.definition,S=R.attributes,T=R.styles,U=J(P),V=Q.getElementsByTag(P.element);for(var W=V.count();--W>=0;)A(P,V.getItem(W));for(var X in U){if(X!=P.element){V=Q.getElementsByTag(X);for(W=V.count()-1;W>=0;W--){var Y=V.getItem(W);C(Y,U[X]);}}}};function C(P,Q){var R=Q&&Q.attributes;if(R)for(var S=0;S<R.length;S++){var T=R[S][0],U;if(U=P.getAttribute(T)){var V=R[S][1];if(V===null||V.test&&V.test(U)||typeof V=='string'&&U==V)P.removeAttribute(T);}}D(P);};function D(P){if(!P.hasAttributes()){var Q=P.getFirst(),R=P.getLast();P.remove(true);if(Q){Q.type==1&&Q.mergeSiblings();if(R&&!Q.equals(R)&&R.type==1)R.mergeSiblings();}}};function E(P,Q){var R,S=P._.definition,T=P.element;if(T=='*')T='span';R=new h(T,Q);return F(R,P);};function F(P,Q){var R=Q._.definition,S=R.attributes,T=a.style.getStyleText(R);if(S)for(var U in S)P.setAttribute(U,S[U]);if(R.styles)for(var V in R.styles){if(!R.styles.hasOwnProperty(V))continue;P.setStyle(V,R.styles[V]);\r
-}return P;};var G=/#\((.+?)\)/g;function H(P,Q){for(var R in P)P[R]=P[R].replace(G,function(S,T){return Q[T];});};function I(P){var Q=P._AC;if(Q)return Q;Q={};var R=0,S=P.attributes;if(S)for(var T in S){R++;Q[T]=S[T];}var U=a.style.getStyleText(P);if(U){if(!Q.style)R++;Q.style=U;}Q._length=R;return P._AC=Q;};function J(P){if(P._.overrides)return P._.overrides;var Q=P._.overrides={},R=P._.definition.overrides;if(R){if(!e.isArray(R))R=[R];for(var S=0;S<R.length;S++){var T=R[S],U,V,W;if(typeof T=='string')U=T.toLowerCase();else{U=T.element?T.element.toLowerCase():P.element;W=T.attributes;}V=Q[U]||(Q[U]={});if(W){var X=V.attributes=V.attributes||[];for(var Y in W)X.push([Y.toLowerCase(),W[Y]]);}}}return Q;};function K(P,Q,R){var S=new h('span');S[R?'setStyle':'setAttribute'](P,Q);return S[R?'getStyle':'getAttribute'](P);};function L(P,Q){var R;if(Q!==false){var S=new h('span');S.setAttribute('style',P);R=S.getAttribute('style')||'';}else R=P;return R.replace(/\s*([;:])\s*/,'$1').replace(/([^\s;])$/,'$1;').replace(/,\s+/g,',').toLowerCase();};function M(P){var Q={};P.replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(R,S,T){Q[S]=T;});return Q;};function N(P,Q){typeof P=='string'&&(P=M(P));typeof Q=='string'&&(Q=M(Q));for(var R in P){if(!(R in Q&&(Q[R]==P[R]||P[R]=='inherit'||Q[R]=='inherit')))return false;}return true;};function O(P,Q){var R=P.getSelection(),S=R.createBookmarks(),T=R.getRanges(true),U=Q?this.removeFromRange:this.applyToRange,V,W=T.createIterator();while(V=W.getNextRange())U.call(this,V);if(S.length==1&&S[0].collapsed){R.selectRanges(T);S[0].startNode.remove();}else R.selectBookmarks(S);};})();a.styleCommand=function(l){this.style=l;};a.styleCommand.prototype.exec=function(l){var n=this;l.focus();var m=l.document;if(m)if(n.state==2)n.style.apply(m);else if(n.state==1)n.style.remove(m);return!!m;};a.stylesSet=new a.resourceManager('','stylesSet');a.addStylesSet=e.bind(a.stylesSet.add,a.stylesSet);a.loadStylesSet=function(l,m,n){a.stylesSet.addExternal(l,m,'');a.stylesSet.load(l,n);};a.editor.prototype.getStylesSet=function(l){if(!this._.stylesDefinitions){var m=this,n=m.config.stylesCombo_stylesSet||m.config.stylesSet||'default';if(n instanceof Array){m._.stylesDefinitions=n;l(n);return;}var o=n.split(':'),p=o[0],q=o[1],r=j.registered.styles.path;a.stylesSet.addExternal(p,q?o.slice(1).join(':'):r+'styles/'+p+'.js','');a.stylesSet.load(p,function(s){m._.stylesDefinitions=s[p];l(m._.stylesDefinitions);});}else l(this._.stylesDefinitions);\r
-};j.add('domiterator');(function(){function l(o){var p=this;if(arguments.length<1)return;p.range=o;p.forceBrBreak=false;p.enlargeBr=true;p.enforceRealBlocks=false;p._||(p._={});};var m=/^[\r\n\t ]+$/,n=d.walker.bookmark();l.prototype={getNextParagraph:function(o){var P=this;var p,q,r,s,t,u;if(!P._.lastNode){q=P.range.clone();q.shrink(1,true);s=q.endContainer.hasAscendant('pre',true)||q.startContainer.hasAscendant('pre',true);q.enlarge(P.forceBrBreak&&!s||!P.enlargeBr?3:2);var v=new d.walker(q),w=d.walker.bookmark(true,true);v.evaluator=w;P._.nextNode=v.next();v=new d.walker(q);v.evaluator=w;var x=v.previous();P._.lastNode=x.getNextSourceNode(true);if(P._.lastNode&&P._.lastNode.type==3&&!e.trim(P._.lastNode.getText())&&P._.lastNode.getParent().isBlockBoundary()){var y=new d.range(q.document);y.moveToPosition(P._.lastNode,4);if(y.checkEndOfBlock()){var z=new d.elementPath(y.endContainer),A=z.block||z.blockLimit;P._.lastNode=A.getNextSourceNode(true);}}if(!P._.lastNode){P._.lastNode=P._.docEndMarker=q.document.createText('');P._.lastNode.insertAfter(x);}q=null;}var B=P._.nextNode;x=P._.lastNode;P._.nextNode=null;while(B){var C=false,D=B.hasAscendant('pre'),E=B.type!=1,F=false;if(!E){var G=B.getName();if(B.isBlockBoundary(P.forceBrBreak&&!D&&{br:1})){if(G=='br')E=true;else if(!q&&!B.getChildCount()&&G!='hr'){p=B;r=B.equals(x);break;}if(q){q.setEndAt(B,3);if(G!='br')P._.nextNode=B;}C=true;}else{if(B.getFirst()){if(!q){q=new d.range(P.range.document);q.setStartAt(B,3);}B=B.getFirst();continue;}E=true;}}else if(B.type==3)if(m.test(B.getText()))E=false;if(E&&!q){q=new d.range(P.range.document);q.setStartAt(B,3);}r=(!C||E)&&B.equals(x);if(q&&!C)while(!B.getNext()&&!r){var H=B.getParent();if(H.isBlockBoundary(P.forceBrBreak&&!D&&{br:1})){C=true;r=r||H.equals(x);break;}B=H;E=true;r=B.equals(x);F=true;}if(E)q.setEndAt(B,4);B=B.getNextSourceNode(F,null,x);r=!B;if(r||C&&q)break;}if(!p){if(!q){P._.docEndMarker&&P._.docEndMarker.remove();P._.nextNode=null;return null;}var I=new d.elementPath(q.startContainer),J=I.blockLimit,K={div:1,th:1,td:1};p=I.block;if(!p&&!P.enforceRealBlocks&&K[J.getName()]&&q.checkStartOfBlock()&&q.checkEndOfBlock())p=J;else if(!p||P.enforceRealBlocks&&p.getName()=='li'){p=P.range.document.createElement(o||'p');q.extractContents().appendTo(p);p.trim();q.insertNode(p);t=u=true;}else if(p.getName()!='li'){if(!q.checkStartOfBlock()||!q.checkEndOfBlock()){p=p.clone(false);q.extractContents().appendTo(p);p.trim();var L=q.splitBlock();t=!L.wasStartOfBlock;\r
-u=!L.wasEndOfBlock;q.insertNode(p);}}else if(!r)P._.nextNode=p.equals(x)?null:q.getBoundaryNodes().endNode.getNextSourceNode(true,null,x);}if(t){var M=p.getPrevious();if(M&&M.type==1)if(M.getName()=='br')M.remove();else if(M.getLast()&&M.getLast().$.nodeName.toLowerCase()=='br')M.getLast().remove();}if(u){var N=d.walker.bookmark(false,true),O=p.getLast();if(O&&O.type==1&&O.getName()=='br')if(c||O.getPrevious(N)||O.getNext(N))O.remove();}if(!P._.nextNode)P._.nextNode=r||p.equals(x)?null:p.getNextSourceNode(true,null,x);return p;}};d.range.prototype.createIterator=function(){return new l(this);};})();j.add('panelbutton',{requires:['button'],beforeInit:function(l){l.ui.addHandler(4,k.panelButton.handler);}});a.UI_PANELBUTTON=4;(function(){var l=function(m){var o=this;var n=o._;if(n.state==0)return;o.createPanel(m);if(n.on){n.panel.hide();return;}n.panel.showBlock(o._.id,o.document.getById(o._.id),4);};k.panelButton=e.createClass({base:k.button,$:function(m){var o=this;var n=m.panel;delete m.panel;o.base(m);o.document=n&&n.parent&&n.parent.getDocument()||a.document;n.block={attributes:n.attributes};o.hasArrow=true;o.click=l;o._={panelDefinition:n};},statics:{handler:{create:function(m){return new k.panelButton(m);}}},proto:{createPanel:function(m){var n=this._;if(n.panel)return;var o=this._.panelDefinition||{},p=this._.panelDefinition.block,q=o.parent||a.document.getBody(),r=this._.panel=new k.floatPanel(m,q,o),s=r.addBlock(n.id,p),t=this;r.onShow=function(){if(t.className)this.element.getFirst().addClass(t.className+'_panel');n.oldState=t._.state;t.setState(1);n.on=1;if(t.onOpen)t.onOpen();};r.onHide=function(){if(t.className)this.element.getFirst().removeClass(t.className+'_panel');t.setState(n.oldState);n.on=0;if(t.onClose)t.onClose();};r.onEscape=function(){r.hide();t.document.getById(n.id).focus();};if(this.onBlock)this.onBlock(r,s);s.onHide=function(){n.on=0;t.setState(2);};}}});})();j.add('floatpanel',{requires:['panel']});(function(){var l={},m=false;function n(o,p,q,r,s){var t=p.getUniqueId()+'-'+q.getUniqueId()+'-'+o.skinName+'-'+o.lang.dir+(o.uiColor&&'-'+o.uiColor||'')+(r.css&&'-'+r.css||'')+(s&&'-'+s||''),u=l[t];if(!u){u=l[t]=new k.panel(p,r);u.element=q.append(h.createFromHtml(u.renderHtml(o),p));u.element.setStyles({display:'none',position:'absolute'});}return u;};k.floatPanel=e.createClass({$:function(o,p,q,r){q.forceIFrame=true;var s=p.getDocument(),t=n(o,s,p,q,r||0),u=t.element,v=u.getFirst().getFirst();this.element=u;this._={panel:t,parentElement:p,definition:q,document:s,iframe:v,children:[],dir:o.lang.dir};\r
-},proto:{addBlock:function(o,p){return this._.panel.addBlock(o,p);},addListBlock:function(o,p){return this._.panel.addListBlock(o,p);},getBlock:function(o){return this._.panel.getBlock(o);},showBlock:function(o,p,q,r,s){var t=this._.panel,u=t.showBlock(o);this.allowBlur(false);m=true;var v=this.element,w=this._.iframe,x=this._.definition,y=p.getDocumentPosition(v.getDocument()),z=this._.dir=='rtl',A=y.x+(r||0),B=y.y+(s||0);if(z&&(q==1||q==4))A+=p.$.offsetWidth;else if(!z&&(q==2||q==3))A+=p.$.offsetWidth-1;if(q==3||q==4)B+=p.$.offsetHeight-1;this._.panel._.offsetParentId=p.getId();v.setStyles({top:'-30000px',display:''});v.setOpacity(0);v.getFirst().removeStyle('width');if(!this._.blurSet){var C=c?w:new d.window(w.$.contentWindow);a.event.useCapture=true;C.on('blur',function(D){var F=this;if(!F.allowBlur())return;var E;if(c&&!F.allowBlur()||(E=D.data.getTarget())&&E.getName&&E.getName()!='iframe')return;if(F.visible&&!F._.activeChild&&!m)F.hide();},this);C.on('focus',function(){this._.focused=true;this.hideChild();this.allowBlur(true);},this);a.event.useCapture=false;this._.blurSet=1;}t.onEscape=e.bind(function(D){if(this.onEscape&&this.onEscape(D)===false)return false;},this);e.setTimeout(function(){if(z)A-=v.$.offsetWidth;var D=e.bind(function(){var E=v.getFirst();if(u.autoSize){var F=u.element.$;if(b.gecko||b.opera)F=F.parentNode;if(c)F=F.document.body;var G=F.scrollWidth;if(c&&b.quirks&&G>0)G+=(E.$.offsetWidth||0)-(E.$.clientWidth||0);G+=4;E.setStyle('width',G+'px');u.element.addClass('cke_frameLoaded');var H=u.element.$.scrollHeight;if(c&&b.quirks&&H>0)H+=(E.$.offsetHeight||0)-(E.$.clientHeight||0);E.setStyle('height',H+'px');t._.currentBlock.element.setStyle('display','none').removeStyle('display');}else E.removeStyle('height');var I=t.element,J=I.getWindow(),K=J.getScrollPosition(),L=J.getViewPaneSize(),M={height:I.$.offsetHeight,width:I.$.offsetWidth};if(z?A<0:A+M.width>L.width+K.x)A+=M.width*(z?1:-1);if(B+M.height>L.height+K.y)B-=M.height;if(c){var N=new h(v.$.offsetParent),O=N;if(O.getName()=='html')O=O.getDocument().getBody();if(O.getComputedStyle('direction')=='rtl')if(b.ie8Compat)A-=v.getDocument().getDocumentElement().$.scrollLeft*2;else A-=N.$.scrollWidth-N.$.clientWidth;}v.setStyles({top:B+'px',left:A+'px'});v.setOpacity(1);},this);t.isLoaded?D():t.onLoad=D;e.setTimeout(function(){w.$.contentWindow.focus();this.allowBlur(true);},0,this);},0,this);this.visible=1;if(this.onShow)this.onShow.call(this);m=false;},hide:function(){var o=this;if(o.visible&&(!o.onHide||o.onHide.call(o)!==true)){o.hideChild();\r
-o.element.setStyle('display','none');o.visible=0;}},allowBlur:function(o){var p=this._.panel;if(o!=undefined)p.allowBlur=o;return p.allowBlur;},showAsChild:function(o,p,q,r,s,t){if(this._.activeChild==o&&o._.panel._.offsetParentId==q.getId())return;this.hideChild();o.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=o;this._.focused=false;o.showBlock(p,q,r,s,t);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){o.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var o=this._.activeChild;if(o){delete o.onHide;delete this._.activeChild;o.hide();}}}});a.on('instanceDestroyed',function(){var o=e.isEmpty(a.instances);for(var p in l){var q=l[p];if(o)q.destroy();else q.element.hide();}o&&(l={});});})();j.add('menu',{beforeInit:function(l){var m=l.config.menu_groups.split(','),n=l._.menuGroups={},o=l._.menuItems={};for(var p=0;p<m.length;p++)n[m[p]]=p+1;l.addMenuGroup=function(q,r){n[q]=r||100;};l.addMenuItem=function(q,r){if(n[r.group])o[q]=new a.menuItem(this,q,r);};l.addMenuItems=function(q){for(var r in q)this.addMenuItem(r,q[r]);};l.getMenuItem=function(q){return o[q];};},requires:['floatpanel']});(function(){a.menu=e.createClass({$:function(m,n){var q=this;n=q._.definition=n||{};q.id='cke_'+e.getNextNumber();q.editor=m;q.items=[];q._.level=n.level||1;var o=e.extend({},n.panel,{css:m.skin.editor.css,level:q._.level-1,block:{}}),p=o.block.attributes=o.attributes||{};!p.role&&(p.role='menu');q._.panelDefinition=o;},_:{showSubMenu:function(m){var u=this;var n=u._.subMenu,o=u.items[m],p=o.getItems&&o.getItems();if(!p){u._.panel.hideChild();return;}var q=u._.panel.getBlock(u.id);q._.focusIndex=m;if(n)n.removeAll();else{n=u._.subMenu=new a.menu(u.editor,e.extend({},u._.definition,{level:u._.level+1},true));n.parent=u;n.onClick=e.bind(u.onClick,u);n.onEscape=u.onEscape;}for(var r in p){var s=u.editor.getMenuItem(r);if(s){s.state=p[r];n.add(s);}}var t=u._.panel.getBlock(u.id).element.getDocument().getById(u.id+String(m));n.show(t,2);}},proto:{add:function(m){if(!m.order)m.order=this.items.length;this.items.push(m);},removeAll:function(){this.items=[];},show:function(m,n,o,p){var q=this.items,r=this.editor,s=this._.panel,t=this._.element;if(!s){s=this._.panel=new k.floatPanel(this.editor,a.document.getBody(),this._.panelDefinition,this._.level);s.onEscape=e.bind(function(E){if(this.onEscape&&this.onEscape(E)===false)return false;},this);s.onHide=e.bind(function(){this.onHide&&this.onHide();\r
-},this);var u=s.addBlock(this.id,this._.panelDefinition.block);u.autoSize=true;var v=u.keys;v[40]='next';v[9]='next';v[38]='prev';v[2000+9]='prev';v[32]='click';v[r.lang.dir=='rtl'?37:39]='click';t=this._.element=u.element;t.addClass(r.skinClass);var w=t.getDocument();w.getBody().setStyle('overflow','hidden');w.getElementsByTag('html').getItem(0).setStyle('overflow','hidden');this._.itemOverFn=e.addFunction(function(E){var F=this;clearTimeout(F._.showSubTimeout);F._.showSubTimeout=e.setTimeout(F._.showSubMenu,r.config.menu_subMenuDelay,F,[E]);},this);this._.itemOutFn=e.addFunction(function(E){clearTimeout(this._.showSubTimeout);},this);this._.itemClickFn=e.addFunction(function(E){var G=this;var F=G.items[E];if(F.state==0){G.hide();return;}if(F.getItems)G._.showSubMenu(E);else G.onClick&&G.onClick(F);},this);}l(q);var x=r.container.getChild(1),y=x.hasClass('cke_mixed_dir_content')?' cke_mixed_dir_content':'',z=['<div class="cke_menu'+y+'" role="presentation">'],A=q.length,B=A&&q[0].group;for(var C=0;C<A;C++){var D=q[C];if(B!=D.group){z.push('<div class="cke_menuseparator" role="separator"></div>');B=D.group;}D.render(this,C,z);}z.push('</div>');t.setHtml(z.join(''));if(this.parent)this.parent._.panel.showAsChild(s,this.id,m,n,o,p);else s.showBlock(this.id,m,n,o,p);r.fire('menuShow',[s]);},hide:function(){this._.panel&&this._.panel.hide();}}});function l(m){m.sort(function(n,o){if(n.group<o.group)return-1;else if(n.group>o.group)return 1;return n.order<o.order?-1:n.order>o.order?1:0;});};})();a.menuItem=e.createClass({$:function(l,m,n){var o=this;e.extend(o,n,{order:0,className:'cke_button_'+m});o.group=l._.menuGroups[o.group];o.editor=l;o.name=m;},proto:{render:function(l,m,n){var u=this;var o=l.id+String(m),p=typeof u.state=='undefined'?2:u.state,q=' cke_'+(p==1?'on':p==0?'disabled':'off'),r=u.label;if(u.className)q+=' '+u.className;var s=u.getItems;n.push('<span class="cke_menuitem"><a id="',o,'" class="',q,'" href="javascript:void(\'',(u.label||'').replace("'",''),'\')" title="',u.label,'" tabindex="-1"_cke_focus=1 hidefocus="true" role="menuitem"'+(s?'aria-haspopup="true"':'')+(p==0?'aria-disabled="true"':'')+(p==1?'aria-pressed="true"':''));if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');var t=(u.iconOffset||0)*-16;n.push(' onmouseover="CKEDITOR.tools.callFunction(',l._.itemOverFn,',',m,');" onmouseout="CKEDITOR.tools.callFunction(',l._.itemOutFn,',',m,');" onclick="CKEDITOR.tools.callFunction(',l._.itemClickFn,',',m,'); return false;"><span class="cke_icon_wrapper"><span class="cke_icon"'+(u.icon?' style="background-image:url('+a.getUrl(u.icon)+');background-position:0 '+t+'px;"':'')+'></span></span>'+'<span class="cke_label">');\r
-if(s)n.push('<span class="cke_menuarrow">','<span>&#',u.editor.lang.dir=='rtl'?'9668':'9658',';</span>','</span>');n.push(r,'</span></a></span>');}}});i.menu_subMenuDelay=400;i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var l=function(n,o){return n._.modes&&n._.modes[o||n.mode];},m;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='<br>';});n.on('themeLoaded',function(){n.fireOnce('editingBlockReady');});n.on('uiReady',function(){n.setMode(n.config.startupMode);});n.on('afterSetData',function(){if(!m){function o(){m=true;l(n).loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){o();n.removeListener('mode',arguments.callee);});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(l(n).getData());m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=l(n).getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)l(n).loadSnapshotData(o.data);});n.on('mode',function(o){o.removeListener();b.webkit&&n.container.on('focus',function(){n.focus();});if(n.config.startupFocus)n.focus();setTimeout(function(){n.fireOnce('instanceReady');a.fire('instanceReady',null,n);},0);});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(n,o){o.name=n;(this._.modes||(this._.modes={}))[n]=o;};a.editor.prototype.setMode=function(n){var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this.fire('beforeModeUnload');var r=l(this);o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=l(this,n);if(!s)throw '[CKEDITOR.editor.setMode] Unknown mode "'+n+'".';if(!q)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});s.load(p,typeof o!='string'?this.getData():o);};a.editor.prototype.focus=function(){var n=l(this);if(n)n.focus();};})();i.startupMode='wysiwyg';i.startupFocus=false;i.editingBlock=true;(function(){function l(){var v=this;try{var s=v.getSelection();if(!s||!s.document.getWindow().$)return;var t=s.getStartElement(),u=new d.elementPath(t);if(!u.compare(v._.selectionPreviousPath)){v._.selectionPreviousPath=u;v.fire('selectionChange',{selection:s,path:u,element:t});}}catch(w){}};var m,n;function o(){n=true;if(m)return;p.call(this);m=e.setTimeout(p,200,this);};function p(){m=null;if(n){e.setTimeout(l,0,this);\r
-n=false;}};var q={modes:{wysiwyg:1,source:1},exec:function(s){switch(s.mode){case 'wysiwyg':s.document.$.execCommand('SelectAll',false,null);break;case 'source':var t=s.textarea.$;if(c)t.createTextRange().execCommand('SelectAll');else{t.selectionStart=0;t.selectionEnd=t.value.length;}t.focus();}},canUndo:false};j.add('selection',{init:function(s){s.on('contentDom',function(){var t=s.document,u=t.getBody(),v=t.getDocumentElement();if(c){var w,x,y=1;u.on('focusin',function(C){if(C.data.$.srcElement.nodeName!='BODY')return;if(w){if(y)try{w.select();}catch(D){}w=null;}});u.on('focus',function(){x=true;B();});u.on('beforedeactivate',function(C){if(C.data.$.toElement)return;x=false;y=1;});if(c&&b.version<8)s.on('blur',function(C){s.document&&s.document.$.selection.empty();});v.on('mousedown',function(){y=0;});v.on('mouseup',function(){y=1;});if(c&&(b.ie7Compat||b.version<8||b.quirks))v.on('click',function(C){if(C.data.getTarget().getName()=='html')s.getSelection().getRanges()[0].select();});var z;u.on('mousedown',function(C){if(C.data.$.button==2){var D=s.document.$.selection;if(D.type=='None')z=s.window.getScrollPosition();}A();});u.on('mouseup',function(C){if(C.data.$.button==2&&z){s.document.$.documentElement.scrollLeft=z.x;s.document.$.documentElement.scrollTop=z.y;}z=null;x=true;setTimeout(function(){B(true);},0);});u.on('keydown',A);u.on('keyup',function(){x=true;B();});t.on('selectionchange',B);function A(){x=false;};function B(C){if(x){var D=s.document,E=s.getSelection(),F=E&&E.getNative();if(C&&F&&F.type=='None')if(!D.$.queryCommandEnabled('InsertImage')){e.setTimeout(B,50,this,true);return;}var G;if(F&&F.type&&F.type!='Control'&&(G=F.createRange())&&(G=G.parentElement())&&(G=G.nodeName)&&G.toLowerCase() in {input:1,textarea:1})return;w=F&&E.getRanges()[0];o.call(s);}};}else{t.on('mouseup',o,s);t.on('keyup',o,s);}});s.addCommand('selectAll',q);s.ui.addButton('SelectAll',{label:s.lang.selectAll,command:'selectAll'});s.selectionChange=o;}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var s=new d.selection(this);return!s||s.isInvalid?null:s;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(s){var v=this;var t=s.getCustomData('cke_locked_selection');if(t)return t;v.document=s;v.isLocked=false;v._={cache:{}};if(c){var u=v.getNative().createRange();if(!u||u.item&&u.item(0).ownerDocument!=v.document.$||u.parentElement&&u.parentElement().ownerDocument!=v.document.$)v.isInvalid=true;\r
-}return v;};var r={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,th:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var s=this._.cache;if(s.type)return s.type;var t=1;try{var u=this.getNative(),v=u.type;if(v=='Text')t=2;if(v=='Control')t=3;if(u.createRange().parentElement)t=2;}catch(w){}return s.type=t;}:function(){var s=this._.cache;if(s.type)return s.type;var t=2,u=this.getNative();if(!u)t=1;else if(u.rangeCount==1){var v=u.getRangeAt(0),w=v.startContainer;if(w==v.endContainer&&w.nodeType==1&&v.endOffset-v.startOffset==1&&r[w.childNodes[v.startOffset].nodeName.toLowerCase()])t=3;}return s.type=t;},getRanges:(function(){var s=c?(function(){var t=function(u,v){u=u.duplicate();u.collapse(v);var w=u.parentElement(),x=w.childNodes,y;for(var z=0;z<x.length;z++){var A=x[z];if(A.nodeType==1){y=u.duplicate();y.moveToElementText(A);var B=y.compareEndPoints('StartToStart',u),C=y.compareEndPoints('EndToStart',u);y.collapse();if(B>0)break;else if(!B||C==1&&B==-1)return{container:w,offset:z};else if(!C)return{container:w,offset:z+1};y=null;}}if(!y){y=u.duplicate();y.moveToElementText(w);y.collapse(false);}y.setEndPoint('StartToStart',u);var D=y.text.replace(/(\r\n|\r)/g,'\n').length;try{while(D>0)D-=x[--z].nodeValue.length;}catch(E){D=0;}if(D===0)return{container:w,offset:z};else return{container:x[z],offset:-D};};return function(){var E=this;var u=E.getNative(),v=u&&u.createRange(),w=E.getType(),x;if(!u)return[];if(w==2){x=new d.range(E.document);var y=t(v,true);x.setStart(new d.node(y.container),y.offset);y=t(v);x.setEnd(new d.node(y.container),y.offset);return[x];}else if(w==3){var z=[];for(var A=0;A<v.length;A++){var B=v.item(A),C=B.parentNode,D=0;x=new d.range(E.document);for(;D<C.childNodes.length&&C.childNodes[D]!=B;D++){}x.setStart(new d.node(C),D);x.setEnd(new d.node(C),D+1);z.push(x);}return z;}return[];};})():function(){var t=[],u,v=this.document,w=this.getNative();if(!w)return t;if(!w.rangeCount){u=new d.range(v);u.moveToElementEditStart(v.getBody());t.push(u);}for(var x=0;x<w.rangeCount;x++){var y=w.getRangeAt(x);u=new d.range(v);u.setStart(new d.node(y.startContainer),y.startOffset);u.setEnd(new d.node(y.endContainer),y.endOffset);t.push(u);}return t;\r
-};return function(t){var u=this._.cache;if(u.ranges&&!t)return u.ranges;else if(!u.ranges)u.ranges=new d.rangeList(s.call(this));if(t){var v=u.ranges;for(var w=0;w<v.length;w++){var x=v[w],y=x.getCommonAncestor();if(y.isReadOnly())v.splice(w,1);if(x.collapsed)continue;var z=x.startContainer,A=x.endContainer,B=x.startOffset,C=x.endOffset,D=x.clone(),E;if(E=z.isReadOnly())x.setStartAfter(E);if(z&&z.type==3)if(B>=z.getLength())D.setStartAfter(z);else D.setStartBefore(z);if(A&&A.type==3)if(!C)D.setEndBefore(A);else D.setEndAfter(A);var F=new d.walker(D);F.evaluator=function(G){if(G.type==1&&G.getAttribute('contenteditable')=='false'){var H=x.clone();x.setEndBefore(G);if(x.collapsed)v.splice(w--,1);if(!(G.getPosition(D.endContainer)&16)){H.setStartAfter(G);if(!H.collapsed)v.splice(w+1,0,H);}return true;}return false;};F.next();}}return u.ranges;};})(),getStartElement:function(){var z=this;var s=z._.cache;if(s.startElement!==undefined)return s.startElement;var t,u=z.getNative();switch(z.getType()){case 3:return z.getSelectedElement();case 2:var v=z.getRanges()[0];if(v)if(!v.collapsed){v.optimize();for(;;){var w=v.startContainer,x=v.startOffset;if(x==(w.getChildCount?w.getChildCount():w.getLength())&&!w.isBlockBoundary())v.setStartAfter(w);else break;}t=v.startContainer;if(t.type!=1)return t.getParent();t=t.getChild(v.startOffset);if(!t||t.type!=1)return v.startContainer;var y=t.getFirst();while(y&&y.type==1){t=y;y=y.getFirst();}return t;}if(c){v=u.createRange();v.collapse(true);t=v.parentElement();}else{t=u.anchorNode;if(t&&t.nodeType!=1)t=t.parentNode;}}return s.startElement=t?new h(t):null;},getSelectedElement:function(){var s=this._.cache;if(s.selectedElement!==undefined)return s.selectedElement;var t=this,u=e.tryThese(function(){return t.getNative().createRange().item(0);},function(){var v=t.getRanges()[0],w,x;for(var y=2;y&&!((w=v.getEnclosedNode())&&w.type==1&&r[w.getName()]&&(x=w));y--)v.shrink(1);return x.$;});return s.selectedElement=u?new h(u):null;},lock:function(){var s=this;s.getRanges();s.getStartElement();s.getSelectedElement();s._.cache.nativeSel={};s.isLocked=true;s.document.setCustomData('cke_locked_selection',s);},unlock:function(s){var x=this;var t=x.document,u=t.getCustomData('cke_locked_selection');if(u){t.setCustomData('cke_locked_selection',null);if(s){var v=u.getSelectedElement(),w=!v&&u.getRanges();x.isLocked=false;x.reset();t.getBody().focus();if(v)x.selectElement(v);else x.selectRanges(w);}}if(!u||!s){x.isLocked=false;x.reset();}},reset:function(){this._.cache={};\r
-},selectElement:function(s){var v=this;if(v.isLocked){var t=new d.range(v.document);t.setStartBefore(s);t.setEndAfter(s);v._.cache.selectedElement=s;v._.cache.startElement=s;v._.cache.ranges=new d.rangeList(t);v._.cache.type=3;return;}if(c){v.getNative().empty();try{t=v.document.$.body.createControlRange();t.addElement(s.$);t.select();}catch(w){t=v.document.$.body.createTextRange();t.moveToElementText(s.$);t.select();}finally{v.document.fire('selectionchange');}v.reset();}else{t=v.document.$.createRange();t.selectNode(s.$);var u=v.getNative();u.removeAllRanges();u.addRange(t);v.reset();}},selectRanges:function(s){var C=this;if(C.isLocked){C._.cache.selectedElement=null;C._.cache.startElement=s[0]&&s[0].getTouchedStartNode();C._.cache.ranges=new d.rangeList(s);C._.cache.type=2;return;}if(c){if(s.length>1){var t=s[s.length-1];s[0].setEnd(t.endContainer,t.endOffset);s.length=1;}if(s[0])s[0].select();C.reset();}else{var u=C.getNative();if(s.length)u.removeAllRanges();for(var v=0;v<s.length;v++){if(v<s.length-1){var w=s[v],x=s[v+1],y=w.clone();y.setStart(w.endContainer,w.endOffset);y.setEnd(x.startContainer,x.startOffset);if(!y.collapsed){y.shrink(1,true);if(y.getCommonAncestor().isReadOnly()){x.setStart(w.startContainer,w.startOffset);s.splice(v--,1);continue;}}}var z=s[v],A=C.document.$.createRange(),B=z.startContainer;if(z.collapsed&&(b.opera||b.gecko&&b.version<10900)&&B.type==1&&!B.getChildCount())B.appendText('');A.setStart(B.$,z.startOffset);A.setEnd(z.endContainer.$,z.endOffset);u.addRange(A);}C.reset();}},createBookmarks:function(s){return this.getRanges().createBookmarks(s);},createBookmarks2:function(s){return this.getRanges().createBookmarks2(s);},selectBookmarks:function(s){var t=[];for(var u=0;u<s.length;u++){var v=new d.range(this.document);v.moveToBookmark(s[u]);t.push(v);}this.selectRanges(t);return this;},getCommonAncestor:function(){var s=this.getRanges(),t=s[0].startContainer,u=s[s.length-1].endContainer;return t.getCommonAncestor(u);},scrollIntoView:function(){var s=this.getStartElement();s.scrollIntoView();}};})();(function(){var l=d.walker.whitespaces(true),m=/\ufeff|\u00a0/,n={table:1,tbody:1,tr:1};d.range.prototype.select=c?function(o){var y=this;var p=y.collapsed,q,r;if(y.startContainer.type==1&&y.startContainer.getName() in n||y.endContainer.type==1&&y.endContainer.getName() in n)y.shrink(1,true);var s=y.createBookmark(),t=s.startNode,u;if(!p)u=s.endNode;var v=y.document.$.body.createTextRange();v.moveToElementText(t.$);v.moveStart('character',1);\r
-if(u){var w=y.document.$.body.createTextRange();w.moveToElementText(u.$);v.setEndPoint('EndToEnd',w);v.moveEnd('character',-1);}else{var x=t.getNext(l);q=!(x&&x.getText&&x.getText().match(m))&&(o||!t.hasPrevious()||t.getPrevious().is&&t.getPrevious().is('br'));r=y.document.createElement('span');r.setHtml('&#65279;');r.insertBefore(t);if(q)y.document.createText('\ufeff').insertBefore(t);}y.setStartBefore(t);t.remove();if(p){if(q){v.moveStart('character',-1);v.select();y.document.$.selection.clear();}else v.select();y.moveToPosition(r,3);r.remove();}else{y.setEndBefore(u);u.remove();v.select();}y.document.fire('selectionchange');}:function(){var r=this;var o=r.startContainer;if(r.collapsed&&o.type==1&&!o.getChildCount())o.append(new d.text(''));var p=r.document.$.createRange();p.setStart(o.$,r.startOffset);try{p.setEnd(r.endContainer.$,r.endOffset);}catch(s){if(s.toString().indexOf('NS_ERROR_ILLEGAL_VALUE')>=0){r.collapse(true);p.setEnd(r.endContainer.$,r.endOffset);}else throw s;}var q=r.document.getSelection().getNative();q.removeAllRanges();q.addRange(p);};})();(function(){var l={elements:{$:function(m){var n=m.attributes,o=n&&n._cke_realelement,p=o&&new a.htmlParser.fragment.fromHtml(decodeURIComponent(o)),q=p&&p.children[0];if(q&&m.attributes._cke_resizable){var r=m.attributes.style;if(r){var s=/(?:^|\s)width\s*:\s*(\d+)/i.exec(r),t=s&&s[1];s=/(?:^|\s)height\s*:\s*(\d+)/i.exec(r);var u=s&&s[1];if(t)q.attributes.width=t;if(u)q.attributes.height=u;}}return q;}}};j.add('fakeobjects',{requires:['htmlwriter'],afterInit:function(m){var n=m.dataProcessor,o=n&&n.htmlFilter;if(o)o.addRules(l);}});})();a.editor.prototype.createFakeElement=function(l,m,n,o){var p=this.lang.fakeobjects,q={'class':m,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(l.getOuterHtml()),_cke_real_node_type:l.type,alt:p[n]||p.unknown,align:l.getAttribute('align')||''};if(n)q._cke_real_element_type=n;if(o)q._cke_resizable=o;return this.document.createElement('img',{attributes:q});};a.editor.prototype.createFakeParserElement=function(l,m,n,o){var p=this.lang.fakeobjects,q,r=new a.htmlParser.basicWriter();l.writeHtml(r);q=r.getHtml();var s={'class':m,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(q),_cke_real_node_type:l.type,alt:p[n]||p.unknown,align:l.attributes.align||''};if(n)s._cke_real_element_type=n;if(o)s._cke_resizable=o;return new a.htmlParser.element('img',s);};a.editor.prototype.restoreRealElement=function(l){if(l.getAttribute('_cke_real_node_type')!=1)return null;\r
-return h.createFromHtml(decodeURIComponent(l.getAttribute('_cke_realelement')),this.document);};j.add('richcombo',{requires:['floatpanel','listblock','button'],beforeInit:function(l){l.ui.addHandler(3,k.richCombo.handler);}});a.UI_RICHCOMBO=3;k.richCombo=e.createClass({$:function(l){var n=this;e.extend(n,l,{title:l.label,modes:{wysiwyg:1}});var m=n.panel||{};delete n.panel;n.id=e.getNextNumber();n.document=m&&m.parent&&m.parent.getDocument()||a.document;m.className=(m.className||'')+' cke_rcombopanel';m.block={multiSelect:m.multiSelect,attributes:m.attributes};n._={panelDefinition:m,items:{},state:2};},statics:{handler:{create:function(l){return new k.richCombo(l);}}},proto:{renderHtml:function(l){var m=[];this.render(l,m);return m.join('');},render:function(l,m){var n=b,o='cke_'+this.id,p=e.addFunction(function(s){var v=this;var t=v._;if(t.state==0)return;v.createPanel(l);if(t.on){t.panel.hide();return;}if(!t.committed){t.list.commit();t.committed=1;}var u=v.getValue();if(u)t.list.mark(u);else t.list.unmarkAll();t.panel.showBlock(v.id,new h(s),4);},this),q={id:o,combo:this,focus:function(){var s=a.document.getById(o).getChild(1);s.focus();},clickFn:p};l.on('mode',function(){this.setState(this.modes[l.mode]?2:0);},this);var r=e.addFunction(function(s,t){s=new d.event(s);var u=s.getKeystroke();switch(u){case 13:case 32:case 40:e.callFunction(p,t);break;default:q.onkey(q,u);}s.preventDefault();});q.keyDownFn=r;m.push('<span class="cke_rcombo">','<span id=',o);if(this.className)m.push(' class="',this.className,' cke_off"');m.push('>','<span id="'+o+'_label" class=cke_label>',this.label,'</span>','<a hidefocus=true title="',this.title,'" tabindex="-1"',n.gecko&&n.version>=10900&&!n.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',o,'_label" aria-describedby="',o,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)m.push(' onkeypress="return false;"');if(b.gecko)m.push(' onblur="this.style.cssText = this.style.cssText;"');m.push(' onkeydown="CKEDITOR.tools.callFunction( ',r,', event, this );" onclick="CKEDITOR.tools.callFunction(',p,', this); return false;"><span><span id="'+o+'_text" class="cke_text cke_inline_label">'+this.label+'</span>'+'</span>'+'<span class=cke_openbutton>'+(b.hc?'<span>&#9660;</span>':'')+'</span>'+'</a>'+'</span>'+'</span>');if(this.onRender)this.onRender();return q;},createPanel:function(l){if(this._.panel)return;var m=this._.panelDefinition,n=this._.panelDefinition.block,o=m.parent||a.document.getBody(),p=new k.floatPanel(l,o,m),q=p.addListBlock(this.id,n),r=this;\r
-p.onShow=function(){if(r.className)this.element.getFirst().addClass(r.className+'_panel');r.setState(1);q.focus(!r.multiSelect&&r.getValue());r._.on=1;if(r.onOpen)r.onOpen();};p.onHide=function(){if(r.className)this.element.getFirst().removeClass(r.className+'_panel');r.setState(2);r._.on=0;if(r.onClose)r.onClose();};p.onEscape=function(){p.hide();r.document.getById('cke_'+r.id).getFirst().getNext().focus();};q.onClick=function(s,t){r.document.getWindow().focus();if(r.onClick)r.onClick.call(r,s,t);if(t)r.setValue(s,r._.items[s]);else r.setValue('');p.hide();};this._.panel=p;this._.list=q;p.getBlock(this.id).onHide=function(){r._.on=0;r.setState(2);};if(this.init)this.init();},setValue:function(l,m){var o=this;o._.value=l;var n=o.document.getById('cke_'+o.id+'_text');if(!(l||m)){m=o.label;n.addClass('cke_inline_label');}else n.removeClass('cke_inline_label');n.setHtml(typeof m!='undefined'?m:l);},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(l){this._.list.mark(l);},hideItem:function(l){this._.list.hideItem(l);},hideGroup:function(l){this._.list.hideGroup(l);},showAll:function(){this._.list.showAll();},add:function(l,m,n){this._.items[l]=n||l;this._.list.add(l,m,n);},startGroup:function(l){this._.list.startGroup(l);},commit:function(){this._.list.commit();},setState:function(l){var m=this;if(m._.state==l)return;m.document.getById('cke_'+m.id).setState(l);m._.state=l;}}});k.prototype.addRichCombo=function(l,m){this.add(l,3,m);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var n=this;n.base();n.indentationChars='\t';n.selfClosingEnd=' />';n.lineBreakChars='\n';n.forceSimpleAmpersand=false;n.sortAttributes=true;n._.indent=false;n._.indentation='';n._.rules={};var l=f;for(var m in e.extend({},l.$nonBodyContent,l.$block,l.$listItem,l.$tableContent))n.setRules(m,{indent:true,breakBeforeOpen:true,breakAfterOpen:true,breakBeforeClose:!l[m]['#'],breakAfterClose:true});n.setRules('br',{breakAfterOpen:true});n.setRules('title',{indent:false,breakAfterOpen:false});n.setRules('style',{indent:false,breakBeforeClose:true});n.setRules('pre',{indent:false});},proto:{openTag:function(l,m){var o=this;var n=o._.rules[l];if(o._.indent)o.indentation();else if(n&&n.breakBeforeOpen){o.lineBreak();o.indentation();}o._.output.push('<',l);},openTagClose:function(l,m){var o=this;var n=o._.rules[l];if(m)o._.output.push(o.selfClosingEnd);else{o._.output.push('>');if(n&&n.indent)o._.indentation+=o.indentationChars;\r
-}if(n&&n.breakAfterOpen)o.lineBreak();},attribute:function(l,m){if(typeof m=='string'){this.forceSimpleAmpersand&&(m=m.replace(/&amp;/g,'&'));m=e.htmlEncodeAttr(m);}this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){var n=this;var m=n._.rules[l];if(m&&m.indent)n._.indentation=n._.indentation.substr(n.indentationChars.length);if(n._.indent)n.indentation();else if(m&&m.breakBeforeClose){n.lineBreak();n.indentation();}n._.output.push('</',l,'>');if(m&&m.breakAfterClose)n.lineBreak();},text:function(l){if(this._.indent){this.indentation();l=e.ltrim(l);}this._.output.push(l);},comment:function(l){if(this._.indent)this.indentation();this._.output.push('<!--',l,'-->');},lineBreak:function(){var l=this;if(l._.output.length>0)l._.output.push(l.lineBreakChars);l._.indent=true;},indentation:function(){this._.output.push(this._.indentation);this._.indent=false;},setRules:function(l,m){var n=this._.rules[l];if(n)e.extend(n,m,true);else this._.rules[l]=m;}}});j.add('menubutton',{requires:['button','contextmenu'],beforeInit:function(l){l.ui.addHandler(5,k.menuButton.handler);}});a.UI_MENUBUTTON=5;(function(){var l=function(m){var n=this._;if(n.state===0)return;n.previousState=n.state;var o=n.menu;if(!o){o=n.menu=new j.contextMenu(m);o.definition.panel.attributes['aria-label']=m.lang.common.options;o.onHide=e.bind(function(){this.setState(n.previousState);},this);if(this.onMenu)o.addListener(this.onMenu);}if(n.on){o.hide();return;}this.setState(1);o.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(m){var n=m.panel;delete m.panel;this.base(m);this.hasArrow=true;this.click=l;},statics:{handler:{create:function(m){return new k.menuButton(m);}}}});})();j.add('dialogui');(function(){var l=function(t){var w=this;w._||(w._={});w._['default']=w._.initValue=t['default']||'';w._.required=t.required||false;var u=[w._];for(var v=1;v<arguments.length;v++)u.push(arguments[v]);u.push(true);e.extend.apply(e,u);return w._;},m={build:function(t,u,v){return new k.dialog.textInput(t,u,v);}},n={build:function(t,u,v){return new k.dialog[u.type](t,u,v);}},o={build:function(t,u,v){var w=u.children,x,y=[],z=[];for(var A=0;A<w.length&&(x=w[A]);A++){var B=[];y.push(B);z.push(a.dialog._.uiElementBuilders[x.type].build(t,x,B));}return new k.dialog[u.type](t,z,y,v,u);}},p={isChanged:function(){return this.getValue()!=this.getInitValue();},reset:function(t){this.setValue(this.getInitValue(),t);},setInitValue:function(){this._.initValue=this.getValue();\r
-},resetInitValue:function(){this._.initValue=this._['default'];},getInitValue:function(){return this._.initValue;}},q=e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onChange:function(t,u){if(!this._.domOnChangeRegistered){t.on('load',function(){this.getInputElement().on('change',function(){if(!t.parts.dialog.isVisible())return;this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',u);}},true),r=/^on([A-Z]\w+)/,s=function(t){for(var u in t){if(r.test(u)||u=='title'||u=='type')delete t[u];}return t;};e.extend(k.dialog,{labeledElement:function(t,u,v,w){if(arguments.length<4)return;var x=l.call(this,u);x.labelId=e.getNextId()+'_label';var y=this._.children=[],z=function(){var A=[],B=u.required?' cke_required':'';if(u.labelLayout!='horizontal')A.push('<label class="cke_dialog_ui_labeled_label'+B+'" ',' id="'+x.labelId+'"',' for="'+x.inputId+'"',' style="'+u.labelStyle+'">',u.label,'</label>','<div class="cke_dialog_ui_labeled_content" role="presentation">',w.call(this,t,u),'</div>');else{var C={type:'hbox',widths:u.widths,padding:0,children:[{type:'html',html:'<label class="cke_dialog_ui_labeled_label'+B+'"'+' id="'+x.labelId+'"'+' for="'+x.inputId+'"'+' style="'+u.labelStyle+'">'+e.htmlEncode(u.label)+'</span>'},{type:'html',html:'<span class="cke_dialog_ui_labeled_content">'+w.call(this,t,u)+'</span>'}]};a.dialog._.uiElementBuilders.hbox.build(t,C,A);}return A.join('');};k.dialog.uiElement.call(this,t,u,v,'div',null,{role:'presentation'},z);},textInput:function(t,u,v){if(arguments.length<3)return;l.call(this,u);var w=this._.inputId=e.getNextId()+'_textInput',x={'class':'cke_dialog_ui_input_'+u.type,id:w,type:'text'},y;if(u.validate)this.validate=u.validate;if(u.maxLength)x.maxlength=u.maxLength;if(u.size)x.size=u.size;if(u.controlStyle)x.style=u.controlStyle;var z=this,A=false;t.on('load',function(){z.getInputElement().on('keydown',function(C){if(C.data.getKeystroke()==13)A=true;});z.getInputElement().on('keyup',function(C){if(C.data.getKeystroke()==13&&A){t.getButton('ok')&&setTimeout(function(){t.getButton('ok').click();},0);A=false;}},null,null,1000);});var B=function(){var C=['<div class="cke_dialog_ui_input_',u.type,'" role="presentation"'];if(u.width)C.push('style="width:'+u.width+'" ');C.push('><input ');x['aria-labelledby']=this._.labelId;this._.required&&(x['aria-required']=this._.required);for(var D in x)C.push(D+'="'+x[D]+'" ');C.push(' /></div>');return C.join('');};k.dialog.labeledElement.call(this,t,u,v,B);\r
-},textarea:function(t,u,v){if(arguments.length<3)return;l.call(this,u);var w=this,x=this._.inputId=e.getNextId()+'_textarea',y={};if(u.validate)this.validate=u.validate;y.rows=u.rows||5;y.cols=u.cols||20;var z=function(){y['aria-labelledby']=this._.labelId;this._.required&&(y['aria-required']=this._.required);var A=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea class="cke_dialog_ui_input_textarea" id="',x,'" '];for(var B in y)A.push(B+'="'+e.htmlEncode(y[B])+'" ');A.push('>',e.htmlEncode(w._['default']),'</textarea></div>');return A.join('');};k.dialog.labeledElement.call(this,t,u,v,z);},checkbox:function(t,u,v){if(arguments.length<3)return;var w=l.call(this,u,{'default':!!u['default']});if(u.validate)this.validate=u.validate;var x=function(){var y=e.extend({},u,{id:u.id?u.id+'_checkbox':e.getNextId()+'_checkbox'},true),z=[],A=e.getNextId()+'_label',B={'class':'cke_dialog_ui_checkbox_input',type:'checkbox','aria-labelledby':A};s(y);if(u['default'])B.checked='checked';if(typeof y.controlStyle!='undefined')y.style=y.controlStyle;w.checkbox=new k.dialog.uiElement(t,y,z,'input',null,B);z.push(' <label id="',A,'" for="',B.id,'">',e.htmlEncode(u.label),'</label>');return z.join('');};k.dialog.uiElement.call(this,t,u,v,'span',null,null,x);},radio:function(t,u,v){if(arguments.length<3)return;l.call(this,u);if(!this._['default'])this._['default']=this._.initValue=u.items[0][1];if(u.validate)this.validate=u.valdiate;var w=[],x=this,y=function(){var z=[],A=[],B={'class':'cke_dialog_ui_radio_item','aria-labelledby':this._.labelId},C=u.id?u.id+'_radio':e.getNextId()+'_radio';for(var D=0;D<u.items.length;D++){var E=u.items[D],F=E[2]!==undefined?E[2]:E[0],G=E[1]!==undefined?E[1]:E[0],H=e.getNextId()+'_radio_input',I=H+'_label',J=e.extend({},u,{id:H,title:null,type:null},true),K=e.extend({},J,{title:F},true),L={type:'radio','class':'cke_dialog_ui_radio_input',name:C,value:G,'aria-labelledby':I},M=[];if(x._['default']==G)L.checked='checked';s(J);s(K);if(typeof J.controlStyle!='undefined')J.style=J.controlStyle;w.push(new k.dialog.uiElement(t,J,M,'input',null,L));M.push(' ');new k.dialog.uiElement(t,K,M,'label',null,{id:I,'for':L.id},E[0]);z.push(M.join(''));}new k.dialog.hbox(t,[],z,A);return A.join('');};k.dialog.labeledElement.call(this,t,u,v,y);this._.children=w;},button:function(t,u,v){if(!arguments.length)return;if(typeof u=='function')u=u(t.getParentEditor());l.call(this,u,{disabled:u.disabled||false});a.event.implementOn(this);var w=this;t.on('load',function(z){var A=this.getElement();\r
-(function(){A.on('click',function(B){w.fire('click',{dialog:w.getDialog()});B.data.preventDefault();});A.on('keydown',function(B){if(B.data.getKeystroke() in {32:1}){w.click();B.data.preventDefault();}});})();A.unselectable();},this);var x=e.extend({},u);delete x.style;var y=e.getNextId()+'_label';k.dialog.uiElement.call(this,t,x,v,'a',null,{style:u.style,href:'javascript:void(0)',title:u.label,hidefocus:'true','class':u['class'],role:'button','aria-labelledby':y},'<span id="'+y+'" class="cke_dialog_ui_button">'+e.htmlEncode(u.label)+'</span>');},select:function(t,u,v){if(arguments.length<3)return;var w=l.call(this,u);if(u.validate)this.validate=u.validate;w.inputId=e.getNextId()+'_select';var x=function(){var y=e.extend({},u,{id:u.id?u.id+'_select':e.getNextId()+'_select'},true),z=[],A=[],B={id:w.inputId,'class':'cke_dialog_ui_input_select','aria-labelledby':this._.labelId};if(u.size!=undefined)B.size=u.size;if(u.multiple!=undefined)B.multiple=u.multiple;s(y);for(var C=0,D;C<u.items.length&&(D=u.items[C]);C++)A.push('<option value="',e.htmlEncode(D[1]!==undefined?D[1]:D[0]),'" /> ',e.htmlEncode(D[0]));if(typeof y.controlStyle!='undefined')y.style=y.controlStyle;w.select=new k.dialog.uiElement(t,y,z,'select',null,B,A.join(''));return z.join('');};k.dialog.labeledElement.call(this,t,u,v,x);},file:function(t,u,v){if(arguments.length<3)return;if(u['default']===undefined)u['default']='';var w=e.extend(l.call(this,u),{definition:u,buttons:[]});if(u.validate)this.validate=u.validate;var x=function(){w.frameId=e.getNextId()+'_fileInput';var y=b.isCustomDomain(),z=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" id="',w.frameId,'" title="',u.label,'" src="javascript:void('];z.push(y?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');z.push(')"></iframe>');return z.join('');};t.on('load',function(){var y=a.document.getById(w.frameId),z=y.getParent();z.addClass('cke_dialog_ui_input_file');});k.dialog.labeledElement.call(this,t,u,v,x);},fileButton:function(t,u,v){if(arguments.length<3)return;var w=l.call(this,u),x=this;if(u.validate)this.validate=u.validate;var y=e.extend({},u),z=y.onClick;y.className=(y.className?y.className+' ':'')+'cke_dialog_ui_button';y.onClick=function(A){var B=u['for'];if(!z||z.call(this,A)!==false){t.getContentElement(B[0],B[1]).submit();this.disable();}};t.on('load',function(){t.getContentElement(u['for'][0],u['for'][1])._.buttons.push(x);});k.dialog.button.call(this,t,y,v);\r
-},html:(function(){var t=/^\s*<[\w:]+\s+([^>]*)?>/,u=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,v=/\/$/;return function(w,x,y){if(arguments.length<3)return;var z=[],A,B=x.html,C,D;if(B.charAt(0)!='<')B='<span>'+B+'</span>';var E=x.focus;if(E){var F=this.focus;this.focus=function(){F.call(this);typeof E=='function'&&E.call(this);this.fire('focus');};if(x.isFocusable){var G=this.isFocusable;this.isFocusable=G;}this.keyboardFocusable=true;}k.dialog.uiElement.call(this,w,x,z,'span',null,null,'');A=z.join('');C=A.match(t);D=B.match(u)||['','',''];if(v.test(D[1])){D[1]=D[1].slice(0,-1);D[2]='/'+D[2];}y.push([D[1],' ',C[1]||'',D[2]].join(''));};})(),fieldset:function(t,u,v,w,x){var y=x.label,z=function(){var A=[];y&&A.push('<legend>'+y+'</legend>');for(var B=0;B<v.length;B++)A.push(v[B]);return A.join('');};this._={children:u};k.dialog.uiElement.call(this,t,x,w,'fieldset',null,null,z);}},true);k.dialog.html.prototype=new k.dialog.uiElement();k.dialog.labeledElement.prototype=e.extend(new k.dialog.uiElement(),{setLabel:function(t){var u=a.document.getById(this._.labelId);if(u.getChildCount()<1)new d.text(t,a.document).appendTo(u);else u.getChild(0).$.nodeValue=t;return this;},getLabel:function(){var t=a.document.getById(this._.labelId);if(!t||t.getChildCount()<1)return '';else return t.getChild(0).getText();},eventProcessors:q},true);k.dialog.button.prototype=e.extend(new k.dialog.uiElement(),{click:function(){var t=this;if(!t._.disabled)return t.fire('click',{dialog:t._.dialog});t.getElement().$.blur();return false;},enable:function(){this._.disabled=false;var t=this.getElement();t&&t.removeClass('disabled');},disable:function(){this._.disabled=true;this.getElement().addClass('disabled');},isVisible:function(){return this.getElement().getFirst().isVisible();},isEnabled:function(){return!this._.disabled;},eventProcessors:e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onClick:function(t,u){this.on('click',u);}},true),accessKeyUp:function(){this.click();},accessKeyDown:function(){this.focus();},keyboardFocusable:true},true);k.dialog.textInput.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return a.document.getById(this._.inputId);},focus:function(){var t=this.selectParentTab();setTimeout(function(){var u=t.getInputElement();u&&u.$.focus();},0);},select:function(){var t=this.selectParentTab();setTimeout(function(){var u=t.getInputElement();if(u){u.$.focus();u.$.select();}},0);},accessKeyUp:function(){this.select();},setValue:function(t){!t&&(t='');\r
-return k.dialog.uiElement.prototype.setValue.apply(this,arguments);},keyboardFocusable:true},p,true);k.dialog.textarea.prototype=new k.dialog.textInput();k.dialog.select.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return this._.select.getElement();},add:function(t,u,v){var w=new h('option',this.getDialog().getParentEditor().document),x=this.getInputElement().$;w.$.text=t;w.$.value=u===undefined||u===null?t:u;if(v===undefined||v===null){if(c)x.add(w.$);else x.add(w.$,null);}else x.add(w.$,v);return this;},remove:function(t){var u=this.getInputElement().$;u.remove(t);return this;},clear:function(){var t=this.getInputElement().$;while(t.length>0)t.remove(0);return this;},keyboardFocusable:true},p,true);k.dialog.checkbox.prototype=e.extend(new k.dialog.uiElement(),{getInputElement:function(){return this._.checkbox.getElement();},setValue:function(t,u){this.getInputElement().$.checked=t;!u&&this.fire('change',{value:t});},getValue:function(){return this.getInputElement().$.checked;},accessKeyUp:function(){this.setValue(!this.getValue());},eventProcessors:{onChange:function(t,u){if(!c)return q.onChange.apply(this,arguments);else{t.on('load',function(){var v=this._.checkbox.getElement();v.on('propertychange',function(w){w=w.data.$;if(w.propertyName=='checked')this.fire('change',{value:v.$.checked});},this);},this);this.on('change',u);}return null;}},keyboardFocusable:true},p,true);k.dialog.radio.prototype=e.extend(new k.dialog.uiElement(),{setValue:function(t,u){var v=this._.children,w;for(var x=0;x<v.length&&(w=v[x]);x++)w.getElement().$.checked=w.getValue()==t;!u&&this.fire('change',{value:t});},getValue:function(){var t=this._.children;for(var u=0;u<t.length;u++){if(t[u].getElement().$.checked)return t[u].getValue();}return null;},accessKeyUp:function(){var t=this._.children,u;for(u=0;u<t.length;u++){if(t[u].getElement().$.checked){t[u].getElement().focus();return;}}t[0].getElement().focus();},eventProcessors:{onChange:function(t,u){if(!c)return q.onChange.apply(this,arguments);else{t.on('load',function(){var v=this._.children,w=this;for(var x=0;x<v.length;x++){var y=v[x].getElement();y.on('propertychange',function(z){z=z.data.$;if(z.propertyName=='checked'&&this.$.checked)w.fire('change',{value:this.getAttribute('value')});});}},this);this.on('change',u);}return null;}},keyboardFocusable:true},p,true);k.dialog.file.prototype=e.extend(new k.dialog.labeledElement(),p,{getInputElement:function(){var t=a.document.getById(this._.frameId).getFrameDocument();\r
-return t.$.forms.length>0?new h(t.$.forms[0].elements[0]):this.getElement();},submit:function(){this.getInputElement().getParent().$.submit();return this;},getAction:function(){return this.getInputElement().getParent().$.action;},registerEvents:function(t){var u=/^on([A-Z]\w+)/,v,w=function(y,z,A,B){y.on('formLoaded',function(){y.getInputElement().on(A,B,y);});};for(var x in t){if(!(v=x.match(u)))continue;if(this.eventProcessors[x])this.eventProcessors[x].call(this,this._.dialog,t[x]);else w(this,this._.dialog,v[1].toLowerCase(),t[x]);}return this;},reset:function(){var t=a.document.getById(this._.frameId),u=t.getFrameDocument(),v=this._.definition,w=this._.buttons,x=this.formLoadedNumber,y=this.formUnloadNumber,z=this._.dialog._.editor.lang.dir,A=this._.dialog._.editor.langCode;if(!x){x=this.formLoadedNumber=e.addFunction(function(){this.fire('formLoaded');},this);y=this.formUnloadNumber=e.addFunction(function(){this.getInputElement().clearCustomData();},this);this.getDialog()._.editor.on('destroy',function(){e.removeFunction(x);e.removeFunction(y);});}function B(){u.$.open();if(b.isCustomDomain())u.$.domain=document.domain;var C='';if(v.size)C=v.size-(c?7:0);u.$.write(['<html dir="'+z+'" lang="'+A+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+z+'" lang="'+A+'" action="',e.htmlEncode(v.action),'">','<input type="file" name="',e.htmlEncode(v.id||'cke_upload'),'" size="',e.htmlEncode(C>0?C:''),'" />','</form>','</body></html>','<script>window.parent.CKEDITOR.tools.callFunction('+x+');','window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction('+y+')}</script>'].join(''));u.$.close();for(var D=0;D<w.length;D++)w[D].enable();};if(b.gecko)setTimeout(B,500);else B();},getValue:function(){return this.getInputElement().$.value;},setInitValue:function(){this._.initValue='';},eventProcessors:{onChange:function(t,u){if(!this._.domOnChangeRegistered){this.on('formLoaded',function(){this.getInputElement().on('change',function(){this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',u);}},keyboardFocusable:true},true);k.dialog.fileButton.prototype=new k.dialog.button();k.dialog.fieldset.prototype=e.clone(k.dialog.hbox.prototype);a.dialog.addUIElement('text',m);a.dialog.addUIElement('password',m);a.dialog.addUIElement('textarea',n);a.dialog.addUIElement('checkbox',n);a.dialog.addUIElement('radio',n);\r
-a.dialog.addUIElement('button',n);a.dialog.addUIElement('select',n);a.dialog.addUIElement('file',n);a.dialog.addUIElement('fileButton',n);a.dialog.addUIElement('html',n);a.dialog.addUIElement('fieldset',o);})();j.add('panel',{beforeInit:function(l){l.ui.addHandler(2,k.panel.handler);}});a.UI_PANEL=2;k.panel=function(l,m){var n=this;if(m)e.extend(n,m);e.extend(n,{className:'',css:[]});n.id=e.getNextNumber();n.document=l;n._={blocks:{}};};k.panel.handler={create:function(l){return new k.panel(l);}};k.panel.prototype={renderHtml:function(l){var m=[];this.render(l,m);return m.join('');},render:function(l,m){var o=this;var n='cke_'+o.id;m.push('<div class="',l.skinClass,'" lang="',l.langCode,'" role="presentation" style="display:none;z-index:'+(l.config.baseFloatZIndex+1)+'">'+'<div'+' id=',n,' dir=',l.lang.dir,' role="presentation" class="cke_panel cke_',l.lang.dir);if(o.className)m.push(' ',o.className);m.push('">');if(o.forceIFrame||o.css.length){m.push('<iframe id="',n,'_frame" frameborder="0" role="application" src="javascript:void(');m.push(b.isCustomDomain()?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');m.push(')"></iframe>');}m.push('</div></div>');return n;},getHolderElement:function(){var l=this._.holder;if(!l){if(this.forceIFrame||this.css.length){var m=this.document.getById('cke_'+this.id+'_frame'),n=m.getParent(),o=n.getAttribute('dir'),p=n.getParent().getAttribute('class'),q=n.getParent().getAttribute('lang'),r=m.getFrameDocument();r.$.open();if(b.isCustomDomain())r.$.domain=document.domain;var s=e.addFunction(e.bind(function(u){this.isLoaded=true;if(this.onLoad)this.onLoad();},this));r.$.write('<!DOCTYPE html><html dir="'+o+'" class="'+p+'_container" lang="'+q+'">'+'<head>'+'<style>.'+p+'_container{visibility:hidden}</style>'+'</head>'+'<body class="cke_'+o+' cke_panel_frame '+b.cssClass+'" style="margin:0;padding:0"'+' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction('+s+');"></body>'+e.buildStyleHtml(this.css)+'</html>');r.$.close();var t=r.getWindow();t.$.CKEDITOR=a;r.on('keydown',function(u){var x=this;var v=u.data.getKeystroke(),w=x.document.getById('cke_'+x.id).getAttribute('dir');if(x._.onKeyDown&&x._.onKeyDown(v)===false){u.data.preventDefault();return;}if(v==27||v==(w=='rtl'?39:37))if(x.onEscape&&x.onEscape(v)===false)u.data.preventDefault();},this);l=r.getBody();l.unselectable();}else l=this.document.getById('cke_'+this.id);this._.holder=l;}return l;},addBlock:function(l,m){var n=this;\r
-m=n._.blocks[l]=m instanceof k.panel.block?m:new k.panel.block(n.getHolderElement(),m);if(!n._.currentBlock)n.showBlock(l);return m;},getBlock:function(l){return this._.blocks[l];},showBlock:function(l){var m=this._.blocks,n=m[l],o=this._.currentBlock,p=this.forceIFrame?this.document.getById('cke_'+this.id+'_frame'):this._.holder;p.getParent().getParent().disableContextMenu();if(o){p.removeAttributes(o.attributes);o.hide();}this._.currentBlock=n;p.setAttributes(n.attributes);a.fire('ariaWidget',p);n._.focusIndex=-1;this._.onKeyDown=n.onKeyDown&&e.bind(n.onKeyDown,n);n.onMark=function(q){p.setAttribute('aria-activedescendant',q.getId()+'_option');};n.onUnmark=function(){p.removeAttribute('aria-activedescendant');};n.show();return n;},destroy:function(){this.element&&this.element.remove();}};k.panel.block=e.createClass({$:function(l,m){var n=this;n.element=l.append(l.getDocument().createElement('div',{attributes:{tabIndex:-1,'class':'cke_panel_block',role:'presentation'},styles:{display:'none'}}));if(m)e.extend(n,m);if(!n.attributes.title)n.attributes.title=n.attributes['aria-label'];n.keys={};n._.focusIndex=-1;n.element.disableContextMenu();},_:{markItem:function(l){var o=this;if(l==-1)return;var m=o.element.getElementsByTag('a'),n=m.getItem(o._.focusIndex=l);if(b.webkit)n.getDocument().getWindow().focus();n.focus();o.onMark&&o.onMark(n);}},proto:{show:function(){this.element.setStyle('display','');},hide:function(){var l=this;if(!l.onHide||l.onHide.call(l)!==true)l.element.setStyle('display','none');},onKeyDown:function(l){var q=this;var m=q.keys[l];switch(m){case 'next':var n=q._.focusIndex,o=q.element.getElementsByTag('a'),p;while(p=o.getItem(++n)){if(p.getAttribute('_cke_focus')&&p.$.offsetWidth){q._.focusIndex=n;p.focus();break;}}return false;case 'prev':n=q._.focusIndex;o=q.element.getElementsByTag('a');while(n>0&&(p=o.getItem(--n))){if(p.getAttribute('_cke_focus')&&p.$.offsetWidth){q._.focusIndex=n;p.focus();break;}}return false;case 'click':n=q._.focusIndex;p=n>=0&&q.element.getElementsByTag('a').getItem(n);if(p)p.$.click?p.$.click():p.$.onclick();return false;}return true;}}});j.add('listblock',{requires:['panel'],onLoad:function(){k.panel.prototype.addListBlock=function(l,m){return this.addBlock(l,new k.listBlock(this.getHolderElement(),m));};k.listBlock=e.createClass({base:k.panel.block,$:function(l,m){var p=this;m=m||{};var n=m.attributes||(m.attributes={});(p.multiSelect=!!m.multiSelect)&&(n['aria-multiselectable']=true);!n.role&&(n.role='listbox');\r
-p.base.apply(p,arguments);var o=p.keys;o[40]='next';o[9]='next';o[38]='prev';o[2000+9]='prev';o[32]='click';p._.pendingHtml=[];p._.items={};p._.groups={};},_:{close:function(){if(this._.started){this._.pendingHtml.push('</ul>');delete this._.started;}},getClick:function(){if(!this._.click)this._.click=e.addFunction(function(l){var n=this;var m=true;if(n.multiSelect)m=n.toggle(l);else n.mark(l);if(n.onClick)n.onClick(l,m);},this);return this._.click;}},proto:{add:function(l,m,n){var q=this;var o=q._.pendingHtml,p='cke_'+e.getNextNumber();if(!q._.started){o.push('<ul role="presentation" class=cke_panel_list>');q._.started=1;q._.size=q._.size||0;}q._.items[l]=p;o.push('<li id=',p,' class=cke_panel_listItem><a id="',p,'_option" _cke_focus=1 hidefocus=true title="',n||l,'" href="javascript:void(\'',l,'\')" onclick="CKEDITOR.tools.callFunction(',q._.getClick(),",'",l,"'); return false;\"",' role="option" aria-posinset="'+ ++q._.size+'">',m||l,'</a></li>');},startGroup:function(l){this._.close();var m='cke_'+e.getNextNumber();this._.groups[l]=m;this._.pendingHtml.push('<h1 role="presentation" id=',m,' class=cke_panel_grouptitle>',l,'</h1>');},commit:function(){var o=this;o._.close();o.element.appendHtml(o._.pendingHtml.join(''));var l=o._.items,m=o.element.getDocument();for(var n in l)m.getById(l[n]+'_option').setAttribute('aria-setsize',o._.size);delete o._.size;o._.pendingHtml=[];},toggle:function(l){var m=this.isMarked(l);if(m)this.unmark(l);else this.mark(l);return!m;},hideGroup:function(l){var m=this.element.getDocument().getById(this._.groups[l]),n=m&&m.getNext();if(m){m.setStyle('display','none');if(n&&n.getName()=='ul')n.setStyle('display','none');}},hideItem:function(l){this.element.getDocument().getById(this._.items[l]).setStyle('display','none');},showAll:function(){var l=this._.items,m=this._.groups,n=this.element.getDocument();for(var o in l)n.getById(l[o]).setStyle('display','');for(var p in m){var q=n.getById(m[p]),r=q.getNext();q.setStyle('display','');if(r&&r.getName()=='ul')r.setStyle('display','');}},mark:function(l){var o=this;if(!o.multiSelect)o.unmarkAll();var m=o._.items[l],n=o.element.getDocument().getById(m);n.addClass('cke_selected');o.element.getDocument().getById(m+'_option').setAttribute('aria-selected',true);o.element.setAttribute('aria-activedescendant',m+'_option');o.onMark&&o.onMark(n);},unmark:function(l){var m=this;m.element.getDocument().getById(m._.items[l]).removeClass('cke_selected');m.onUnmark&&m.onUnmark(m._.items[l]);},unmarkAll:function(){var o=this;\r
-var l=o._.items,m=o.element.getDocument();for(var n in l)m.getById(l[n]).removeClass('cke_selected');o.onUnmark&&o.onUnmark();},isMarked:function(l){return this.element.getDocument().getById(this._.items[l]).hasClass('cke_selected');},focus:function(l){this._.focusIndex=-1;if(l){var m=this.element.getDocument().getById(this._.items[l]).getFirst(),n=this.element.getElementsByTag('a'),o,p=-1;while(o=n.getItem(++p)){if(o.equals(m)){this._.focusIndex=p;break;}}setTimeout(function(){m.focus();},0);}}}});}});a.themes.add('default',(function(){function l(m,n){var o,p;p=m.config.sharedSpaces;p=p&&p[n];p=p&&a.document.getById(p);if(p){var q='<span class="cke_shared"><span class="'+m.skinClass+' cke_editor_'+m.name+'">'+'<span class="'+b.cssClass+'">'+'<span class="cke_wrapper cke_'+m.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+n+'">'+'</div></span></span></span></span></span>',r=p.append(h.createFromHtml(q,p.getDocument()));if(p.getCustomData('cke_hasshared'))r.hide();else p.setCustomData('cke_hasshared',1);o=r.getChild([0,0,0,0]);m.on('focus',function(){for(var s=0,t,u=p.getChildren();t=u.getItem(s);s++){if(t.type==1&&!t.equals(r)&&t.hasClass('cke_shared'))t.hide();}r.show();});m.on('destroy',function(){r.remove();});}return o;};return{build:function(m,n){var o=m.name,p=m.element,q=m.elementMode;if(!p||q==0)return;if(q==1)p.hide();var r=m.fire('themeSpace',{space:'top',html:''}).html,s=m.fire('themeSpace',{space:'contents',html:''}).html,t=m.fireOnce('themeSpace',{space:'bottom',html:''}).html,u=s&&m.config.height,v=m.config.tabIndex||m.element.getAttribute('tabindex')||0;if(!s)u='auto';else if(!isNaN(u))u+='px';var w='',x=m.config.width;if(x){if(!isNaN(x))x+='px';w+='width: '+x+';';}var y=r&&l(m,'top'),z=l(m,'bottom');y&&(y.setHtml(r),r='');z&&(z.setHtml(t),t='');var A=h.createFromHtml(['<span id="cke_',o,'" onmousedown="return false;" class="',m.skinClass,' cke_editor_',o,'" dir="',m.lang.dir,'" title="',b.gecko?' ':'','" lang="',m.langCode,'"'+(b.webkit?' tabindex="'+v+'"':'')+' role="application"'+' aria-labelledby="cke_',o,'_arialbl"'+(w?' style="'+w+'"':'')+'>'+'<span id="cke_',o,'_arialbl" class="cke_voice_label">'+m.lang.editor+'</span>'+'<span class="',b.cssClass,'" role="presentation"><span class="cke_wrapper cke_',m.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',r?'':' style="display:none"',' role="presentation"><td id="cke_top_',o,'" class="cke_top" role="presentation">',r,'</td></tr><tr',s?'':' style="display:none"',' role="presentation"><td id="cke_contents_',o,'" class="cke_contents" style="height:',u,'" role="presentation">',s,'</td></tr><tr',t?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',o,'" class="cke_bottom" role="presentation">',t,'</td></tr></tbody></table><style>.',m.skinClass,'{visibility:hidden;}</style></span></span></span>'].join(''));\r
-A.getChild([1,0,0,0,0]).unselectable();A.getChild([1,0,0,0,2]).unselectable();if(q==1)A.insertAfter(p);else p.append(A);m.container=A;A.disableContextMenu();m.fireOnce('themeLoaded');m.fireOnce('uiReady');},buildDialog:function(m){var n=e.getNextNumber(),o=h.createFromHtml(['<div class="cke_editor_'+m.name.replace('.','\\.')+'_dialog cke_skin_',m.skinName,'" dir="',m.lang.dir,'" lang="',m.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+b.cssClass,' cke_',m.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+m.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation"><tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr></table>'+'<div id="%footer#" class="%footer" role="presentation"></div>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',c?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+n).replace(/%/g,'cke_dialog_')),p=o.getChild([0,0,0,0,0]),q=p.getChild(0),r=p.getChild(1);q.unselectable();r.unselectable();return{element:o,parts:{dialog:o.getChild(0),title:q,close:r,tabs:p.getChild(2),contents:p.getChild([3,0,0,0]),footer:p.getChild(4)}};},destroy:function(m){var n=m.container;n.clearCustomData();m.element.clearCustomData();if(n)n.remove();if(m.elementMode==1)m.element.show();delete m.element;}};})());a.editor.prototype.getThemeSpace=function(l){var m='cke_'+l,n=this._[m]||(this._[m]=a.document.getById(m+'_'+this.name));return n;};a.editor.prototype.resize=function(l,m,n,o){var p=this.container,q=a.document.getById('cke_contents_'+this.name),r=o?p.getChild(1):p;b.webkit&&r.setStyle('display','none');r.setSize('width',l,true);if(b.webkit){r.$.offsetWidth;r.setStyle('display','');}var s=n?0:(r.$.offsetHeight||0)-(q.$.clientHeight||0);q.setStyle('height',Math.max(m-s,0)+'px');this.fire('resize');};a.editor.prototype.getResizable=function(){return this.container.getChild(1);\r
+return function(j,k,l){if(typeof k=='number'){if(l&&!(c&&b.quirks)){var m=0;for(var n=0,o=i[j].length;n<o;n++)m+=parseInt(this.getComputedStyle(i[j][n])||0,10)||0;k-=m;}this.setStyle(j,k+'px');}};})(),getDirection:function(i){return i?this.getComputedStyle('direction'):this.getStyle('direction')||this.getAttribute('dir');}});a.command=function(i,j){this.uiItems=[];this.exec=function(k){if(this.state==0)return false;if(this.editorFocus)i.focus();return j.exec.call(this,i,k)!==false;};e.extend(this,j,{modes:{wysiwyg:1},editorFocus:1,state:2});a.event.call(this);};a.command.prototype={enable:function(){var i=this;if(i.state==0)i.setState(!i.preserveState||typeof i.previousState=='undefined'?2:i.previousState);},disable:function(){this.setState(0);},setState:function(i){var j=this;if(j.state==i)return false;j.previousState=j.state;j.state=i;j.fire('state');return true;},toggleState:function(){var i=this;if(i.state==2)i.setState(1);else if(i.state==1)i.setState(2);}};a.event.implementOn(a.command.prototype,true);a.ENTER_P=1;a.ENTER_BR=2;a.ENTER_DIV=3;a.config={customConfig:'config.js',autoUpdateElement:true,baseHref:'',contentsCss:a.basePath+'contents.css',contentsLangDirection:'ui',contentsLanguage:'',language:'',defaultLanguage:'en',enterMode:1,forceEnterMode:false,shiftEnterMode:2,corePlugins:'',docType:'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',bodyId:'',bodyClass:'',fullPage:false,height:200,plugins:'about,a11yhelp,basicstyles,bidi,blockquote,button,clipboard,colorbutton,colordialog,contextmenu,dialogadvtab,div,elementspath,enterkey,entities,filebrowser,find,flash,font,format,forms,horizontalrule,htmldataprocessor,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,smiley,showblocks,showborders,sourcearea,stylescombo,table,tabletools,specialchar,tab,templates,toolbar,undo,wysiwygarea,wsc',extraPlugins:'',removePlugins:'',protectedSource:[],tabIndex:0,theme:'default',skin:'kama',width:'',baseFloatZIndex:10000};var i=a.config;a.focusManager=function(j){if(j.focusManager)return j.focusManager;this.hasFocus=false;this._={editor:j};return this;};a.focusManager.prototype={focus:function(){var k=this;if(k._.timer)clearTimeout(k._.timer);if(!k.hasFocus){if(a.currentInstance)a.currentInstance.focusManager.forceBlur();var j=k._.editor;j.container.getChild(1).addClass('cke_focus');k.hasFocus=true;\r
+j.fire('focus');}},blur:function(){var j=this;if(j._.timer)clearTimeout(j._.timer);j._.timer=setTimeout(function(){delete j._.timer;j.forceBlur();},100);},forceBlur:function(){if(this.hasFocus){var j=this._.editor;j.container.getChild(1).removeClass('cke_focus');this.hasFocus=false;j.fire('blur');}}};(function(){var j={};a.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,'en-au':1,'en-ca':1,'en-gb':1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,'fr-ca':1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,km:1,ko:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,'pt-br':1,pt:1,ro:1,ru:1,sk:1,sl:1,'sr-latn':1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,'zh-cn':1,zh:1},load:function(k,l,m){if(!k||!a.lang.languages[k])k=this.detect(l,k);if(!this[k])a.scriptLoader.load(a.getUrl('lang/'+k+'.js'),function(){m(k,this[k]);},this);else m(k,this[k]);},detect:function(k,l){var m=this.languages;l=l||navigator.userLanguage||navigator.language;var n=l.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),o=n[1],p=n[2];if(m[o+'-'+p])o=o+'-'+p;else if(!m[o])o=null;a.lang.detect=o?function(){return o;}:function(q){return q;};return o||k;}};})();a.scriptLoader=(function(){var j={},k={};return{load:function(l,m,n,o,p){var q=typeof l=='string';if(q)l=[l];if(!n)n=a;var r=l.length,s=[],t=[],u=function(z){if(m)if(q)m.call(n,z);else m.call(n,s,t);};if(r===0){u(true);return;}var v=function(z,A){(A?s:t).push(z);if(--r<=0){p&&a.document.getDocumentElement().removeStyle('cursor');u(A);}},w=function(z,A){j[z]=1;var B=k[z];delete k[z];for(var C=0;C<B.length;C++)B[C](z,A);},x=function(z){if(o!==true&&j[z]){v(z,true);return;}var A=k[z]||(k[z]=[]);A.push(v);if(A.length>1)return;var B=new h('script');B.setAttributes({type:'text/javascript',src:z});if(m)if(c)B.$.onreadystatechange=function(){if(B.$.readyState=='loaded'||B.$.readyState=='complete'){B.$.onreadystatechange=null;w(z,true);}};else{B.$.onload=function(){setTimeout(function(){w(z,true);},0);};B.$.onerror=function(){w(z,false);};}B.appendTo(a.document.getHead());};p&&a.document.getDocumentElement().setStyle('cursor','wait');for(var y=0;y<r;y++)x(l[y]);},loadCode:function(l){var m=new h('script');m.setAttribute('type','text/javascript');m.appendText(l);m.appendTo(a.document.getHead());}};})();a.resourceManager=function(j,k){var l=this;l.basePath=j;l.fileName=k;l.registered={};l.loaded={};l.externals={};l._={waitingList:{}};};a.resourceManager.prototype={add:function(j,k){if(this.registered[j])throw '[CKEDITOR.resourceManager.add] The resource name "'+j+'" is already registered.';\r
+a.fire(j+e.capitalize(this.fileName)+'Ready',this.registered[j]=k||{});},get:function(j){return this.registered[j]||null;},getPath:function(j){var k=this.externals[j];return a.getUrl(k&&k.dir||this.basePath+j+'/');},getFilePath:function(j){var k=this.externals[j];return a.getUrl(this.getPath(j)+(k&&typeof k.file=='string'?k.file:this.fileName+'.js'));},addExternal:function(j,k,l){j=j.split(',');for(var m=0;m<j.length;m++){var n=j[m];this.externals[n]={dir:k,file:l};}},load:function(j,k,l){if(!e.isArray(j))j=j?[j]:[];var m=this.loaded,n=this.registered,o=[],p={},q={};for(var r=0;r<j.length;r++){var s=j[r];if(!s)continue;if(!m[s]&&!n[s]){var t=this.getFilePath(s);o.push(t);if(!(t in p))p[t]=[];p[t].push(s);}else q[s]=this.get(s);}a.scriptLoader.load(o,function(u,v){if(v.length)throw '[CKEDITOR.resourceManager.load] Resource name "'+p[v[0]].join(',')+'" was not found at "'+v[0]+'".';for(var w=0;w<u.length;w++){var x=p[u[w]];for(var y=0;y<x.length;y++){var z=x[y];q[z]=this.get(z);m[z]=1;}}k.call(l,q);},this);}};a.plugins=new a.resourceManager('plugins/','plugin');var j=a.plugins;j.load=e.override(j.load,function(k){return function(l,m,n){var o={},p=function(q){k.call(this,q,function(r){e.extend(o,r);var s=[];for(var t in r){var u=r[t],v=u&&u.requires;if(v)for(var w=0;w<v.length;w++){if(!o[v[w]])s.push(v[w]);}}if(s.length)p.call(this,s);else{for(t in o){u=o[t];if(u.onLoad&&!u.onLoad._called){u.onLoad();u.onLoad._called=1;}}if(m)m.call(n||window,o);}},this);};p.call(this,l);};});j.setLang=function(k,l,m){var n=this.get(k),o=n.lang||(n.lang={});o[l]=m;};(function(){var k={},l=function(m,n){var o=function(){p.removeAllListeners();k[m]=1;n();},p=new h('img');p.on('load',o);p.on('error',o);p.setAttribute('src',m);};a.imageCacher={load:function(m,n){var o=m.length,p=new a.event();p.on('loaded',function(){p.finished=1;});if(n)p.on('loaded',n);var q=function(){if(--o===0)p.fire('loaded');};for(var r=0;r<m.length;r++){var s=m[r];if(k[s])q();else l(s,q);}return p;}};})();a.skins=(function(){var k={},l={},m={},n=function(o,p,q,r){var s=k[p];if(!o.skin){o.skin=s;if(s.init)s.init(o);}var t=function(D){for(var E=0;E<D.length;E++)D[E]=a.getUrl(m[p]+D[E]);};function u(D,E){return D.replace(/url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,function(F,G,H,I){if(/^\/|^\w?:/.test(H))return F;else return 'url('+E+G+H+I+')';});};var v=s.preload;if(v&&v.length>0){if(!l[p]){t(v);l[p]=a.imageCacher.load(v);}if(!l[p].finished){l[p].on('loaded',function(){n(o,p,q,r);});return;}}q=s[q];var w=!q||!!q._isLoaded;\r
+if(w)r&&r();else{var x=q._pending||(q._pending=[]);x.push(r);if(x.length>1)return;var y=!q.css||!q.css.length,z=!q.js||!q.js.length,A=function(){if(y&&z){q._isLoaded=1;for(var D=0;D<x.length;D++){if(x[D])x[D]();}}};if(!y){var B=q.css;if(e.isArray(B)){t(B);for(var C=0;C<B.length;C++)a.document.appendStyleSheet(B[C]);}else{B=u(B,a.getUrl(m[p]));a.document.appendStyleText(B);}q.css=B;y=1;}if(!z){t(q.js);a.scriptLoader.load(q.js,function(){z=1;A();});}A();}};return{add:function(o,p){k[o]=p;p.skinPath=m[o]||(m[o]=a.getUrl('skins/'+o+'/'));},load:function(o,p,q){var r=o.skinName,s=o.skinPath;if(k[r])n(o,r,p,q);else{m[r]=s;a.scriptLoader.load(a.getUrl(s+'skin.js'),function(){n(o,r,p,q);});}}};})();a.themes=new a.resourceManager('themes/','theme');a.ui=function(k){if(k.ui)return k.ui;this._={handlers:{},items:{},editor:k};return this;};var k=a.ui;k.prototype={add:function(l,m,n){this._.items[l]={type:m,command:n.command||null,args:Array.prototype.slice.call(arguments,2)};},create:function(l){var q=this;var m=q._.items[l],n=m&&q._.handlers[m.type],o=m&&m.command&&q._.editor.getCommand(m.command),p=n&&n.create.apply(q,m.args);if(o)o.uiItems.push(p);return p;},addHandler:function(l,m){this._.handlers[l]=m;}};(function(){var l=0,m=function(){var x='editor'+ ++l;return a.instances&&a.instances[x]?m():x;},n={},o=function(x){var y=x.config.customConfig;if(!y)return false;y=a.getUrl(y);var z=n[y]||(n[y]={});if(z.fn){z.fn.call(x,x.config);if(a.getUrl(x.config.customConfig)==y||!o(x))x.fireOnce('customConfigLoaded');}else a.scriptLoader.load(y,function(){if(a.editorConfig)z.fn=a.editorConfig;else z.fn=function(){};o(x);});return true;},p=function(x,y){x.on('customConfigLoaded',function(){if(y){if(y.on)for(var z in y.on)x.on(z,y.on[z]);e.extend(x.config,y,true);delete x.config.on;}q(x);});if(y&&y.customConfig!=undefined)x.config.customConfig=y.customConfig;if(!o(x))x.fireOnce('customConfigLoaded');},q=function(x){var y=x.config.skin.split(','),z=y[0],A=a.getUrl(y[1]||'skins/'+z+'/');x.skinName=z;x.skinPath=A;x.skinClass='cke_skin_'+z;x.tabIndex=x.config.tabIndex||x.element.getAttribute('tabindex')||0;x.fireOnce('configLoaded');t(x);},r=function(x){a.lang.load(x.config.language,x.config.defaultLanguage,function(y,z){x.langCode=y;x.lang=e.prototypedCopy(z);if(b.gecko&&b.version<10900&&x.lang.dir=='rtl')x.lang.dir='ltr';var A=x.config;A.contentsLangDirection=='ui'&&(A.contentsLangDirection=x.lang.dir);s(x);});},s=function(x){var y=x.config,z=y.plugins,A=y.extraPlugins,B=y.removePlugins;\r
+if(A){var C=new RegExp('(?:^|,)(?:'+A.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');z+=','+A;}if(B){C=new RegExp('(?:^|,)(?:'+B.replace(/\s*,\s*/g,'|')+')(?=,|$)','g');z=z.replace(C,'');}j.load(z.split(','),function(D){var E=[],F=[],G=[];x.plugins=D;for(var H in D){var I=D[H],J=I.lang,K=j.getPath(H),L=null;I.path=K;if(J){L=e.indexOf(J,x.langCode)>=0?x.langCode:J[0];if(!I.lang[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.lang[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit'];for(var N=0;N<M.length;N++)for(var O=0;O<E.length;O++){var P=E[O];if(N===0&&F[O]&&P.lang)e.extend(x.lang,P.lang[F[O]]);if(P[M[N]])P[M[N]](x);}x.fire('pluginsLoaded');u(x);});});},t=function(x){a.skins.load(x,'editor',function(){r(x);});},u=function(x){var y=x.config.theme;a.themes.load(y,function(){var z=x.theme=a.themes.get(y);z.path=a.themes.getPath(y);z.build(x);if(x.config.autoUpdateElement)v(x);});},v=function(x){var y=x.element;if(x.elementMode==1&&y.is('textarea')){var z=y.$.form&&new h(y.$.form);if(z){function A(){x.updateElement();};z.on('submit',A);if(!z.$.submit.nodeName)z.$.submit=e.override(z.$.submit,function(B){return function(){x.updateElement();if(B.apply)B.apply(this,arguments);else B();};});x.on('destroy',function(){z.removeListener('submit',A);});}}};function w(){var x,y=this._.commands,z=this.mode;for(var A in y){x=y[A];x[x.startDisabled?'disable':x.modes[z]?'enable':'disable']();}};a.editor.prototype._init=function(){var z=this;var x=h.get(z._.element),y=z._.instanceConfig;delete z._.element;delete z._.instanceConfig;z._.commands={};z._.styles=[];z.element=x;z.name=x&&z.elementMode==1&&(x.getId()||x.getNameAtt())||m();if(z.name in a.instances)throw '[CKEDITOR.editor] The instance "'+z.name+'" already exists.';z.id=e.getNextId();z.config=e.prototypedCopy(i);z.ui=new k(z);z.focusManager=new a.focusManager(z);a.fire('instanceCreated',null,z);z.on('mode',w,null,null,1);p(z,y);};})();e.extend(a.editor.prototype,{addCommand:function(l,m){return this._.commands[l]=new a.command(this,m);},addCss:function(l){this._.styles.push(l);},destroy:function(l){var r=this;if(!l)r.updateElement();if(r.mode)r._.modes[r.mode].unload(r.getThemeSpace('contents'));r.theme.destroy(r);var m,n=0,o,p,q;if(r.toolbox){m=r.toolbox.toolbars;for(;n<m.length;n++){p=m[n].items;for(o=0;o<p.length;o++){q=p[o];if(q.clickFn)e.removeFunction(q.clickFn);if(q.keyDownFn)e.removeFunction(q.keyDownFn);if(q.index)k.button._.instances[q.index]=null;\r
+}}}if(r.contextMenu)e.removeFunction(r.contextMenu._.functionId);if(r._.filebrowserFn)e.removeFunction(r._.filebrowserFn);r.fire('destroy');a.remove(r);a.fire('instanceDestroyed',null,r);},execCommand:function(l,m){var n=this.getCommand(l),o={name:l,commandData:m,command:n};if(n&&n.state!=0)if(this.fire('beforeCommandExec',o)!==true){o.returnValue=n.exec(o.commandData);if(!n.async&&this.fire('afterCommandExec',o)!==true)return o.returnValue;}return false;},getCommand:function(l){return this._.commands[l];},getData:function(){var n=this;n.fire('beforeGetData');var l=n._.data;if(typeof l!='string'){var m=n.element;if(m&&n.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();else l='';}l={dataValue:l};n.fire('getData',l);return l.dataValue;},getSnapshot:function(){var l=this.fire('getSnapshot');if(typeof l!='string'){var m=this.element;if(m&&this.elementMode==1)l=m.is('textarea')?m.getValue():m.getHtml();}return l;},loadSnapshot:function(l){this.fire('loadSnapshot',l);},setData:function(l,m){if(m)this.on('dataReady',function(o){o.removeListener();m.call(o.editor);});var n={dataValue:l};this.fire('setData',n);this._.data=n.dataValue;this.fire('afterSetData',n);},insertHtml:function(l){this.fire('insertHtml',l);},insertElement:function(l){this.fire('insertElement',l);},checkDirty:function(){return this.mayBeDirty&&this._.previousValue!==this.getSnapshot();},resetDirty:function(){if(this.mayBeDirty)this._.previousValue=this.getSnapshot();},updateElement:function(){var n=this;var l=n.element;if(l&&n.elementMode==1){var m=n.getData();if(n.config.htmlEncodeOutput)m=e.htmlEncode(m);if(l.is('textarea'))l.setValue(m);else l.setHtml(m);}}});a.on('loaded',function(){var l=a.editor._pending;if(l){delete a.editor._pending;for(var m=0;m<l.length;m++)l[m]._init();}});a.htmlParser=function(){this._={htmlPartsRegex:new RegExp("<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)-->)|(?:([^\\s>]+)\\s*((?:(?:[^\"'>]+)|(?:\"[^\"]*\")|(?:'[^']*'))*)\\/?>))",'g')};};(function(){var l=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,m={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};a.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(n){var A=this;var o,p,q=0,r;while(o=A._.htmlPartsRegex.exec(n)){var s=o.index;if(s>q){var t=n.substring(q,s);if(r)r.push(t);else A.onText(t);}q=A._.htmlPartsRegex.lastIndex;\r
+if(p=o[1]){p=p.toLowerCase();if(r&&f.$cdata[p]){A.onCDATA(r.join(''));r=null;}if(!r){A.onTagClose(p);continue;}}if(r){r.push(o[0]);continue;}if(p=o[3]){p=p.toLowerCase();if(/="/.test(p))continue;var u={},v,w=o[4],x=!!(w&&w.charAt(w.length-1)=='/');if(w)while(v=l.exec(w)){var y=v[1].toLowerCase(),z=v[2]||v[3]||v[4]||'';if(!z&&m[y])u[y]=y;else u[y]=z;}A.onTagOpen(p,u,x);if(!r&&f.$cdata[p])r=[];continue;}if(p=o[2])A.onComment(p);}if(n.length>q)A.onText(n.substring(q,n.length));}};})();a.htmlParser.comment=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.comment.prototype={type:8,writeHtml:function(l,m){var n=this.value;if(m){if(!(n=m.onComment(n,this)))return;if(typeof n!='string'){n.parent=this.parent;n.writeHtml(l,m);return;}}l.comment(n);}};(function(){var l=/[\t\r\n ]{2,}|[\t\r\n]/g;a.htmlParser.text=function(m){this.value=m;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(m,n){var o=this.value;if(n&&!(o=n.onText(o,this)))return;m.text(o);}};})();(function(){a.htmlParser.cdata=function(l){this.value=l;};a.htmlParser.cdata.prototype={type:3,writeHtml:function(l){l.write(this.value);}};})();a.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false};};(function(){var l={colgroup:1,dd:1,dt:1,li:1,option:1,p:1,td:1,tfoot:1,th:1,thead:1,tr:1},m=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),n=f.$list,o=f.$listItem;a.htmlParser.fragment.fromHtml=function(p,q){var r=new a.htmlParser(),s=[],t=new a.htmlParser.fragment(),u=[],v=[],w=t,x=false,y;function z(E){var F;if(u.length>0)for(var G=0;G<u.length;G++){var H=u[G],I=H.name,J=f[I],K=w.name&&f[w.name];if((!K||K[I])&&(!E||!J||J[E]||!f[E])){if(!F){A();F=1;}H=H.clone();H.parent=w;w=H;u.splice(G,1);G--;}}};function A(E){while(v.length-(E||0)>0)w.add(v.shift());};function B(E,F,G){F=F||w||t;if(q&&!F.type){var H,I;if(E.attributes&&(I=E.attributes._cke_real_element_type))H=I;else H=E.name;if(H&&!(H in f.$body)&&!(H in f.$nonBodyContent)){var J=w;w=F;r.onTagOpen(q,{});F=w;if(G)w=J;}}if(E._.isBlockLike&&E.name!='pre'){var K=E.children.length,L=E.children[K-1],M;if(L&&L.type==3)if(!(M=e.rtrim(L.value)))E.children.length=K-1;else L.value=M;}F.add(E);if(E.returnPoint){w=E.returnPoint;delete E.returnPoint;}};r.onTagOpen=function(E,F,G){var H=new a.htmlParser.element(E,F);if(H.isUnknown&&G)H.isEmpty=true;if(f.$removeEmpty[E]){u.push(H);return;}else if(E=='pre')x=true;else if(E=='br'&&x){w.add(new a.htmlParser.text('\n'));\r
+return;}if(E=='br'){v.push(H);return;}var I=w.name,J=I&&(f[I]||(w._.isBlockLike?f.div:f.span));if(J&&!H.isUnknown&&!w.isUnknown&&!J[E]){var K=false,L;if(E in n&&I in n){var M=w.children,N=M[M.length-1];if(!(N&&N.name in o))B(N=new a.htmlParser.element('li'),w);y=w,L=N;}else if(E==I)B(w,w.parent);else if(E in f.$listItem){r.onTagOpen('ul',{});L=w;K=true;}else{if(m[I]){if(!y)y=w;}else{B(w,w.parent,true);if(!l[I])u.unshift(w);}K=true;}if(L)w=L;else w=w.returnPoint||w.parent;if(K){r.onTagOpen.apply(this,arguments);return;}}z(E);A();H.parent=w;H.returnPoint=y;y=0;if(H.isEmpty)B(H);else w=H;};r.onTagClose=function(E){for(var F=u.length-1;F>=0;F--){if(E==u[F].name){u.splice(F,1);return;}}var G=[],H=[],I=w;while(I.type&&I.name!=E){if(!I._.isBlockLike)H.unshift(I);G.push(I);I=I.parent;}if(I.type){for(F=0;F<G.length;F++){var J=G[F];B(J,J.parent);}w=I;if(w.name=='pre')x=false;if(I._.isBlockLike)A();B(I,I.parent);if(I==w)w=w.parent;u=u.concat(H);}if(E=='body')q=false;};r.onText=function(E){if(!w._.hasInlineStarted&&!x){E=e.ltrim(E);if(E.length===0)return;}A();z();if(q&&(!w.type||w.name=='body')&&e.trim(E))this.onTagOpen(q,{});if(!x)E=E.replace(/[\t\r\n ]{2,}|[\t\r\n]/g,' ');w.add(new a.htmlParser.text(E));};r.onCDATA=function(E){w.add(new a.htmlParser.cdata(E));};r.onComment=function(E){z();w.add(new a.htmlParser.comment(E));};r.parse(p);A(!c&&1);while(w.type){var C=w.parent,D=w;if(q&&(!C.type||C.name=='body')&&!f.$body[D.name]){w=C;r.onTagOpen(q,{});C=w;}C.add(D);w=C;}return t;};a.htmlParser.fragment.prototype={add:function(p){var s=this;var q=s.children.length,r=q>0&&s.children[q-1]||null;if(r){if(p._.isBlockLike&&r.type==3){r.value=e.rtrim(r.value);if(r.value.length===0){s.children.pop();s.add(p);return;}}r.next=p;}p.previous=r;p.parent=s;s.children.push(p);s._.hasInlineStarted=p.type==3||p.type==1&&!p._.isBlockLike;},writeHtml:function(p,q){var r;this.filterChildren=function(){var s=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,s,q,true);var t=s.getHtml();this.children=new a.htmlParser.fragment.fromHtml(t).children;r=1;};!this.name&&q&&q.onFragment(this);this.writeChildrenHtml(p,r?null:q);},writeChildrenHtml:function(p,q){for(var r=0;r<this.children.length;r++)this.children[r].writeHtml(p,q);}};})();a.htmlParser.element=function(l,m){var r=this;r.name=l;r.attributes=m||(m={});r.children=[];var n=m._cke_real_element_type||l,o=f,p=!!(o.$nonBodyContent[n]||o.$block[n]||o.$listItem[n]||o.$tableContent[n]||o.$nonEditable[n]||n=='br'),q=!!o.$empty[l];r.isEmpty=q;\r
+r.isUnknown=!o[l];r._={isBlockLike:p,hasInlineStarted:q||!p};};(function(){var l=function(m,n){m=m[0];n=n[0];return m<n?-1:m>n?1:0;};a.htmlParser.element.prototype={type:1,add:a.htmlParser.fragment.prototype.add,clone:function(){return new a.htmlParser.element(this.name,this.attributes);},writeHtml:function(m,n){var o=this.attributes,p=this,q=p.name,r,s,t,u;p.filterChildren=function(){if(!u){var z=new a.htmlParser.basicWriter();a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,z,n);p.children=new a.htmlParser.fragment.fromHtml(z.getHtml()).children;u=1;}};if(n){for(;;){if(!(q=n.onElementName(q)))return;p.name=q;if(!(p=n.onElement(p)))return;p.parent=this.parent;if(p.name==q)break;if(p.type!=1){p.writeHtml(m,n);return;}q=p.name;if(!q){this.writeChildrenHtml.call(p,m,u?null:n);return;}}o=p.attributes;}m.openTag(q,o);var v=[];for(var w=0;w<2;w++)for(r in o){s=r;t=o[r];if(w==1)v.push([r,t]);else if(n){for(;;){if(!(s=n.onAttributeName(r))){delete o[r];break;}else if(s!=r){delete o[r];r=s;continue;}else break;}if(s)if((t=n.onAttribute(p,s,t))===false)delete o[s];else o[s]=t;}}if(m.sortAttributes)v.sort(l);var x=v.length;for(w=0;w<x;w++){var y=v[w];m.attribute(y[0],y[1]);}m.openTagClose(q,p.isEmpty);if(!p.isEmpty){this.writeChildrenHtml.call(p,m,u?null:n);m.closeTag(q);}},writeChildrenHtml:function(m,n){a.htmlParser.fragment.prototype.writeChildrenHtml.apply(this,arguments);}};})();(function(){a.htmlParser.filter=e.createClass({$:function(q){this._={elementNames:[],attributeNames:[],elements:{$length:0},attributes:{$length:0}};if(q)this.addRules(q,10);},proto:{addRules:function(q,r){var s=this;if(typeof r!='number')r=10;m(s._.elementNames,q.elementNames,r);m(s._.attributeNames,q.attributeNames,r);n(s._.elements,q.elements,r);n(s._.attributes,q.attributes,r);s._.text=o(s._.text,q.text,r)||s._.text;s._.comment=o(s._.comment,q.comment,r)||s._.comment;s._.root=o(s._.root,q.root,r)||s._.root;},onElementName:function(q){return l(q,this._.elementNames);},onAttributeName:function(q){return l(q,this._.attributeNames);},onText:function(q){var r=this._.text;return r?r.filter(q):q;},onComment:function(q,r){var s=this._.comment;return s?s.filter(q,r):q;},onFragment:function(q){var r=this._.root;return r?r.filter(q):q;},onElement:function(q){var v=this;var r=[v._.elements['^'],v._.elements[q.name],v._.elements.$],s,t;for(var u=0;u<3;u++){s=r[u];if(s){t=s.filter(q,v);if(t===false)return null;if(t&&t!=q)return v.onNode(t);if(q.parent&&!q.name)break;}}return q;},onNode:function(q){var r=q.type;\r
+return r==1?this.onElement(q):r==3?new a.htmlParser.text(this.onText(q.value)):r==8?new a.htmlParser.comment(this.onComment(q.value)):null;},onAttribute:function(q,r,s){var t=this._.attributes[r];if(t){var u=t.filter(s,q,this);if(u===false)return false;if(typeof u!='undefined')return u;}return s;}}});function l(q,r){for(var s=0;q&&s<r.length;s++){var t=r[s];q=q.replace(t[0],t[1]);}return q;};function m(q,r,s){if(typeof r=='function')r=[r];var t,u,v=q.length,w=r&&r.length;if(w){for(t=0;t<v&&q[t].pri<s;t++){}for(u=w-1;u>=0;u--){var x=r[u];if(x){x.pri=s;q.splice(t,0,x);}}}};function n(q,r,s){if(r)for(var t in r){var u=q[t];q[t]=o(u,r[t],s);if(!u)q.$length++;}};function o(q,r,s){if(r){r.pri=s;if(q){if(!q.splice){if(q.pri>s)q=[r,q];else q=[q,r];q.filter=p;}else m(q,r,s);return q;}else{r.filter=r;return r;}}};function p(q){var r=q.type||q instanceof a.htmlParser.fragment;for(var s=0;s<this.length;s++){if(r)var t=q.type,u=q.name;var v=this[s],w=v.apply(window,arguments);if(w===false)return w;if(r){if(w&&(w.name!=u||w.type!=t))return w;}else if(typeof w!='string')return w;w!=undefined&&(q=w);}return q;};})();a.htmlParser.basicWriter=e.createClass({$:function(){this._={output:[]};},proto:{openTag:function(l,m){this._.output.push('<',l);},openTagClose:function(l,m){if(m)this._.output.push(' />');else this._.output.push('>');},attribute:function(l,m){if(typeof m=='string')m=e.htmlEncodeAttr(m);this._.output.push(' ',l,'="',m,'"');},closeTag:function(l){this._.output.push('</',l,'>');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('<!--',l,'-->');},write:function(l){this._.output.push(l);},reset:function(){this._.output=[];this._.indent=false;},getHtml:function(l){var m=this._.output.join('');if(l)this.reset();return m;}}});delete a.loadFullCore;a.instances={};a.document=new g(document);a.add=function(l){a.instances[l.name]=l;l.on('focus',function(){if(a.currentInstance!=l){a.currentInstance=l;a.fire('currentInstance');}});l.on('blur',function(){if(a.currentInstance==l){a.currentInstance=null;a.fire('currentInstance');}});};a.remove=function(l){delete a.instances[l.name];};a.on('instanceDestroyed',function(){if(e.isEmpty(this.instances))a.fire('reset');});a.TRISTATE_ON=1;a.TRISTATE_OFF=2;a.TRISTATE_DISABLED=0;d.comment=e.createClass({base:d.node,$:function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);this.base(l);},proto:{type:8,getOuterHtml:function(){return '<!--'+this.$.nodeValue+'-->';}}});(function(){var l={address:1,blockquote:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,li:1,dt:1,dd:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,caption:1,form:1},n=function(o){var p=o.getChildren();\r
+for(var q=0,r=p.count();q<r;q++){var s=p.getItem(q);if(s.type==1&&f.$block[s.getName()])return true;}return false;};d.elementPath=function(o){var u=this;var p=null,q=null,r=[],s=o;while(s){if(s.type==1){if(!u.lastElement)u.lastElement=s;var t=s.getName();if(c&&s.$.scopeName!='HTML')t=s.$.scopeName.toLowerCase()+':'+t;if(!q){if(!p&&l[t])p=s;if(m[t])if(!p&&t=='div'&&!n(s))p=s;else q=s;}r.push(s);if(t=='body')break;}s=s.getParent();}u.block=p;u.blockLimit=q;u.elements=r;};})();d.elementPath.prototype={compare:function(l){var m=this.elements,n=l&&l.elements;if(!n||m.length!=n.length)return false;for(var o=0;o<m.length;o++){if(!m[o].equals(n[o]))return false;}return true;},contains:function(l){var m=this.elements;for(var n=0;n<m.length;n++){if(m[n].getName() in l)return m[n];}return null;}};d.text=function(l,m){if(typeof l=='string')l=(m?m.$:document).createTextNode(l);this.$=l;};d.text.prototype=new d.node();e.extend(d.text.prototype,{type:3,getLength:function(){return this.$.nodeValue.length;},getText:function(){return this.$.nodeValue;},split:function(l){var q=this;if(c&&l==q.getLength()){var m=q.getDocument().createText('');m.insertAfter(q);return m;}var n=q.getDocument(),o=new d.text(q.$.splitText(l),n);if(b.ie8){var p=new d.text('',n);p.insertAfter(o);p.remove();}return o;},substring:function(l,m){if(typeof m!='number')return this.$.nodeValue.substr(l);else return this.$.nodeValue.substring(l,m);}});d.documentFragment=function(l){l=l||a.document;this.$=l.$.createDocumentFragment();};e.extend(d.documentFragment.prototype,h.prototype,{type:11,insertAfterNode:function(l){l=l.$;l.parentNode.insertBefore(this.$,l.nextSibling);}},true,{append:1,appendBogus:1,getFirst:1,getLast:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});(function(){function l(t,u){if(this._.end)return null;var v,w=this.range,x,y=this.guard,z=this.type,A=t?'getPreviousSourceNode':'getNextSourceNode';if(!this._.start){this._.start=1;w.trim();if(w.collapsed){this.end();return null;}}if(!t&&!this._.guardLTR){var B=w.endContainer,C=B.getChild(w.endOffset);this._.guardLTR=function(G,H){return(!H||!B.equals(G))&&(!C||!G.equals(C))&&(G.type!=1||!H||G.getName()!='body');};}if(t&&!this._.guardRTL){var D=w.startContainer,E=w.startOffset>0&&D.getChild(w.startOffset-1);this._.guardRTL=function(G,H){return(!H||!D.equals(G))&&(!E||!G.equals(E))&&(G.type!=1||!H||G.getName()!='body');};}var F=t?this._.guardRTL:this._.guardLTR;\r
+if(y)x=function(G,H){if(F(G,H)===false)return false;return y(G,H);};else x=F;if(this.current)v=this.current[A](false,z,x);else if(t){v=w.endContainer;if(w.endOffset>0){v=v.getChild(w.endOffset-1);if(x(v)===false)v=null;}else v=x(v,true)===false?null:v.getPreviousSourceNode(true,z,x);}else{v=w.startContainer;v=v.getChild(w.startOffset);if(v){if(x(v)===false)v=null;}else v=x(w.startContainer,true)===false?null:w.startContainer.getNextSourceNode(true,z,x);}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!u)return v;}else if(u&&this.evaluator)return false;v=v[A](false,z,x);}this.end();return this.current=null;};function m(t){var u,v=null;while(u=l.call(this,t))v=u;return v;};d.walker=e.createClass({$:function(t){this.range=t;this._={};},proto:{end:function(){this._.end=1;},next:function(){return l.call(this);},previous:function(){return l.call(this,1);},checkForward:function(){return l.call(this,0,1)!==false;},checkBackward:function(){return l.call(this,1,1)!==false;},lastForward:function(){return m.call(this);},lastBackward:function(){return m.call(this,1);},reset:function(){delete this.current;this._={};}}});var n={block:1,'list-item':1,table:1,'table-row-group':1,'table-header-group':1,'table-footer-group':1,'table-row':1,'table-column-group':1,'table-column':1,'table-cell':1,'table-caption':1},o={hr:1};h.prototype.isBlockBoundary=function(t){var u=e.extend({},o,t||{});return n[this.getComputedStyle('display')]||u[this.getName()];};d.walker.blockBoundary=function(t){return function(u,v){return!(u.type==1&&u.isBlockBoundary(t));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(t,u){function v(w){return w&&w.getName&&w.getName()=='span'&&w.hasAttribute('_cke_bookmark');};return function(w){var x,y;x=w&&!w.getName&&(y=w.getParent())&&v(y);x=t?x:x||v(w);return!!(u^x);};};d.walker.whitespaces=function(t){return function(u){var v=u&&u.type==3&&!e.trim(u.getText());return!!(t^v);};};d.walker.invisible=function(t){var u=d.walker.whitespaces();return function(v){var w=u(v)||v.is&&!v.$.offsetHeight;return!!(t^w);};};var p=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,q=d.walker.whitespaces(1),r=d.walker.bookmark(0,1),s=function(t){return r(t)&&q(t);};h.prototype.getBogus=function(){var t=this.getLast(s);if(t&&(!c?t.is&&t.is('br'):t.getText&&p.test(t.getText())))return t;return false;};})();d.range=function(l){var m=this;m.startContainer=null;m.startOffset=null;m.endContainer=null;m.endOffset=null;\r
+m.collapsed=true;m.document=l;};(function(){var l=function(t){t.collapsed=t.startContainer&&t.endContainer&&t.startContainer.equals(t.endContainer)&&t.startOffset==t.endOffset;},m=function(t,u,v){t.optimizeBookmark();var w=t.startContainer,x=t.endContainer,y=t.startOffset,z=t.endOffset,A,B;if(x.type==3)x=x.split(z);else if(x.getChildCount()>0)if(z>=x.getChildCount()){x=x.append(t.document.createText(''));B=true;}else x=x.getChild(z);if(w.type==3){w.split(y);if(w.equals(x))x=w.getNext();}else if(!y){w=w.getFirst().insertBeforeMe(t.document.createText(''));A=true;}else if(y>=w.getChildCount()){w=w.append(t.document.createText(''));A=true;}else w=w.getChild(y).getPrevious();var C=w.getParents(),D=x.getParents(),E,F,G;for(E=0;E<C.length;E++){F=C[E];G=D[E];if(!F.equals(G))break;}var H=v,I,J,K,L;for(var M=E;M<C.length;M++){I=C[M];if(H&&!I.equals(w))J=H.append(I.clone());K=I.getNext();while(K){if(K.equals(D[M])||K.equals(x))break;L=K.getNext();if(u==2)H.append(K.clone(true));else{K.remove();if(u==1)H.append(K);}K=L;}if(H)H=J;}H=v;for(var N=E;N<D.length;N++){I=D[N];if(u>0&&!I.equals(x))J=H.append(I.clone());if(!C[N]||I.$.parentNode!=C[N].$.parentNode){K=I.getPrevious();while(K){if(K.equals(C[N])||K.equals(w))break;L=K.getPrevious();if(u==2)H.$.insertBefore(K.$.cloneNode(true),H.$.firstChild);else{K.remove();if(u==1)H.$.insertBefore(K.$,H.$.firstChild);}K=L;}}if(H)H=J;}if(u==2){var O=t.startContainer;if(O.type==3){O.$.data+=O.$.nextSibling.data;O.$.parentNode.removeChild(O.$.nextSibling);}var P=t.endContainer;if(P.type==3&&P.$.nextSibling){P.$.data+=P.$.nextSibling.data;P.$.parentNode.removeChild(P.$.nextSibling);}}else{if(F&&G&&(w.$.parentNode!=F.$.parentNode||x.$.parentNode!=G.$.parentNode)){var Q=G.getIndex();if(A&&G.$.parentNode==w.$.parentNode)Q--;t.setStart(G.getParent(),Q);}t.collapse(true);}if(A)w.remove();if(B&&x.$.parentNode)x.remove();},n={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,'var':1};function o(t){var u=false,v=d.walker.bookmark(true);return function(w){if(v(w))return true;if(w.type==3){if(e.trim(w.getText()).length)return false;}else if(w.type==1)if(!n[w.getName()])if(!t&&!c&&w.getName()=='br'&&!u)u=true;else return false;return true;};};function p(t){return t.type!=3&&t.getName() in f.$removeEmpty||!e.trim(t.getText())||t.getParent().hasAttribute('_cke_bookmark');};var q=new d.walker.whitespaces(),r=new d.walker.bookmark();function s(t){return!q(t)&&!r(t);\r
+};d.range.prototype={clone:function(){var u=this;var t=new d.range(u.document);t.startContainer=u.startContainer;t.startOffset=u.startOffset;t.endContainer=u.endContainer;t.endOffset=u.endOffset;t.collapsed=u.collapsed;return t;},collapse:function(t){var u=this;if(t){u.endContainer=u.startContainer;u.endOffset=u.startOffset;}else{u.startContainer=u.endContainer;u.startOffset=u.endOffset;}u.collapsed=true;},cloneContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,t);return t;},deleteContents:function(){if(this.collapsed)return;m(this,0);},extractContents:function(){var t=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,t);return t;},createBookmark:function(t){var z=this;var u,v,w,x,y=z.collapsed;u=z.document.createElement('span');u.setAttribute('_cke_bookmark',1);u.setStyle('display','none');u.setHtml('&nbsp;');if(t){w='cke_bm_'+e.getNextNumber();u.setAttribute('id',w+'S');}if(!y){v=u.clone();v.setHtml('&nbsp;');if(t)v.setAttribute('id',w+'E');x=z.clone();x.collapse();x.insertNode(v);}x=z.clone();x.collapse(true);x.insertNode(u);if(v){z.setStartAfter(u);z.setEndBefore(v);}else z.moveToPosition(u,4);return{startNode:t?w+'S':u,endNode:t?w+'E':v,serializable:t,collapsed:y};},createBookmark2:function(t){var B=this;var u=B.startContainer,v=B.endContainer,w=B.startOffset,x=B.endOffset,y=B.collapsed,z,A;if(!u||!v)return{start:0,end:0};if(t){if(u.type==1){z=u.getChild(w);if(z&&z.type==3&&w>0&&z.getPrevious().type==3){u=z;w=0;}}while(u.type==3&&(A=u.getPrevious())&&A.type==3){u=A;w+=A.getLength();}if(!y){if(v.type==1){z=v.getChild(x);if(z&&z.type==3&&x>0&&z.getPrevious().type==3){v=z;x=0;}}while(v.type==3&&(A=v.getPrevious())&&A.type==3){v=A;x+=A.getLength();}}}return{start:u.getAddress(t),end:y?null:v.getAddress(t),startOffset:w,endOffset:x,normalized:t,collapsed:y,is2:true};},moveToBookmark:function(t){var B=this;if(t.is2){var u=B.document.getByAddress(t.start,t.normalized),v=t.startOffset,w=t.end&&B.document.getByAddress(t.end,t.normalized),x=t.endOffset;B.setStart(u,v);if(w)B.setEnd(w,x);else B.collapse(true);}else{var y=t.serializable,z=y?B.document.getById(t.startNode):t.startNode,A=y?B.document.getById(t.endNode):t.endNode;B.setStartBefore(z);z.remove();if(A){B.setEndBefore(A);A.remove();}else B.collapse(true);}},getBoundaryNodes:function(){var y=this;var t=y.startContainer,u=y.endContainer,v=y.startOffset,w=y.endOffset,x;if(t.type==1){x=t.getChildCount();if(x>v)t=t.getChild(v);else if(x<1)t=t.getPreviousSourceNode();\r
+else{t=t.$;while(t.lastChild)t=t.lastChild;t=new d.node(t);t=t.getNextSourceNode()||t;}}if(u.type==1){x=u.getChildCount();if(x>w)u=u.getChild(w).getPreviousSourceNode(true);else if(x<1)u=u.getPreviousSourceNode();else{u=u.$;while(u.lastChild)u=u.lastChild;u=new d.node(u);}}if(t.getPosition(u)&2)t=u;return{startNode:t,endNode:u};},getCommonAncestor:function(t,u){var y=this;var v=y.startContainer,w=y.endContainer,x;if(v.equals(w)){if(t&&v.type==1&&y.startOffset==y.endOffset-1)x=v.getChild(y.startOffset);else x=v;}else x=v.getCommonAncestor(w);return u&&!x.is?x.getParent():x;},optimize:function(){var v=this;var t=v.startContainer,u=v.startOffset;if(t.type!=1)if(!u)v.setStartBefore(t);else if(u>=t.getLength())v.setStartAfter(t);t=v.endContainer;u=v.endOffset;if(t.type!=1)if(!u)v.setEndBefore(t);else if(u>=t.getLength())v.setEndAfter(t);},optimizeBookmark:function(){var v=this;var t=v.startContainer,u=v.endContainer;if(t.is&&t.is('span')&&t.hasAttribute('_cke_bookmark'))v.setStartAt(t,3);if(u&&u.is&&u.is('span')&&u.hasAttribute('_cke_bookmark'))v.setEndAt(u,4);},trim:function(t,u){var B=this;var v=B.startContainer,w=B.startOffset,x=B.collapsed;if((!t||x)&&v&&v.type==3){if(!w){w=v.getIndex();v=v.getParent();}else if(w>=v.getLength()){w=v.getIndex()+1;v=v.getParent();}else{var y=v.split(w);w=v.getIndex()+1;v=v.getParent();if(B.startContainer.equals(B.endContainer))B.setEnd(y,B.endOffset-B.startOffset);else if(v.equals(B.endContainer))B.endOffset+=1;}B.setStart(v,w);if(x){B.collapse(true);return;}}var z=B.endContainer,A=B.endOffset;if(!(u||x)&&z&&z.type==3){if(!A){A=z.getIndex();z=z.getParent();}else if(A>=z.getLength()){A=z.getIndex()+1;z=z.getParent();}else{z.split(A);A=z.getIndex()+1;z=z.getParent();}B.setEnd(z,A);}},enlarge:function(t){switch(t){case 1:if(this.collapsed)return;var u=this.getCommonAncestor(),v=this.document.getBody(),w,x,y,z,A,B=false,C,D,E=this.startContainer,F=this.startOffset;if(E.type==3){if(F){E=!e.trim(E.substring(0,F)).length&&E;B=!!E;}if(E)if(!(z=E.getPrevious()))y=E.getParent();}else{if(F)z=E.getChild(F-1)||E.getLast();if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)w=y;else this.setStartBefore(y);}z=y.getPrevious();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/[\s\ufeff]$/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;\r
+else{var G=z.$.all||z.$.getElementsByTagName('*');for(var H=0,I;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B){if(A)w=y;else if(y)this.setStartBefore(y);}else B=true;if(z){var J=z.getPrevious();if(!y&&!J){y=z;z=null;break;}z=J;}else y=null;}if(y)y=y.getParent();}E=this.endContainer;F=this.endOffset;y=z=null;A=B=false;if(E.type==3){E=!e.trim(E.substring(F)).length&&E;B=!(E&&E.getLength());if(E)if(!(z=E.getNext()))y=E.getParent();}else{z=E.getChild(F);if(!z)y=E;}while(y||z){if(y&&!z){if(!A&&y.equals(u))A=true;if(!v.contains(y))break;if(!B||y.getComputedStyle('display')!='inline'){B=false;if(A)x=y;else if(y)this.setEndAfter(y);}z=y.getNext();}while(z){C=false;if(z.type==3){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;C=/^[\s\ufeff]/.test(D);}else if(z.$.offsetWidth>0&&!z.getAttribute('_cke_bookmark'))if(B&&f.$removeEmpty[z.getName()]){D=z.getText();if(/[^\s\ufeff]/.test(D))z=null;else{G=z.$.all||z.$.getElementsByTagName('*');for(H=0;I=G[H++];){if(!f.$removeEmpty[I.nodeName.toLowerCase()]){z=null;break;}}}if(z)C=!!D.length;}else z=null;if(C)if(B)if(A)x=y;else this.setEndAfter(y);if(z){J=z.getNext();if(!y&&!J){y=z;z=null;break;}z=J;}else y=null;}if(y)y=y.getParent();}if(w&&x){u=w.contains(x)?x:w;this.setStartBefore(u);this.setEndAfter(u);}break;case 2:case 3:var K=new d.range(this.document);v=this.document.getBody();K.setStartAt(v,1);K.setEnd(this.startContainer,this.startOffset);var L=new d.walker(K),M,N,O=d.walker.blockBoundary(t==3?{br:1}:null),P=function(R){var S=O(R);if(!S)M=R;return S;},Q=function(R){var S=P(R);if(!S&&R.is&&R.is('br'))N=R;return S;};L.guard=P;y=L.lastBackward();M=M||v;this.setStartAt(M,!M.is('br')&&(!y&&this.checkStartOfBlock()||y&&M.contains(y))?1:4);K=this.clone();K.collapse();K.setEndAt(v,2);L=new d.walker(K);L.guard=t==3?Q:P;M=null;y=L.lastForward();M=M||v;this.setEndAt(M,!y&&this.checkEndOfBlock()||y&&M.contains(y)?2:3);if(N)this.setEndAfter(N);}},shrink:function(t,u){if(!this.collapsed){t=t||2;var v=this.clone(),w=this.startContainer,x=this.endContainer,y=this.startOffset,z=this.endOffset,A=this.collapsed,B=1,C=1;if(w&&w.type==3)if(!y)v.setStartBefore(w);else if(y>=w.getLength())v.setStartAfter(w);else{v.setStartBefore(w);B=0;}if(x&&x.type==3)if(!z)v.setEndBefore(x);else if(z>=x.getLength())v.setEndAfter(x);else{v.setEndAfter(x);C=0;}var D=new d.walker(v),E=d.walker.bookmark();D.evaluator=function(I){return I.type==(t==1?1:3);};var F;D.guard=function(I,J){if(E(I))return true;\r
+if(t==1&&I.type==3)return false;if(J&&I.equals(F))return false;if(!J&&I.type==1)F=I;return true;};if(B){var G=D[t==1?'lastForward':'next']();G&&this.setStartAt(G,u?1:3);}if(C){D.reset();var H=D[t==1?'lastBackward':'previous']();H&&this.setEndAt(H,u?2:4);}return!!(B||C);}},insertNode:function(t){var x=this;x.optimizeBookmark();x.trim(false,true);var u=x.startContainer,v=x.startOffset,w=u.getChild(v);if(w)t.insertBefore(w);else u.append(t);if(t.getParent().equals(x.endContainer))x.endOffset++;x.setStartBefore(t);},moveToPosition:function(t,u){this.setStartAt(t,u);this.collapse(true);},selectNodeContents:function(t){this.setStart(t,0);this.setEnd(t,t.type==3?t.getLength():t.getChildCount());},setStart:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])t=t.getParent(),u=t.getIndex();v.startContainer=t;v.startOffset=u;if(!v.endContainer){v.endContainer=t;v.endOffset=u;}l(v);},setEnd:function(t,u){var v=this;if(t.type==1&&f.$empty[t.getName()])u=t.getIndex()+1,t=t.getParent();v.endContainer=t;v.endOffset=u;if(!v.startContainer){v.startContainer=t;v.startOffset=u;}l(v);},setStartAfter:function(t){this.setStart(t.getParent(),t.getIndex()+1);},setStartBefore:function(t){this.setStart(t.getParent(),t.getIndex());},setEndAfter:function(t){this.setEnd(t.getParent(),t.getIndex()+1);},setEndBefore:function(t){this.setEnd(t.getParent(),t.getIndex());},setStartAt:function(t,u){var v=this;switch(u){case 1:v.setStart(t,0);break;case 2:if(t.type==3)v.setStart(t,t.getLength());else v.setStart(t,t.getChildCount());break;case 3:v.setStartBefore(t);break;case 4:v.setStartAfter(t);}l(v);},setEndAt:function(t,u){var v=this;switch(u){case 1:v.setEnd(t,0);break;case 2:if(t.type==3)v.setEnd(t,t.getLength());else v.setEnd(t,t.getChildCount());break;case 3:v.setEndBefore(t);break;case 4:v.setEndAfter(t);}l(v);},fixBlock:function(t,u){var x=this;var v=x.createBookmark(),w=x.document.createElement(u);x.collapse(t);x.enlarge(2);x.extractContents().appendTo(w);w.trim();if(!c)w.appendBogus();x.insertNode(w);x.moveToBookmark(v);return w;},splitBlock:function(t){var D=this;var u=new d.elementPath(D.startContainer),v=new d.elementPath(D.endContainer),w=u.blockLimit,x=v.blockLimit,y=u.block,z=v.block,A=null;if(!w.equals(x))return null;if(t!='br'){if(!y){y=D.fixBlock(true,t);z=new d.elementPath(D.endContainer).block;}if(!z)z=D.fixBlock(false,t);}var B=y&&D.checkStartOfBlock(),C=z&&D.checkEndOfBlock();D.deleteContents();if(y&&y.equals(z))if(C){A=new d.elementPath(D.startContainer);D.moveToPosition(z,4);\r
+z=null;}else if(B){A=new d.elementPath(D.startContainer);D.moveToPosition(y,3);y=null;}else{z=D.splitElement(y);if(!c&&!y.is('ul','ol'))y.appendBogus();}return{previousBlock:y,nextBlock:z,wasStartOfBlock:B,wasEndOfBlock:C,elementPath:A};},splitElement:function(t){var w=this;if(!w.collapsed)return null;w.setEndAt(t,2);var u=w.extractContents(),v=t.clone(false);u.appendTo(v);v.insertAfter(t);w.moveToPosition(t,4);return v;},checkBoundaryOfElement:function(t,u){var v=u==1,w=this.clone();w.collapse(v);w[v?'setStartAt':'setEndAt'](t,v?1:2);var x=new d.walker(w);x.evaluator=p;return x[v?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var z=this;var t=z.startContainer,u=z.startOffset;if(u&&t.type==3){var v=e.ltrim(t.substring(0,u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.startContainer),x=z.clone();x.collapse(true);x.setStartAt(w.block||w.blockLimit,1);var y=new d.walker(x);y.evaluator=o(true);return y.checkBackward();},checkEndOfBlock:function(){var z=this;var t=z.endContainer,u=z.endOffset;if(t.type==3){var v=e.rtrim(t.substring(u));if(v.length)return false;}z.trim();var w=new d.elementPath(z.endContainer),x=z.clone();x.collapse(false);x.setEndAt(w.block||w.blockLimit,2);var y=new d.walker(x);y.evaluator=o(false);return y.checkForward();},moveToElementEditablePosition:function(t,u){var v;if(f.$empty[t.getName()])return false;while(t&&t.type==1){v=t.isEditable();if(v)this.moveToPosition(t,u?2:1);else if(f.$inline[t.getName()]){this.moveToPosition(t,u?4:3);return true;}if(f.$empty[t.getName()])t=t[u?'getPrevious':'getNext'](s);else t=t[u?'getLast':'getFirst'](s);if(t&&t.type==3){this.moveToPosition(t,u?4:3);return true;}}return v;},moveToElementEditStart:function(t){return this.moveToElementEditablePosition(t);},moveToElementEditEnd:function(t){return this.moveToElementEditablePosition(t,true);},getEnclosedNode:function(){var t=this.clone();t.optimize();if(t.startContainer.type!=1||t.endContainer.type!=1)return null;var u=new d.walker(t),v=d.walker.bookmark(true),w=d.walker.whitespaces(true),x=function(z){return w(z)&&v(z);};t.evaluator=x;var y=u.next();u.reset();return y&&y.equals(u.previous())?y:null;},getTouchedStartNode:function(){var t=this.startContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.startOffset)||t;},getTouchedEndNode:function(){var t=this.endContainer;if(this.collapsed||t.type!=1)return t;return t.getChild(this.endOffset-1)||t;}};})();a.POSITION_AFTER_START=1;a.POSITION_BEFORE_END=2;a.POSITION_BEFORE_START=3;\r
+a.POSITION_AFTER_END=4;a.ENLARGE_ELEMENT=1;a.ENLARGE_BLOCK_CONTENTS=2;a.ENLARGE_LIST_ITEM_CONTENTS=3;a.START=1;a.END=2;a.STARTEND=3;a.SHRINK_ELEMENT=1;a.SHRINK_TEXT=2;(function(){d.rangeList=function(n){if(n instanceof d.rangeList)return n;if(!n)n=[];else if(n instanceof d.range)n=[n];return e.extend(n,l);};var l={createIterator:function(){var n=this,o=d.walker.bookmark(),p=function(s){return!(s.is&&s.is('tr'));},q=[],r;return{getNextRange:function(s){r=r==undefined?0:r+1;var t=n[r];if(t&&n.length>1){if(!r)for(var u=n.length-1;u>=0;u--)q.unshift(n[u].createBookmark(true));if(s){var v=0;while(n[r+v+1]){var w=t.document,x=0,y=w.getById(q[v].endNode),z=w.getById(q[v+1].startNode),A;while(1){A=y.getNextSourceNode(false);if(!z.equals(A)){if(o(A)||A.type==1&&A.isBlockBoundary()){y=A;continue;}}else x=1;break;}if(!x)break;v++;}}t.moveToBookmark(q.shift());var A;while(v--){A=n[++r];A.moveToBookmark(q.shift());t.setEnd(A.endContainer,A.endOffset);}}return t;}};},createBookmarks:function(n){var s=this;var o=[],p;for(var q=0;q<s.length;q++){o.push(p=s[q].createBookmark(n,true));for(var r=q+1;r<s.length;r++){s[r]=m(p,s[r]);s[r]=m(p,s[r],true);}}return o;},createBookmarks2:function(n){var o=[];for(var p=0;p<this.length;p++)o.push(this[p].createBookmark2(n));return o;},moveToBookmarks:function(n){for(var o=0;o<this.length;o++)this[o].moveToBookmark(n[o]);}};function m(n,o,p){var q=n.serializable,r=o[p?'endContainer':'startContainer'],s=p?'endOffset':'startOffset',t=q?o.document.getById(n.startNode):n.startNode,u=q?o.document.getById(n.endNode):n.endNode;if(r.equals(t.getPrevious())){o.startOffset=o.startOffset-r.getLength()-u.getPrevious().getLength();r=u.getNext();}else if(r.equals(u.getPrevious())){o.startOffset=o.startOffset-r.getLength();r=u.getNext();}r.equals(t.getParent())&&o[s]++;r.equals(u.getParent())&&o[s]++;o[p?'endContainer':'startContainer']=r;return o;};})();(function(){if(b.webkit){b.hc=false;return;}var l=c&&b.version<7,m=c&&b.version==7,n=l?a.basePath+'images/spacer.gif':m?'about:blank':'data:image/png;base64,',o=h.createFromHtml('<div style="width:0px;height:0px;position:absolute;left:-10000px;background-image:url('+n+')"></div>',a.document);o.appendTo(a.document.getHead());try{b.hc=o.getComputedStyle('background-image')=='none';}catch(p){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';o.remove();})();j.load(i.corePlugins.split(','),function(){a.status='loaded';a.fire('loaded');var l=a._.pending;if(l){delete a._.pending;for(var m=0;m<l.length;m++)a.add(l[m]);\r
+}});if(c)try{document.execCommand('BackgroundImageCache',false,true);}catch(l){}a.skins.add('kama',(function(){var m=[],n='cke_ui_color';if(c&&b.version<7)m.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:m,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(o){if(o.config.width&&!isNaN(o.config.width))o.config.width-=12;var p=[],q=/\$color/g,r='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';if(b.webkit){r=r.split('}').slice(0,-1);for(var s=0;s<r.length;s++)r[s]=r[s].split('{');}function t(w){var x=w.getById(n);if(!x){x=w.getHead().append('style');x.setAttribute('id',n);x.setAttribute('type','text/css');}return x;};function u(w,x,y){var z,A,B;for(var C=0;C<w.length;C++){if(b.webkit)for(A=0;A<x.length;A++){B=x[A][1];for(z=0;z<y.length;z++)B=B.replace(y[z][0],y[z][1]);w[C].$.sheet.addRule(x[A][0],B);}else{B=x;for(z=0;z<y.length;z++)B=B.replace(y[z][0],y[z][1]);if(c)w[C].$.styleSheet.cssText+=B;else w[C].$.innerHTML+=B;}}};var v=/\$color/g;e.extend(o,{uiColor:null,getUiColor:function(){return this.uiColor;\r
+},setUiColor:function(w){var x,y=t(a.document),z='.'+o.id,A=[z+' .cke_wrapper',z+'_dialog .cke_dialog_contents',z+'_dialog a.cke_dialog_tab',z+'_dialog .cke_dialog_footer'].join(','),B='background-color: $color !important;';if(b.webkit)x=[[A,B]];else x=A+'{'+B+'}';return(this.setUiColor=function(C){var D=[[v,C]];o.uiColor=C;u([y],x,D);u(p,r,D);})(w);}});o.on('menuShow',function(w){var x=w.data[0],y=x.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!y.getById('cke_ui_color')){var z=t(y);p.push(z);var A=o.getUiColor();if(A)u([z],r,[[v,A]]);}});if(o.config.uiColor)o.setUiColor(o.config.uiColor);}};})());(function(){a.dialog?m():a.on('dialogPluginReady',m);function m(){a.dialog.on('resize',function(n){var o=n.data,p=o.width,q=o.height,r=o.dialog,s=r.parts.contents;if(o.skin!='kama')return;s.setStyles({width:p+'px',height:q+'px'});setTimeout(function(){var t=r.parts.dialog.getChild([0,0,0]),u=t.getChild(0),v=t.getChild(2);v.setStyle('width',u.$.offsetWidth+'px');v=t.getChild(7);v.setStyle('width',u.$.offsetWidth-28+'px');v=t.getChild(4);v.setStyle('height',q+u.getChild(0).$.offsetHeight+'px');v=t.getChild(5);v.setStyle('height',q+u.getChild(0).$.offsetHeight+'px');},100);});};})();j.add('about',{requires:['dialog'],init:function(m){var n=m.addCommand('about',new a.dialogCommand('about'));n.modes={wysiwyg:1,source:1};n.canUndo=false;m.ui.addButton('About',{label:m.lang.about.title,command:'about'});a.dialog.add('about',this.path+'dialogs/about.js');}});(function(){var m='a11yhelp',n='a11yHelp';j.add(m,{availableLangs:{en:1,he:1},init:function(o){var p=this;o.addCommand(n,{exec:function(){var q=o.langCode;q=p.availableLangs[q]?q:'en';a.scriptLoader.load(a.getUrl(p.path+'lang/'+q+'.js'),function(){e.extend(o.lang,p.lang[q]);o.openDialog(n);});},modes:{wysiwyg:1,source:1},canUndo:false});a.dialog.add(n,this.path+'dialogs/a11yhelp.js');}});})();j.add('basicstyles',{requires:['styles','button'],init:function(m){var n=function(q,r,s,t){var u=new a.style(t);m.attachStyleStateChange(u,function(v){m.getCommand(s).setState(v);});m.addCommand(s,new a.styleCommand(u));m.ui.addButton(q,{label:r,command:s});},o=m.config,p=m.lang;n('Bold',p.bold,'bold',o.coreStyles_bold);n('Italic',p.italic,'italic',o.coreStyles_italic);n('Underline',p.underline,'underline',o.coreStyles_underline);n('Strike',p.strike,'strike',o.coreStyles_strike);n('Subscript',p.subscript,'subscript',o.coreStyles_subscript);n('Superscript',p.superscript,'superscript',o.coreStyles_superscript);\r
+}});i.coreStyles_bold={element:'strong',overrides:'b'};i.coreStyles_italic={element:'em',overrides:'i'};i.coreStyles_underline={element:'u'};i.coreStyles_strike={element:'strike'};i.coreStyles_subscript={element:'sub'};i.coreStyles_superscript={element:'sup'};(function(){var m={table:1,tbody:1,ul:1,ol:1,blockquote:1,div:1,tr:1},n={},o={};e.extend(n,m,{tr:1,p:1,div:1,li:1});e.extend(o,n,{td:1});function p(w){q(w);r(w);};function q(w){var x=w.editor,y=w.data.path,z=x.config.useComputedState,A;z=z===undefined||z;if(!z)A=s(y.lastElement);A=A||y.block||y.blockLimit;if(!A||A.getName()=='body')return;var B=z?A.getComputedStyle('direction'):A.getStyle('direction')||A.getAttribute('dir');x.getCommand('bidirtl').setState(B=='rtl'?1:2);x.getCommand('bidiltr').setState(B=='ltr'?1:2);};function r(w){var x=w.editor,y=x.container.getChild(1),z=s(w.data.path.lastElement);if(z&&x.lang.dir!=z.getComputedStyle('direction'))y.addClass('cke_mixed_dir_content');else y.removeClass('cke_mixed_dir_content');};function s(w){while(w&&!(w.getName() in o||w.is('body'))){var x=w.getParent();if(!x)break;w=x;}return w;};function t(w,x,y,z){h.setMarker(z,w,'bidi_processed',1);var A=w;while((A=A.getParent())&&!A.is('body')){if(A.getCustomData('bidi_processed')){w.removeStyle('direction');w.removeAttribute('dir');return null;}}var B='useComputedState' in y.config?y.config.useComputedState:1,C=B?w.getComputedStyle('direction'):w.getStyle('direction')||w.hasAttribute('dir');if(C==x)return null;var D=B?C:w.getComputedStyle('direction');w.removeStyle('direction');if(B){w.removeAttribute('dir');if(x!=w.getComputedStyle('direction'))w.setAttribute('dir',x);}else w.setAttribute('dir',x);if(x!=D)y.fire('dirChanged',w);y.forceNextSelectionCheck();return null;};function u(w,x){var y=w.getCommonAncestor(false,true);w.enlarge(2);if(w.checkBoundaryOfElement(y,1)&&w.checkBoundaryOfElement(y,2)){var z;while(y&&y.type==1&&(z=y.getParent())&&z.getChildCount()==1&&(!(y.getName() in x)||z.getName() in x))y=z;return y.type==1&&y.getName() in x&&y;}};function v(w){return function(x){var y=x.getSelection(),z=x.config.enterMode,A=y.getRanges();if(A&&A.length){var B={},C=y.createBookmarks(),D=A.createIterator(),E,F=0;while(E=D.getNextRange(1)){var G=E.getEnclosedNode();if(!G||G&&!(G.type==1&&G.getName() in n))G=u(E,m);if(G&&!G.isReadOnly())t(G,w,x,B);var H,I,J=new d.walker(E),K=C[F].startNode,L=C[F++].endNode;J.evaluator=function(M){return!!(M.type==1&&M.getName() in m&&!(M.getName()==(z==1)?'p':'div'&&M.getParent().type==1&&M.getParent().getName()=='blockquote')&&M.getPosition(K)&2&&(M.getPosition(L)&4+16)==4);\r
+};while(I=J.next())t(I,w,x,B);H=E.createIterator();H.enlargeBr=z!=2;while(I=H.getNextParagraph(z==1?'p':'div'))!I.isReadOnly()&&t(I,w,x,B);}h.clearAllMarkers(B);x.forceNextSelectionCheck();y.selectBookmarks(C);x.focus();}};};j.add('bidi',{requires:['styles','button'],init:function(w){var x=function(z,A,B,C){w.addCommand(B,new a.command(w,{exec:C}));w.ui.addButton(z,{label:A,command:B});},y=w.lang.bidi;x('BidiLtr',y.ltr,'bidiltr',v('ltr'));x('BidiRtl',y.rtl,'bidirtl',v('rtl'));w.on('selectionChange',p);}});})();(function(){function m(q,r){var s=r.block||r.blockLimit;if(!s||s.getName()=='body')return 2;if(s.getAscendant('blockquote',true))return 1;return 2;};function n(q){var r=q.editor,s=r.getCommand('blockquote');s.state=m(r,q.data.path);s.fire('state');};function o(q){for(var r=0,s=q.getChildCount(),t;r<s&&(t=q.getChild(r));r++){if(t.type==1&&t.isBlockBoundary())return false;}return true;};var p={exec:function(q){var r=q.getCommand('blockquote').state,s=q.getSelection(),t=s&&s.getRanges(true)[0];if(!t)return;var u=s.createBookmarks();if(c){var v=u[0].startNode,w=u[0].endNode,x;if(v&&v.getParent().getName()=='blockquote'){x=v;while(x=x.getNext()){if(x.type==1&&x.isBlockBoundary()){v.move(x,true);break;}}}if(w&&w.getParent().getName()=='blockquote'){x=w;while(x=x.getPrevious()){if(x.type==1&&x.isBlockBoundary()){w.move(x);break;}}}}var y=t.createIterator(),z;if(r==2){var A=[];while(z=y.getNextParagraph())A.push(z);if(A.length<1){var B=q.document.createElement(q.config.enterMode==1?'p':'div'),C=u.shift();t.insertNode(B);B.append(new d.text('\ufeff',q.document));t.moveToBookmark(C);t.selectNodeContents(B);t.collapse(true);C=t.createBookmark();A.push(B);u.unshift(C);}var D=A[0].getParent(),E=[];for(var F=0;F<A.length;F++){z=A[F];D=D.getCommonAncestor(z.getParent());}var G={table:1,tbody:1,tr:1,ol:1,ul:1};while(G[D.getName()])D=D.getParent();var H=null;while(A.length>0){z=A.shift();while(!z.getParent().equals(D))z=z.getParent();if(!z.equals(H))E.push(z);H=z;}while(E.length>0){z=E.shift();if(z.getName()=='blockquote'){var I=new d.documentFragment(q.document);while(z.getFirst()){I.append(z.getFirst().remove());A.push(I.getLast());}I.replace(z);}else A.push(z);}var J=q.document.createElement('blockquote');J.insertBefore(A[0]);while(A.length>0){z=A.shift();J.append(z);}}else if(r==1){var K=[],L={};while(z=y.getNextParagraph()){var M=null,N=null;while(z.getParent()){if(z.getParent().getName()=='blockquote'){M=z.getParent();N=z;break;}z=z.getParent();}if(M&&N&&!N.getCustomData('blockquote_moveout')){K.push(N);\r
+h.setMarker(L,N,'blockquote_moveout',true);}}h.clearAllMarkers(L);var O=[],P=[];L={};while(K.length>0){var Q=K.shift();J=Q.getParent();if(!Q.getPrevious())Q.remove().insertBefore(J);else if(!Q.getNext())Q.remove().insertAfter(J);else{Q.breakParent(Q.getParent());P.push(Q.getNext());}if(!J.getCustomData('blockquote_processed')){P.push(J);h.setMarker(L,J,'blockquote_processed',true);}O.push(Q);}h.clearAllMarkers(L);for(F=P.length-1;F>=0;F--){J=P[F];if(o(J))J.remove();}if(q.config.enterMode==2){var R=true;while(O.length){Q=O.shift();if(Q.getName()=='div'){I=new d.documentFragment(q.document);var S=R&&Q.getPrevious()&&!(Q.getPrevious().type==1&&Q.getPrevious().isBlockBoundary());if(S)I.append(q.document.createElement('br'));var T=Q.getNext()&&!(Q.getNext().type==1&&Q.getNext().isBlockBoundary());while(Q.getFirst())Q.getFirst().remove().appendTo(I);if(T)I.append(q.document.createElement('br'));I.replace(Q);R=false;}}}}s.selectBookmarks(u);q.focus();}};j.add('blockquote',{init:function(q){q.addCommand('blockquote',p);q.ui.addButton('Blockquote',{label:q.lang.blockquote,command:'blockquote'});q.on('selectionChange',n);},requires:['domiterator']});})();j.add('button',{beforeInit:function(m){m.ui.addHandler(1,k.button.handler);}});a.UI_BUTTON=1;k.button=function(m){e.extend(this,m,{title:m.label,className:m.className||m.command&&'cke_button_'+m.command||'',click:m.click||(function(n){n.execCommand(m.command);})});this._={};};k.button.handler={create:function(m){return new k.button(m);}};k.button.prototype={canGroup:true,render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s,t;this._.editor=m;var u={id:p,button:this,editor:m,focus:function(){var w=a.document.getById(p);w.focus();},execute:function(){this.button.click(m);}};u.clickFn=s=e.addFunction(u.execute,u);u.index=t=k.button._.instances.push(u)-1;if(this.modes)m.on('mode',function(){this.setState(this.modes[m.mode]?2:0);},this);else if(r){r=m.getCommand(r);if(r){r.on('state',function(){this.setState(r.state);},this);q+='cke_'+(r.state==1?'on':r.state==0?'disabled':'off');}}if(!r)q+='cke_off';if(this.className)q+=' '+this.className;n.push('<span class="cke_button">','<a id="',p,'" class="',q,'"',o.gecko&&o.version>=10900&&!o.hc?'':'" href="javascript:void(\''+(this.title||'').replace("'",'')+"')\"",' title="',this.title,'" tabindex="-1" hidefocus="true" role="button" aria-labelledby="'+p+'_label"'+(this.hasArrow?' aria-haspopup="true"':''));if(o.opera||o.gecko&&o.mac)n.push(' onkeypress="return false;"');\r
+if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.ui.button._.keydown(',t,', event);" onfocus="return CKEDITOR.ui.button._.focus(',t,', event);" onclick="CKEDITOR.tools.callFunction(',s,', this); return false;"><span class="cke_icon"');if(this.icon){var v=(this.iconOffset||0)*-16;n.push(' style="background-image:url(',a.getUrl(this.icon),');background-position:0 '+v+'px;"');}n.push('>&nbsp;</span><span id="',p,'_label" class="cke_label">',this.label,'</span>');if(this.hasArrow)n.push('<span class="cke_buttonarrow">'+(b.hc?'&#9660;':'&nbsp;')+'</span>');n.push('</a>','</span>');if(this.onRender)this.onRender();return u;},setState:function(m){if(this._.state==m)return false;this._.state=m;var n=a.document.getById(this._.id);if(n){n.setState(m);m==0?n.setAttribute('aria-disabled',true):n.removeAttribute('aria-disabled');m==1?n.setAttribute('aria-pressed',true):n.removeAttribute('aria-pressed');return true;}else return false;}};k.button._={instances:[],keydown:function(m,n){var o=k.button._.instances[m];if(o.onkey){n=new d.event(n);return o.onkey(o,n.getKeystroke())!==false;}},focus:function(m,n){var o=k.button._.instances[m],p;if(o.onfocus)p=o.onfocus(o,new d.event(n))!==false;if(b.gecko&&b.version<10900)n.preventBubble();return p;}};k.prototype.addButton=function(m,n){this.add(m,1,n);};a.on('reset',function(){k.button._.instances=[];});(function(){var m=function(t,u){var v=t.document,w=v.getBody(),x=0,y=function(){x=1;};w.on(u,y);(b.version>7?v.$:v.$.selection.createRange()).execCommand(u);w.removeListener(u,y);return x;},n=c?function(t,u){return m(t,u);}:function(t,u){try{return t.document.$.execCommand(u);}catch(v){return false;}},o=function(t){this.type=t;this.canUndo=this.type=='cut';};o.prototype={exec:function(t,u){this.type=='cut'&&s(t);var v=n(t,this.type);if(!v)alert(t.lang.clipboard[this.type+'Error']);return v;}};var p={canUndo:false,exec:c?function(t){t.focus();if(!t.document.getBody().fire('beforepaste')&&!m(t,'paste')){t.fire('pasteDialog');return false;}}:function(t){try{if(!t.document.getBody().fire('beforepaste')&&!t.document.$.execCommand('Paste',false,null))throw 0;}catch(u){setTimeout(function(){t.fire('pasteDialog');},0);return false;}}},q=function(t){if(this.mode!='wysiwyg')return;switch(t.data.keyCode){case 1000+86:case 2000+45:var u=this.document.getBody();if(!c&&u.fire('beforepaste'))t.cancel();else if(b.opera||b.gecko&&b.version<10900)u.fire('paste');return;case 1000+88:case 2000+46:var v=this;\r
+this.fire('saveSnapshot');setTimeout(function(){v.fire('saveSnapshot');},0);}};function r(t,u,v){var w=this.document;if(w.getById('cke_pastebin'))return;if(u=='text'&&t.data&&t.data.$.clipboardData){var x=t.data.$.clipboardData.getData('text/plain');if(x){t.data.preventDefault();v(x);return;}}var y=this.getSelection(),z=new d.range(w),A=new h(u=='text'?'textarea':b.webkit?'body':'div',w);A.setAttribute('id','cke_pastebin');b.webkit&&A.append(w.createText('\xa0'));w.getBody().append(A);A.setStyles({position:'absolute',top:y.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});A.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var B=y.createBookmarks();if(u=='text'){if(c){var C=w.getBody().$.createTextRange();C.moveToElementText(A.$);C.execCommand('Paste');t.data.preventDefault();}else{w.$.designMode='off';A.$.focus();}}else{z.setStartAt(A,1);z.setEndAt(A,2);z.select(true);}window.setTimeout(function(){u=='text'&&!c&&(w.$.designMode='on');A.remove();var D;A=b.webkit&&(D=A.getFirst())&&D.is&&D.hasClass('Apple-style-span')?D:A;y.selectBookmarks(B);v(A['get'+(u=='text'?'Value':'Html')]());},0);};function s(t){if(!c||b.quirks)return;var u=t.getSelection(),v;if(u.getType()==3&&(v=u.getSelectedElement())){var w=u.getRanges()[0],x=t.document.createText('');x.insertBefore(v);w.setStartBefore(x);w.setEndAfter(v);u.selectRanges([w]);setTimeout(function(){if(v.getParent()){x.remove();u.selectElement(v);}},0);}};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(t){t.on('paste',function(y){var z=y.data;if(z.html)t.insertHtml(z.html);else if(z.text)t.insertText(z.text);},null,null,1000);t.on('pasteDialog',function(y){setTimeout(function(){t.openDialog('paste');},0);});function u(y,z,A,B){var C=t.lang[z];t.addCommand(z,A);t.ui.addButton(y,{label:C,command:z});if(t.addMenuItems)t.addMenuItem(z,{label:C,command:z,group:'clipboard',order:B});};u('Cut','cut',new o('cut'),1);u('Copy','copy',new o('copy'),4);u('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));t.on('key',q,t);var v=t.config.forcePasteAsPlainText?'text':'html';t.on('contentDom',function(){var y=t.document.getBody();y.on(v=='text'&&c||b.webkit?'paste':'beforepaste',function(z){if(w)return;r.call(t,z,v,function(A){if(!A)return;var B={};B[v]=A;t.fire('paste',B);});});y.on('beforecut',function(){!w&&s(t);});});if(t.contextMenu){var w;function x(y){c&&(w=1);var z=t.document.$.queryCommandEnabled(y)?2:0;\r
+w=0;return z;};t.contextMenu.addListener(function(y,z){var A=z.getCommonAncestor().isReadOnly();return{cut:!A&&x('Cut'),copy:x('Copy'),paste:!A&&(b.webkit?2:x('Paste'))};});}}});})();j.add('colorbutton',{requires:['panelbutton','floatpanel','styles'],init:function(m){var n=m.config,o=m.lang.colorButton,p;if(!b.hc){q('TextColor','fore',o.textColorTitle);q('BGColor','back',o.bgColorTitle);}function q(s,t,u){m.ui.add(s,4,{label:u,title:u,className:'cke_button_'+s.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(v,w){w.autoSize=true;w.element.addClass('cke_colorblock');w.element.setHtml(r(v,t));w.element.getDocument().getBody().setStyle('overflow','hidden');var x=w.keys,y=m.lang.dir=='rtl';x[y?37:39]='next';x[40]='next';x[9]='next';x[y?39:37]='prev';x[38]='prev';x[2000+9]='prev';x[32]='click';}});};function r(s,t){var u=[],v=n.colorButton_colors.split(','),w=v.length+(n.colorButton_enableMore?2:1),x=e.addFunction(function(D,E){if(D=='?'){var F=arguments.callee;function G(I){this.removeListener('ok',G);this.removeListener('cancel',G);I.name=='ok'&&F(this.getContentElement('picker','selectedColor').getValue(),E);};m.openDialog('colordialog',function(){this.on('ok',G);this.on('cancel',G);});return;}m.focus();s.hide();m.fire('saveSnapshot');new a.style(n['colorButton_'+E+'Style'],{color:'inherit'}).remove(m.document);if(D){var H=n['colorButton_'+E+'Style'];H.childRule=E=='back'?function(){return false;}:function(I){return I.getName()!='a';};new a.style(H,{color:D}).apply(m.document);}m.fire('saveSnapshot');});u.push('<a class="cke_colorauto" _cke_focus=1 hidefocus=true title="',o.auto,'" onclick="CKEDITOR.tools.callFunction(',x,",null,'",t,"');return false;\" href=\"javascript:void('",o.auto,'\')" role="option" aria-posinset="1" aria-setsize="',w,'"><table role="presentation" cellspacing=0 cellpadding=0 width="100%"><tr><td><span class="cke_colorbox" style="background-color:#000"></span></td><td colspan=7 align=center>',o.auto,'</td></tr></table></a><table role="presentation" cellspacing=0 cellpadding=0 width="100%">');for(var y=0;y<v.length;y++){if(y%8===0)u.push('</tr><tr>');var z=v[y].split('/'),A=z[0],B=z[1]||A;if(!z[1])A='#'+A.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var C=m.lang.colors[B]||B;u.push('<td><a class="cke_colorbox" _cke_focus=1 hidefocus=true title="',C,'" onclick="CKEDITOR.tools.callFunction(',x,",'",A,"','",t,"'); return false;\" href=\"javascript:void('",C,'\')" role="option" aria-posinset="',y+2,'" aria-setsize="',w,'"><span class="cke_colorbox" style="background-color:#',B,'"></span></a></td>');\r
+}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)u.push('</tr><tr><td colspan=8 align=center><a class="cke_colormore" _cke_focus=1 hidefocus=true title="',o.more,'" onclick="CKEDITOR.tools.callFunction(',x,",'?','",t,"');return false;\" href=\"javascript:void('",o.more,"')\"",' role="option" aria-posinset="',w,'" aria-setsize="',w,'">',o.more,'</a></td>');u.push('</tr></table>');return u.join('');};}});i.colorButton_colors='000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF';i.colorButton_foreStyle={element:'span',styles:{color:'#(color)'},overrides:[{element:'font',attributes:{color:null}}]};i.colorButton_backStyle={element:'span',styles:{'background-color':'#(color)'}};(function(){j.colordialog={init:function(m){m.addCommand('colordialog',new a.dialogCommand('colordialog'));a.dialog.add('colordialog',this.path+'dialogs/colordialog.js');}};j.add('colordialog',j.colordialog);})();j.add('contextmenu',{requires:['menu'],beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.show(m.document.getBody());}});}});j.contextMenu=e.createClass({$:function(m){this.id=e.getNextId();this.editor=m;this._.listeners=[];this._.functionId=e.addFunction(function(n){this._.panel.hide();m.focus();m.execCommand(n);},this);this.definition={panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}};},_:{onMenu:function(m,n,o,p){var q=this._.menu,r=this.editor;if(q){q.hide();q.removeAll();}else{q=this._.menu=new a.menu(r,this.definition);q.onClick=e.bind(function(A){q.hide();if(A.onClick)A.onClick();else if(A.command)r.execCommand(A.command);},this);q.onEscape=function(A){var B=this.parent;if(B){B._.panel.hideChild();var C=B._.panel._.panel._.currentBlock,D=C._.focusIndex;C._.markItem(D);}else if(A==27){this.hide();r.focus();}return false;};}var s=this._.listeners,t=[],u=this.editor.getSelection(),v=u&&u.getStartElement();q.onHide=e.bind(function(){q.onHide=null;if(c){var A=r.getSelection();A&&A.unlock();}this.onHide&&this.onHide();},this);for(var w=0;w<s.length;w++){var x=s[w](v,u);if(x)for(var y in x){var z=this.editor.getMenuItem(y);if(z){z.state=x[y];q.add(z);}}}q.items.length&&q.show(m,n||(r.lang.dir=='rtl'?2:1),o,p);}},proto:{addTarget:function(m,n){if(b.opera&&!('oncontextmenu' in document.body)){var o;\r
+m.on('mousedown',function(s){s=s.data;if(s.$.button!=2){if(s.getKeystroke()==1000+1)m.fire('contextmenu',s);return;}if(n&&(b.mac?s.$.metaKey:s.$.ctrlKey))return;var t=s.getTarget();if(!o){var u=t.getDocument();o=u.createElement('input');o.$.type='button';u.getBody().append(o);}o.setAttribute('style','position:absolute;top:'+(s.$.clientY-2)+'px;left:'+(s.$.clientX-2)+'px;width:5px;height:5px;opacity:0.01');});m.on('mouseup',function(s){if(o){o.remove();o=undefined;m.fire('contextmenu',s.data);}});}m.on('contextmenu',function(s){var t=s.data;if(n&&(b.webkit?p:b.mac?t.$.metaKey:t.$.ctrlKey))return;t.preventDefault();var u=t.getTarget().getDocument().getDocumentElement(),v=t.$.clientX,w=t.$.clientY;e.setTimeout(function(){this.show(u,null,v,w);},0,this);},this);if(b.opera)m.on('keypress',function(s){var t=s.data;if(t.$.keyCode===0)t.preventDefault();});if(b.webkit){var p,q=function(s){p=b.mac?s.data.$.metaKey:s.data.$.ctrlKey;},r=function(){p=0;};m.on('keydown',q);m.on('keyup',r);m.on('contextmenu',r);}},addListener:function(m){this._.listeners.push(m);},show:function(m,n,o,p){this.editor.focus();if(c){var q=this.editor.getSelection();q&&q.lock();}this._.onMenu(m||a.document.getDocumentElement(),n,o||0,p||0);}}});(function(){function m(o){var p=this.att,q=o&&o.hasAttribute(p)&&o.getAttribute(p)||'';if(q!==undefined)this.setValue(q);};function n(){var o;for(var p=0;p<arguments.length;p++){if(arguments[p] instanceof h){o=arguments[p];break;}}if(o){var q=this.att,r=this.getValue();if(q=='dir'){var s=o.getAttribute(q,r);if(s!=r&&o.getParent())this._.dialog._.editor.fire('dirChanged',o);}if(r)o.setAttribute(q,r);else o.removeAttribute(q,r);}};j.add('dialogadvtab',{createAdvancedTab:function(o,p){if(!p)p={id:1,dir:1,classes:1,styles:1};var q=o.lang.common,r={id:'advanced',label:q.advancedTab,title:q.advancedTab,elements:[{type:'vbox',padding:1,children:[]}]},s=[];if(p.id||p.dir){if(p.id)s.push({id:'advId',att:'id',type:'text',label:q.id,setup:m,commit:n});if(p.dir)s.push({id:'advLangDir',att:'dir',type:'select',label:q.langDir,'default':'',style:'width:100%',items:[[q.notSet,''],[q.langDirLTR,'ltr'],[q.langDirRTL,'rtl']],setup:m,commit:n});r.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(s)});}if(p.styles||p.classes){s=[];if(p.styles)s.push({id:'advStyles',att:'style',type:'text',label:q.styles,'default':'',getStyle:function(t,u){var v=this.getValue().match(new RegExp(t+'\\s*:s*([^;]*)','i'));return v?v[1]:u;},updateStyle:function(t,u){var v=this.getValue();\r
+if(v)v=v.replace(new RegExp('\\s*'+t+'s*:[^;]*(?:$|;s*)','i'),'').replace(/^[;\s]+/,'').replace(/\s+$/,'');if(u){v&&!/;\s*$/.test(v)&&(v+='; ');v+=t+': '+u;}this.setValue(v,1);},setup:m,commit:n});if(p.classes)s.push({type:'hbox',widths:['45%','55%'],children:[{id:'advCSSClasses',att:'class',type:'text',label:q.cssClasses,'default':'',setup:m,commit:n}]});r.elements[0].children.push({type:'hbox',widths:['50%','50%'],children:[].concat(s)});}return r;}});})();(function(){j.add('div',{requires:['editingblock','domiterator','styles'],init:function(m){var n=m.lang.div;m.addCommand('creatediv',new a.dialogCommand('creatediv'));m.addCommand('editdiv',new a.dialogCommand('editdiv'));m.addCommand('removediv',{exec:function(o){var p=o.getSelection(),q=p&&p.getRanges(),r,s=p.createBookmarks(),t,u=[];function v(x){var y=new d.elementPath(x),z=y.blockLimit,A=z.is('div')&&z;if(A&&!A.getAttribute('_cke_div_added')){u.push(A);A.setAttribute('_cke_div_added');}};for(var w=0;w<q.length;w++){r=q[w];if(r.collapsed)v(p.getStartElement());else{t=new d.walker(r);t.evaluator=v;t.lastForward();}}for(w=0;w<u.length;w++)u[w].remove(true);p.selectBookmarks(s);}});m.ui.addButton('CreateDiv',{label:n.toolbar,command:'creatediv'});if(m.addMenuItems){m.addMenuItems({editdiv:{label:n.edit,command:'editdiv',group:'div',order:1},removediv:{label:n.remove,command:'removediv',group:'div',order:5}});if(m.contextMenu)m.contextMenu.addListener(function(o,p){if(!o||o.isReadOnly())return null;var q=new d.elementPath(o),r=q.blockLimit;if(r&&r.getAscendant('div',true))return{editdiv:2,removediv:2};return null;});}a.dialog.add('creatediv',this.path+'dialogs/div.js');a.dialog.add('editdiv',this.path+'dialogs/div.js');}});})();(function(){var m={toolbarFocus:{exec:function(o){var p=o._.elementsPath.idBase,q=a.document.getById(p+'0');if(q)q.focus();}}},n='<span class="cke_empty">&nbsp;</span>';j.add('elementspath',{requires:['selection'],init:function(o){var p='cke_path_'+o.name,q,r=function(){if(!q)q=a.document.getById(p);return q;},s='cke_elementspath_'+e.getNextNumber()+'_';o._.elementsPath={idBase:s,filters:[]};o.on('themeSpace',function(t){if(t.data.space=='bottom')t.data.html+='<span id="'+p+'_label" class="cke_voice_label">'+o.lang.elementsPath.eleLabel+'</span>'+'<div id="'+p+'" class="cke_path" role="group" aria-labelledby="'+p+'_label">'+n+'</div>';});o.on('selectionChange',function(t){var u=b,v=t.data.selection,w=v.getStartElement(),x=[],y=t.editor,z=y._.elementsPath.list=[],A=y._.elementsPath.filters;\r
+while(w){var B=0;for(var C=0;C<A.length;C++){if(A[C](w)===false){B=1;break;}}if(!B){var D=z.push(w)-1,E;if(w.getAttribute('_cke_real_element_type'))E=w.getAttribute('_cke_real_element_type');else E=w.getName();var F='';if(u.opera||u.gecko&&u.mac)F+=' onkeypress="return false;"';if(u.gecko)F+=' onblur="this.style.cssText = this.style.cssText;"';var G=y.lang.elementsPath.eleTitle.replace(/%1/,E);x.unshift('<a id="',s,D,'" href="javascript:void(\'',E,'\')" tabindex="-1" title="',G,'"'+(b.gecko&&b.version<10900?' onfocus="event.preventBubble();"':'')+' hidefocus="true" '+" onkeydown=\"return CKEDITOR._.elementsPath.keydown('",y.name,"',",D,', event);"'+F," onclick=\"return CKEDITOR._.elementsPath.click('",y.name,"',",D,');"',' role="button" aria-labelledby="'+s+D+'_label">',E,'<span id="',s,D,'_label" class="cke_label">'+G+'</span>','</a>');}if(E=='body')break;w=w.getParent();}r().setHtml(x.join('')+n);});o.on('contentDomUnload',function(){q&&q.setHtml(n);});o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();a._.elementsPath={click:function(m,n){var o=a.instances[m];o.focus();var p=o._.elementsPath.list[n];o.getSelection().selectElement(p);return false;},keydown:function(m,n,o){var p=k.button._.instances[n],q=a.instances[m],r=q._.elementsPath.idBase,s;o=new d.event(o);var t=q.lang.dir=='rtl';switch(o.getKeystroke()){case t?39:37:case 9:s=a.document.getById(r+(n+1));if(!s)s=a.document.getById(r+'0');s.focus();return false;case t?37:39:case 2000+9:s=a.document.getById(r+(n-1));if(!s)s=a.document.getById(r+(q._.elementsPath.list.length-1));s.focus();return false;case 27:q.focus();return false;case 13:case 32:this.click(m,n);return false;}return true;}};(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){var u=t.specialKeys;u[13]=r;u[2000+13]=q;}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document;if(v.checkStartOfBlock()&&v.checkEndOfBlock()){var y=new d.elementPath(v.startContainer),z=y.block;if(z&&(z.is('li')||z.getParent().is('li'))){t.execCommand('outdent');return;}}var A=u==3?'div':'p',B=v.splitBlock(A);if(!B)return;var C=B.previousBlock,D=B.nextBlock,E=B.wasStartOfBlock,F=B.wasEndOfBlock,G;if(D){G=D.getParent();if(G.is('li')){D.breakParent(G);D.move(D.getNext(),1);}}else if(C&&(G=C.getParent())&&G.is('li')){C.breakParent(G);v.moveToElementEditStart(C.getNext());C.move(C.getPrevious());}if(!E&&!F){if(D.is('li')&&(G=D.getFirst(d.walker.invisible(true)))&&G.is&&G.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(G);\r
+if(D)v.moveToElementEditStart(D);}else{var H;if(C){if(C.is('li')||!p.test(C.getName()))H=C.clone();}else if(D)H=D.clone();if(!H)H=x.createElement(A);else if(w&&!H.is('li'))H.renameNode(A);var I=B.elementPath;if(I)for(var J=0,K=I.elements.length;J<K;J++){var L=I.elements[J];if(L.equals(I.block)||L.equals(I.blockLimit))break;if(f.$removeEmpty[L.getName()]){L=L.clone();H.moveChildren(L);H.append(L);}}if(!c)H.appendBogus();v.insertNode(H);if(c&&E&&(!F||!C.getChildCount())){v.moveToElementEditStart(F?C:H);v.select();}v.moveToElementEditStart(E&&!F?D:H);}if(!c)if(D){var M=x.createElement('span');M.setHtml('&nbsp;');v.insertNode(M);M.scrollIntoView();v.deleteContents();}else H.scrollIntoView();v.select();},enterBr:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=u==3?'div':'p',z=v.checkEndOfBlock(),A=new d.elementPath(t.getSelection().getStartElement()),B=A.block,C=B&&A.block.getName(),D=false;if(!w&&C=='li'){o(t,u,v,w);return;}if(!w&&z&&p.test(C)){x.createElement('br').insertAfter(B);if(b.gecko)x.createText('').insertAfter(B);v.setStartAt(B.getNext(),c?3:1);}else{var E;D=C=='pre';if(D&&!b.gecko)E=x.createText(c?'\r':'\n');else E=x.createElement('br');v.deleteContents();v.insertNode(E);if(!c)x.createText('\ufeff').insertAfter(E);if(z&&!c)E.getParent().appendBogus();if(!c)E.getNext().$.nodeValue='';if(c)v.setStartAt(E,4);else v.setStartAt(E.getNext(),1);if(!c){var F=null;if(!b.gecko){F=x.createElement('span');F.setHtml('&nbsp;');}else F=x.createElement('br');F.insertBefore(E.getNext());F.scrollIntoView();F.remove();}}v.collapse(true);v.select(D);}};var m=j.enterkey,n=m.enterBr,o=m.enterBlock,p=/^h[1-6]$/;function q(t){if(t.mode!='wysiwyg')return false;if(t.getSelection().getStartElement().hasAscendant('pre',true)){setTimeout(function(){o(t,t.config.enterMode,null,true);},0);return true;}else return r(t,t.config.shiftEnterMode,1);};function r(t,u,v){v=t.config.forceEnterMode||v;if(t.mode!='wysiwyg')return false;if(!u)u=t.config.enterMode;setTimeout(function(){t.fire('saveSnapshot');if(u==2||t.getSelection().getStartElement().hasAscendant('pre',1))n(t,u,null,v);else o(t,u,null,v);},0);return true;};function s(t){var u=t.getSelection().getRanges(true);for(var v=u.length-1;v>0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt,quot',n='iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro',o='Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml',p='Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv';\r
+function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<'};r=r.replace(/\b(nbsp|shy|gt|lt|amp)(?:,|$)/g,function(A,B){var C=s?'&'+B+';':v[B],D=s?v[B]:'&'+B+';';t[C]=D;u.push(C);return '';});if(!s){r=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y<x.length;y++){var z=x.charAt(y);t[z]='&'+r[y]+';';u.push(z);}}t.regex=u.join(s?'|':'');return t;};j.add('entities',{afterInit:function(r){var s=r.config,t=r.dataProcessor,u=t&&t.htmlFilter;if(u){var v=m;if(s.entities){v+=','+n;if(s.entities_latin)v+=','+o;if(s.entities_greek)v+=','+p;if(s.entities_additional)v+=','+s.entities_additional;}var w=q(v),x='['+w.regex+']';delete w.regex;if(s.entities&&s.entities_processNumerical)x='[^ -~]|'+x;x=new RegExp(x,'g');function y(C){return s.entities_processNumerical=='force'||!w[C]?'&#'+C.charCodeAt(0)+';':w[C];};var z=q([m,'shy'].join(','),true),A=new RegExp(z.regex,'g');function B(C){return z[C];};u.addRules({text:function(C){return C.replace(A,B).replace(x,y);}});}}});})();i.entities=true;i.entities_latin=true;i.entities_greek=true;i.entities_additional='#39';(function(){function m(v,w){var x=[];if(!w)return v;else for(var y in w)x.push(y+'='+encodeURIComponent(w[y]));return v+(v.indexOf('?')!=-1?'&':'?')+x.join('&');};function n(v){v+='';var w=v.charAt(0).toUpperCase();return w+v.substr(1);};function o(v){var C=this;var w=C.getDialog(),x=w.getParentEditor();x._.filebrowserSe=C;var y=x.config['filebrowser'+n(w.getName())+'WindowWidth']||x.config.filebrowserWindowWidth||'80%',z=x.config['filebrowser'+n(w.getName())+'WindowHeight']||x.config.filebrowserWindowHeight||'70%',A=C.filebrowser.params||{};A.CKEditor=x.name;A.CKEditorFuncNum=x._.filebrowserFn;if(!A.langCode)A.langCode=x.langCode;var B=m(C.filebrowser.url,A);x.popup(B,y,z,x.config.fileBrowserWindowFeatures);};function p(v){var y=this;var w=y.getDialog(),x=w.getParentEditor();x._.filebrowserSe=y;if(!w.getContentElement(y['for'][0],y['for'][1]).getInputElement().$.value)return false;if(!w.getContentElement(y['for'][0],y['for'][1]).getAction())return false;return true;};function q(v,w,x){var y=x.params||{};y.CKEditor=v.name;y.CKEditorFuncNum=v._.filebrowserFn;if(!y.langCode)y.langCode=v.langCode;w.action=m(x.url,y);w.filebrowser=x;};function r(v,w,x,y){var z,A;for(var B in y){z=y[B];if(z.type=='hbox'||z.type=='vbox')r(v,w,x,z.children);if(!z.filebrowser)continue;if(typeof z.filebrowser=='string'){var C={action:z.type=='fileButton'?'QuickUpload':'Browse',target:z.filebrowser};\r
+z.filebrowser=C;}if(z.filebrowser.action=='Browse'){var D=z.filebrowser.url;if(D===undefined){D=v.config['filebrowser'+n(w)+'BrowseUrl'];if(D===undefined)D=v.config.filebrowserBrowseUrl;}if(D){z.onClick=o;z.filebrowser.url=D;z.hidden=false;}}else if(z.filebrowser.action=='QuickUpload'&&z['for']){var D=z.filebrowser.url;if(D===undefined){D=v.config['filebrowser'+n(w)+'UploadUrl'];if(D===undefined)D=v.config.filebrowserUploadUrl;}if(D){var E=z.onClick;z.onClick=function(F){var G=F.sender;if(E&&E.call(G,F)===false)return false;return p.call(G,F);};z.filebrowser.url=D;z.hidden=false;q(v,x.getContents(z['for'][0]).get(z['for'][1]),z.filebrowser);}}}};function s(v,w){var x=w.getDialog(),y=w.filebrowser.target||null;v=v.replace(/#/g,'%23');if(y){var z=y.split(':'),A=x.getContentElement(z[0],z[1]);if(A){A.setValue(v);x.selectPage(z[0]);}}};function t(v,w,x){if(x.indexOf(';')!==-1){var y=x.split(';');for(var z=0;z<y.length;z++){if(t(v,w,y[z]))return true;}return false;}var A=v.getContents(w).get(x).filebrowser;return A&&A.url;};function u(v,w){var A=this;var x=A._.filebrowserSe.getDialog(),y=A._.filebrowserSe['for'],z=A._.filebrowserSe.filebrowser.onSelect;if(y)x.getContentElement(y[0],y[1]).reset();if(typeof w=='function'&&w.call(A._.filebrowserSe)===false)return;if(z&&z.call(A._.filebrowserSe,v,w)===false)return;if(typeof w=='string'&&w)alert(w);if(v)s(v,A._.filebrowserSe);};j.add('filebrowser',{init:function(v,w){v._.filebrowserFn=e.addFunction(u,v);}});a.on('dialogDefinition',function(v){var w=v.data.definition,x;for(var y in w.contents){if(x=w.contents[y]){r(v.editor,v.data.name,w,x.elements);if(x.hidden&&x.filebrowser)x.hidden=!t(w,x.id,x.filebrowser);}}});})();j.add('find',{init:function(m){var n=j.find;m.ui.addButton('Find',{label:m.lang.findAndReplace.find,command:'find'});var o=m.addCommand('find',new a.dialogCommand('find'));o.canUndo=false;m.ui.addButton('Replace',{label:m.lang.findAndReplace.replace,command:'replace'});var p=m.addCommand('replace',new a.dialogCommand('replace'));p.canUndo=false;a.dialog.add('find',this.path+'dialogs/find.js');a.dialog.add('replace',this.path+'dialogs/find.js');},requires:['styles']});i.find_highlight={element:'span',styles:{'background-color':'#004',color:'#fff'}};(function(){var m=/\.swf(?:$|\?)/i,n=e.cssLength;function o(q){var r=q.attributes;return r.type=='application/x-shockwave-flash'||m.test(r.src||'');};function p(q,r){var s=q.createFakeParserElement(r,'cke_flash','flash',true),t=s.attributes.style||'',u=r.attributes.width,v=r.attributes.height;\r
+if(typeof u!='undefined')t=s.attributes.style=t+'width:'+n(u)+';';if(typeof v!='undefined')t=s.attributes.style=t+'height:'+n(v)+';';return s;};j.add('flash',{init:function(q){q.addCommand('flash',new a.dialogCommand('flash'));q.ui.addButton('Flash',{label:q.lang.common.flash,command:'flash'});a.dialog.add('flash',this.path+'dialogs/flash.js');q.addCss('img.cke_flash{background-image: url('+a.getUrl(this.path+'images/placeholder.png')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 80px;'+'height: 80px;'+'}');if(q.addMenuItems)q.addMenuItems({flash:{label:q.lang.flash.properties,command:'flash',group:'flash'}});q.on('doubleclick',function(r){var s=r.data.element;if(s.is('img')&&s.getAttribute('_cke_real_element_type')=='flash')r.data.dialog='flash';});if(q.contextMenu)q.contextMenu.addListener(function(r,s){if(r&&r.is('img')&&!r.isReadOnly()&&r.getAttribute('_cke_real_element_type')=='flash')return{flash:2};});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter;if(s)s.addRules({elements:{'cke:object':function(t){var u=t.attributes,v=u.classid&&String(u.classid).toLowerCase();if(!v){for(var w=0;w<t.children.length;w++){if(t.children[w].name=='cke:embed'){if(!o(t.children[w]))return null;return p(q,t);}}return null;}return p(q,t);},'cke:embed':function(t){if(!o(t))return null;return p(q,t);}}},5);},requires:['fakeobjects']});})();e.extend(i,{flashEmbedTagOnly:false,flashAddEmbedTag:true,flashConvertOnEdit:false});(function(){function m(n,o,p,q,r,s,t){var u=n.config,v=r.split(';'),w=[],x={};for(var y=0;y<v.length;y++){var z=v[y];if(z){z=z.split('/');var A={},B=v[y]=z[0];A[p]=w[y]=z[1]||B;x[B]=new a.style(t,A);x[B]._.definition.name=B;}else v.splice(y--,1);}n.ui.addRichCombo(o,{label:q.label,title:q.panelTitle,className:'cke_'+(p=='size'?'fontSize':'font'),panel:{css:n.skin.editor.css.concat(u.contentsCss),multiSelect:false,attributes:{'aria-label':q.panelTitle}},init:function(){this.startGroup(q.panelTitle);for(var C=0;C<v.length;C++){var D=v[C];this.add(D,x[D].buildPreview(),D);}},onClick:function(C){n.focus();n.fire('saveSnapshot');var D=x[C];if(this.getValue()==C)D.remove(n.document);else D.apply(n.document);n.fire('saveSnapshot');},onRender:function(){n.on('selectionChange',function(C){var D=this.getValue(),E=C.data.path,F=E.elements;for(var G=0,H;G<F.length;G++){H=F[G];for(var I in x){if(x[I].checkElementRemovable(H,true)){if(I!=D)this.setValue(I);return;}}}this.setValue('',s);},this);\r
+}});};j.add('font',{requires:['richcombo','styles'],init:function(n){var o=n.config;m(n,'Font','family',n.lang.font,o.font_names,o.font_defaultLabel,o.font_style);m(n,'FontSize','size',n.lang.fontSize,o.fontSize_sizes,o.fontSize_defaultLabel,o.fontSize_style);}});})();i.font_names='Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif';i.font_defaultLabel='';i.font_style={element:'span',styles:{'font-family':'#(family)'},overrides:[{element:'font',attributes:{face:null}}]};i.fontSize_sizes='8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px';i.fontSize_defaultLabel='';i.fontSize_style={element:'span',styles:{'font-size':'#(size)'},overrides:[{element:'font',attributes:{size:null}}]};j.add('format',{requires:['richcombo','styles'],init:function(m){var n=m.config,o=m.lang.format,p=n.format_tags.split(';'),q={};for(var r=0;r<p.length;r++){var s=p[r];q[s]=new a.style(n['format_'+s]);q[s]._.enterMode=m.config.enterMode;}m.ui.addRichCombo('Format',{label:o.label,title:o.panelTitle,className:'cke_format',panel:{css:m.skin.editor.css.concat(n.contentsCss),multiSelect:false,attributes:{'aria-label':o.panelTitle}},init:function(){this.startGroup(o.panelTitle);for(var t in q){var u=o['tag_'+t];this.add(t,'<'+t+'>'+u+'</'+t+'>',u);}},onClick:function(t){m.focus();m.fire('saveSnapshot');q[t].apply(m.document);setTimeout(function(){m.fire('saveSnapshot');},0);},onRender:function(){m.on('selectionChange',function(t){var u=this.getValue(),v=t.data.path;for(var w in q){if(q[w].checkActive(v)){if(w!=u)this.setValue(w,m.lang.format['tag_'+w]);return;}}this.setValue('');},this);}});}});i.format_tags='p;h1;h2;h3;h4;h5;h6;pre;address;div';i.format_p={element:'p'};i.format_div={element:'div'};i.format_pre={element:'pre'};i.format_address={element:'address'};i.format_h1={element:'h1'};i.format_h2={element:'h2'};i.format_h3={element:'h3'};i.format_h4={element:'h4'};i.format_h5={element:'h5'};i.format_h6={element:'h6'};j.add('forms',{init:function(m){var n=m.lang;m.addCss('form{border: 1px dotted #FF0000;padding: 2px;}\n');m.addCss('img.cke_hidden{background-image: url('+a.getUrl(this.path+'images/hiddenfield.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 16px !important;'+'height: 16px !important;'+'}');\r
+var o=function(q,r,s){m.addCommand(r,new a.dialogCommand(r));m.ui.addButton(q,{label:n.common[q.charAt(0).toLowerCase()+q.slice(1)],command:r});a.dialog.add(r,s);},p=this.path+'dialogs/';o('Form','form',p+'form.js');o('Checkbox','checkbox',p+'checkbox.js');o('Radio','radio',p+'radio.js');o('TextField','textfield',p+'textfield.js');o('Textarea','textarea',p+'textarea.js');o('Select','select',p+'select.js');o('Button','button',p+'button.js');o('ImageButton','imagebutton',j.getPath('image')+'dialogs/image.js');o('HiddenField','hiddenfield',p+'hiddenfield.js');if(m.addMenuItems)m.addMenuItems({form:{label:n.form.menu,command:'form',group:'form'},checkbox:{label:n.checkboxAndRadio.checkboxTitle,command:'checkbox',group:'checkbox'},radio:{label:n.checkboxAndRadio.radioTitle,command:'radio',group:'radio'},textfield:{label:n.textfield.title,command:'textfield',group:'textfield'},hiddenfield:{label:n.hidden.title,command:'hiddenfield',group:'hiddenfield'},imagebutton:{label:n.image.titleButton,command:'imagebutton',group:'imagebutton'},button:{label:n.button.title,command:'button',group:'button'},select:{label:n.select.title,command:'select',group:'select'},textarea:{label:n.textarea.title,command:'textarea',group:'textarea'}});if(m.contextMenu){m.contextMenu.addListener(function(q){if(q&&q.hasAscendant('form',true)&&!q.isReadOnly())return{form:2};});m.contextMenu.addListener(function(q){if(q&&!q.isReadOnly()){var r=q.getName();if(r=='select')return{select:2};if(r=='textarea')return{textarea:2};if(r=='input'){var s=q.getAttribute('type');if(s=='text'||s=='password')return{textfield:2};if(s=='button'||s=='submit'||s=='reset')return{button:2};if(s=='checkbox')return{checkbox:2};if(s=='radio')return{radio:2};if(s=='image')return{imagebutton:2};}if(r=='img'&&q.getAttribute('_cke_real_element_type')=='hiddenfield')return{hiddenfield:2};}});}m.on('doubleclick',function(q){var r=q.data.element;if(r.is('form'))q.data.dialog='form';else if(r.is('select'))q.data.dialog='select';else if(r.is('textarea'))q.data.dialog='textarea';else if(r.is('img')&&r.getAttribute('_cke_real_element_type')=='hiddenfield')q.data.dialog='hiddenfield';else if(r.is('input')){var s=r.getAttribute('type');switch(s){case 'text':case 'password':q.data.dialog='textfield';break;case 'button':case 'submit':case 'reset':q.data.dialog='button';break;case 'checkbox':q.data.dialog='checkbox';break;case 'radio':q.data.dialog='radio';break;case 'image':q.data.dialog='imagebutton';break;}}});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.htmlFilter,p=n&&n.dataFilter;\r
+if(c)o&&o.addRules({elements:{input:function(q){var r=q.attributes,s=r.type;if(s=='checkbox'||s=='radio')r.value=='on'&&delete r.value;}}});if(p)p.addRules({elements:{input:function(q){if(q.attributes.type=='hidden')return m.createFakeParserElement(q,'cke_hidden','hiddenfield');}}});},requires:['image','fakeobjects']});if(c)h.prototype.hasAttribute=function(m){var p=this;var n=p.$.attributes.getNamedItem(m);if(p.getName()=='input')switch(m){case 'class':return p.$.className.length>0;case 'checked':return!!p.$.checked;case 'value':var o=p.getAttribute('type');if(o=='checkbox'||o=='radio')return p.$.value!='on';break;default:}return!!(n&&n.specified);};(function(){var m={canUndo:false,exec:function(o){o.insertElement(o.document.createElement('hr'));}},n='horizontalrule';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('HorizontalRule',{label:o.lang.horizontalrule,command:n});}});})();(function(){var m=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,n='{cke_protected}';function o(T){var U=T.children.length,V=T.children[U-1];while(V&&V.type==3&&!e.trim(V.value))V=T.children[--U];return V;};function p(T,U){var V=T.children,W=o(T);if(W){if((U||!c)&&W.type==1&&W.name=='br')V.pop();if(W.type==3&&m.test(W.value))V.pop();}};function q(T){var U=o(T);return!U||U.type==1&&U.name=='br'||T.name=='form'&&U.name=='input';};function r(T){p(T,true);if(q(T))if(c)T.add(new a.htmlParser.text('\xa0'));else T.add(new a.htmlParser.element('br',{}));};function s(T){p(T);if(q(T))T.add(new a.htmlParser.text('\xa0'));};var t=f,u=e.extend({},t.$block,t.$listItem,t.$tableContent);for(var v in u){if(!('br' in t[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'_cke_pa_on']]},x={elements:{}};for(v in u)x.elements[v]=r;var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^_cke_(saved|pa)_/,''],[/^_cke.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes;if(U){if(U.cke_temp)return false;var V=['name','href','src'],W;for(var X=0;X<V.length;X++){W='_cke_saved_'+V[X];W in U&&delete U[V[X]];}}return T;},embed:function(T){var U=T.parent;if(U&&U.name=='object'){var V=U.attributes.width,W=U.attributes.height;V&&(T.attributes.width=V);W&&(T.attributes.height=W);}},param:function(T){T.children=[];T.isEmpty=true;return T;},a:function(T){if(!(T.children.length||T.attributes.name||T.attributes._cke_saved_name))return false;},html:function(T){delete T.attributes.contenteditable;delete T.attributes['class'];},body:function(T){delete T.attributes.spellcheck;\r
+delete T.attributes.contenteditable;},style:function(T){var U=T.children[0];U&&U.value&&(U.value=e.trim(U.value));if(!T.attributes.type)T.attributes.type='text/css';},title:function(T){var U=T.children[0];U&&(U.value=T.attributes._cke_title||'');}},attributes:{'class':function(T,U){return e.ltrim(T.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}},comment:function(T){if(T.substr(0,n.length)==n){if(T.substr(n.length,3)=='{C}')T=T.substr(n.length+3);else T=T.substr(n.length);return new a.htmlParser.cdata(decodeURIComponent(T));}return T;}},z={elements:{}};for(v in u)z.elements[v]=s;if(c)y.attributes.style=function(T,U){return T.toLowerCase();};function A(T){T.attributes.contenteditable='false';};function B(T){delete T.attributes.contenteditable;};for(v in {input:1,textarea:1}){w.elements[v]=A;y.elements[v]=B;}var C=/<((?:a|area|img|input)[\s\S]*?\s)((href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+)))([^>]*)>/gi,D=/\s_cke_saved_src\s*=/,E=/(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,F=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,H=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,I=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;function J(T){return T.replace(C,function(U,V,W,X,Y){if(X=='src'&&D.test(U))return U;else return '<'+V+W+' _cke_saved_'+W+Y+'>';});};function K(T){return T.replace(E,function(U){return '<cke:encoded>'+encodeURIComponent(U)+'</cke:encoded>';});};function L(T){return T.replace(F,function(U,V){return decodeURIComponent(V);});};function M(T){return T.replace(G,'$1cke:$2');};function N(T){return T.replace(H,'$1$2');};function O(T){return T.replace(I,'<cke:$1$2></cke:$1>');};function P(T){return T.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,'$1$2$2');};function Q(T){return T.replace(/<!--(?!{cke_protected})[\s\S]+?-->/g,function(U){return '<!--'+n+'{C}'+encodeURIComponent(U).replace(/--/g,'%2D%2D')+'-->';});};function R(T){return T.replace(/<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g,function(U,V){return decodeURIComponent(V);});};function S(T,U){var V=[],W=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,X=[/<script[\s\S]*?<\/script>/gi,/<noscript[\s\S]*?<\/noscript>/gi].concat(U);T=T.replace(/<!--[\s\S]*?-->/g,function(Z){return '<!--{cke_tempcomment}'+(V.push(Z)-1)+'-->';});for(var Y=0;Y<X.length;Y++)T=T.replace(X[Y],function(Z){Z=Z.replace(W,function(aa,ab,ac){return V[ac];});return '<!--{cke_temp}'+(V.push(Z)-1)+'-->';});T=T.replace(W,function(Z,aa,ab){return '<!--'+n+(aa?'{C}':'')+encodeURIComponent(V[ab]).replace(/--/g,'%2D%2D')+'-->';\r
+});return T;};j.add('htmldataprocessor',{requires:['htmlwriter'],init:function(T){var U=T.dataProcessor=new a.htmlDataProcessor(T);U.writer.forceSimpleAmpersand=T.config.forceSimpleAmpersand;U.dataFilter.addRules(w);U.dataFilter.addRules(x);U.htmlFilter.addRules(y);U.htmlFilter.addRules(z);}});a.htmlDataProcessor=function(T){var U=this;U.editor=T;U.writer=new a.htmlWriter();U.dataFilter=new a.htmlParser.filter();U.htmlFilter=new a.htmlParser.filter();};a.htmlDataProcessor.prototype={toHtml:function(T,U){T=S(T,this.editor.config.protectedSource);T=J(T);T=K(T);T=M(T);T=O(T);T=P(T);var V=new h('div');V.setHtml('a'+T);T=V.getHtml().substr(1);T=N(T);T=L(T);T=R(T);var W=a.htmlParser.fragment.fromHtml(T,U),X=new a.htmlParser.basicWriter();W.writeHtml(X,this.dataFilter);T=X.getHtml(true);T=Q(T);return T;},toDataFormat:function(T,U){var V=this.writer,W=a.htmlParser.fragment.fromHtml(T,U);V.reset();W.writeHtml(V,this.htmlFilter);return V.getHtml(true);}};})();j.add('image',{init:function(m){var n='image';a.dialog.add(n,this.path+'dialogs/image.js');m.addCommand(n,new a.dialogCommand(n));m.ui.addButton('Image',{label:m.lang.common.image,command:n});m.on('doubleclick',function(o){var p=o.data.element;if(p.is('img')&&!p.getAttribute('_cke_realelement'))o.data.dialog='image';});if(m.addMenuItems)m.addMenuItems({image:{label:m.lang.image.menu,command:'image',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(o,p){if(!o||!o.is('img')||o.getAttribute('_cke_realelement')||o.isReadOnly())return null;return{image:2};});}});i.image_removeLinkByEmptyURL=true;(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true);function p(u,v){u.getCommand(this.name).setState(v);};function q(u){var D=this;var v=u.editor,w=u.data.path,x=w&&w.contains(m);if(x)return p.call(D,v,2);if(!D.useIndentClasses&&D.name=='indent')return p.call(D,v,2);var y=u.data.path,z=y.block||y.blockLimit;if(!z)return p.call(D,v,0);if(D.useIndentClasses){var A=z.$.className.match(D.classNameRegex),B=0;if(A){A=A[1];B=D.indentClassMap[A];}if(D.name=='outdent'&&!B||D.name=='indent'&&B==v.config.indentClasses.length)return p.call(D,v,0);return p.call(D,v,2);}else{var C=parseInt(z.getStyle(s(z)),10);if(isNaN(C))C=0;if(C<=0)return p.call(D,v,0);return p.call(D,v,2);}};function r(u,v){var x=this;x.name=v;x.useIndentClasses=u.config.indentClasses&&u.config.indentClasses.length>0;if(x.useIndentClasses){x.classNameRegex=new RegExp('(?:^|\\s+)('+u.config.indentClasses.join('|')+')(?=$|\\s)');\r
+x.indentClassMap={};for(var w=0;w<u.config.indentClasses.length;w++)x.indentClassMap[u.config.indentClasses[w]]=w+1;}x.startDisabled=v=='outdent';};function s(u){return u.getComputedStyle('direction')=='ltr'?'margin-left':'margin-right';};function t(u){return u.type=1&&u.is('li');};r.prototype={exec:function(u){var v=this,w={};function x(M){var N=D.startContainer,O=D.endContainer;while(N&&!N.getParent().equals(M))N=N.getParent();while(O&&!O.getParent().equals(M))O=O.getParent();if(!N||!O)return;var P=N,Q=[],R=false;while(!R){if(P.equals(O))R=true;Q.push(P);P=P.getNext();}if(Q.length<1)return;var S=M.getParents(true);for(var T=0;T<S.length;T++){if(S[T].getName&&m[S[T].getName()]){M=S[T];break;}}var U=v.name=='indent'?1:-1,V=Q[0],W=Q[Q.length-1],X=j.list.listToArray(M,w),Y=X[W.getCustomData('listarray_index')].indent;for(T=V.getCustomData('listarray_index');T<=W.getCustomData('listarray_index');T++){X[T].indent+=U;var Z=X[T].parent;X[T].parent=new h(Z.getName(),Z.getDocument());}for(T=W.getCustomData('listarray_index')+1;T<X.length&&X[T].indent>Y;T++)X[T].indent+=U;var aa=M.getAttribute('dir')||M.getStyle('direction'),ab=j.list.arrayToList(X,w,null,u.config.enterMode,aa);if(v.name=='outdent'){var ac;if((ac=M.getParent())&&ac.is('li')){var ad=ab.listNode.getChildren(),ae=[],af=ad.count(),ag;for(T=af-1;T>=0;T--){if((ag=ad.getItem(T))&&ag.is&&ag.is('li'))ae.push(ag);}}}if(ab)ab.listNode.replace(M);if(ae&&ae.length)for(T=0;T<ae.length;T++){var ah=ae[T],ai=ah;while((ai=ai.getNext())&&ai.is&&ai.getName() in m){if(c&&!ah.getFirst(function(aj){return n(aj)&&o(aj);}))ah.append(D.document.createText('\xa0'));ah.append(ai);}ah.insertAfter(ac);}};function y(){var M=D.createIterator(),N=u.config.enterMode;M.enforceRealBlocks=true;M.enlargeBr=N!=2;var O;while(O=M.getNextParagraph())z(O);};function z(M){if(M.getCustomData('indent_processed'))return false;if(v.useIndentClasses){var N=M.$.className.match(v.classNameRegex),O=0;if(N){N=N[1];O=v.indentClassMap[N];}if(v.name=='outdent')O--;else O++;if(O<0)return false;O=Math.min(O,u.config.indentClasses.length);O=Math.max(O,0);var P=e.ltrim(M.$.className.replace(v.classNameRegex,''));if(O<1)M.$.className=P;else M.addClass(u.config.indentClasses[O-1]);}else{var Q=s(M),R=parseInt(M.getStyle(Q),10);if(isNaN(R))R=0;var S=u.config.indentOffset||40;R+=(v.name=='indent'?1:-1)*S;if(R<0)return false;R=Math.max(R,0);R=Math.ceil(R/S)*S;M.setStyle(Q,R?R+(u.config.indentUnit||'px'):'');if(M.getAttribute('style')==='')M.removeAttribute('style');\r
+}h.setMarker(w,M,'indent_processed',1);return true;};var A=u.getSelection(),B=A.createBookmarks(1),C=A&&A.getRanges(1),D,E=C.createIterator();while(D=E.getNextRange()){var F=D.getCommonAncestor(),G=F;while(G&&!(G.type==1&&m[G.getName()]))G=G.getParent();if(!G){var H=D.getEnclosedNode();if(H&&H.type==1&&H.getName() in m){D.setStartAt(H,1);D.setEndAt(H,2);G=H;}}if(G&&D.startContainer.type==1&&D.startContainer.getName() in m){var I=new d.walker(D);I.evaluator=t;D.startContainer=I.next();}if(G&&D.endContainer.type==1&&D.endContainer.getName() in m){I=new d.walker(D);I.evaluator=t;D.endContainer=I.previous();}if(G){var J=G.getFirst(function(M){return M.type==1&&M.is('li');}),K=D.startContainer,L=J.equals(K)||J.contains(K);if(!(L&&(v.name=='indent'||v.useIndentClasses||parseInt(G.getStyle(s(G)),10))&&z(G)))x(G);}else y();}h.clearAllMarkers(w);u.forceNextSelectionCheck();A.selectBookmarks(B);}};j.add('indent',{init:function(u){var v=new r(u,'indent'),w=new r(u,'outdent');u.addCommand('indent',v);u.addCommand('outdent',w);u.ui.addButton('Indent',{label:u.lang.indent,command:'indent'});u.ui.addButton('Outdent',{label:u.lang.outdent,command:'outdent'});u.on('selectionChange',e.bind(q,v));u.on('selectionChange',e.bind(q,w));if(b.ie6Compat||b.ie7Compat)u.addCss('ul,ol{\tmargin-left: 0px;\tpadding-left: 40px;}');u.on('dirChanged',function(x){var y=new d.range(u.document);y.setStartBefore(x.data);y.setEndAfter(x.data);var z=new d.walker(y),A;while(A=z.next()){if(A.type==1){if(!A.equals(x.data)&&A.getDirection()){y.setStartAfter(A);z=new d.walker(y);continue;}var B=A.getStyle('margin-right'),C=A.getStyle('margin-left');B?A.setStyle('margin-left',B):A.removeStyle('margin-left');C?A.setStyle('margin-right',C):A.removeStyle('margin-right');}}});},requires:['domiterator','list']});})();(function(){function m(r,s){var t=s.block||s.blockLimit;if(!t||t.getName()=='body')return 2;return n(t,r.config.useComputedState)==this.value?1:2;};function n(r,s){s=s===undefined||s;var t;if(s)t=r.getComputedStyle('text-align');else{while(!r.hasAttribute||!(r.hasAttribute('align')||r.getStyle('text-align'))){var u=r.getParent();if(!u)break;r=u;}t=r.getStyle('text-align')||r.getAttribute('align')||'';}t&&(t=t.replace(/-moz-|-webkit-|start|auto/i,''));!t&&s&&(t=r.getComputedStyle('direction')=='rtl'?'right':'left');return t;};function o(r){var s=r.editor.getCommand(this.name);s.state=m.call(this,r.editor,r.data.path);s.fire('state');};function p(r,s,t){var v=this;v.name=s;v.value=t;var u=r.config.justifyClasses;\r
+if(u){switch(t){case 'left':v.cssClassName=u[0];break;case 'center':v.cssClassName=u[1];break;case 'right':v.cssClassName=u[2];break;case 'justify':v.cssClassName=u[3];break;}v.cssClassRegex=new RegExp('(?:^|\\s+)(?:'+u.join('|')+')(?=$|\\s)');}};function q(r){var s=r.editor,t=new d.range(s.document);t.setStartBefore(r.data);t.setEndAfter(r.data);var u=new d.walker(t),v;while(v=u.next()){if(v.type==1){if(!v.equals(r.data)&&v.getDirection()){t.setStartAfter(v);u=new d.walker(t);continue;}var w='text-align',x=v.getStyle(w);if(x=='left')v.setStyle(w,'right');else if(x=='right')v.setStyle(w,'left');}}};p.prototype={exec:function(r){var D=this;var s=r.getSelection(),t=r.config.enterMode;if(!s)return;var u=s.createBookmarks(),v=s.getRanges(true),w=D.cssClassName,x,y,z=r.config.useComputedState;z=z===undefined||z;for(var A=v.length-1;A>=0;A--){x=v[A].createIterator();x.enlargeBr=t!=2;while(y=x.getNextParagraph()){y.removeAttribute('align');y.removeStyle('text-align');var B=w&&(y.$.className=e.ltrim(y.$.className.replace(D.cssClassRegex,''))),C=D.state==2&&(!z||n(y,true)!=D.value);if(w){if(C)y.addClass(w);else if(!B)y.removeAttribute('class');}else if(C)y.setStyle('text-align',D.value);}}r.focus();r.forceNextSelectionCheck();s.selectBookmarks(u);}};j.add('justify',{init:function(r){var s=new p(r,'justifyleft','left'),t=new p(r,'justifycenter','center'),u=new p(r,'justifyright','right'),v=new p(r,'justifyblock','justify');r.addCommand('justifyleft',s);r.addCommand('justifycenter',t);r.addCommand('justifyright',u);r.addCommand('justifyblock',v);r.ui.addButton('JustifyLeft',{label:r.lang.justify.left,command:'justifyleft'});r.ui.addButton('JustifyCenter',{label:r.lang.justify.center,command:'justifycenter'});r.ui.addButton('JustifyRight',{label:r.lang.justify.right,command:'justifyright'});r.ui.addButton('JustifyBlock',{label:r.lang.justify.block,command:'justifyblock'});r.on('selectionChange',e.bind(o,s));r.on('selectionChange',e.bind(o,u));r.on('selectionChange',e.bind(o,t));r.on('selectionChange',e.bind(o,v));r.on('dirChanged',q);},requires:['domiterator']});})();j.add('keystrokes',{beforeInit:function(m){m.keystrokeHandler=new a.keystrokeHandler(m);m.specialKeys={};},init:function(m){var n=m.config.keystrokes,o=m.config.blockedKeystrokes,p=m.keystrokeHandler.keystrokes,q=m.keystrokeHandler.blockedKeystrokes;for(var r=0;r<n.length;r++)p[n[r][0]]=n[r][1];for(r=0;r<o.length;r++)q[o[r]]=1;}});a.keystrokeHandler=function(m){var n=this;if(m.keystrokeHandler)return m.keystrokeHandler;\r
+n.keystrokes={};n.blockedKeystrokes={};n._={editor:m};return n;};(function(){var m,n=function(p){p=p.data;var q=p.getKeystroke(),r=this.keystrokes[q],s=this._.editor;m=s.fire('key',{keyCode:q})===true;if(!m){if(r){var t={from:'keystrokeHandler'};m=s.execCommand(r,t)!==false;}if(!m){var u=s.specialKeys[q];m=u&&u(s)===true;if(!m)m=!!this.blockedKeystrokes[q];}}if(m)p.preventDefault(true);return!m;},o=function(p){if(m){m=false;p.data.preventDefault(true);}};a.keystrokeHandler.prototype={attach:function(p){p.on('keydown',n,this);if(b.opera||b.gecko&&b.mac)p.on('keypress',o,this);}};})();i.blockedKeystrokes=[1000+66,1000+73,1000+85];i.keystrokes=[[4000+121,'toolbarFocus'],[4000+122,'elementsPathFocus'],[2000+121,'contextMenu'],[1000+2000+121,'contextMenu'],[1000+90,'undo'],[1000+89,'redo'],[1000+2000+90,'redo'],[1000+76,'link'],[1000+66,'bold'],[1000+73,'italic'],[1000+85,'underline'],[4000+109,'toolbarCollapse'],[4000+48,'a11yHelp']];j.add('link',{init:function(m){m.addCommand('link',new a.dialogCommand('link'));m.addCommand('anchor',new a.dialogCommand('anchor'));m.addCommand('unlink',new a.unlinkCommand());m.ui.addButton('Link',{label:m.lang.link.toolbar,command:'link'});m.ui.addButton('Unlink',{label:m.lang.unlink,command:'unlink'});m.ui.addButton('Anchor',{label:m.lang.anchor.toolbar,command:'anchor'});a.dialog.add('link',this.path+'dialogs/link.js');a.dialog.add('anchor',this.path+'dialogs/anchor.js');m.addCss('img.cke_anchor{background-image: url('+a.getUrl(this.path+'images/anchor.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'width: 18px !important;'+'height: 18px !important;'+'}\n'+'a.cke_anchor'+'{'+'background-image: url('+a.getUrl(this.path+'images/anchor.gif')+');'+'background-position: 0 center;'+'background-repeat: no-repeat;'+'border: 1px solid #a9a9a9;'+'padding-left: 18px;'+'}');m.on('selectionChange',function(n){var o=m.getCommand('unlink'),p=n.data.path.lastElement&&n.data.path.lastElement.getAscendant('a',true);if(p&&p.getName()=='a'&&p.getAttribute('href'))o.setState(2);else o.setState(0);});m.on('doubleclick',function(n){var o=j.link.getSelectedLink(m)||n.data.element;if(o.is('a'))n.data.dialog=o.getAttribute('name')&&!o.getAttribute('href')?'anchor':'link';else if(o.is('img')&&o.getAttribute('_cke_real_element_type')=='anchor')n.data.dialog='anchor';});if(m.addMenuItems)m.addMenuItems({anchor:{label:m.lang.anchor.menu,command:'anchor',group:'anchor'},link:{label:m.lang.link.menu,command:'link',group:'link',order:1},unlink:{label:m.lang.unlink,command:'unlink',group:'link',order:5}});\r
+if(m.contextMenu)m.contextMenu.addListener(function(n,o){if(!n||n.isReadOnly())return null;var p=n.is('img')&&n.getAttribute('_cke_real_element_type')=='anchor';if(!p){if(!(n=j.link.getSelectedLink(m)))return null;p=n.getAttribute('name')&&!n.getAttribute('href');}return p?{anchor:2}:{link:2,unlink:2};});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter;if(o)o.addRules({elements:{a:function(p){var q=p.attributes;if(q.name&&!q.href)return m.createFakeParserElement(p,'cke_anchor','anchor');}}});},requires:['fakeobjects']});j.link={getSelectedLink:function(m){try{var n=m.getSelection();if(n.getType()==3){var o=n.getSelectedElement();if(o.is('a'))return o;}var p=n.getRanges(true)[0];p.shrink(2);var q=p.getCommonAncestor();return q.getAscendant('a',true);}catch(r){return null;}}};a.unlinkCommand=function(){};a.unlinkCommand.prototype={exec:function(m){var n=m.getSelection(),o=n.createBookmarks(),p=n.getRanges(),q,r;for(var s=0;s<p.length;s++){q=p[s].getCommonAncestor(true);r=q.getAscendant('a',true);if(!r)continue;p[s].selectNodeContents(r);}n.selectRanges(p);m.document.$.execCommand('unlink',false,null);n.selectBookmarks(o);},startDisabled:true};e.extend(i,{linkShowAdvancedTab:true,linkShowTargetTab:true});(function(){var m={ol:1,ul:1},n=/^[\n\r\t ]*$/;j.list={listToArray:function(C,D,E,F,G){if(!m[C.getName()])return[];if(!F)F=0;if(!E)E=[];for(var H=0,I=C.getChildCount();H<I;H++){var J=C.getChild(H);if(J.$.nodeName.toLowerCase()!='li')continue;var K={parent:C,indent:F,element:J,contents:[]};if(!G){K.grandparent=C.getParent();if(K.grandparent&&K.grandparent.$.nodeName.toLowerCase()=='li')K.grandparent=K.grandparent.getParent();}else K.grandparent=G;if(D)h.setMarker(D,J,'listarray_index',E.length);E.push(K);for(var L=0,M=J.getChildCount(),N;L<M;L++){N=J.getChild(L);if(N.type==1&&m[N.getName()])j.list.listToArray(N,D,E,F+1,K.grandparent);else K.contents.push(N);}}return E;},arrayToList:function(C,D,E,F,G){if(!E)E=0;if(!C||C.length<E+1)return null;var H=C[E].parent.getDocument(),I=new d.documentFragment(H),J=null,K=E,L=Math.max(C[E].indent,0),M=null,N=F==1?'p':'div';while(1){var O=C[K];if(O.indent==L){if(!J||C[K].parent.getName()!=J.getName()){J=C[K].parent.clone(false,1);I.append(J);}M=J.append(O.element.clone(0,1));for(var P=0;P<O.contents.length;P++)M.append(O.contents[P].clone(1,1));K++;}else if(O.indent==Math.max(L,0)+1){var Q=j.list.arrayToList(C,null,K,F);M.append(Q.listNode);K=Q.nextIndex;}else if(O.indent==-1&&!E&&O.grandparent){M;if(m[O.grandparent.getName()])M=O.element.clone(false,true);\r
+else if(G||O.element.hasAttributes()||F!=2&&O.grandparent.getName()!='td'){M=H.createElement(N);O.element.copyAttributes(M,{type:1,value:1});G&&M.setAttribute('dir',G);if(!G&&F==2&&!M.hasAttributes())M=new d.documentFragment(H);}else M=new d.documentFragment(H);for(P=0;P<O.contents.length;P++)M.append(O.contents[P].clone(1,1));if(M.type==11&&K!=C.length-1){if(M.getLast()&&M.getLast().type==1&&M.getLast().getAttribute('type')=='_moz')M.getLast().remove();M.appendBogus();}if(M.type==1&&M.getName()==N&&M.$.firstChild){M.trim();var R=M.getFirst();if(R.type==1&&R.isBlockBoundary()){var S=new d.documentFragment(H);M.moveChildren(S);M=S;}}var T=M.$.nodeName.toLowerCase();if(!c&&(T=='div'||T=='p'))M.appendBogus();I.append(M);J=null;K++;}else return null;if(C.length<=K||Math.max(C[K].indent,0)<L)break;}if(D){var U=I.getFirst();while(U){if(U.type==1)h.clearMarkers(D,U);U=U.getNextSourceNode();}}return{listNode:I,nextIndex:K};}};function o(C,D){C.getCommand(this.name).setState(D);};function p(C){var D=C.data.path,E=D.blockLimit,F=D.elements,G;for(var H=0;H<F.length&&(G=F[H])&&!G.equals(E);H++){if(m[F[H].getName()])return o.call(this,C.editor,this.type==F[H].getName()?1:2);}return o.call(this,C.editor,2);};function q(C,D,E,F){var G=j.list.listToArray(D.root,E),H=[];for(var I=0;I<D.contents.length;I++){var J=D.contents[I];J=J.getAscendant('li',true);if(!J||J.getCustomData('list_item_processed'))continue;H.push(J);h.setMarker(E,J,'list_item_processed',true);}var K=D.root,L=K.getDocument().createElement(this.type);K.copyAttributes(L,{start:1,type:1});L.removeStyle('list-style-type');for(I=0;I<H.length;I++){var M=H[I].getCustomData('listarray_index');G[M].parent=L;}var N=j.list.arrayToList(G,E,null,C.config.enterMode),O,P=N.listNode.getChildCount();for(I=0;I<P&&(O=N.listNode.getChild(I));I++){if(O.getName()==this.type)F.push(O);}N.listNode.replace(D.root);};var r=/^h[1-6]$/;function s(C,D,E){var F=D.contents,G=D.root.getDocument(),H=[];if(F.length==1&&F[0].equals(D.root)){var I=G.createElement('div');F[0].moveChildren&&F[0].moveChildren(I);F[0].append(I);F[0]=I;}var J=D.contents[0].getParent();for(var K=0;K<F.length;K++)J=J.getCommonAncestor(F[K].getParent());var L=C.config.useComputedState,M,N;L=L===undefined||L;for(K=0;K<F.length;K++){var O=F[K],P;while(P=O.getParent()){if(P.equals(J)){H.push(O);if(!N&&O.getDirection())N=1;var Q=O.getDirection(L);if(M!==null)if(M&&M!=Q)M=null;else M=Q;break;}O=P;}}if(H.length<1)return;var R=H[H.length-1].getNext(),S=G.createElement(this.type);\r
+E.push(S);var T,U;while(H.length){T=H.shift();U=G.createElement('li');if(T.is('pre')||r.test(T.getName()))T.appendTo(U);else{if(M&&T.getDirection()){T.removeStyle('direction');T.removeAttribute('dir');}T.copyAttributes(U);T.moveChildren(U);T.remove();}U.appendTo(S);}if(M&&N)S.setAttribute('dir',M);if(R)S.insertBefore(R);else S.appendTo(J);};function t(C,D,E){var F=j.list.listToArray(D.root,E),G=[];for(var H=0;H<D.contents.length;H++){var I=D.contents[H];I=I.getAscendant('li',true);if(!I||I.getCustomData('list_item_processed'))continue;G.push(I);h.setMarker(E,I,'list_item_processed',true);}var J=null;for(H=0;H<G.length;H++){var K=G[H].getCustomData('listarray_index');F[K].indent=-1;J=K;}for(H=J+1;H<F.length;H++){if(F[H].indent>F[H-1].indent+1){var L=F[H-1].indent+1-F[H].indent,M=F[H].indent;while(F[H]&&F[H].indent>=M){F[H].indent+=L;H++;}H--;}}var N=j.list.arrayToList(F,E,null,C.config.enterMode,D.root.getAttribute('dir')),O=N.listNode,P,Q;function R(S){if((P=O[S?'getFirst':'getLast']())&&!(P.is&&P.isBlockBoundary())&&(Q=D.root[S?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(Q.is&&Q.isBlockBoundary({br:1})))C.document.createElement('br')[S?'insertBefore':'insertAfter'](P);};R(true);R();O.replace(D.root);};function u(C,D){this.name=C;this.type=D;};u.prototype={exec:function(C){C.focus();var D=C.document,E=C.getSelection(),F=E&&E.getRanges(true);if(!F||F.length<1)return;if(this.state==2){var G=D.getBody();G.trim();if(!G.getFirst()){var H=D.createElement(C.config.enterMode==1?'p':C.config.enterMode==3?'div':'br');H.appendTo(G);F=new d.rangeList([new d.range(D)]);if(H.is('br')){F[0].setStartBefore(H);F[0].setEndAfter(H);}else F[0].selectNodeContents(H);E.selectRanges(F);}else{var I=F.length==1&&F[0],J=I&&I.getEnclosedNode();if(J&&J.is&&this.type==J.getName())o.call(this,C,1);}}var K=E.createBookmarks(true),L=[],M={},N=F.createIterator(),O=0;while((I=N.getNextRange())&&++O){var P=I.getBoundaryNodes(),Q=P.startNode,R=P.endNode;if(Q.type==1&&Q.getName()=='td')I.setStartAt(P.startNode,1);if(R.type==1&&R.getName()=='td')I.setEndAt(P.endNode,2);var S=I.createIterator(),T;S.forceBrBreak=this.state==2;while(T=S.getNextParagraph()){if(T.getCustomData('list_block'))continue;else h.setMarker(M,T,'list_block',1);var U=new d.elementPath(T),V=U.elements,W=V.length,X=null,Y=0,Z=U.blockLimit,aa;for(var ab=W-1;ab>=0&&(aa=V[ab]);ab--){if(m[aa.getName()]&&Z.contains(aa)){Z.removeCustomData('list_group_object_'+O);var ac=aa.getCustomData('list_group_object');if(ac)ac.contents.push(T);\r
+else{ac={root:aa,contents:[T]};L.push(ac);h.setMarker(M,aa,'list_group_object',ac);}Y=1;break;}}if(Y)continue;var ad=Z;if(ad.getCustomData('list_group_object_'+O))ad.getCustomData('list_group_object_'+O).contents.push(T);else{ac={root:ad,contents:[T]};h.setMarker(M,ad,'list_group_object_'+O,ac);L.push(ac);}}}var ae=[];while(L.length>0){ac=L.shift();if(this.state==2){if(m[ac.root.getName()])q.call(this,C,ac,M,ae);else s.call(this,C,ac,ae);}else if(this.state==1&&m[ac.root.getName()])t.call(this,C,ac,M);}for(ab=0;ab<ae.length;ab++){X=ae[ab];var af,ag=this;(af=function(ah){var ai=X[ah?'getPrevious':'getNext'](d.walker.whitespaces(true));if(ai&&ai.getName&&ai.getName()==ag.type){ai.remove();ai.moveChildren(X,ah);}})();af(1);}h.clearAllMarkers(M);E.selectBookmarks(K);C.focus();}};var v=f,w=/[\t\r\n ]*(?:&nbsp;|\xa0)$/;function x(C,D){var E,F=C.children,G=F.length;for(var H=0;H<G;H++){E=F[H];if(E.name&&E.name in D)return H;}return G;};function y(C){return function(D){var E=D.children,F=x(D,v.$list),G=E[F],H=G&&G.previous,I;if(H&&(H.name&&H.name=='br'||H.value&&(I=H.value.match(w)))){var J=H;if(!(I&&I.index)&&J==E[0])E[0]=C||c?new a.htmlParser.text('\xa0'):new a.htmlParser.element('br',{});else if(J.name=='br')E.splice(F-1,1);else J.value=J.value.replace(w,'');}};};var z={elements:{}};for(var A in v.$listItem)z.elements[A]=y();var B={elements:{}};for(A in v.$listItem)B.elements[A]=y(true);j.add('list',{init:function(C){var D=new u('numberedlist','ol'),E=new u('bulletedlist','ul');C.addCommand('numberedlist',D);C.addCommand('bulletedlist',E);C.ui.addButton('NumberedList',{label:C.lang.numberedlist,command:'numberedlist'});C.ui.addButton('BulletedList',{label:C.lang.bulletedlist,command:'bulletedlist'});C.on('selectionChange',e.bind(p,D));C.on('selectionChange',e.bind(p,E));},afterInit:function(C){var D=C.dataProcessor;if(D){D.dataFilter.addRules(z);D.htmlFilter.addRules(B);}},requires:['domiterator']});})();(function(){j.liststyle={requires:['dialog'],init:function(m){m.addCommand('numberedListStyle',new a.dialogCommand('numberedListStyle'));a.dialog.add('numberedListStyle',this.path+'dialogs/liststyle.js');m.addCommand('bulletedListStyle',new a.dialogCommand('bulletedListStyle'));a.dialog.add('bulletedListStyle',this.path+'dialogs/liststyle.js');if(m.addMenuItems){m.addMenuGroup('list',108);m.addMenuItems({numberedlist:{label:m.lang.list.numberedTitle,group:'list',command:'numberedListStyle'},bulletedlist:{label:m.lang.list.bulletedTitle,group:'list',command:'bulletedListStyle'}});\r
+}if(m.contextMenu)m.contextMenu.addListener(function(n,o){if(!n||n.isReadOnly())return null;while(n){var p=n.getName();if(p=='ol')return{numberedlist:2};else if(p=='ul')return{bulletedlist:2};n=n.getParent();}return null;});}};j.add('liststyle',j.liststyle);})();(function(){function m(s){if(!s||s.type!=1||s.getName()!='form')return[];var t=[],u=['style','className'];for(var v=0;v<u.length;v++){var w=u[v],x=s.$.elements.namedItem(w);if(x){var y=new h(x);t.push([y,y.nextSibling]);y.remove();}}return t;};function n(s,t){if(!s||s.type!=1||s.getName()!='form')return;if(t.length>0)for(var u=t.length-1;u>=0;u--){var v=t[u][0],w=t[u][1];if(w)v.insertBefore(w);else v.appendTo(s);}};function o(s,t){var u=m(s),v={},w=s.$;if(!t){v['class']=w.className||'';w.className='';}v.inline=w.style.cssText||'';if(!t)w.style.cssText='position: static; overflow: visible';n(u);return v;};function p(s,t){var u=m(s),v=s.$;if('class' in t)v.className=t['class'];if('inline' in t)v.style.cssText=t.inline;n(u);};function q(s){var t=a.instances;for(var u in t){var v=t[u];if(v.mode=='wysiwyg'){var w=v.document.getBody();w.setAttribute('contentEditable',false);w.setAttribute('contentEditable',true);}}if(s.focusManager.hasFocus){s.toolbox.focus();s.focus();}};function r(s){if(!c||b.version>6)return null;var t=h.createFromHtml('<iframe frameborder="0" tabindex="-1" src="javascript:void((function(){document.open();'+(b.isCustomDomain()?"document.domain='"+this.getDocument().$.domain+"';":'')+'document.close();'+'})())"'+' style="display:block;position:absolute;z-index:-1;'+'progid:DXImageTransform.Microsoft.Alpha(opacity=0);'+'"></iframe>');return s.append(t,true);};j.add('maximize',{init:function(s){var t=s.lang,u=a.document,v=u.getWindow(),w,x,y,z;function A(){var C=v.getViewPaneSize();z&&z.setStyles({width:C.width+'px',height:C.height+'px'});s.resize(C.width,C.height,null,true);};var B=2;s.addCommand('maximize',{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(){var C=s.container.getChild(1),D=s.getThemeSpace('contents');if(s.mode=='wysiwyg'){var E=s.getSelection();w=E&&E.getRanges();x=v.getScrollPosition();}else{var F=s.textarea.$;w=!c&&[F.selectionStart,F.selectionEnd];x=[F.scrollLeft,F.scrollTop];}if(this.state==2){v.on('resize',A);y=v.getScrollPosition();var G=s.container;while(G=G.getParent()){G.setCustomData('maximize_saved_styles',o(G));G.setStyle('z-index',s.config.baseFloatZIndex-1);}D.setCustomData('maximize_saved_styles',o(D,true));C.setCustomData('maximize_saved_styles',o(C,true));\r
+var H=v.getViewPaneSize(),I={overflow:'hidden',width:(b.opera?H.width:0)+'px',height:(b.opera?H.height-16:0)+'px'};if(c)u.$.documentElement.style.overflow=u.getBody().$.style.overflow='hidden';else u.getBody().setStyles(I);if(b.opera)u.getBody().getParent().setStyles(I);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position','absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var J=C.getDocumentPosition();C.setStyles({left:-1*J.x+'px',top:-1*J.y+'px'});b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var K=[D,C];for(var L=0;L<K.length;L++){p(K[L],K[L].getCustomData('maximize_saved_styles'));K[L].removeCustomData('maximize_saved_styles');}G=s.container;while(G=G.getParent()){p(G,G.getCustomData('maximize_saved_styles'));G.removeCustomData('maximize_saved_styles');}c?setTimeout(function(){v.$.scrollTo(y.x,y.y);},0):v.$.scrollTo(y.x,y.y);C.removeClass('cke_maximized');if(z){z.remove();z=null;}s.fire('resize');}this.toggleState();var M=this.uiItems[0],N=this.state==2?t.maximize:t.minimize,O=s.element.getDocument().getById(M._.id);O.getChild(1).setHtml(N);O.setAttribute('title',N);O.setAttribute('href','javascript:void("'+N+'");');if(s.mode=='wysiwyg'){if(w){b.gecko&&q(s);s.getSelection().selectRanges(w);var P=s.getSelection().getStartElement();P&&P.scrollIntoView(true);}else v.$.scrollTo(x.x,x.y);}else{if(w){F.selectionStart=w[0];F.selectionEnd=w[1];}F.scrollLeft=x[0];F.scrollTop=x[1];}w=x=null;B=this.state;},canUndo:false});s.ui.addButton('Maximize',{label:t.maximize,command:'maximize'});s.on('mode',function(){var C=s.getCommand('maximize');C.setState(C.state==0?0:B);},null,null,100);}});})();j.add('newpage',{init:function(m){m.addCommand('newpage',{modes:{wysiwyg:1,source:1},exec:function(n){var o=this;n.setData(n.config.newpage_html||'',function(){setTimeout(function(){n.fire('afterCommandExec',{name:o.name,command:o});},200);});n.focus();},async:true});m.ui.addButton('NewPage',{label:m.lang.newPage,command:'newpage'});}});j.add('pagebreak',{init:function(m){m.addCommand('pagebreak',j.pagebreakCmd);m.ui.addButton('PageBreak',{label:m.lang.pagebreak,command:'pagebreak'});m.addCss('img.cke_pagebreak{background-image: url('+a.getUrl(this.path+'images/pagebreak.gif')+');'+'background-position: center center;'+'background-repeat: no-repeat;'+'clear: both;'+'display: block;'+'float: none;'+'width:100% !important; _width:99.9% !important;'+'border-top: #999999 1px dotted;'+'border-bottom: #999999 1px dotted;'+'height: 5px !important;'+'page-break-after: always;'+'}');\r
+},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter;if(o)o.addRules({elements:{div:function(p){var q=p.attributes,r=q&&q.style,s=r&&p.children.length==1&&p.children[0],t=s&&s.name=='span'&&s.attributes.style;if(t&&/page-break-after\s*:\s*always/i.test(r)&&/display\s*:\s*none/i.test(t)){var u=m.createFakeParserElement(p,'cke_pagebreak','div'),v=m.lang.pagebreakAlt;u.attributes.alt=v;u.attributes['aria-label']=v;return u;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(m){var n=m.lang.pagebreakAlt,o=h.createFromHtml('<div style="page-break-after: always;"><span style="display: none;">&nbsp;</span></div>');o=m.createFakeElement(o,'cke_pagebreak','div');o.setAttribute('alt',n);o.setAttribute('aria-label',n);var p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r<p.length-1)o=o.clone(true);q.splitBlock('p');q.insertNode(o);if(r==p.length-1){q.moveToPosition(o,4);q.select();}var s=o.getPrevious();if(s&&f[s.getName()].div)o.move(s);}m.fire('saveSnapshot');}};(function(){j.add('pastefromword',{init:function(m){var n=0,o=function(){setTimeout(function(){n=0;},0);};m.addCommand('pastefromword',{canUndo:false,exec:function(){n=1;if(m.execCommand('paste')===false)m.on('dialogHide',function(p){p.removeListener();o();});else o();}});m.ui.addButton('PasteFromWord',{label:m.lang.pastefromword.toolbar,command:'pastefromword'});m.on('paste',function(p){var q=p.data,r;if((r=q.html)&&(n||/(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/.test(r))){var s=this.loadFilterRules(function(){if(s)m.fire('paste',q);else if(!m.config.pasteFromWordPromptCleanup||n||confirm(m.lang.pastefromword.confirmCleanup))q.html=a.cleanWord(r,m);});s&&p.cancel();}},this);},loadFilterRules:function(m){var n=a.cleanWord;if(n)m();else{var o=a.getUrl(i.pasteFromWordCleanupFile||this.path+'filter/default.js');a.scriptLoader.load(o,m,null,false,true);}return!n;}});})();(function(){var m={exec:function(p){var q=e.tryThese(function(){var r=window.clipboardData.getData('Text');if(!r)throw 0;return r;});if(!q){p.openDialog('pastetext');return false;}else p.fire('paste',{text:q});return true;}};function n(p,q){if(c){var r=p.selection;if(r.type=='Control')r.clear();r.createRange().pasteHTML(q);}else p.execCommand('inserthtml',false,q);};j.add('pastetext',{init:function(p){var q='pastetext',r=p.addCommand(q,m);p.ui.addButton('PasteText',{label:p.lang.pasteText.button,command:q});a.dialog.add(q,a.getUrl(this.path+'dialogs/pastetext.js'));\r
+if(p.config.forcePasteAsPlainText)p.on('beforeCommandExec',function(s){if(s.data.name=='paste'){p.execCommand('pastetext');s.cancel();}},null,null,0);},requires:['clipboard']});function o(p,q,r,s){while(r--)j.enterkey[q==2?'enterBr':'enterBlock'](p,q,null,s);};a.editor.prototype.insertText=function(p){this.focus();this.fire('saveSnapshot');var q=this.getSelection().getStartElement().hasAscendant('pre',true)?2:this.config.enterMode,r=q==2,s=this.document.$,t=this,u;p=e.htmlEncode(p.replace(/\r\n|\r/g,'\n'));var v=0;p.replace(/\n+/g,function(w,x){u=p.substring(v,x);v=x+w.length;u.length&&n(s,u);var y=w.length,z=r?0:Math.floor(y/2),A=r?y:y%2;o(t,q,z);o(t,2,A,r?false:true);});u=p.substring(v,p.length);u.length&&n(s,u);this.fire('saveSnapshot');};})();j.add('popup');e.extend(a.editor.prototype,{popup:function(m,n,o,p){n=n||'80%';o=o||'70%';if(typeof n=='string'&&n.length>1&&n.substr(n.length-1,1)=='%')n=parseInt(window.screen.width*parseInt(n,10)/100,10);if(typeof o=='string'&&o.length>1&&o.substr(o.length-1,1)=='%')o=parseInt(window.screen.height*parseInt(o,10)/100,10);if(n<640)n=640;if(o<420)o=420;var q=parseInt((window.screen.height-o)/2,10),r=parseInt((window.screen.width-n)/2,10);p=(p||'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes')+',width='+n+',height='+o+',top='+q+',left='+r;var s=window.open('',null,p,true);if(!s)return false;try{s.moveTo(r,q);s.resizeTo(n,o);s.focus();s.location.href=m;}catch(t){s=window.open(m,null,p,true);}return true;}});(function(){var m={modes:{wysiwyg:1,source:1},canUndo:false,exec:function(o){var p,q=o.config,r=q.baseHref?'<base href="'+q.baseHref+'"/>':'',s=b.isCustomDomain();if(q.fullPage)p=o.getData().replace(/<head>/,'$&'+r).replace(/[^>]*(?=<\/title>)/,o.lang.preview);else{var t='<body ',u=o.document&&o.document.getBody();if(u){if(u.getAttribute('id'))t+='id="'+u.getAttribute('id')+'" ';if(u.getAttribute('class'))t+='class="'+u.getAttribute('class')+'" ';}t+='>';p=o.config.docType+'<html dir="'+o.config.contentsLangDirection+'">'+'<head>'+r+'<title>'+o.lang.preview+'</title>'+e.buildStyleHtml(o.config.contentsCss)+'</head>'+t+o.getData()+'</body></html>';}var v=640,w=420,x=80;try{var y=window.screen;v=Math.round(y.width*0.8);w=Math.round(y.height*0.7);x=Math.round(y.width*0.1);}catch(B){}var z='';if(s){window._cke_htmlToLoad=p;z='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';\r
+}var A=window.open(z,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+v+',height='+w+',left='+x);if(!s){A.document.open();A.document.write(p);A.document.close();}}},n='preview';j.add(n,{init:function(o){o.addCommand(n,m);o.ui.addButton('Preview',{label:o.lang.preview,command:n});}});})();j.add('print',{init:function(m){var n='print',o=m.addCommand(n,j.print);m.ui.addButton('Print',{label:m.lang.print,command:n});}});j.print={exec:function(m){if(b.opera)return;else if(b.gecko)m.window.$.print();else m.document.$.execCommand('Print');},canUndo:false,modes:{wysiwyg:!b.opera}};j.add('removeformat',{requires:['selection'],init:function(m){m.addCommand('removeFormat',j.removeformat.commands.removeformat);m.ui.addButton('RemoveFormat',{label:m.lang.removeFormat,command:'removeFormat'});m._.removeFormat={filters:[]};}});j.removeformat={commands:{removeformat:{exec:function(m){var n=m._.removeFormatRegex||(m._.removeFormatRegex=new RegExp('^(?:'+m.config.removeFormatTags.replace(/,/g,'|')+')$','i')),o=m._.removeAttributes||(m._.removeAttributes=m.config.removeFormatAttributes.split(',')),p=j.removeformat.filter,q=m.getSelection().getRanges(1),r=q.createIterator(),s;while(s=r.getNextRange()){if(s.collapsed)continue;s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w=function(z){var A=new d.elementPath(z),B=A.elements;for(var C=1,D;D=B[C];C++){if(D.equals(A.block)||D.equals(A.blockLimit))break;if(n.test(D.getName())&&p(m,D))z.breakParent(D);}};w(u);w(v);var x=u.getNextSourceNode(true,1);while(x){if(x.equals(v))break;var y=x.getNextSourceNode(false,1);if(!(x.getName()=='img'&&x.getAttribute('_cke_realelement'))&&p(m,x))if(n.test(x.getName()))x.remove(1);else{x.removeAttributes(o);m.fire('removeFormatCleanup',x);}x=y;}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;p<o.length;p++){if(o[p](n)===false)return false;}return true;}};a.editor.prototype.addRemoveFormatFilter=function(m){this._.removeFormat.filters.push(m);};i.removeFormatTags='b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var';i.removeFormatAttributes='class,style,lang,width,height,align,hspace,valign';j.add('resize',{init:function(m){var n=m.config;!n.resize_dir&&(n.resize_dir='both');n.resize_maxWidth==undefined&&(n.resize_maxWidth=3000);n.resize_maxHeight==undefined&&(n.resize_maxHeight=3000);n.resize_minWidth==undefined&&(n.resize_minWidth=750);\r
+n.resize_minHeight==undefined&&(n.resize_minHeight=250);if(n.resize_enabled!==false){var o=null,p,q,r=(n.resize_dir=='both'||n.resize_dir=='horizontal')&&n.resize_minWidth!=n.resize_maxWidth,s=(n.resize_dir=='both'||n.resize_dir=='vertical')&&n.resize_minHeight!=n.resize_maxHeight;function t(w){var x=w.data.$.screenX-p.x,y=w.data.$.screenY-p.y,z=q.width,A=q.height,B=z+x*(m.lang.dir=='rtl'?-1:1),C=A+y;if(r)z=Math.max(n.resize_minWidth,Math.min(B,n.resize_maxWidth));if(s)A=Math.max(n.resize_minHeight,Math.min(C,n.resize_maxHeight));m.resize(z,A);};function u(w){a.document.removeListener('mousemove',t);a.document.removeListener('mouseup',u);if(m.document){m.document.removeListener('mousemove',t);m.document.removeListener('mouseup',u);}};var v=e.addFunction(function(w){if(!o)o=m.getResizable();q={width:o.$.offsetWidth||0,height:o.$.offsetHeight||0};p={x:w.screenX,y:w.screenY};n.resize_minWidth>q.width&&(n.resize_minWidth=q.width);n.resize_minHeight>q.height&&(n.resize_minHeight=q.height);a.document.on('mousemove',t);a.document.on('mouseup',u);if(m.document){m.document.on('mousemove',t);m.document.on('mouseup',u);}});m.on('destroy',function(){e.removeFunction(v);});m.on('themeSpace',function(w){if(w.data.space=='bottom'){var x='';if(r&&!s)x=' cke_resizer_horizontal';if(!r&&s)x=' cke_resizer_vertical';w.data.html+='<div class="cke_resizer'+x+'"'+' title="'+e.htmlEncode(m.lang.resize)+'"'+' onmousedown="CKEDITOR.tools.callFunction('+v+', event)"'+'></div>';}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},exec:function(o){var p=o.element.$.form;if(p)try{p.submit();}catch(q){if(p.submit.click)p.submit.click();}}},n='save';j.add(n,{init:function(o){var p=o.addCommand(n,m);p.modes={wysiwyg:!!o.element.$.form};o.ui.addButton('Save',{label:o.lang.save,command:n});}});})();(function(){var m='scaytcheck',n='';function o(t,u){var v=0,w;for(w in u){if(u[w]==t){v=1;break;}}return v;};var p=function(){var t=this,u=function(){var y=t.config,z={};z.srcNodeRef=t.document.getWindow().$.frameElement;z.assocApp='CKEDITOR.'+a.version+'@'+a.revision;z.customerid=y.scayt_customerid||'1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2';z.customDictionaryIds=y.scayt_customDictionaryIds||'';z.userDictionaryName=y.scayt_userDictionaryName||'';z.sLang=y.scayt_sLang||'en_US';z.onLoad=function(){if(!(c&&b.version<8))this.addStyle(this.selectorCss(),'padding-bottom: 2px !important;');if(t.focusManager.hasFocus&&!q.isControlRestored(t))this.focus();};z.onBeforeChange=function(){if(q.getScayt(t)&&!t.checkDirty())setTimeout(function(){t.resetDirty();\r
+},0);};var A=window.scayt_custom_params;if(typeof A=='object')for(var B in A)z[B]=A[B];if(q.getControlId(t))z.id=q.getControlId(t);var C=new window.scayt(z);C.afterMarkupRemove.push(function(J){new h(J,C.document).mergeSiblings();});var D=q.instances[t.name];if(D){C.sLang=D.sLang;C.option(D.option());C.paused=D.paused;}q.instances[t.name]=C;var E='scaytButton',F=window.scayt.uiTags,G=[];for(var H=0,I=4;H<I;H++)G.push(F[H]&&q.uiTabs[H]);q.uiTabs=G;try{C.setDisabled(q.isPaused(t)===false);}catch(J){}t.fire('showScaytState');};t.on('contentDom',u);t.on('contentDomUnload',function(){var y=a.document.getElementsByTag('script'),z=/^dojoIoScript(\d+)$/i,A=/^https?:\/\/svc\.spellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var B=0;B<y.count();B++){var C=y.getItem(B),D=C.getId(),E=C.getAttribute('src');if(D&&E&&D.match(z)&&E.match(A))C.remove();}});t.on('beforeCommandExec',function(y){if((y.data.name=='source'||y.data.name=='newpage')&&t.mode=='wysiwyg'){var z=q.getScayt(t);if(z){q.setPaused(t,!z.disabled);q.setControlId(t,z.id);z.destroy(true);delete q.instances[t.name];}}else if(y.data.name=='source'&&t.mode=='source')q.markControlRestore(t);});t.on('afterCommandExec',function(y){if(!q.isScaytEnabled(t))return;if(t.mode=='wysiwyg'&&(y.data.name=='undo'||y.data.name=='redo'))window.setTimeout(function(){q.getScayt(t).refresh();},10);});t.on('destroy',function(y){var z=y.editor,A=q.getScayt(z);if(!A)return;delete q.instances[z.name];q.setControlId(z,A.id);A.destroy(true);});t.on('afterSetData',function(){if(q.isScaytEnabled(t))window.setTimeout(function(){var y=q.getScayt(t);y&&y.refresh();},10);});t.on('insertElement',function(){var y=q.getScayt(t);if(q.isScaytEnabled(t)){if(c)t.getSelection().unlock(true);window.setTimeout(function(){y.focus();y.refresh();},10);}},this,null,50);t.on('insertHtml',function(){var y=q.getScayt(t);if(q.isScaytEnabled(t)){if(c)t.getSelection().unlock(true);window.setTimeout(function(){y.focus();y.refresh();},10);}},this,null,50);t.on('scaytDialog',function(y){y.data.djConfig=window.djConfig;y.data.scayt_control=q.getScayt(t);y.data.tab=n;y.data.scayt=window.scayt;});var v=t.dataProcessor,w=v&&v.htmlFilter;if(w)w.addRules({elements:{span:function(y){if(y.attributes.scayt_word&&y.attributes.scaytid){delete y.name;return y;}}}});var x=j.undo.Image.prototype;x.equals=e.override(x.equals,function(y){return function(z){var E=this;var A=E.contents,B=z.contents,C=q.getScayt(E.editor);if(C&&q.isScaytReady(E.editor)){E.contents=C.reset(A)||'';\r
+z.contents=C.reset(B)||'';}var D=y.apply(E,arguments);E.contents=A;z.contents=B;return D;};});if(t.document)u();};j.scayt={engineLoaded:false,instances:{},controlInfo:{},setControlInfo:function(t,u){if(t&&t.name&&typeof this.controlInfo[t.name]!='object')this.controlInfo[t.name]={};for(var v in u)this.controlInfo[t.name][v]=u[v];},isControlRestored:function(t){if(t&&t.name&&this.controlInfo[t.name])return this.controlInfo[t.name].restored;return false;},markControlRestore:function(t){this.setControlInfo(t,{restored:true});},setControlId:function(t,u){this.setControlInfo(t,{id:u});},getControlId:function(t){if(t&&t.name&&this.controlInfo[t.name]&&this.controlInfo[t.name].id)return this.controlInfo[t.name].id;return null;},setPaused:function(t,u){this.setControlInfo(t,{paused:u});},isPaused:function(t){if(t&&t.name&&this.controlInfo[t.name])return this.controlInfo[t.name].paused;return undefined;},getScayt:function(t){return this.instances[t.name];},isScaytReady:function(t){return this.engineLoaded===true&&'undefined'!==typeof window.scayt&&this.getScayt(t);},isScaytEnabled:function(t){var u=this.getScayt(t);return u?u.disabled===false:false;},loadEngine:function(t){if(b.gecko&&b.version<10900||b.opera)return t.fire('showScaytState');if(this.engineLoaded===true)return p.apply(t);else if(this.engineLoaded==-1)return a.on('scaytReady',function(){p.apply(t);});a.on('scaytReady',p,t);a.on('scaytReady',function(){this.engineLoaded=true;},this,null,0);this.engineLoaded=-1;var u=document.location.protocol;u=u.search(/https?:/)!=-1?u:'http:';var v='svc.spellchecker.net/scayt25/loader__base.js',w=t.config.scayt_srcUrl||u+'//'+v,x=q.parseUrl(w).path+'/';if(window.scayt==undefined){a._djScaytConfig={baseUrl:x,addOnLoad:[function(){a.fireOnce('scaytReady');}],isDebug:false};a.document.getHead().append(a.document.createElement('script',{attributes:{type:'text/javascript',async:'true',src:w}}));}else a.fireOnce('scaytReady');return null;},parseUrl:function(t){var u;if(t.match&&(u=t.match(/(.*)[\/\\](.*?\.\w+)$/)))return{path:u[1],file:u[2]};else return t;}};var q=j.scayt,r=function(t,u,v,w,x,y,z){t.addCommand(w,x);t.addMenuItem(w,{label:v,command:w,group:y,order:z});},s={preserveState:true,editorFocus:false,canUndo:false,exec:function(t){if(q.isScaytReady(t)){var u=q.isScaytEnabled(t);this.setState(u?2:1);var v=q.getScayt(t);v.focus();v.setDisabled(u);}else if(!t.config.scayt_autoStartup&&q.engineLoaded>=0){this.setState(0);q.loadEngine(t);}}};j.add('scayt',{requires:['menubutton'],beforeInit:function(t){var u=t.config.scayt_contextMenuItemsOrder||'suggest|moresuggest|control',v='';\r
+u=u.split('|');if(u&&u.length)for(var w=0;w<u.length;w++)v+='scayt_'+u[w]+(u.length!=parseInt(w,10)+1?',':'');t.config.menu_groups=v+','+t.config.menu_groups;},init:function(t){var u={},v={},w=t.addCommand(m,s);a.dialog.add(m,a.getUrl(this.path+'dialogs/options.js'));var x=t.config.scayt_uiTabs||'1,1,1',y=[];x=x.split(',');for(var z=0,A=3;z<A;z++){var B=parseInt(x[z]||'1',10);y.push(B);}var C='scaytButton';t.addMenuGroup(C);var D={},E=t.lang.scayt;D.scaytToggle={label:E.enable,command:m,group:C};if(y[0]==1)D.scaytOptions={label:E.options,group:C,onClick:function(){n='options';t.openDialog(m);}};if(y[1]==1)D.scaytLangs={label:E.langs,group:C,onClick:function(){n='langs';t.openDialog(m);}};if(y[2]==1)D.scaytDict={label:E.dictionariesTab,group:C,onClick:function(){n='dictionaries';t.openDialog(m);}};D.scaytAbout={label:t.lang.scayt.about,group:C,onClick:function(){n='about';t.openDialog(m);}};y[3]=1;q.uiTabs=y;t.addMenuItems(D);t.ui.add('Scayt',5,{label:E.title,title:b.opera?E.opera_title:E.title,className:'cke_button_scayt',onRender:function(){w.on('state',function(){this.setState(w.state);},this);},onMenu:function(){var G=q.isScaytEnabled(t);t.getMenuItem('scaytToggle').label=E[G?'disable':'enable'];return{scaytToggle:2,scaytOptions:G&&q.uiTabs[0]?2:0,scaytLangs:G&&q.uiTabs[1]?2:0,scaytDict:G&&q.uiTabs[2]?2:0,scaytAbout:G&&q.uiTabs[3]?2:0};}});if(t.contextMenu&&t.addMenuItems)t.contextMenu.addListener(function(G,H){if(!q.isScaytEnabled(t)||H.getCommonAncestor().isReadOnly())return null;var I=q.getScayt(t),J=I.getScaytNode();if(!J)return null;var K=I.getWord(J);if(!K)return null;var L=I.getLang(),M={},N=window.scayt.getSuggestion(K,L);if(!N||!N.length)return null;for(z in u){delete t._.menuItems[z];delete t._.commands[z];}for(z in v){delete t._.menuItems[z];delete t._.commands[z];}u={};v={};var O=t.config.scayt_moreSuggestions||'on',P=false,Q=t.config.scayt_maxSuggestions;typeof Q!='number'&&(Q=5);!Q&&(Q=N.length);var R=t.config.scayt_contextCommands||'all';R=R.split('|');for(var S=0,T=N.length;S<T;S+=1){var U='scayt_suggestion_'+N[S].replace(' ','_'),V=(function(Z,aa){return{exec:function(){I.replace(Z,aa);}};})(J,N[S]);if(S<Q){r(t,'button_'+U,N[S],U,V,'scayt_suggest',S+1);M[U]=2;v[U]=2;}else if(O=='on'){r(t,'button_'+U,N[S],U,V,'scayt_moresuggest',S+1);u[U]=2;P=true;}}if(P){t.addMenuItem('scayt_moresuggest',{label:E.moreSuggestions,group:'scayt_moresuggest',order:10,getItems:function(){return u;}});v.scayt_moresuggest=2;}if(o('all',R)||o('ignore',R)){var W={exec:function(){I.ignore(J);\r
+}};r(t,'ignore',E.ignore,'scayt_ignore',W,'scayt_control',1);v.scayt_ignore=2;}if(o('all',R)||o('ignoreall',R)){var X={exec:function(){I.ignoreAll(J);}};r(t,'ignore_all',E.ignoreAll,'scayt_ignore_all',X,'scayt_control',2);v.scayt_ignore_all=2;}if(o('all',R)||o('add',R)){var Y={exec:function(){window.scayt.addWordToUserDictionary(J);}};r(t,'add_word',E.addWord,'scayt_add_word',Y,'scayt_control',3);v.scayt_add_word=2;}if(I.fireOnContextMenu)I.fireOnContextMenu(t);return v;});var F=function(){t.removeListener('showScaytState',F);if(!b.opera)w.setState(q.isScaytEnabled(t)?1:2);else w.setState(0);};t.on('showScaytState',F);if(b.opera)t.on('instanceReady',function(){F();});if(t.config.scayt_autoStartup)t.on('instanceReady',function(){q.loadEngine(t);});},afterInit:function(t){var u,v=function(w){if(w.hasAttribute('scaytid'))return false;};if(t._.elementsPath&&(u=t._.elementsPath.filters))u.push(v);t.addRemoveFormatFilter&&t.addRemoveFormatFilter(v);}});})();j.add('smiley',{requires:['dialog'],init:function(m){m.config.smiley_path=m.config.smiley_path||this.path+'images/';m.addCommand('smiley',new a.dialogCommand('smiley'));m.ui.addButton('Smiley',{label:m.lang.smiley.toolbar,command:'smiley'});a.dialog.add('smiley',this.path+'dialogs/smiley.js');}});i.smiley_images=['regular_smile.gif','sad_smile.gif','wink_smile.gif','teeth_smile.gif','confused_smile.gif','tounge_smile.gif','embaressed_smile.gif','omg_smile.gif','whatchutalkingabout_smile.gif','angry_smile.gif','angel_smile.gif','shades_smile.gif','devil_smile.gif','cry_smile.gif','lightbulb.gif','thumbs_down.gif','thumbs_up.gif','heart.gif','broken_heart.gif','kiss.gif','envelope.gif'];i.smiley_descriptions=['smiley','sad','wink','laugh','frown','cheeky','blush','surprise','indecision','angry','angel','cool','devil','crying','enlightened','no','yes','heart','broken heart','kiss','mail'];(function(){var m='.%2 p,.%2 div,.%2 pre,.%2 address,.%2 blockquote,.%2 h1,.%2 h2,.%2 h3,.%2 h4,.%2 h5,.%2 h6{background-repeat: no-repeat;background-position: top %3;border: 1px dotted gray;padding-top: 8px;padding-%3: 8px;}.%2 p{%1p.png);}.%2 div{%1div.png);}.%2 pre{%1pre.png);}.%2 address{%1address.png);}.%2 blockquote{%1blockquote.png);}.%2 h1{%1h1.png);}.%2 h2{%1h2.png);}.%2 h3{%1h3.png);}.%2 h4{%1h4.png);}.%2 h5{%1h5.png);}.%2 h6{%1h6.png);}',n=/%1/g,o=/%2/g,p=/%3/g,q={preserveState:true,editorFocus:false,exec:function(r){this.toggleState();this.refresh(r);},refresh:function(r){var s=this.state==1?'addClass':'removeClass';\r
+r.document.getBody()[s]('cke_show_blocks');}};j.add('showblocks',{requires:['wysiwygarea'],init:function(r){var s=r.addCommand('showblocks',q);s.canUndo=false;if(r.config.startupOutlineBlocks)s.setState(1);r.addCss(m.replace(n,'background-image: url('+a.getUrl(this.path)+'images/block_').replace(o,'cke_show_blocks ').replace(p,r.lang.dir=='rtl'?'right':'left'));r.ui.addButton('ShowBlocks',{label:r.lang.showBlocks,command:'showblocks'});r.on('mode',function(){if(s.state!=0)s.refresh(r);});r.on('contentDom',function(){if(s.state!=0)s.refresh(r);});}});})();(function(){var m='cke_show_border',n,o=(b.ie6Compat?['.%1 table.%2,','.%1 table.%2 td, .%1 table.%2 th,','{','border : #d3d3d3 1px dotted','}']:['.%1 table.%2,','.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,','.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,','.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,','.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th','{','border : #d3d3d3 1px dotted','}']).join('');n=o.replace(/%2/g,m).replace(/%1/g,'cke_show_borders ');var p={preserveState:true,editorFocus:false,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){var r=this.state==1?'addClass':'removeClass';q.document.getBody()[r]('cke_show_borders');}};j.add('showborders',{requires:['wysiwygarea'],modes:{wysiwyg:1},init:function(q){var r=q.addCommand('showborders',p);r.canUndo=false;if(q.config.startupShowBorders!==false)r.setState(1);q.addCss(n);q.on('mode',function(){if(r.state!=0)r.refresh(q);},null,null,100);q.on('contentDom',function(){if(r.state!=0)r.refresh(q);});q.on('removeFormatCleanup',function(s){var t=s.data;if(q.getCommand('showborders').state==1&&t.is('table')&&(!t.hasAttribute('border')||parseInt(t.getAttribute('border'),10)<=0))t.addClass(m);});},afterInit:function(q){var r=q.dataProcessor,s=r&&r.dataFilter,t=r&&r.htmlFilter;if(s)s.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'],x=parseInt(v.border,10);if(!x||x<=0)v['class']=(w||'')+' '+m;}}});if(t)t.addRules({elements:{table:function(u){var v=u.attributes,w=v['class'];w&&(v['class']=w.replace(m,'').replace(/\s{2}/,' ').replace(/^\s+|\s+$/,''));}}});}});a.on('dialogDefinition',function(q){var r=q.data.name;if(r=='table'||r=='tableProperties'){var s=q.data.definition,t=s.getContents('info'),u=t.get('txtBorder'),v=u.commit;u.commit=e.override(v,function(y){return function(z,A){y.apply(this,arguments);var B=parseInt(this.getValue(),10);A[!B||B<=0?'addClass':'removeClass'](m);\r
+};});var w=s.getContents('advanced'),x=w&&w.get('advCSSClasses');if(x){x.setup=e.override(x.setup,function(y){return function(){y.apply(this,arguments);this.setValue(this.getValue().replace(/cke_show_border/,''));};});x.commit=e.override(x.commit,function(y){return function(z,A){y.apply(this,arguments);if(!parseInt(A.getAttribute('border'),10))A.addClass('cke_show_border');};});}}});})();j.add('sourcearea',{requires:['editingblock'],init:function(m){var n=j.sourcearea,o=a.document.getWindow();m.on('editingBlockReady',function(){var p,q;m.addMode('source',{load:function(r,s){if(c&&b.version<8)r.setStyle('position','relative');m.textarea=p=new h('textarea');p.setAttributes({dir:'ltr',tabIndex:b.webkit?-1:m.tabIndex,role:'textbox','aria-label':m.lang.editorTitle.replace('%1',m.name)});p.addClass('cke_source');p.addClass('cke_enable_context_menu');var t={width:b.ie7Compat?'99%':'100%',height:'100%',resize:'none',outline:'none','text-align':'left'};if(c){q=function(){p.hide();p.setStyle('height',r.$.clientHeight+'px');p.setStyle('width',r.$.clientWidth+'px');p.show();};m.on('resize',q);o.on('resize',q);setTimeout(q,0);}if(document.addEventListener)p.on('mousedown',function(v){v.data.stopPropagation();});r.setHtml('');r.append(p);p.setStyles(t);m.fire('ariaWidget',p);p.on('blur',function(){m.focusManager.blur();});p.on('focus',function(){m.focusManager.focus();});m.mayBeDirty=true;this.loadData(s);var u=m.keystrokeHandler;if(u)u.attach(p);setTimeout(function(){m.mode='source';m.fire('mode');},b.gecko||b.webkit?100:0);},loadData:function(r){p.setValue(r);m.fire('dataReady');},getData:function(){return p.getValue();},getSnapshotData:function(){return p.getValue();},unload:function(r){p.clearCustomData();m.textarea=p=null;if(q){m.removeListener('resize',q);o.removeListener('resize',q);}if(c&&b.version<8)r.removeStyle('position');},focus:function(){p.focus();}});});m.addCommand('source',n.commands.source);if(m.ui.addButton)m.ui.addButton('Source',{label:m.lang.source,command:'source'});m.on('mode',function(){m.getCommand('source').setState(m.mode=='source'?1:2);});}});j.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:false,exec:function(m){if(m.mode=='wysiwyg')m.fire('saveSnapshot');m.getCommand('source').setState(0);m.setMode(m.mode=='source'?'wysiwyg':'source');},canUndo:false}}};(function(){j.add('stylescombo',{requires:['richcombo','styles'],init:function(n){var o=n.config,p=n.lang.stylesCombo,q={},r=[];function s(t){n.getStylesSet(function(u){if(!r.length){var v,w;\r
+for(var x=0,y=u.length;x<y;x++){var z=u[x];w=z.name;v=q[w]=new a.style(z);v._name=w;v._.enterMode=o.enterMode;r.push(v);}r.sort(m);}t&&t();});};n.ui.addRichCombo('Styles',{label:p.label,title:p.panelTitle,className:'cke_styles',panel:{css:n.skin.editor.css.concat(o.contentsCss),multiSelect:true,attributes:{'aria-label':p.panelTitle}},init:function(){var t=this;s(function(){var u,v,w;for(var x=0,y=r.length;x<y;x++){u=r[x];v=u._name;var z=u.type;if(z!=w){t.startGroup(p['panelTitle'+String(z)]);w=z;}t.add(v,u.type==3?v:u.buildPreview(),v);}t.commit();t.onOpen();});},onClick:function(t){n.focus();n.fire('saveSnapshot');var u=q[t],v=n.getSelection(),w=new d.elementPath(v.getStartElement());if(u.type==2&&u.checkActive(w))u.remove(n.document);else if(u.type==3&&u.checkActive(w))u.remove(n.document);else u.apply(n.document);n.fire('saveSnapshot');},onRender:function(){n.on('selectionChange',function(t){var u=this.getValue(),v=t.data.path,w=v.elements;for(var x=0,y=w.length,z;x<y;x++){z=w[x];for(var A in q){if(q[A].checkElementRemovable(z,true)){if(A!=u)this.setValue(A);return;}}}this.setValue('');},this);},onOpen:function(){var A=this;if(c||b.webkit)n.focus();var t=n.getSelection(),u=t.getSelectedElement(),v=new d.elementPath(u||t.getStartElement()),w=[0,0,0,0];A.showAll();A.unmarkAll();for(var x in q){var y=q[x],z=y.type;if(y.checkActive(v))A.mark(x);else if(z==3&&!y.checkApplicable(v)){A.hideItem(x);w[z]--;}w[z]++;}if(!w[1])A.hideGroup(p['panelTitle'+String(1)]);if(!w[2])A.hideGroup(p['panelTitle'+String(2)]);if(!w[3])A.hideGroup(p['panelTitle'+String(3)]);}});n.on('instanceReady',function(){s();});}});function m(n,o){var p=n.type,q=o.type;return p==q?0:p==3?-1:q==3?1:q==1?1:-1;};})();j.add('table',{init:function(m){var n=j.table,o=m.lang.table;m.addCommand('table',new a.dialogCommand('table'));m.addCommand('tableProperties',new a.dialogCommand('tableProperties'));m.ui.addButton('Table',{label:o.toolbar,command:'table'});a.dialog.add('table',this.path+'dialogs/table.js');a.dialog.add('tableProperties',this.path+'dialogs/table.js');if(m.addMenuItems)m.addMenuItems({table:{label:o.menu,command:'tableProperties',group:'table',order:5},tabledelete:{label:o.deleteTable,command:'tableDelete',group:'table',order:1}});m.on('doubleclick',function(p){var q=p.data.element;if(q.is('table'))p.data.dialog='tableProperties';});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(!p||p.isReadOnly())return null;var r=p.hasAscendant('table',1);if(r)return{tabledelete:2,table:2};\r
+return null;});}});(function(){function m(G,H){if(c)G.removeAttribute(H);else delete G[H];};var n=/^(?:td|th)$/;function o(G){var H=G.createBookmarks(),I=G.getRanges(),J=[],K={};function L(T){if(J.length>0)return;if(T.type==1&&n.test(T.getName())&&!T.getCustomData('selected_cell')){h.setMarker(K,T,'selected_cell',true);J.push(T);}};for(var M=0;M<I.length;M++){var N=I[M];if(N.collapsed){var O=N.getCommonAncestor(),P=O.getAscendant('td',true)||O.getAscendant('th',true);if(P)J.push(P);}else{var Q=new d.walker(N),R;Q.guard=L;while(R=Q.next()){var S=R.getParent();if(S&&n.test(S.getName())&&!S.getCustomData('selected_cell')){h.setMarker(K,S,'selected_cell',true);J.push(S);}}}}h.clearAllMarkers(K);G.selectBookmarks(H);return J;};function p(G){var H=0,I=G.length-1,J={},K,L,M;while(K=G[H++])h.setMarker(J,K,'delete_cell',true);H=0;while(K=G[H++]){if((L=K.getPrevious())&&!L.getCustomData('delete_cell')||(L=K.getNext())&&!L.getCustomData('delete_cell')){h.clearAllMarkers(J);return L;}}h.clearAllMarkers(J);M=G[0].getParent();if(M=M.getPrevious())return M.getLast();M=G[I].getParent();if(M=M.getNext())return M.getChild(0);return null;};function q(G){var H=G.cells;for(var I=0;I<H.length;I++){H[I].innerHTML='';if(!c)new h(H[I]).appendBogus();}};function r(G,H){var I=G.getStartElement().getAscendant('tr');if(!I)return;var J=I.clone(1);H?J.insertBefore(I):J.insertAfter(I);q(J.$);};function s(G){if(G instanceof d.selection){var H=o(G),I=H.length,J=[],K,L,M;for(var N=0;N<I;N++){var O=H[N].getParent(),P=O.$.rowIndex;!N&&(L=P-1);J[P]=O;N==I-1&&(M=P+1);}var Q=O.getAscendant('table'),R=Q.$.rows,S=R.length;K=new h(M<S&&Q.$.rows[M]||L>0&&Q.$.rows[L]||Q.$.parentNode);for(N=J.length;N>=0;N--){if(J[N])s(J[N]);}return K;}else if(G instanceof h){Q=G.getAscendant('table');if(Q.$.rows.length==1)Q.remove();else G.remove();}return 0;};function t(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.getAscendant('table'),L=J.$.cellIndex;for(var M=0;M<K.$.rows.length;M++){var N=K.$.rows[M];if(N.cells.length<L+1)continue;J=new h(N.cells[L]).clone(0);if(!c)J.appendBogus();var O=new h(N.cells[L]);if(H)J.insertBefore(O);else J.insertAfter(O);}};function u(G){var H=[],I=G[0]&&G[0].getAscendant('table'),J,K,L,M;for(J=0,K=G.length;J<K;J++)H.push(G[J].$.cellIndex);H.sort();for(J=1,K=H.length;J<K;J++){if(H[J]-H[J-1]>1){L=H[J-1]+1;break;}}if(!L)L=H[0]>0?H[0]-1:H[H.length-1]+1;var N=I.$.rows;for(J=0,K=N.length;J<K;J++){M=N[J].cells[L];if(M)break;}return M?new h(M):I.getPrevious();\r
+};function v(G){if(G instanceof d.selection){var H=o(G),I=u(H);for(var J=H.length-1;J>=0;J--){if(H[J])v(H[J]);}return I;}else if(G instanceof h){var K=G.getAscendant('table');if(!K)return null;var L=G.$.cellIndex;for(J=K.$.rows.length-1;J>=0;J--){var M=new h(K.$.rows[J]);if(!L&&M.$.cells.length==1){s(M);continue;}if(M.$.cells[L])M.$.removeChild(M.$.cells[L]);}}return null;};function w(G,H){var I=G.getStartElement(),J=I.getAscendant('td',1)||I.getAscendant('th',1);if(!J)return;var K=J.clone();if(!c)K.appendBogus();if(H)K.insertBefore(J);else K.insertAfter(J);};function x(G){if(G instanceof d.selection){var H=o(G),I=H[0]&&H[0].getAscendant('table'),J=p(H);for(var K=H.length-1;K>=0;K--)x(H[K]);if(J)z(J,true);else if(I)I.remove();}else if(G instanceof h){var L=G.getParent();if(L.getChildCount()==1)L.remove();else G.remove();}};function y(G){var H=G.getBogus();H&&H.remove();G.trim();};function z(G,H){var I=new d.range(G.getDocument());if(!I['moveToElementEdit'+(H?'End':'Start')](G)){I.selectNodeContents(G);I.collapse(H?false:true);}I.select(true);};function A(G,H,I){var J=G[H];if(typeof I=='undefined')return J;for(var K=0;J&&K<J.length;K++){if(I.is&&J[K]==I.$)return K;else if(K==I)return new h(J[K]);}return I.is?-1:null;};function B(G,H,I){var J=[];for(var K=0;K<G.length;K++){var L=G[K];if(typeof I=='undefined')J.push(L[H]);else if(I.is&&L[H]==I.$)return K;else if(K==I)return new h(L[H]);}return typeof I=='undefined'?J:I.is?-1:null;};function C(G,H,I){var J=o(G),K;if((H?J.length!=1:J.length<2)||(K=G.getCommonAncestor())&&K.type==1&&K.is('table'))return false;var L,M=J[0],N=M.getAscendant('table'),O=e.buildTableMap(N),P=O.length,Q=O[0].length,R=M.getParent().$.rowIndex,S=A(O,R,M);if(H){var T;try{T=O[H=='up'?R-1:H=='down'?R+1:R][H=='left'?S-1:H=='right'?S+1:S];}catch(al){return false;}if(!T||M.$==T)return false;J[H=='up'||H=='left'?'unshift':'push'](new h(T));}var U=M.getDocument(),V=R,W=0,X=0,Y=!I&&new d.documentFragment(U),Z=0;for(var aa=0;aa<J.length;aa++){L=J[aa];var ab=L.getParent(),ac=L.getFirst(),ad=L.$.colSpan,ae=L.$.rowSpan,af=ab.$.rowIndex,ag=A(O,af,L);Z+=ad*ae;X=Math.max(X,ag-S+ad);W=Math.max(W,af-R+ae);if(!I){if(y(L),L.getChildren().count()){if(af!=V&&ac&&!(ac.isBlockBoundary&&ac.isBlockBoundary({br:1}))){var ah=Y.getLast(d.walker.whitespaces(true));if(ah&&!(ah.is&&ah.is('br')))Y.append(new h('br'));}L.moveChildren(Y);}aa?L.remove():L.setHtml('');}V=af;}if(!I){Y.moveChildren(M);if(!c)M.appendBogus();if(X>=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=W;\r
+if(W>=P)M.removeAttribute('colSpan');else M.$.colSpan=X;var ai=new d.nodeList(N.$.rows),aj=ai.count();for(aa=aj-1;aa>=0;aa--){var ak=ai.getItem(aa);if(!ak.$.cells.length){ak.remove();aj++;continue;}}return M;}else return W*X==Z;};function D(G,H){var I=o(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.rowSpan,Q,R,S,T;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);T=N+R;var U=new h(L.$.rows[T]),V=A(M,T),W;Q=J.clone();for(var X=0;X<V.length;X++){W=V[X];if(W.parentNode==U.$&&X>O){Q.insertBefore(new h(W));break;}else W=null;}if(!W)U.append(Q,true);}else{S=R=1;U=K.clone();U.insertAfter(K);U.append(Q=J.clone());var Y=A(M,N);for(var Z=0;Z<Y.length;Z++)Y[Z].rowSpan++;}if(!c)Q.appendBogus();J.$.rowSpan=R;Q.$.rowSpan=S;if(R==1)J.removeAttribute('rowSpan');if(S==1)Q.removeAttribute('rowSpan');return Q;};function E(G,H){var I=o(G);if(I.length>1)return false;else if(H)return true;var J=I[0],K=J.getParent(),L=K.getAscendant('table'),M=e.buildTableMap(L),N=K.$.rowIndex,O=A(M,N,J),P=J.$.colSpan,Q,R,S;if(P>1){R=Math.ceil(P/2);S=Math.floor(P/2);}else{S=R=1;var T=B(M,O);for(var U=0;U<T.length;U++)T[U].colSpan++;}Q=J.clone();Q.insertAfter(J);if(!c)Q.appendBogus();J.$.colSpan=R;Q.$.colSpan=S;if(R==1)J.removeAttribute('colSpan');if(S==1)Q.removeAttribute('colSpan');return Q;};var F={thead:1,tbody:1,tfoot:1,td:1,tr:1,th:1};j.tabletools={init:function(G){var H=G.lang.table;G.addCommand('cellProperties',new a.dialogCommand('cellProperties'));a.dialog.add('cellProperties',this.path+'dialogs/tableCell.js');G.addCommand('tableDelete',{exec:function(I){var J=I.getSelection(),K=J&&J.getStartElement(),L=K&&K.getAscendant('table',1);if(!L)return;J.selectElement(L);var M=J.getRanges()[0];M.collapse();J.selectRanges([M]);var N=L.getParent();if(N.getChildCount()==1&&!N.is('body','td','th'))N.remove();else L.remove();}});G.addCommand('rowDelete',{exec:function(I){var J=I.getSelection();z(s(J));}});G.addCommand('rowInsertBefore',{exec:function(I){var J=I.getSelection();r(J,true);}});G.addCommand('rowInsertAfter',{exec:function(I){var J=I.getSelection();r(J);}});G.addCommand('columnDelete',{exec:function(I){var J=I.getSelection(),K=v(J);K&&z(K,true);}});G.addCommand('columnInsertBefore',{exec:function(I){var J=I.getSelection();t(J,true);}});G.addCommand('columnInsertAfter',{exec:function(I){var J=I.getSelection();t(J);}});G.addCommand('cellDelete',{exec:function(I){var J=I.getSelection();x(J);\r
+}});G.addCommand('cellMerge',{exec:function(I){z(C(I.getSelection()),true);}});G.addCommand('cellMergeRight',{exec:function(I){z(C(I.getSelection(),'right'),true);}});G.addCommand('cellMergeDown',{exec:function(I){z(C(I.getSelection(),'down'),true);}});G.addCommand('cellVerticalSplit',{exec:function(I){z(D(I.getSelection()));}});G.addCommand('cellHorizontalSplit',{exec:function(I){z(E(I.getSelection()));}});G.addCommand('cellInsertBefore',{exec:function(I){var J=I.getSelection();w(J,true);}});G.addCommand('cellInsertAfter',{exec:function(I){var J=I.getSelection();w(J);}});if(G.addMenuItems)G.addMenuItems({tablecell:{label:H.cell.menu,group:'tablecell',order:1,getItems:function(){var I=G.getSelection(),J=o(I);return{tablecell_insertBefore:2,tablecell_insertAfter:2,tablecell_delete:2,tablecell_merge:C(I,null,true)?2:0,tablecell_merge_right:C(I,'right',true)?2:0,tablecell_merge_down:C(I,'down',true)?2:0,tablecell_split_vertical:D(I,true)?2:0,tablecell_split_horizontal:E(I,true)?2:0,tablecell_properties:J.length>0?2:0};}},tablecell_insertBefore:{label:H.cell.insertBefore,group:'tablecell',command:'cellInsertBefore',order:5},tablecell_insertAfter:{label:H.cell.insertAfter,group:'tablecell',command:'cellInsertAfter',order:10},tablecell_delete:{label:H.cell.deleteCell,group:'tablecell',command:'cellDelete',order:15},tablecell_merge:{label:H.cell.merge,group:'tablecell',command:'cellMerge',order:16},tablecell_merge_right:{label:H.cell.mergeRight,group:'tablecell',command:'cellMergeRight',order:17},tablecell_merge_down:{label:H.cell.mergeDown,group:'tablecell',command:'cellMergeDown',order:18},tablecell_split_horizontal:{label:H.cell.splitHorizontal,group:'tablecell',command:'cellHorizontalSplit',order:19},tablecell_split_vertical:{label:H.cell.splitVertical,group:'tablecell',command:'cellVerticalSplit',order:20},tablecell_properties:{label:H.cell.title,group:'tablecellproperties',command:'cellProperties',order:21},tablerow:{label:H.row.menu,group:'tablerow',order:1,getItems:function(){return{tablerow_insertBefore:2,tablerow_insertAfter:2,tablerow_delete:2};}},tablerow_insertBefore:{label:H.row.insertBefore,group:'tablerow',command:'rowInsertBefore',order:5},tablerow_insertAfter:{label:H.row.insertAfter,group:'tablerow',command:'rowInsertAfter',order:10},tablerow_delete:{label:H.row.deleteRow,group:'tablerow',command:'rowDelete',order:15},tablecolumn:{label:H.column.menu,group:'tablecolumn',order:1,getItems:function(){return{tablecolumn_insertBefore:2,tablecolumn_insertAfter:2,tablecolumn_delete:2};\r
+}},tablecolumn_insertBefore:{label:H.column.insertBefore,group:'tablecolumn',command:'columnInsertBefore',order:5},tablecolumn_insertAfter:{label:H.column.insertAfter,group:'tablecolumn',command:'columnInsertAfter',order:10},tablecolumn_delete:{label:H.column.deleteColumn,group:'tablecolumn',command:'columnDelete',order:15}});if(G.contextMenu)G.contextMenu.addListener(function(I,J){if(!I||I.isReadOnly())return null;while(I){if(I.getName() in F)return{tablecell:2,tablerow:2,tablecolumn:2};I=I.getParent();}return null;});},getSelectedCells:o};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;q<n.length;q++){o++;!p[o]&&(p[o]=[]);var r=-1;for(var s=0;s<n[q].cells.length;s++){var t=n[q].cells[s];r++;while(p[o][r])r++;var u=isNaN(t.colSpan)?1:t.colSpan,v=isNaN(t.rowSpan)?1:t.rowSpan;for(var w=0;w<v;w++){if(!p[o+w])p[o+w]=[];for(var x=0;x<u;x++)p[o+w][r+x]=n[q].cells[s];}r+=u-1;}}return p;};j.add('specialchar',{init:function(m){var n='specialchar';a.dialog.add(n,this.path+'dialogs/specialchar.js');m.addCommand(n,new a.dialogCommand(n));m.ui.addButton('SpecialChar',{label:m.lang.specialChar.toolbar,command:n});}});(function(){var m={editorFocus:false,modes:{wysiwyg:1,source:1}},n={exec:function(q){q.container.focusNext(true,q.tabIndex);}},o={exec:function(q){q.container.focusPrevious(true,q.tabIndex);}};function p(q){return{editorFocus:false,canUndo:false,modes:{wysiwyg:1},exec:function(r){if(r.focusManager.hasFocus){var s=r.getSelection(),t=s.getCommonAncestor(),u;if(u=t.getAscendant('td',true)||t.getAscendant('th',true)){var v=new d.range(r.document),w=e.tryThese(function(){var D=u.getParent(),E=D.$.cells[u.$.cellIndex+(q?-1:1)];E.parentNode.parentNode;return E;},function(){var D=u.getParent(),E=D.getAscendant('table'),F=E.$.rows[D.$.rowIndex+(q?-1:1)];return F.cells[q?F.cells.length-1:0];});if(!(w||q)){var x=u.getAscendant('table').$,y=u.getParent().$.cells,z=new h(x.insertRow(-1),r.document);for(var A=0,B=y.length;A<B;A++){var C=z.append(new h(y[A],r.document).clone(false,false));!c&&C.appendBogus();}v.moveToElementEditStart(z);}else if(w){w=new h(w);v.moveToElementEditStart(w);if(!(v.checkStartOfBlock()&&v.checkEndOfBlock()))v.selectNodeContents(w);}else return true;v.select(true);return true;}}return false;}};};j.add('tab',{requires:['keystrokes'],init:function(q){var r=q.config.enableTabKeyTools!==false,s=q.config.tabSpaces||0,t='';while(s--)t+='\xa0';if(t)q.on('key',function(u){if(u.data.keyCode==9){q.insertHtml(t);\r
+u.cancel();}});if(r)q.on('key',function(u){if(u.data.keyCode==9&&q.execCommand('selectNextCell')||u.data.keyCode==2000+9&&q.execCommand('selectPreviousCell'))u.cancel();});if(b.webkit||b.gecko)q.on('key',function(u){var v=u.data.keyCode;if(v==9&&!t){u.cancel();q.execCommand('blur');}if(v==2000+9){q.execCommand('blurBack');u.cancel();}});q.addCommand('blur',e.extend(n,m));q.addCommand('blurBack',e.extend(o,m));q.addCommand('selectNextCell',p());q.addCommand('selectPreviousCell',p(true));}});})();h.prototype.focusNext=function(m,n){var w=this;var o=w.$,p=n===undefined?w.getTabIndex():n,q,r,s,t,u,v;if(p<=0){u=w.getNextSourceNode(m,1);while(u){if(u.isVisible()&&u.getTabIndex()===0){s=u;break;}u=u.getNextSourceNode(false,1);}}else{u=w.getDocument().getBody().getFirst();while(u=u.getNextSourceNode(false,1)){if(!q)if(!r&&u.equals(w)){r=true;if(m){if(!(u=u.getNextSourceNode(true,1)))break;q=1;}}else if(r&&!w.contains(u))q=1;if(!u.isVisible()||(v=u.getTabIndex())<0)continue;if(q&&v==p){s=u;break;}if(v>p&&(!s||!t||v<t)){s=u;t=v;}else if(!s&&v===0){s=u;t=v;}}}if(s)s.focus();};h.prototype.focusPrevious=function(m,n){var w=this;var o=w.$,p=n===undefined?w.getTabIndex():n,q,r,s,t=0,u,v=w.getDocument().getBody().getLast();while(v=v.getPreviousSourceNode(false,1)){if(!q)if(!r&&v.equals(w)){r=true;if(m){if(!(v=v.getPreviousSourceNode(true,1)))break;q=1;}}else if(r&&!w.contains(v))q=1;if(!v.isVisible()||(u=v.getTabIndex())<0)continue;if(p<=0){if(q&&u===0){s=v;break;}if(u>t){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(u<p&&(!s||u>t)){s=v;t=u;}}}if(s)s.focus();};(function(){j.add('templates',{requires:['dialog'],init:function(o){a.dialog.add('templates',a.getUrl(this.path+'dialogs/templates.js'));o.addCommand('templates',new a.dialogCommand('templates'));o.ui.addButton('Templates',{label:o.lang.templates.button,command:'templates'});}});var m={},n={};a.addTemplates=function(o,p){m[o]=p;};a.getTemplates=function(o){return m[o];};a.loadTemplates=function(o,p){var q=[];for(var r=0,s=o.length;r<s;r++){if(!n[o[r]]){q.push(o[r]);n[o[r]]=1;}}if(q.length)a.scriptLoader.load(q,p);else setTimeout(p,0);};})();i.templates_files=[a.getUrl('plugins/templates/templates/default.js')];i.templates_replaceContent=true;(function(){var m=function(){this.toolbars=[];this.focusCommandExecuted=false;};m.prototype.focus=function(){for(var o=0,p;p=this.toolbars[o++];)for(var q=0,r;r=p.items[q++];){if(r.focus){r.focus();return;}}};var n={toolbarFocus:{modes:{wysiwyg:1,source:1},exec:function(o){if(o.toolbox){o.toolbox.focusCommandExecuted=true;\r
+if(c)setTimeout(function(){o.toolbox.focus();},100);else o.toolbox.focus();}}}};j.add('toolbar',{init:function(o){var p=function(q,r){var s,t,u,v=o.lang.dir=='rtl';switch(r){case v?37:39:case 9:do{s=q.next;if(!s){t=q.toolbar.next;u=t&&t.items.length;while(u===0){t=t.next;u=t&&t.items.length;}if(t)s=t.items[0];}q=s;}while(q&&!q.focus)if(q)q.focus();else o.toolbox.focus();return false;case v?39:37:case 2000+9:do{s=q.previous;if(!s){t=q.toolbar.previous;u=t&&t.items.length;while(u===0){t=t.previous;u=t&&t.items.length;}if(t)s=t.items[u-1];}q=s;}while(q&&!q.focus)if(q)q.focus();else{var w=o.toolbox.toolbars[o.toolbox.toolbars.length-1].items;w[w.length-1].focus();}return false;case 27:o.focus();return false;case 13:case 32:q.execute();return false;}return true;};o.on('themeSpace',function(q){if(q.data.space==o.config.toolbarLocation){o.toolbox=new m();var r=e.getNextId(),s=['<div class="cke_toolbox" role="toolbar" aria-labelledby="',r,'"'],t=o.config.toolbarStartupExpanded!==false,u;s.push(t?'>':' style="display:none">');s.push('<span id="',r,'" class="cke_voice_label">',o.lang.toolbar,'</span>');var v=o.toolbox.toolbars,w=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var x=0;x<w.length;x++){var y=w[x];if(!y)continue;var z=e.getNextId(),A={id:z,items:[]};if(u){s.push('</div>');u=0;}if(y==='/'){s.push('<div class="cke_break"></div>');continue;}s.push('<span id="',z,'" class="cke_toolbar" role="presentation"><span class="cke_toolbar_start"></span>');var B=v.push(A)-1;if(B>0){A.previous=v[B-1];A.previous.next=A;}for(var C=0;C<y.length;C++){var D,E=y[C];if(E=='-')D=k.separator;else D=o.ui.create(E);if(D){if(D.canGroup){if(!u){s.push('<span class="cke_toolgroup" role="presentation">');u=1;}}else if(u){s.push('</span>');u=0;}var F=D.render(o,s);B=A.items.push(F)-1;if(B>0){F.previous=A.items[B-1];F.previous.next=F;}F.toolbar=A;F.onkey=p;F.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(u){s.push('</span>');u=0;}s.push('<span class="cke_toolbar_end"></span></span>');}s.push('</div>');if(o.config.toolbarCanCollapse){var G=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(G);});var H=e.getNextId();o.addCommand('toolbarCollapse',{exec:function(I){var J=a.document.getById(H),K=J.getPrevious(),L=I.getThemeSpace('contents'),M=K.getParent(),N=parseInt(L.$.style.height,10),O=M.$.offsetHeight,P=!K.isVisible();if(!P){K.hide();J.addClass('cke_toolbox_collapser_min');\r
+J.setAttribute('title',I.lang.toolbarExpand);}else{K.show();J.removeClass('cke_toolbox_collapser_min');J.setAttribute('title',I.lang.toolbarCollapse);}J.getFirst().setText(P?'▲':'◀');var Q=M.$.offsetHeight-O;L.setStyle('height',N-Q+'px');I.fire('resize');},modes:{wysiwyg:1,source:1}});s.push('<a title="'+(t?o.lang.toolbarCollapse:o.lang.toolbarExpand)+'" id="'+H+'" tabIndex="-1" class="cke_toolbox_collapser');if(!t)s.push(' cke_toolbox_collapser_min');s.push('" onclick="CKEDITOR.tools.callFunction('+G+')">','<span>&#9650;</span>','</a>');}q.data.html+=s.join('');}});o.addCommand('toolbarFocus',n.toolbarFocus);}});})();k.separator={render:function(m,n){n.push('<span class="cke_separator" role="separator"></span>');return{};}};i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[['Source','-','Save','NewPage','Preview','-','Templates'],['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print','SpellChecker','Scayt'],['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],'/',['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],['BidiLtr','BidiRtl'],['Link','Unlink','Anchor'],['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],'/',['Styles','Format','Font','FontSize'],['TextColor','BGColor'],['Maximize','ShowBlocks','-','About']];i.toolbar='Full';i.toolbarCanCollapse=true;(function(){j.add('undo',{requires:['selection','wysiwygarea'],init:function(s){var t=new o(s),u=s.addCommand('undo',{exec:function(){if(t.undo()){s.selectionChange();this.fire('afterUndo');}},state:0,canUndo:false}),v=s.addCommand('redo',{exec:function(){if(t.redo()){s.selectionChange();this.fire('afterRedo');}},state:0,canUndo:false});t.onChange=function(){u.setState(t.undoable()?2:0);v.setState(t.redoable()?2:0);};function w(x){if(t.enabled&&x.data.command.canUndo!==false)t.save();};s.on('beforeCommandExec',w);s.on('afterCommandExec',w);s.on('saveSnapshot',function(){t.save();});s.on('contentDom',function(){s.document.on('keydown',function(x){if(!x.data.$.ctrlKey&&!x.data.$.metaKey)t.type(x);});});s.on('beforeModeUnload',function(){s.mode=='wysiwyg'&&t.save(true);});s.on('mode',function(){t.enabled=s.mode=='wysiwyg';\r
+t.onChange();});s.ui.addButton('Undo',{label:s.lang.undo,command:'undo'});s.ui.addButton('Redo',{label:s.lang.redo,command:'redo'});s.resetUndo=function(){t.reset();s.fire('saveSnapshot');};s.on('updateSnapshot',function(){if(t.currentImage&&new m(s).equals(t.currentImage))setTimeout(function(){t.update();},0);});}});j.undo={};var m=j.undo.Image=function(s){this.editor=s;var t=s.getSnapshot(),u=t&&s.getSelection();c&&t&&(t=t.replace(/\s+_cke_expando=".*?"/g,''));this.contents=t;this.bookmarks=u&&u.createBookmarks2(true);},n=/\b(?:href|src|name)="[^"]*?"/gi;m.prototype={equals:function(s,t){var u=this.contents,v=s.contents;if(c&&(b.ie7Compat||b.ie6Compat)){u=u.replace(n,'');v=v.replace(n,'');}if(u!=v)return false;if(t)return true;var w=this.bookmarks,x=s.bookmarks;if(w||x){if(!w||!x||w.length!=x.length)return false;for(var y=0;y<w.length;y++){var z=w[y],A=x[y];if(z.startOffset!=A.startOffset||z.endOffset!=A.endOffset||!e.arrayCompare(z.start,A.start)||!e.arrayCompare(z.end,A.end))return false;}}return true;}};function o(s){this.editor=s;this.reset();};var p={8:1,46:1},q={16:1,17:1,18:1},r={37:1,38:1,39:1,40:1};o.prototype={type:function(s){var t=s&&s.data.getKey(),u=t in q,v=t in p,w=this.lastKeystroke in p,x=v&&t==this.lastKeystroke,y=t in r,z=this.lastKeystroke in r,A=!v&&!y,B=v&&!x,C=!(u||this.typing)||A&&(w||z);if(C||B){var D=new m(this.editor);e.setTimeout(function(){var F=this;var E=F.editor.getSnapshot();if(c)E=E.replace(/\s+_cke_expando=".*?"/g,'');if(D.contents!=E){F.typing=true;if(!F.save(false,D,false))F.snapshots.splice(F.index+1,F.snapshots.length-F.index-1);F.hasUndo=true;F.hasRedo=false;F.typesCount=1;F.modifiersCount=1;F.onChange();}},0,this);}this.lastKeystroke=t;if(v){this.typesCount=0;this.modifiersCount++;if(this.modifiersCount>25){this.save(false,null,false);this.modifiersCount=1;}}else if(!y){this.modifiersCount=0;this.typesCount++;if(this.typesCount>25){this.save(false,null,false);this.typesCount=1;}}},reset:function(){var s=this;s.lastKeystroke=0;s.snapshots=[];s.index=-1;s.limit=s.editor.config.undoStackSize||20;s.currentImage=null;s.hasUndo=false;s.hasRedo=false;s.resetType();},resetType:function(){var s=this;s.typing=false;delete s.lastKeystroke;s.typesCount=0;s.modifiersCount=0;},fireChange:function(){var s=this;s.hasUndo=!!s.getNextImage(true);s.hasRedo=!!s.getNextImage(false);s.resetType();s.onChange();},save:function(s,t,u){var w=this;var v=w.snapshots;if(!t)t=new m(w.editor);if(t.contents===false)return false;if(w.currentImage&&t.equals(w.currentImage,s))return false;\r
+v.splice(w.index+1,v.length-w.index-1);if(v.length==w.limit)v.shift();w.index=v.push(t)-1;w.currentImage=t;if(u!==false)w.fireChange();return true;},restoreImage:function(s){var u=this;u.editor.loadSnapshot(s.contents);if(s.bookmarks)u.editor.getSelection().selectBookmarks(s.bookmarks);else if(c){var t=u.editor.document.getBody().$.createTextRange();t.collapse(true);t.select();}u.index=s.index;u.update();u.fireChange();},getNextImage:function(s){var x=this;var t=x.snapshots,u=x.currentImage,v,w;if(u)if(s)for(w=x.index-1;w>=0;w--){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}else for(w=x.index+1;w<t.length;w++){v=t[w];if(!u.equals(v,true)){v.index=w;return v;}}return null;},redoable:function(){return this.enabled&&this.hasRedo;},undoable:function(){return this.enabled&&this.hasUndo;},undo:function(){var t=this;if(t.undoable()){t.save(true);var s=t.getNextImage(true);if(s)return t.restoreImage(s),true;}return false;},redo:function(){var t=this;if(t.redoable()){t.save(true);if(t.redoable()){var s=t.getNextImage(false);if(s)return t.restoreImage(s),true;}}return false;},update:function(){var s=this;s.snapshots.splice(s.index,1,s.currentImage=new m(s.editor));}};})();(function(){var m={table:1,pre:1},n=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,o=d.walker.whitespaces(true);function p(B){if(B.getType()==3)return B.getSelectedElement().isReadOnly();else return B.getCommonAncestor().isReadOnly();};function q(B){if(this.mode=='wysiwyg'){this.focus();var C=this.getSelection();if(p(C))return;var D=B.data;this.fire('saveSnapshot');if(this.dataProcessor)D=this.dataProcessor.toHtml(D);if(c){var E=C.isLocked;if(E)C.unlock();var F=C.getNative();if(F.type=='Control')F.clear();else if(C.getType()==2){var G=C.getRanges()[0],H=G&&G.endContainer;if(H&&H.type==1&&H.getAttribute('contenteditable')=='false'&&G.checkBoundaryOfElement(H,2)){G.setEndAfter(G.endContainer);G.deleteContents();}}try{F.createRange().pasteHTML(D);}catch(J){}if(E)this.getSelection().lock();}else this.document.$.execCommand('inserthtml',false,D);if(b.webkit){this.document.$.execCommand('inserthtml',false,'<span id="cke_paste_marker" cke_temp="1"></span>');var I=this.document.getById('cke_paste_marker');I.scrollIntoView();I.remove();I=null;}e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function r(B){if(this.mode=='wysiwyg'){this.focus();var C=this.getSelection();if(p(C))return;this.fire('saveSnapshot');var D=C.getRanges(),E=B.data,F=E.getName(),G=f.$block[F],H=C.isLocked;\r
+if(H)C.unlock();var I,J,K,L;for(var M=D.length-1;M>=0;M--){I=D[M];I.deleteContents();J=!M&&E||E.clone(1);var N,O;if(G)while((N=I.getCommonAncestor(0,1))&&(O=f[N.getName()])&&!(O&&O[F])){if(N.getName() in f.span)I.splitElement(N);else if(I.checkStartOfBlock()&&I.checkEndOfBlock()){I.setStartBefore(N);I.collapse(true);N.remove();}else I.splitBlock();}I.insertNode(J);if(!K)K=J;}I.moveToPosition(K,4);if(G){var P=K.getNext(o),Q=P&&P.type==1&&P.getName();if(Q&&f.$block[Q]&&f[Q]['#'])I.moveToElementEditStart(P);}C.selectRanges([I]);if(H)this.getSelection().lock();e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};function s(B){if(!B.checkDirty())setTimeout(function(){B.resetDirty();},0);};var t=d.walker.whitespaces(true),u=d.walker.bookmark(false,true);function v(B){return t(B)&&u(B);};function w(B){return B.type==3&&e.trim(B.getText()).match(/^(?:&nbsp;|\xa0)$/);};function x(B){if(B.isLocked){B.unlock();setTimeout(function(){B.lock();},0);}};function y(B){return B.getOuterHtml().match(n);};t=d.walker.whitespaces(true);function z(B){var C=B.window,D=B.document,E=B.document.getBody(),F=E.getChildren().count();if(!F||F==1&&E.getFirst().hasAttribute('_moz_editor_bogus_node')){s(B);var G=B.element.getDocument(),H=G.getDocumentElement(),I=H.$.scrollTop,J=H.$.scrollLeft,K=D.$.createEvent('KeyEvents');K.initKeyEvent('keypress',true,true,C.$,false,false,false,false,0,32);D.$.dispatchEvent(K);if(I!=H.$.scrollTop||J!=H.$.scrollLeft)G.getWindow().$.scrollTo(J,I);F&&E.getFirst().remove();D.getBody().appendBogus();var L=new d.range(D);L.setStartAt(E,1);L.select();}};function A(B){var C=B.editor,D=B.data.path,E=D.blockLimit,F=B.data.selection,G=F.getRanges()[0],H=C.document.getBody(),I=C.config.enterMode;b.gecko&&z(C);if(I!=2&&G.collapsed&&E.getName()=='body'&&!D.block){C.fire('updateSnapshot');s(C);c&&x(F);var J=G.fixBlock(true,C.config.enterMode==3?'div':'p');if(c){var K=J.getFirst(v);K&&w(K)&&K.remove();}if(y(J)){var L=J.getNext(t);if(L&&L.type==1&&!m[L.getName()]){G.moveToElementEditStart(L);J.remove();}else{L=J.getPrevious(t);if(L&&L.type==1&&!m[L.getName()]){G.moveToElementEditEnd(L);J.remove();}}}G.select();if(!c)C.selectionChange();}var M=new d.range(C.document),N=new d.walker(M);M.selectNodeContents(H);N.evaluator=function(P){return P.type==1&&P.getName() in m;};N.guard=function(P,Q){return!(P.type==3&&t(P)||Q);};if(N.previous()){C.fire('updateSnapshot');s(C);c&&x(F);var O;if(I!=2)O=H.append(new h(I==1?'p':'div'));else O=H;if(!c)O.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(B){var C=B.config.enterMode!=2?B.config.enterMode==3?'div':'p':false,D=B.lang.editorTitle.replace('%1',B.name),E;\r
+B.on('editingBlockReady',function(){var K,L,M,N,O,P,Q=b.isCustomDomain(),R=function(U){if(L)L.remove();var V='document.open();'+(Q?'document.domain="'+document.domain+'";':'')+'document.close();';L=h.createFromHtml('<iframe style="width:100%;height:100%" frameBorder="0" title="'+D+'"'+' src="'+(c?'javascript:void(function(){'+encodeURIComponent(V)+'}())':'')+'"'+' tabIndex="'+(b.webkit?-1:B.tabIndex)+'"'+' allowTransparency="true"'+'></iframe>');if(document.location.protocol=='chrome:')a.event.useCapture=true;L.on('load',function(Z){O=1;Z.removeListener();var aa=L.getFrameDocument().$;aa.open('text/html','replace');aa.write(U);aa.close();});if(document.location.protocol=='chrome:')a.event.useCapture=false;var W=B.element,X=b.gecko&&!W.isVisible(),Y={};if(X){W.show();Y={position:W.getStyle('position'),top:W.getStyle('top')};W.setStyles({position:'absolute',top:'-3000px'});}K.append(L);if(X)setTimeout(function(){W.hide();W.setStyles(Y);},1000);};E=e.addFunction(T);var S='<script id="cke_actscrpt" type="text/javascript" cke_temp="1">'+(Q?'document.domain="'+document.domain+'";':'')+'window.parent.CKEDITOR.tools.callFunction( '+E+', window );'+'</script>';function T(U){if(!O)return;O=0;B.fire('ariaWidget',L);var V=U.document,W=V.body,X=V.getElementById('cke_actscrpt');X.parentNode.removeChild(X);W.spellcheck=!B.config.disableNativeSpellChecker;if(c){W.hideFocus=true;W.disabled=true;W.contentEditable=true;W.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)V.$.body.contentEditable=true;else if(b.webkit)V.$.body.parentNode.contentEditable=true;else V.$.designMode='on';},0);b.gecko&&e.setTimeout(z,0,null,B);U=B.window=new d.window(U);V=B.document=new g(V);V.on('dblclick',function(ac){var ad=ac.data.getTarget(),ae={element:ad,dialog:''};B.fire('doubleclick',ae);ae.dialog&&B.openDialog(ae.dialog);});if(!(c||b.opera))V.on('mousedown',function(ac){var ad=ac.data.getTarget();if(ad.is('img','hr','input','textarea','select'))B.getSelection().selectElement(ad);});if(b.gecko)V.on('mouseup',function(ac){if(ac.data.$.button==2){var ad=ac.data.getTarget();if(!ad.getOuterHtml().replace(n,'')){var ae=new d.range(V);ae.moveToElementEditStart(ad);ae.select(true);}}});V.on('click',function(ac){ac=ac.data;if(ac.getTarget().is('a')&&ac.$.button!=2)ac.preventDefault();});if(b.webkit){V.on('click',function(ac){if(ac.data.getTarget().is('input','select'))ac.data.preventDefault();});V.on('mouseup',function(ac){if(ac.data.getTarget().is('input','textarea'))ac.data.preventDefault();\r
+});}if(c&&V.$.compatMode=='CSS1Compat'||b.gecko||b.opera){var Y=V.getDocumentElement();Y.on('mousedown',function(ac){if(ac.data.getTarget().equals(Y)){if(b.gecko&&b.version>=10900)I();J.focus();}});}U.on('blur',function(){B.focusManager.blur();});var Z;U.on('focus',function(){var ac=B.document;if(b.gecko&&b.version>=10900)I();else if(b.opera)ac.getBody().focus();else if(b.webkit)if(!Z){B.document.getDocumentElement().focus();Z=1;}B.focusManager.focus();});var aa=B.keystrokeHandler;if(aa)aa.attach(V);if(c){V.getDocumentElement().addClass(V.$.compatMode);V.on('keydown',function(ac){var ad=ac.data.getKeystroke();if(ad in {8:1,46:1}){var ae=B.getSelection(),af=ae.getSelectedElement();if(af){B.fire('saveSnapshot');var ag=ae.getRanges()[0].createBookmark();af.remove();ae.selectBookmarks([ag]);B.fire('saveSnapshot');ac.data.preventDefault();}}});if(V.$.compatMode=='CSS1Compat'){var ab={33:1,34:1};V.on('keydown',function(ac){if(ac.data.getKeystroke() in ab)setTimeout(function(){B.getSelection().scrollIntoView();},0);});}}if(B.contextMenu)B.contextMenu.addTarget(V,B.config.browserContextMenuOnCtrl!==false);setTimeout(function(){B.fire('contentDom');if(P){B.mode='wysiwyg';B.fire('mode');P=false;}M=false;if(N){B.focus();N=false;}setTimeout(function(){B.fire('dataReady');},0);try{B.document.$.execCommand('enableObjectResizing',false,!B.config.disableObjectResizing);}catch(ac){}try{B.document.$.execCommand('enableInlineTableEditing',false,!B.config.disableNativeTableHandles);}catch(ad){}if(c)setTimeout(function(){if(B.document){var ae=B.document.$.body;ae.runtimeStyle.marginBottom='0px';ae.runtimeStyle.marginBottom='';}},1000);},0);};B.addMode('wysiwyg',{load:function(U,V,W){K=U;if(c&&b.quirks)U.setStyle('position','relative');B.mayBeDirty=true;P=true;if(W)this.loadSnapshotData(V);else this.loadData(V);},loadData:function(U){M=true;var V=B.config,W=V.fullPage,X=V.docType,Y='<style type="text/css" cke_temp="1">'+B._.styles.join('\n')+'</style>';!W&&(Y=e.buildStyleHtml(B.config.contentsCss)+Y);var Z=V.baseHref?'<base href="'+V.baseHref+'" cke_temp="1" />':'';if(W)U=U.replace(/<!DOCTYPE[^>]*>/i,function(aa){B.docType=X=aa;return '';});if(B.dataProcessor)U=B.dataProcessor.toHtml(U,C);if(W){if(!/<body[\s|>]/.test(U))U='<body>'+U;if(!/<html[\s|>]/.test(U))U='<html>'+U+'</html>';if(!/<head[\s|>]/.test(U))U=U.replace(/<html[^>]*>/,'$&<head><title></title></head>');else if(!/<title[\s|>]/.test(U))U=U.replace(/<head[^>]*>/,'$&<title></title>');Z&&(U=U.replace(/<head>/,'$&'+Z));U=U.replace(/<\/head\s*>/,Y+'$&');\r
+U=X+U;}else U=V.docType+'<html dir="'+V.contentsLangDirection+'"'+' lang="'+(V.contentsLanguage||B.langCode)+'">'+'<head>'+'<title>'+D+'</title>'+Z+Y+'</head>'+'<body'+(V.bodyId?' id="'+V.bodyId+'"':'')+(V.bodyClass?' class="'+V.bodyClass+'"':'')+'>'+U+'</html>';U+=S;this.onDispose();R(U);},getData:function(){var U=B.config,V=U.fullPage,W=V&&B.docType,X=L.getFrameDocument(),Y=V?X.getDocumentElement().getOuterHtml():X.getBody().getHtml();if(B.dataProcessor)Y=B.dataProcessor.toDataFormat(Y,C);if(U.ignoreEmptyParagraph)Y=Y.replace(n,function(Z,aa){return aa;});if(W)Y=W+'\n'+Y;return Y;},getSnapshotData:function(){return L.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(U){L.getFrameDocument().getBody().setHtml(U);},onDispose:function(){if(!B.document)return;B.document.getDocumentElement().clearCustomData();B.document.getBody().clearCustomData();B.window.clearCustomData();B.document.clearCustomData();L.clearCustomData();L.remove();},unload:function(U){this.onDispose();B.window=B.document=L=K=N=null;B.fire('contentDomUnload');},focus:function(){if(M)N=true;else if(b.opera&&B.document){var U=B.window.$.frameElement;U.blur(),U.focus();B.document.getBody().focus();B.selectionChange();}else if(!b.opera&&B.window){B.window.focus();B.selectionChange();}}});B.on('insertHtml',q,null,null,20);B.on('insertElement',r,null,null,20);B.on('selectionChange',A,null,null,1);});var F;B.on('contentDom',function(){var K=B.document.getElementsByTag('title').getItem(0);K.setAttribute('_cke_title',B.document.$.title);B.document.$.title=D;});if(b.ie8Compat){B.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var G=[];for(var H in f.$removeEmpty)G.push('html.CSS1Compat '+H+'[contenteditable=false]');B.addCss(G.join(',')+'{ display:inline-block;}');}else if(b.gecko)B.addCss('html { height: 100% !important; }');function I(K){e.tryThese(function(){B.document.$.designMode='on';setTimeout(function(){B.document.$.designMode='off';if(a.currentInstance==B)B.document.getBody().focus();},50);},function(){B.document.$.designMode='off';var L=B.document.getBody();L.setAttribute('contentEditable',false);L.setAttribute('contentEditable',true);!K&&I(1);});};if(b.gecko||c||b.opera){var J;B.on('uiReady',function(){J=B.container.append(h.createFromHtml('<span tabindex="-1" style="position:absolute; left:-10000" role="presentation"></span>'));J.on('focus',function(){B.focus();});});B.on('destroy',function(){e.removeFunction(E);J.clearCustomData();});}B.on('insertElement',function(K){var L=K.data;\r
+if(L.type==1&&(L.is('input')||L.is('textarea')))if(!L.isReadOnly()){L.setAttribute('contentEditable',false);L.setCustomData('_cke_notReadOnly',1);}});}});if(b.gecko)(function(){var B=document.body;if(!B)window.addEventListener('load',arguments.callee,false);else{var C=B.getAttribute('onpageshow');B.setAttribute('onpageshow',(C?C+';':'')+'event.persisted && (function(){'+'var allInstances = CKEDITOR.instances, editor, doc;'+'for ( var i in allInstances )'+'{'+'\teditor = allInstances[ i ];'+'\tdoc = editor.document;'+'\tif ( doc )'+'\t{'+'\t\tdoc.$.designMode = "off";'+'\t\tdoc.$.designMode = "on";'+'\t}'+'}'+'})();');}})();})();i.disableObjectResizing=false;i.disableNativeTableHandles=true;i.disableNativeSpellChecker=true;i.ignoreEmptyParagraph=true;j.add('wsc',{requires:['dialog'],init:function(m){var n='checkspell',o=m.addCommand(n,new a.dialogCommand(n));o.modes={wysiwyg:!b.opera&&document.domain==window.location.hostname};m.ui.addButton('SpellChecker',{label:m.lang.spellCheck.toolbar,command:n});a.dialog.add(n,this.path+'dialogs/wsc.js');}});i.wsc_customerId=i.wsc_customerId||'1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk';i.wsc_customLoaderScript=i.wsc_customLoaderScript||null;a.DIALOG_RESIZE_NONE=0;a.DIALOG_RESIZE_WIDTH=1;a.DIALOG_RESIZE_HEIGHT=2;a.DIALOG_RESIZE_BOTH=3;(function(){var m=e.cssLength;function n(P){return!!this._.tabs[P][0].$.offsetHeight;};function o(){var T=this;var P=T._.currentTabId,Q=T._.tabIdList.length,R=e.indexOf(T._.tabIdList,P)+Q;for(var S=R-1;S>R-Q;S--){if(n.call(T,T._.tabIdList[S%Q]))return T._.tabIdList[S%Q];}return null;};function p(){var T=this;var P=T._.currentTabId,Q=T._.tabIdList.length,R=e.indexOf(T._.tabIdList,P);for(var S=R+1;S<R+Q;S++){if(n.call(T,T._.tabIdList[S%Q]))return T._.tabIdList[S%Q];}return null;};function q(P,Q){var R=P.$.getElementsByTagName('input');for(var S=0,T=R.length;S<T;S++){var U=new h(R[S]);if(U.getAttribute('type').toLowerCase()=='text')if(Q){U.setAttribute('value',U.getCustomData('fake_value')||'');U.removeCustomData('fake_value');}else{U.setCustomData('fake_value',U.getAttribute('value'));U.setAttribute('value','');}}};a.dialog=function(P,Q){var R=a.dialog._.dialogDefinitions[Q];R=e.extend(R(P),s);R=e.clone(R);R=new w(this,R);var S=a.document,T=P.theme.buildDialog(P);this._={editor:P,element:T.element,name:Q,contentSize:{width:0,height:0},size:{width:0,height:0},updateSize:false,contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:false,focusList:[],currentFocusIndex:0,hasFocus:false};\r
+this.parts=T.parts;e.setTimeout(function(){P.fire('ariaWidget',this.parts.contents);},0,this);this.parts.dialog.setStyles({position:b.ie6Compat?'absolute':'fixed',top:0,left:0,visibility:'hidden'});a.event.call(this);this.definition=R=a.fire('dialogDefinition',{name:Q,definition:R},P).definition;if(R.onLoad)this.on('load',R.onLoad);if(R.onShow)this.on('show',R.onShow);if(R.onHide)this.on('hide',R.onHide);if(R.onOk)this.on('ok',function(ag){P.fire('saveSnapshot');setTimeout(function(){P.fire('saveSnapshot');},0);if(R.onOk.call(this,ag)===false)ag.data.hide=false;});if(R.onCancel)this.on('cancel',function(ag){if(R.onCancel.call(this,ag)===false)ag.data.hide=false;});var U=this,V=function(ag){var ah=U._.contents,ai=false;for(var aj in ah)for(var ak in ah[aj]){ai=ag.call(this,ah[aj][ak]);if(ai)return;}};this.on('ok',function(ag){V(function(ah){if(ah.validate){var ai=ah.validate(this);if(typeof ai=='string'){alert(ai);ai=false;}if(ai===false){if(ah.select)ah.select();else ah.focus();ag.data.hide=false;ag.stop();return true;}}});},this,null,0);this.on('cancel',function(ag){V(function(ah){if(ah.isChanged()){if(!confirm(P.lang.common.confirmCancel))ag.data.hide=false;return true;}});},this,null,0);this.parts.close.on('click',function(ag){if(this.fire('cancel',{hide:true}).hide!==false)this.hide();ag.data.preventDefault();},this);function W(){var ag=U._.focusList;ag.sort(function(aj,ak){if(aj.tabIndex!=ak.tabIndex)return ak.tabIndex-aj.tabIndex;else return aj.focusIndex-ak.focusIndex;});var ah=ag.length;for(var ai=0;ai<ah;ai++)ag[ai].focusIndex=ai;};function X(ag){var ah=U._.focusList,ai=ag?1:-1;if(ah.length<1)return;var aj=U._.currentFocusIndex;try{ah[aj].getInputElement().$.blur();}catch(am){}var ak=(aj+ai+ah.length)%ah.length,al=ak;while(!ah[al].isFocusable()){al=(al+ai+ah.length)%ah.length;if(al==ak)break;}ah[al].focus();if(ah[al].type=='text')ah[al].select();};this.changeFocus=X;var Y;function Z(ag){var al=this;if(U!=a.dialog._.currentTop)return;var ah=ag.data.getKeystroke(),ai=P.lang.dir=='rtl';Y=0;if(ah==9||ah==2000+9){var aj=ah==2000+9;if(U._.tabBarMode){var ak=aj?o.call(U):p.call(U);U.selectPage(ak);U._.tabs[ak][0].focus();}else X(!aj);Y=1;}else if(ah==4000+121&&!U._.tabBarMode&&U.getPageCount()>1){U._.tabBarMode=true;U._.tabs[U._.currentTabId][0].focus();Y=1;}else if((ah==37||ah==39)&&U._.tabBarMode){ak=ah==(ai?39:37)?o.call(U):p.call(U);U.selectPage(ak);U._.tabs[ak][0].focus();Y=1;}else if((ah==13||ah==32)&&U._.tabBarMode){al.selectPage(al._.currentTabId);\r
+al._.tabBarMode=false;al._.currentFocusIndex=-1;X(true);Y=1;}if(Y){ag.stop();ag.data.preventDefault();}};function aa(ag){Y&&ag.data.preventDefault();};var ab=this._.element;this.on('show',function(){ab.on('keydown',Z,this,null,0);if(b.opera||b.gecko&&b.mac)ab.on('keypress',aa,this);});this.on('hide',function(){ab.removeListener('keydown',Z);if(b.opera||b.gecko&&b.mac)ab.removeListener('keypress',aa);});this.on('iframeAdded',function(ag){var ah=new g(ag.data.iframe.$.contentWindow.document);ah.on('keydown',Z,this,null,0);});this.on('show',function(){var ak=this;W();if(P.config.dialog_startupFocusTab&&U._.pageCount>1){U._.tabBarMode=true;U._.tabs[U._.currentTabId][0].focus();}else if(!ak._.hasFocus){ak._.currentFocusIndex=-1;if(R.onFocus){var ag=R.onFocus.call(ak);ag&&ag.focus();}else X(true);if(ak._.editor.mode=='wysiwyg'&&c){var ah=P.document.$.selection,ai=ah.createRange();if(ai)if(ai.parentElement&&ai.parentElement().ownerDocument==P.document.$||ai.item&&ai.item(0).ownerDocument==P.document.$){var aj=document.body.createTextRange();aj.moveToElementText(ak.getElement().getFirst().$);aj.collapse(true);aj.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(ag){var ah=this.getElement(),ai=ah.getFirst();ai.remove();ai.appendTo(ah);},this);y(this);z(this);new d.text(R.title,a.document).appendTo(this.parts.title);for(var ac=0;ac<R.contents.length;ac++){var ad=R.contents[ac];ad&&this.addPage(ad);}this.parts.tabs.on('click',function(ag){var aj=this;var ah=ag.data.getTarget();if(ah.hasClass('cke_dialog_tab')){var ai=ah.$.id;aj.selectPage(ai.substring(4,ai.lastIndexOf('_')));if(aj._.tabBarMode){aj._.tabBarMode=false;aj._.currentFocusIndex=-1;X(true);}ag.data.preventDefault();}},this);var ae=[],af=a.dialog._.uiElementBuilders.hbox.build(this,{type:'hbox',className:'cke_dialog_footer_buttons',widths:[],children:R.buttons},ae).getChild();this.parts.footer.setHtml(ae.join(''));for(ac=0;ac<af.length;ac++)this._.buttons[af[ac].id]=af[ac];};function r(P,Q,R){this.element=Q;this.focusIndex=R;this.tabIndex=0;this.isFocusable=function(){return!Q.getAttribute('disabled')&&Q.isVisible();};this.focus=function(){P._.currentFocusIndex=this.focusIndex;this.element.focus();};Q.on('keydown',function(S){if(S.data.getKeystroke() in {32:1,13:1})this.fire('click');});Q.on('focus',function(){this.fire('mouseover');});Q.on('blur',function(){this.fire('mouseout');});};a.dialog.prototype={destroy:function(){this.hide();this._.element.remove();},resize:(function(){return function(P,Q){var R=this;\r
+if(R._.contentSize&&R._.contentSize.width==P&&R._.contentSize.height==Q)return;a.dialog.fire('resize',{dialog:R,skin:R._.editor.skinName,width:P,height:Q},R._.editor);R._.contentSize={width:P,height:Q};R._.updateSize=true;};})(),getSize:function(){var R=this;if(!R._.updateSize)return R._.size;var P=R._.element.getFirst(),Q=R._.size={width:P.$.offsetWidth||0,height:P.$.offsetHeight||0};R._.updateSize=!Q.width||!Q.height;return Q;},move:(function(){var P;return function(Q,R){var U=this;var S=U._.element.getFirst();if(P===undefined)P=S.getComputedStyle('position')=='fixed';if(P&&U._.position&&U._.position.x==Q&&U._.position.y==R)return;U._.position={x:Q,y:R};if(!P){var T=a.document.getWindow().getScrollPosition();Q+=T.x;R+=T.y;}S.setStyles({left:(Q>0?Q:0)+'px',top:(R>0?R:0)+'px'});};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var P=this._.editor;if(P.mode=='wysiwyg'&&c){var Q=P.getSelection();Q&&Q.lock();}var R=this._.element,S=this.definition;if(!(R.getParent()&&R.getParent().equals(a.document.getBody())))R.appendTo(a.document.getBody());else R.setStyle('display','block');if(b.gecko&&b.version<10900){var T=this.parts.dialog;T.setStyle('position','absolute');setTimeout(function(){T.setStyle('position','fixed');},0);}this.resize(S.minWidth,S.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);if(a.dialog._.currentZIndex===null)a.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex;this._.element.getFirst().setStyle('z-index',a.dialog._.currentZIndex+=10);if(a.dialog._.currentTop===null){a.dialog._.currentTop=this;this._.parentDialog=null;D(this._.editor);R.on('keydown',H);R.on(b.opera?'keypress':'keyup',I);for(var U in {keyup:1,keydown:1,keypress:1})R.on(U,O);}else{this._.parentDialog=a.dialog._.currentTop;var V=this._.parentDialog.getElement().getFirst();V.$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2);a.dialog._.currentTop=this;}J(this,this,'\x1b',null,function(){this.getButton('cancel')&&this.getButton('cancel').click();});this._.hasFocus=false;e.setTimeout(function(){var W=a.document.getWindow().getViewPaneSize(),X=this.getSize();this.move((W.width-S.minWidth)/2,(W.height-X.height)/2);this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(Y){Y.setInitValue&&Y.setInitValue();});},100,this);},foreach:function(P){var S=this;for(var Q in S._.contents)for(var R in S._.contents[Q])P(S._.contents[Q][R]);\r
+return S;},reset:(function(){var P=function(Q){if(Q.reset)Q.reset(1);};return function(){this.foreach(P);return this;};})(),setupContent:function(){var P=arguments;this.foreach(function(Q){if(Q.setup)Q.setup.apply(Q,P);});},commitContent:function(){var P=arguments;this.foreach(function(Q){if(Q.commit)Q.commit.apply(Q,P);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);var P=this._.element;P.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');K(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)E();else{var Q=this._.parentDialog.getElement().getFirst();Q.setStyle('z-index',parseInt(Q.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;P.removeListener('keydown',H);P.removeListener(b.opera?'keypress':'keyup',I);for(var R in {keyup:1,keydown:1,keypress:1})P.removeListener(R,O);var S=this._.editor;S.focus();if(S.mode=='wysiwyg'&&c){var T=S.getSelection();T&&T.unlock(true);}}else a.dialog._.currentZIndex-=10;delete this._.parentDialog;this.foreach(function(U){U.resetInitValue&&U.resetInitValue();});},addPage:function(P){var ab=this;var Q=[],R=P.label?' title="'+e.htmlEncode(P.label)+'"':'',S=P.elements,T=a.dialog._.uiElementBuilders.vbox.build(ab,{type:'vbox',className:'cke_dialog_page_contents',children:P.elements,expand:!!P.expand,padding:P.padding,style:P.style||'width: 100%; height: 100%;'},Q),U=h.createFromHtml(Q.join(''));U.setAttribute('role','tabpanel');var V=b,W='cke_'+P.id+'_'+e.getNextNumber(),X=h.createFromHtml(['<a class="cke_dialog_tab"',ab._.pageCount>0?' cke_last':'cke_first',R,!!P.hidden?' style="display:none"':'',' id="',W,'"',V.gecko&&V.version>=10900&&!V.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',P.label,'</a>'].join(''));U.setAttribute('aria-labelledby',W);ab._.tabs[P.id]=[X,U];ab._.tabIdList.push(P.id);!P.hidden&&ab._.pageCount++;ab._.lastTab=X;ab.updateStyle();var Y=ab._.contents[P.id]={},Z,aa=T.getChild();while(Z=aa.shift()){Y[Z.id]=Z;if(typeof Z.getChild=='function')aa.push.apply(aa,Z.getChild());}U.setAttribute('name',P.id);U.appendTo(ab.parts.contents);X.unselectable();ab.parts.tabs.append(X);if(P.accessKey){J(ab,ab,'CTRL+'+P.accessKey,M,L);ab._.accessKeyMap['CTRL+'+P.accessKey]=P.id;}},selectPage:function(P){if(this._.currentTabId==P)return;\r
+if(this.fire('selectPage',{page:P,currentPage:this._.currentTabId})===true)return;for(var Q in this._.tabs){var R=this._.tabs[Q][0],S=this._.tabs[Q][1];if(Q!=P){R.removeClass('cke_dialog_tab_selected');S.hide();}S.setAttribute('aria-hidden',Q!=P);}var T=this._.tabs[P];T[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){q(T[1]);T[1].show();setTimeout(function(){q(T[1],1);},0);}else T[1].show();this._.currentTabId=P;this._.currentTabIndex=e.indexOf(this._.tabIdList,P);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(P){var R=this;var Q=R._.tabs[P]&&R._.tabs[P][0];if(!Q||R._.pageCount==1)return;else if(P==R._.currentTabId)R.selectPage(o.call(R));Q.hide();R._.pageCount--;R.updateStyle();},showPage:function(P){var R=this;var Q=R._.tabs[P]&&R._.tabs[P][0];if(!Q)return;Q.show();R._.pageCount++;R.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(P,Q){var R=this._.contents[P];return R&&R[Q];},getValueOf:function(P,Q){return this.getContentElement(P,Q).getValue();},setValueOf:function(P,Q,R){return this.getContentElement(P,Q).setValue(R);},getButton:function(P){return this._.buttons[P];},click:function(P){return this._.buttons[P].click();},disableButton:function(P){return this._.buttons[P].disable();},enableButton:function(P){return this._.buttons[P].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement();},addFocusable:function(P,Q){var S=this;if(typeof Q=='undefined'){Q=S._.focusList.length;S._.focusList.push(new r(S,P,Q));}else{S._.focusList.splice(Q,0,new r(S,P,Q));for(var R=Q+1;R<S._.focusList.length;R++)S._.focusList[R].focusIndex++;}}};e.extend(a.dialog,{add:function(P,Q){if(!this._.dialogDefinitions[P]||typeof Q=='function')this._.dialogDefinitions[P]=Q;},exists:function(P){return!!this._.dialogDefinitions[P];},getCurrent:function(){return a.dialog._.currentTop;},okButton:(function(){var P=function(Q,R){R=R||{};return e.extend({id:'ok',type:'button',label:Q.lang.common.ok,'class':'cke_dialog_ui_button_ok',onClick:function(S){var T=S.data.dialog;if(T.fire('ok',{hide:true}).hide!==false)T.hide();}},R,true);};P.type='button';P.override=function(Q){return e.extend(function(R){return P(R,Q);},{type:'button'},true);};return P;})(),cancelButton:(function(){var P=function(Q,R){R=R||{};\r
+return e.extend({id:'cancel',type:'button',label:Q.lang.common.cancel,'class':'cke_dialog_ui_button_cancel',onClick:function(S){var T=S.data.dialog;if(T.fire('cancel',{hide:true}).hide!==false)T.hide();}},R,true);};P.type='button';P.override=function(Q){return e.extend(function(R){return P(R,Q);},{type:'button'},true);};return P;})(),addUIElement:function(P,Q){this._.uiElementBuilders[P]=Q;}});a.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};a.event.implementOn(a.dialog);a.event.implementOn(a.dialog.prototype,true);var s={resizable:3,minWidth:600,minHeight:400,buttons:[a.dialog.okButton,a.dialog.cancelButton]};b.mac&&s.buttons.reverse();var t=function(P,Q,R){for(var S=0,T;T=P[S];S++){if(T.id==Q)return T;if(R&&T[R]){var U=t(T[R],Q,R);if(U)return U;}}return null;},u=function(P,Q,R,S,T){if(R){for(var U=0,V;V=P[U];U++){if(V.id==R){P.splice(U,0,Q);return Q;}if(S&&V[S]){var W=u(V[S],Q,R,S,true);if(W)return W;}}if(T)return null;}P.push(Q);return Q;},v=function(P,Q,R){for(var S=0,T;T=P[S];S++){if(T.id==Q)return P.splice(S,1);if(R&&T[R]){var U=v(T[R],Q,R);if(U)return U;}}return null;},w=function(P,Q){this.dialog=P;var R=Q.contents;for(var S=0,T;T=R[S];S++)R[S]=T&&new x(P,T);e.extend(this,Q);};w.prototype={getContents:function(P){return t(this.contents,P);},getButton:function(P){return t(this.buttons,P);},addContents:function(P,Q){return u(this.contents,P,Q);},addButton:function(P,Q){return u(this.buttons,P,Q);},removeContents:function(P){v(this.contents,P);},removeButton:function(P){v(this.buttons,P);}};function x(P,Q){this._={dialog:P};e.extend(this,Q);};x.prototype={get:function(P){return t(this.elements,P,'children');},add:function(P,Q){return u(this.elements,P,Q,'children');},remove:function(P){v(this.elements,P,'children');}};function y(P){var Q=null,R=null,S=P.getElement().getFirst(),T=P.getParentEditor(),U=T.config.dialog_magnetDistance,V=T.skin.margins||[0,0,0,0];if(typeof U=='undefined')U=20;function W(Y){var Z=P.getSize(),aa=a.document.getWindow().getViewPaneSize(),ab=Y.data.$.screenX,ac=Y.data.$.screenY,ad=ab-Q.x,ae=ac-Q.y,af,ag;Q={x:ab,y:ac};R.x+=ad;R.y+=ae;if(R.x+V[3]<U)af=-V[3];else if(R.x-V[1]>aa.width-Z.width-U)af=aa.width-Z.width+V[1];else af=R.x;if(R.y+V[0]<U)ag=-V[0];else if(R.y-V[2]>aa.height-Z.height-U)ag=aa.height-Z.height+V[2];else ag=R.y;P.move(af,ag);Y.data.preventDefault();};function X(Y){a.document.removeListener('mousemove',W);a.document.removeListener('mouseup',X);if(b.ie6Compat){var Z=C.getChild(0).getFrameDocument();\r
+Z.removeListener('mousemove',W);Z.removeListener('mouseup',X);}};P.parts.title.on('mousedown',function(Y){P._.updateSize=true;Q={x:Y.data.$.screenX,y:Y.data.$.screenY};a.document.on('mousemove',W);a.document.on('mouseup',X);R=P.getPosition();if(b.ie6Compat){var Z=C.getChild(0).getFrameDocument();Z.on('mousemove',W);Z.on('mouseup',X);}Y.data.preventDefault();},P);};function z(P){var Q=P.definition,R=Q.minWidth||0,S=Q.minHeight||0,T=Q.resizable,U=P.getParentEditor().skin.margins||[0,0,0,0];function V(ag,ah){ag.y+=ah;};function W(ag,ah){ag.x2+=ah;};function X(ag,ah){ag.y2+=ah;};function Y(ag,ah){ag.x+=ah;};var Z=null,aa=null,ab=P._.editor.config.magnetDistance,ac=['tl','t','tr','l','r','bl','b','br'];function ad(ag){var ah=ag.listenerData.part,ai=P.getSize();aa=P.getPosition();e.extend(aa,{x2:aa.x+ai.width,y2:aa.y+ai.height});Z={x:ag.data.$.screenX,y:ag.data.$.screenY};a.document.on('mousemove',ae,P,{part:ah});a.document.on('mouseup',af,P,{part:ah});if(b.ie6Compat){var aj=C.getChild(0).getFrameDocument();aj.on('mousemove',ae,P,{part:ah});aj.on('mouseup',af,P,{part:ah});}ag.data.preventDefault();};function ae(ag){var ah=ag.data.$.screenX,ai=ag.data.$.screenY,aj=ah-Z.x,ak=ai-Z.y,al=a.document.getWindow().getViewPaneSize(),am=ag.listenerData.part;if(am.search('t')!=-1)V(aa,ak);if(am.search('l')!=-1)Y(aa,aj);if(am.search('b')!=-1)X(aa,ak);if(am.search('r')!=-1)W(aa,aj);Z={x:ah,y:ai};var an,ao,ap,aq;if(aa.x+U[3]<ab)an=-U[3];else if(am.search('l')!=-1&&aa.x2-aa.x<R+ab)an=aa.x2-R;else an=aa.x;if(aa.y+U[0]<ab)ao=-U[0];else if(am.search('t')!=-1&&aa.y2-aa.y<S+ab)ao=aa.y2-S;else ao=aa.y;if(aa.x2-U[1]>al.width-ab)ap=al.width+U[1];else if(am.search('r')!=-1&&aa.x2-aa.x<R+ab)ap=aa.x+R;else ap=aa.x2;if(aa.y2-U[2]>al.height-ab)aq=al.height+U[2];else if(am.search('b')!=-1&&aa.y2-aa.y<S+ab)aq=aa.y+S;else aq=aa.y2;P.move(an,ao);P.resize(ap-an,aq-ao);ag.data.preventDefault();};function af(ag){a.document.removeListener('mouseup',af);a.document.removeListener('mousemove',ae);if(b.ie6Compat){var ah=C.getChild(0).getFrameDocument();ah.removeListener('mouseup',af);ah.removeListener('mousemove',ae);}};};var A,B={},C;function D(P){var Q=a.document.getWindow(),R=P.config,S=R.dialog_backgroundCoverColor||'white',T=R.dialog_backgroundCoverOpacity,U=R.baseFloatZIndex,V=e.genKey(S,T,U),W=B[V];if(!W){var X=['<div style="position: ',b.ie6Compat?'absolute':'fixed','; z-index: ',U,'; top: 0px; left: 0px; ',!b.ie6Compat?'background-color: '+S:'','" class="cke_dialog_background_cover">'];if(b.ie6Compat){var Y=b.isCustomDomain(),Z="<html><body style=\\'background-color:"+S+";\\'></body></html>";\r
+X.push('<iframe hidefocus="true" frameborder="0" id="cke_dialog_background_iframe" src="javascript:');X.push('void((function(){document.open();'+(Y?"document.domain='"+document.domain+"';":'')+"document.write( '"+Z+"' );"+'document.close();'+'})())');X.push('" style="position:absolute;left:0;top:0;width:100%;height: 100%;progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>');}X.push('</div>');W=h.createFromHtml(X.join(''));W.setOpacity(T!=undefined?T:0.5);W.appendTo(a.document.getBody());B[V]=W;}else W.show();C=W;var aa=function(){var ad=Q.getViewPaneSize();W.setStyles({width:ad.width+'px',height:ad.height+'px'});},ab=function(){var ad=Q.getScrollPosition(),ae=a.dialog._.currentTop;W.setStyles({left:ad.x+'px',top:ad.y+'px'});do{var af=ae.getPosition();ae.move(af.x,af.y);}while(ae=ae._.parentDialog)};A=aa;Q.on('resize',aa);aa();if(b.ie6Compat){var ac=function(){ab();arguments.callee.prevScrollHandler.apply(this,arguments);};Q.$.setTimeout(function(){ac.prevScrollHandler=window.onscroll||(function(){});window.onscroll=ac;},0);ab();}};function E(){if(!C)return;var P=a.document.getWindow();C.hide();P.removeListener('resize',A);if(b.ie6Compat)P.$.setTimeout(function(){var Q=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=Q||null;},0);A=null;};function F(){for(var P in B)B[P].remove();B={};};var G={},H=function(P){var Q=P.data.$.ctrlKey||P.data.$.metaKey,R=P.data.$.altKey,S=P.data.$.shiftKey,T=String.fromCharCode(P.data.$.keyCode),U=G[(Q?'CTRL+':'')+(R?'ALT+':'')+(S?'SHIFT+':'')+T];if(!U||!U.length)return;U=U[U.length-1];U.keydown&&U.keydown.call(U.uiElement,U.dialog,U.key);P.data.preventDefault();},I=function(P){var Q=P.data.$.ctrlKey||P.data.$.metaKey,R=P.data.$.altKey,S=P.data.$.shiftKey,T=String.fromCharCode(P.data.$.keyCode),U=G[(Q?'CTRL+':'')+(R?'ALT+':'')+(S?'SHIFT+':'')+T];if(!U||!U.length)return;U=U[U.length-1];if(U.keyup){U.keyup.call(U.uiElement,U.dialog,U.key);P.data.preventDefault();}},J=function(P,Q,R,S,T){var U=G[R]||(G[R]=[]);U.push({uiElement:P,dialog:Q,key:R,keyup:T||P.accessKeyUp,keydown:S||P.accessKeyDown});},K=function(P){for(var Q in G){var R=G[Q];for(var S=R.length-1;S>=0;S--){if(R[S].dialog==P||R[S].uiElement==P)R.splice(S,1);}if(R.length===0)delete G[Q];}},L=function(P,Q){if(P._.accessKeyMap[Q])P.selectPage(P._.accessKeyMap[Q]);},M=function(P,Q){},N={27:1,13:1},O=function(P){if(P.data.getKeystroke() in N)P.data.stopPropagation();};(function(){k.dialog={uiElement:function(P,Q,R,S,T,U,V){if(arguments.length<4)return;\r
+var W=(S.call?S(Q):S)||'div',X=['<',W,' '],Y=(T&&T.call?T(Q):T)||{},Z=(U&&U.call?U(Q):U)||{},aa=(V&&V.call?V.call(this,P,Q):V)||'',ab=this.domId=Z.id||e.getNextId()+'_uiElement',ac=this.id=Q.id,ad;Z.id=ab;var ae={};if(Q.type)ae['cke_dialog_ui_'+Q.type]=1;if(Q.className)ae[Q.className]=1;var af=Z['class']&&Z['class'].split?Z['class'].split(' '):[];for(ad=0;ad<af.length;ad++){if(af[ad])ae[af[ad]]=1;}var ag=[];for(ad in ae)ag.push(ad);Z['class']=ag.join(' ');if(Q.title)Z.title=Q.title;var ah=(Q.style||'').split(';');for(ad in Y)ah.push(ad+':'+Y[ad]);if(Q.hidden)ah.push('display:none');for(ad=ah.length-1;ad>=0;ad--){if(ah[ad]==='')ah.splice(ad,1);}if(ah.length>0)Z.style=(Z.style?Z.style+'; ':'')+ah.join('; ');for(ad in Z)X.push(ad+'="'+e.htmlEncode(Z[ad])+'" ');X.push('>',aa,'</',W,'>');R.push(X.join(''));(this._||(this._={})).dialog=P;if(typeof Q.isChanged=='boolean')this.isChanged=function(){return Q.isChanged;};if(typeof Q.isChanged=='function')this.isChanged=Q.isChanged;a.event.implementOn(this);this.registerEvents(Q);if(this.accessKeyUp&&this.accessKeyDown&&Q.accessKey)J(this,P,'CTRL+'+Q.accessKey);var ai=this;P.on('load',function(){if(ai.getInputElement())ai.getInputElement().on('focus',function(){P._.tabBarMode=false;P._.hasFocus=true;ai.fire('focus');},ai);});if(this.keyboardFocusable){this.tabIndex=Q.tabIndex||0;this.focusIndex=P._.focusList.push(this)-1;this.on('focus',function(){P._.currentFocusIndex=ai.focusIndex;});}e.extend(this,Q);},hbox:function(P,Q,R,S,T){if(arguments.length<4)return;this._||(this._={});var U=this._.children=Q,V=T&&T.widths||null,W=T&&T.height||null,X={},Y,Z=function(){var ab=['<tbody><tr class="cke_dialog_ui_hbox">'];for(Y=0;Y<R.length;Y++){var ac='cke_dialog_ui_hbox_child',ad=[];if(Y===0)ac='cke_dialog_ui_hbox_first';if(Y==R.length-1)ac='cke_dialog_ui_hbox_last';ab.push('<td class="',ac,'" role="presentation" ');if(V){if(V[Y])ad.push('width:'+m(V[Y]));}else ad.push('width:'+Math.floor(100/R.length)+'%');if(W)ad.push('height:'+m(W));if(T&&T.padding!=undefined)ad.push('padding:'+m(T.padding));if(ad.length>0)ab.push('style="'+ad.join('; ')+'" ');ab.push('>',R[Y],'</td>');}ab.push('</tr></tbody>');return ab.join('');},aa={role:'presentation'};T&&T.align&&(aa.align=T.align);k.dialog.uiElement.call(this,P,T||{type:'hbox'},S,'table',X,aa,Z);},vbox:function(P,Q,R,S,T){if(arguments.length<3)return;this._||(this._={});var U=this._.children=Q,V=T&&T.width||null,W=T&&T.heights||null,X=function(){var Y=['<table role="presentation" cellspacing="0" border="0" '];\r
+Y.push('style="');if(T&&T.expand)Y.push('height:100%;');Y.push('width:'+m(V||'100%'),';');Y.push('"');Y.push('align="',e.htmlEncode(T&&T.align||(P.getParentEditor().lang.dir=='ltr'?'left':'right')),'" ');Y.push('><tbody>');for(var Z=0;Z<R.length;Z++){var aa=[];Y.push('<tr><td role="presentation" ');if(V)aa.push('width:'+m(V||'100%'));if(W)aa.push('height:'+m(W[Z]));else if(T&&T.expand)aa.push('height:'+Math.floor(100/R.length)+'%');if(T&&T.padding!=undefined)aa.push('padding:'+m(T.padding));if(aa.length>0)Y.push('style="',aa.join('; '),'" ');Y.push(' class="cke_dialog_ui_vbox_child">',R[Z],'</td></tr>');}Y.push('</tbody></table>');return Y.join('');};k.dialog.uiElement.call(this,P,T||{type:'vbox'},S,'div',null,{role:'presentation'},X);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(P,Q){this.getInputElement().setValue(P);!Q&&this.fire('change',{value:P});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var S=this;var P=S.getInputElement(),Q=P,R;while((Q=Q.getParent())&&Q.$.className.search('cke_dialog_page_contents')==-1){}if(!Q)return S;R=Q.getAttribute('name');if(S._.dialog._.currentTabId!=R)S._.dialog.selectPage(R);return S;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(P){var Q=/^on([A-Z]\w+)/,R,S=function(U,V,W,X){V.on('load',function(){U.getInputElement().on(W,X,U);});};for(var T in P){if(!(R=T.match(Q)))continue;if(this.eventProcessors[T])this.eventProcessors[T].call(this,this._.dialog,P[T]);else S(this,this._.dialog,R[1].toLowerCase(),P[T]);}return this;},eventProcessors:{onLoad:function(P,Q){P.on('load',Q,this);},onShow:function(P,Q){P.on('show',Q,this);},onHide:function(P,Q){P.on('hide',Q,this);}},accessKeyDown:function(P,Q){this.focus();},accessKeyUp:function(P,Q){},disable:function(){var P=this.getInputElement();P.setAttribute('disabled','true');P.addClass('cke_disabled');},enable:function(){var P=this.getInputElement();P.removeAttribute('disabled');P.removeClass('cke_disabled');},isEnabled:function(){return!this.getInputElement().getAttribute('disabled');},isVisible:function(){return this.getInputElement().isVisible();},isFocusable:function(){if(!this.isEnabled()||!this.isVisible())return false;return true;}};k.dialog.hbox.prototype=e.extend(new k.dialog.uiElement(),{getChild:function(P){var Q=this;\r
+if(arguments.length<1)return Q._.children.concat();if(!P.splice)P=[P];if(P.length<2)return Q._.children[P[0]];else return Q._.children[P[0]]&&Q._.children[P[0]].getChild?Q._.children[P[0]].getChild(P.slice(1,P.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var P={build:function(Q,R,S){var T=R.children,U,V=[],W=[];for(var X=0;X<T.length&&(U=T[X]);X++){var Y=[];V.push(Y);W.push(a.dialog._.uiElementBuilders[U.type].build(Q,U,Y));}return new k.dialog[R.type](Q,W,V,S,R);}};a.dialog.addUIElement('hbox',P);a.dialog.addUIElement('vbox',P);})();a.dialogCommand=function(P){this.dialogName=P;};a.dialogCommand.prototype={exec:function(P){P.openDialog(this.dialogName);},canUndo:false,editorFocus:c||b.webkit};(function(){var P=/^([a]|[^a])+$/,Q=/^\d*$/,R=/^\d*(?:\.\d+)?$/;a.VALIDATE_OR=1;a.VALIDATE_AND=2;a.dialog.validate={functions:function(){return function(){var Y=this;var S=Y&&Y.getValue?Y.getValue():arguments[0],T=undefined,U=2,V=[],W;for(W=0;W<arguments.length;W++){if(typeof arguments[W]=='function')V.push(arguments[W]);else break;}if(W<arguments.length&&typeof arguments[W]=='string'){T=arguments[W];W++;}if(W<arguments.length&&typeof arguments[W]=='number')U=arguments[W];var X=U==2?true:false;for(W=0;W<V.length;W++){if(U==2)X=X&&V[W](S);else X=X||V[W](S);}if(!X){if(T!==undefined)alert(T);if(Y&&(Y.select||Y.focus))Y.select||Y.focus();return false;}return true;};},regex:function(S,T){return function(){var V=this;var U=V&&V.getValue?V.getValue():arguments[0];if(!S.test(U)){if(T!==undefined)alert(T);if(V&&(V.select||V.focus))if(V.select)V.select();else V.focus();return false;}return true;};},notEmpty:function(S){return this.regex(P,S);},integer:function(S){return this.regex(Q,S);},number:function(S){return this.regex(R,S);},equals:function(S,T){return this.functions(function(U){return U==S;},T);},notEqual:function(S,T){return this.functions(function(U){return U!=S;},T);}};a.on('instanceDestroyed',function(S){if(e.isEmpty(a.instances)){var T;while(T=a.dialog._.currentTop)T.hide();F();}var U=S.editor._.storedDialogs;for(var V in U)U[V].destroy();});})();})();e.extend(a.editor.prototype,{openDialog:function(m,n){var o=a.dialog._.dialogDefinitions[m],p=this.skin.dialog;if(typeof o=='function'&&p._isLoaded){var q=this._.storedDialogs||(this._.storedDialogs={}),r=q[m]||(q[m]=new a.dialog(this,m));n&&n.call(r,r);r.show();return r;}else if(o=='failed')throw new Error('[CKEDITOR.dialog.openDialog] Dialog "'+m+'" failed when loading definition.');\r
+var s=a.document.getBody(),t=s.$.style.cursor,u=this;s.setStyle('cursor','wait');function v(x){var y=a.dialog._.dialogDefinitions[m],z=u.skin.dialog;if(!z._isLoaded||w&&typeof x=='undefined')return;if(typeof y!='function')a.dialog._.dialogDefinitions[m]='failed';u.openDialog(m,n);s.setStyle('cursor',t);};if(typeof o=='string'){var w=1;a.scriptLoader.load(a.getUrl(o),v);}a.skins.load(this,'dialog',v);return null;}});j.add('dialog',{requires:['dialogui']});j.add('styles',{requires:['selection']});a.editor.prototype.attachStyleStateChange=function(m,n){var o=this._.styleStateChangeCallbacks;if(!o){o=this._.styleStateChangeCallbacks=[];this.on('selectionChange',function(p){for(var q=0;q<o.length;q++){var r=o[q],s=r.style.checkActive(p.data.path)?1:2;if(r.state!==s){r.fn.call(this,s);r.state=s;}}});}o.push({style:m,fn:n});};a.STYLE_BLOCK=1;a.STYLE_INLINE=2;a.STYLE_OBJECT=3;(function(){var m={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1},n={a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1},o=/\s*(?:;\s*|$)/;a.style=function(Q,R){if(R){Q=e.clone(Q);I(Q.attributes,R);I(Q.styles,R);}var S=this.element=(Q.element||'*').toLowerCase();this.type=S=='#'||m[S]?1:n[S]?3:2;this._={definition:Q};};a.style.prototype={apply:function(Q){P.call(this,Q,false);},remove:function(Q){P.call(this,Q,true);},applyToRange:function(Q){var R=this;return(R.applyToRange=R.type==2?p:R.type==1?t:R.type==3?r:null).call(R,Q);},removeFromRange:function(Q){var R=this;return(R.removeFromRange=R.type==2?q:R.type==3?s:null).call(R,Q);},applyToObject:function(Q){G(Q,this);},checkActive:function(Q){var U=this;switch(U.type){case 1:return U.checkElementRemovable(Q.block||Q.blockLimit,true);case 3:case 2:var R=Q.elements;for(var S=0,T;S<R.length;S++){T=R[S];if(U.type==2&&(T==Q.block||T==Q.blockLimit))continue;if(U.type==3&&!(T.getName() in n))continue;if(U.checkElementRemovable(T,true))return true;}}return false;},checkApplicable:function(Q){switch(this.type){case 2:case 1:break;case 3:return Q.lastElement.getAscendant(this.element,true);}return true;},checkElementRemovable:function(Q,R){if(!Q)return false;var S=this._.definition,T;if(Q.getName()==this.element){if(!R&&!Q.hasAttributes())return true;T=J(S);if(T._length){for(var U in T){if(U=='_length')continue;var V=Q.getAttribute(U)||'';if(U=='style'?O(T[U],M(V,false)):T[U]==V){if(!R)return true;}else if(R)return false;}if(R)return true;}else return true;}var W=K(this)[Q.getName()];if(W){if(!(T=W.attributes))return true;\r
+for(var X=0;X<T.length;X++){U=T[X][0];var Y=Q.getAttribute(U);if(Y){var Z=T[X][1];if(Z===null||typeof Z=='string'&&Y==Z||Z.test(Y))return true;}}}return false;},buildPreview:function(){var Q=this._.definition,R=[],S=Q.element;if(S=='bdo')S='span';R=['<',S];var T=Q.attributes;if(T)for(var U in T)R.push(' ',U,'="',T[U],'"');var V=a.style.getStyleText(Q);if(V)R.push(' style="',V,'"');R.push('>',Q.name,'</',S,'>');return R.join('');}};a.style.getStyleText=function(Q){var R=Q._ST;if(R)return R;R=Q.styles;var S=Q.attributes&&Q.attributes.style||'',T='';if(S.length)S=S.replace(o,';');for(var U in R){var V=R[U],W=(U+':'+V).replace(o,';');if(V=='inherit')T+=W;else S+=W;}if(S.length)S=M(S);S+=T;return Q._ST=S;};function p(Q){var ap=this;var R=Q.document;if(Q.collapsed){var S=F(ap,R);Q.insertNode(S);Q.moveToPosition(S,2);return;}var T=ap.element,U=ap._.definition,V,W=f[T]||(V=true,f.span);Q.enlarge(1);Q.trim();var X=Q.createBookmark(),Y=X.startNode,Z=X.endNode,aa=Y,ab;while(aa){var ac=false;if(aa.equals(Z)){aa=null;ac=true;}else{var ad=aa.type,ae=ad==1?aa.getName():null;if(ae&&aa.getAttribute('_cke_bookmark')){aa=aa.getNextSourceNode(true);continue;}if(!ae||W[ae]&&(aa.getPosition(Z)|4|0|8)==4+0+8&&(!U.childRule||U.childRule(aa))){var af=aa.getParent();if(af&&((af.getDtd()||f.span)[T]||V)&&(!U.parentRule||U.parentRule(af))){if(!ab&&(!ae||!f.$removeEmpty[ae]||(aa.getPosition(Z)|4|0|8)==4+0+8)){ab=new d.range(R);ab.setStartBefore(aa);}if(ad==3||ad==1&&!aa.getChildCount()){var ag=aa,ah;while(!ag.$.nextSibling&&(ah=ag.getParent(),W[ah.getName()])&&(ah.getPosition(Y)|2|0|8)==2+0+8&&(!U.childRule||U.childRule(ah)))ag=ah;ab.setEndAfter(ag);if(!ag.$.nextSibling)ac=true;}}else ac=true;}else ac=true;aa=aa.getNextSourceNode();}if(ac&&ab&&!ab.collapsed){var ai=F(ap,R),aj=ai.hasAttributes(),ak=ab.getCommonAncestor(),al={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},am,an,ao;while(ai&&ak){if(ak.getName()==T){for(am in U.attributes){if(al.blockedAttrs[am]||!(ao=ak.getAttribute(an)))continue;if(ai.getAttribute(am)==ao)al.attrs[am]=1;else al.blockedAttrs[am]=1;}for(an in U.styles){if(al.blockedStyles[an]||!(ao=ak.getStyle(an)))continue;if(ai.getStyle(an)==ao)al.styles[an]=1;else al.blockedStyles[an]=1;}}ak=ak.getParent();}for(am in al.attrs)ai.removeAttribute(am);for(an in al.styles)ai.removeStyle(an);if(aj&&!ai.hasAttributes())ai=null;if(ai){ab.extractContents().appendTo(ai);C(ap,ai);ab.insertNode(ai);ai.mergeSiblings();if(!c)ai.$.normalize();}else{ai=new h('span');ab.extractContents().appendTo(ai);\r
+ab.insertNode(ai);C(ap,ai);ai.remove(true);}ab=null;}}Q.moveToBookmark(X);Q.shrink(2);};function q(Q){Q.enlarge(1);var R=Q.createBookmark(),S=R.startNode;if(Q.collapsed){var T=new d.elementPath(S.getParent()),U;for(var V=0,W;V<T.elements.length&&(W=T.elements[V]);V++){if(W==T.block||W==T.blockLimit)break;if(this.checkElementRemovable(W)){var X;if(Q.collapsed&&(Q.checkBoundaryOfElement(W,2)||(X=Q.checkBoundaryOfElement(W,1)))){U=W;U.match=X?'start':'end';}else{W.mergeSiblings();B(this,W);}}}if(U){var Y=S;for(V=0;true;V++){var Z=T.elements[V];if(Z.equals(U))break;else if(Z.match)continue;else Z=Z.clone();Z.append(Y);Y=Z;}Y[U.match=='start'?'insertBefore':'insertAfter'](U);}}else{var aa=R.endNode,ab=this;function ac(){var af=new d.elementPath(S.getParent()),ag=new d.elementPath(aa.getParent()),ah=null,ai=null;for(var aj=0;aj<af.elements.length;aj++){var ak=af.elements[aj];if(ak==af.block||ak==af.blockLimit)break;if(ab.checkElementRemovable(ak))ah=ak;}for(aj=0;aj<ag.elements.length;aj++){ak=ag.elements[aj];if(ak==ag.block||ak==ag.blockLimit)break;if(ab.checkElementRemovable(ak))ai=ak;}if(ai)aa.breakParent(ai);if(ah)S.breakParent(ah);};ac();var ad=S.getNext();while(!ad.equals(aa)){var ae=ad.getNextSourceNode();if(ad.type==1&&this.checkElementRemovable(ad)){if(ad.getName()==this.element)B(this,ad);else D(ad,K(this)[ad.getName()]);if(ae.type==1&&ae.contains(S)){ac();ae=S.getNext();}}ad=ae;}}Q.moveToBookmark(R);};function r(Q){var R=Q.getCommonAncestor(true,true),S=R.getAscendant(this.element,true);S&&G(S,this);};function s(Q){var R=Q.getCommonAncestor(true,true),S=R.getAscendant(this.element,true);if(!S)return;var T=this,U=T._.definition,V=U.attributes,W=a.style.getStyleText(U);if(V)for(var X in V)S.removeAttribute(X,V[X]);if(U.styles)for(var Y in U.styles){if(!U.styles.hasOwnProperty(Y))continue;S.removeStyle(Y);}};function t(Q){var R=Q.createBookmark(true),S=Q.createIterator();S.enforceRealBlocks=true;if(this._.enterMode)S.enlargeBr=this._.enterMode!=2;var T,U=Q.document,V;while(T=S.getNextParagraph()){var W=F(this,U,T);u(T,W);}Q.moveToBookmark(R);};function u(Q,R){var S=R.is('pre'),T=Q.is('pre'),U=S&&!T,V=!S&&T;if(U)R=A(Q,R);else if(V)R=z(x(Q),R);else Q.moveChildren(R);R.replace(Q);if(S)w(R);};var v=d.walker.whitespaces(true);function w(Q){var R;if(!((R=Q.getPrevious(v))&&R.is&&R.is('pre')))return;var S=y(R.getHtml(),/\n$/,'')+'\n\n'+y(Q.getHtml(),/^\n/,'');if(c)Q.$.outerHTML='<pre>'+S+'</pre>';else Q.setHtml(S);R.remove();};function x(Q){var R=/(\S\s*)\n(?:\s|(<span[^>]+_cke_bookmark.*?\/span>))*\n(?!$)/gi,S=Q.getName(),T=y(Q.getOuterHtml(),R,function(V,W,X){return W+'</pre>'+X+'<pre>';\r
+}),U=[];T.replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(V,W){U.push(W);});return U;};function y(Q,R,S){var T='',U='';Q=Q.replace(/(^<span[^>]+_cke_bookmark.*?\/span>)|(<span[^>]+_cke_bookmark.*?\/span>$)/gi,function(V,W,X){W&&(T=W);X&&(U=X);return '';});return T+Q.replace(R,S)+U;};function z(Q,R){var S=new d.documentFragment(R.getDocument());for(var T=0;T<Q.length;T++){var U=Q[T];U=U.replace(/(\r\n|\r)/g,'\n');U=y(U,/^[ \t]*\n/,'');U=y(U,/\n$/,'');U=y(U,/^[ \t]+|[ \t]+$/g,function(W,X,Y){if(W.length==1)return '&nbsp;';else if(!X)return e.repeat('&nbsp;',W.length-1)+' ';else return ' '+e.repeat('&nbsp;',W.length-1);});U=U.replace(/\n/g,'<br>');U=U.replace(/[ \t]{2,}/g,function(W){return e.repeat('&nbsp;',W.length-1)+' ';});var V=R.clone();V.setHtml(U);S.append(V);}return S;};function A(Q,R){var S=Q.getHtml();S=y(S,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');S=S.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,'$1');S=S.replace(/([ \t\n\r]+|&nbsp;)/g,' ');S=S.replace(/<br\b[^>]*>/gi,'\n');if(c){var T=Q.getDocument().createElement('div');T.append(R);R.$.outerHTML='<pre>'+S+'</pre>';R=T.getFirst().remove();}else R.setHtml(S);return R;};function B(Q,R){var S=Q._.definition,T=e.extend({},S.attributes,K(Q)[R.getName()]),U=S.styles,V=e.isEmpty(T)&&e.isEmpty(U);for(var W in T){if((W=='class'||Q._.definition.fullMatch)&&R.getAttribute(W)!=L(W,T[W]))continue;V=R.hasAttribute(W);R.removeAttribute(W);}for(var X in U){if(Q._.definition.fullMatch&&R.getStyle(X)!=L(X,U[X],true))continue;V=V||!!R.getStyle(X);R.removeStyle(X);}V&&E(R);};function C(Q,R){var S=Q._.definition,T=S.attributes,U=S.styles,V=K(Q),W=R.getElementsByTag(Q.element);for(var X=W.count();--X>=0;)B(Q,W.getItem(X));for(var Y in V){if(Y!=Q.element){W=R.getElementsByTag(Y);for(X=W.count()-1;X>=0;X--){var Z=W.getItem(X);D(Z,V[Y]);}}}};function D(Q,R){var S=R&&R.attributes;if(S)for(var T=0;T<S.length;T++){var U=S[T][0],V;if(V=Q.getAttribute(U)){var W=S[T][1];if(W===null||W.test&&W.test(V)||typeof W=='string'&&V==W)Q.removeAttribute(U);}}E(Q);};function E(Q){if(!Q.hasAttributes()){var R=Q.getFirst(),S=Q.getLast();Q.remove(true);if(R){R.type==1&&R.mergeSiblings();if(S&&!R.equals(S)&&S.type==1)S.mergeSiblings();}}};function F(Q,R,S){var T,U=Q._.definition,V=Q.element;if(V=='*')V='span';T=new h(V,R);if(S)S.copyAttributes(T);return G(T,Q);};function G(Q,R){var S=R._.definition,T=S.attributes,U=a.style.getStyleText(S);if(T)for(var V in T)Q.setAttribute(V,T[V]);if(U)Q.setAttribute('style',U);return Q;};var H=/#\((.+?)\)/g;function I(Q,R){for(var S in Q)Q[S]=Q[S].replace(H,function(T,U){return R[U];\r
+});};function J(Q){var R=Q._AC;if(R)return R;R={};var S=0,T=Q.attributes;if(T)for(var U in T){S++;R[U]=T[U];}var V=a.style.getStyleText(Q);if(V){if(!R.style)S++;R.style=V;}R._length=S;return Q._AC=R;};function K(Q){if(Q._.overrides)return Q._.overrides;var R=Q._.overrides={},S=Q._.definition.overrides;if(S){if(!e.isArray(S))S=[S];for(var T=0;T<S.length;T++){var U=S[T],V,W,X;if(typeof U=='string')V=U.toLowerCase();else{V=U.element?U.element.toLowerCase():Q.element;X=U.attributes;}W=R[V]||(R[V]={});if(X){var Y=W.attributes=W.attributes||[];for(var Z in X)Y.push([Z.toLowerCase(),X[Z]]);}}}return R;};function L(Q,R,S){var T=new h('span');T[S?'setStyle':'setAttribute'](Q,R);return T[S?'getStyle':'getAttribute'](Q);};function M(Q,R){var S;if(R!==false){var T=new h('span');T.setAttribute('style',Q);S=T.getAttribute('style')||'';}else S=Q;return S.replace(/\s*([;:])\s*/,'$1').replace(/([^\s;])$/,'$1;').replace(/,\s+/g,',').replace(/\"/g,'').toLowerCase();};function N(Q){var R={};Q.replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(S,T,U){R[T]=U;});return R;};function O(Q,R){typeof Q=='string'&&(Q=N(Q));typeof R=='string'&&(R=N(R));for(var S in Q){if(!(S in R&&(R[S]==Q[S]||Q[S]=='inherit'||R[S]=='inherit')))return false;}return true;};function P(Q,R){var S=Q.getSelection(),T=S.createBookmarks(1),U=S.getRanges(1),V=R?this.removeFromRange:this.applyToRange,W,X=U.createIterator();while(W=X.getNextRange())V.call(this,W);if(T.length==1&&T[0].collapsed){S.selectRanges(U);Q.getById(T[0].startNode).remove();}else S.selectBookmarks(T);};})();a.styleCommand=function(m){this.style=m;};a.styleCommand.prototype.exec=function(m){var o=this;m.focus();var n=m.document;if(n)if(o.state==2)o.style.apply(n);else if(o.state==1)o.style.remove(n);return!!n;};a.stylesSet=new a.resourceManager('','stylesSet');a.addStylesSet=e.bind(a.stylesSet.add,a.stylesSet);a.loadStylesSet=function(m,n,o){a.stylesSet.addExternal(m,n,'');a.stylesSet.load(m,o);};a.editor.prototype.getStylesSet=function(m){if(!this._.stylesDefinitions){var n=this,o=n.config.stylesCombo_stylesSet||n.config.stylesSet||'default';if(o instanceof Array){n._.stylesDefinitions=o;m(o);return;}var p=o.split(':'),q=p[0],r=p[1],s=j.registered.styles.path;a.stylesSet.addExternal(q,r?p.slice(1).join(':'):s+'styles/'+q+'.js','');a.stylesSet.load(q,function(t){n._.stylesDefinitions=t[q];m(n._.stylesDefinitions);});}else m(this._.stylesDefinitions);};j.add('domiterator');(function(){function m(p){var q=this;if(arguments.length<1)return;\r
+q.range=p;q.forceBrBreak=0;q.enlargeBr=1;q.enforceRealBlocks=0;q._||(q._={});};var n=/^[\r\n\t ]+$/,o=d.walker.bookmark();m.prototype={getNextParagraph:function(p){var q,r,s,t,u,v;if(!this._.lastNode){r=this.range.clone();r.shrink(1,true);t=r.endContainer.hasAscendant('pre',true)||r.startContainer.hasAscendant('pre',true);r.enlarge(this.forceBrBreak&&!t||!this.enlargeBr?3:2);var w=new d.walker(r),x=d.walker.bookmark(true,true);w.evaluator=x;this._.nextNode=w.next();w=new d.walker(r);w.evaluator=x;var y=w.previous();this._.lastNode=y.getNextSourceNode(true);if(this._.lastNode&&this._.lastNode.type==3&&!e.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()){var z=new d.range(r.document);z.moveToPosition(this._.lastNode,4);if(z.checkEndOfBlock()){var A=new d.elementPath(z.endContainer),B=A.block||A.blockLimit;this._.lastNode=B.getNextSourceNode(true);}}if(!this._.lastNode){this._.lastNode=this._.docEndMarker=r.document.createText('');this._.lastNode.insertAfter(y);}r=null;}var C=this._.nextNode;y=this._.lastNode;this._.nextNode=null;while(C){var D=0,E=C.hasAscendant('pre'),F=C.type!=1,G=0;if(!F){var H=C.getName();if(C.isBlockBoundary(this.forceBrBreak&&!E&&{br:1})){if(H=='br')F=1;else if(!r&&!C.getChildCount()&&H!='hr'){q=C;s=C.equals(y);break;}if(r){r.setEndAt(C,3);if(H!='br')this._.nextNode=C;}D=1;}else{if(C.getFirst()){if(!r){r=new d.range(this.range.document);r.setStartAt(C,3);}C=C.getFirst();continue;}F=1;}}else if(C.type==3)if(n.test(C.getText()))F=0;if(F&&!r){r=new d.range(this.range.document);r.setStartAt(C,3);}s=(!D||F)&&C.equals(y);if(r&&!D)while(!C.getNext()&&!s){var I=C.getParent();if(I.isBlockBoundary(this.forceBrBreak&&!E&&{br:1})){D=1;s=s||I.equals(y);break;}C=I;F=1;s=C.equals(y);G=1;}if(F)r.setEndAt(C,4);C=C.getNextSourceNode(G,null,y);s=!C;if(s||D&&r)break;}if(!q){if(!r){this._.docEndMarker&&this._.docEndMarker.remove();this._.nextNode=null;return null;}var J=new d.elementPath(r.startContainer),K=J.blockLimit,L={div:1,th:1,td:1};q=J.block;if(!q&&!this.enforceRealBlocks&&L[K.getName()]&&r.checkStartOfBlock()&&r.checkEndOfBlock())q=K;else if(!q||this.enforceRealBlocks&&q.getName()=='li'){q=this.range.document.createElement(p||'p');r.extractContents().appendTo(q);q.trim();r.insertNode(q);u=v=true;}else if(q.getName()!='li'){if(!r.checkStartOfBlock()||!r.checkEndOfBlock()){q=q.clone(false);r.extractContents().appendTo(q);q.trim();var M=r.splitBlock();u=!M.wasStartOfBlock;v=!M.wasEndOfBlock;r.insertNode(q);}}else if(!s)this._.nextNode=q.equals(y)?null:r.getBoundaryNodes().endNode.getNextSourceNode(true,null,y);\r
+}var N=d.walker.bookmark(false,true);if(u){var O=q.getPrevious();if(O&&O.type==1)if(O.getName()=='br')O.remove();else if(O.getLast()&&O.getLast().$.nodeName.toLowerCase()=='br')O.getLast().remove();}if(v){var P=q.getLast();if(P&&P.type==1&&P.getName()=='br')if(c||P.getPrevious(N)||P.getNext(N))P.remove();}if(!this._.nextNode)this._.nextNode=s||q.equals(y)?null:q.getNextSourceNode(true,null,y);if(!N(this._.nextNode))this._.nextNode=this._.nextNode.getNextSourceNode(true,null,function(Q){return!Q.equals(y)&&N(Q);});return q;}};d.range.prototype.createIterator=function(){return new m(this);};})();j.add('panelbutton',{requires:['button'],beforeInit:function(m){m.ui.addHandler(4,k.panelButton.handler);}});a.UI_PANELBUTTON=4;(function(){var m=function(n){var p=this;var o=p._;if(o.state==0)return;p.createPanel(n);if(o.on){o.panel.hide();return;}o.panel.showBlock(p._.id,p.document.getById(p._.id),4);};k.panelButton=e.createClass({base:k.button,$:function(n){var p=this;var o=n.panel;delete n.panel;p.base(n);p.document=o&&o.parent&&o.parent.getDocument()||a.document;o.block={attributes:o.attributes};p.hasArrow=true;p.click=m;p._={panelDefinition:o};},statics:{handler:{create:function(n){return new k.panelButton(n);}}},proto:{createPanel:function(n){var o=this._;if(o.panel)return;var p=this._.panelDefinition||{},q=this._.panelDefinition.block,r=p.parent||a.document.getBody(),s=this._.panel=new k.floatPanel(n,r,p),t=s.addBlock(o.id,q),u=this;s.onShow=function(){if(u.className)this.element.getFirst().addClass(u.className+'_panel');o.oldState=u._.state;u.setState(1);o.on=1;if(u.onOpen)u.onOpen();};s.onHide=function(v){if(u.className)this.element.getFirst().removeClass(u.className+'_panel');u.setState(o.oldState);o.on=0;if(!v&&u.onClose)u.onClose();};s.onEscape=function(){s.hide();u.document.getById(o.id).focus();};if(this.onBlock)this.onBlock(s,t);t.onHide=function(){o.on=0;u.setState(2);};}}});})();j.add('floatpanel',{requires:['panel']});(function(){var m={},n=false;function o(p,q,r,s,t){var u=e.genKey(q.getUniqueId(),r.getUniqueId(),p.skinName,p.lang.dir,p.uiColor||'',s.css||'',t||''),v=m[u];if(!v){v=m[u]=new k.panel(q,s);v.element=r.append(h.createFromHtml(v.renderHtml(p),q));v.element.setStyles({display:'none',position:'absolute'});}return v;};k.floatPanel=e.createClass({$:function(p,q,r,s){r.forceIFrame=1;var t=q.getDocument(),u=o(p,t,q,r,s||0),v=u.element,w=v.getFirst().getFirst();this.element=v;this._={panel:u,parentElement:q,definition:r,document:t,iframe:w,children:[],dir:p.lang.dir};\r
+},proto:{addBlock:function(p,q){return this._.panel.addBlock(p,q);},addListBlock:function(p,q){return this._.panel.addListBlock(p,q);},getBlock:function(p){return this._.panel.getBlock(p);},showBlock:function(p,q,r,s,t){var u=this._.panel,v=u.showBlock(p);this.allowBlur(false);n=1;var w=this.element,x=this._.iframe,y=this._.definition,z=q.getDocumentPosition(w.getDocument()),A=this._.dir=='rtl',B=z.x+(s||0),C=z.y+(t||0);if(A&&(r==1||r==4))B+=q.$.offsetWidth;else if(!A&&(r==2||r==3))B+=q.$.offsetWidth-1;if(r==3||r==4)C+=q.$.offsetHeight-1;this._.panel._.offsetParentId=q.getId();w.setStyles({top:0,left:0,display:''});w.setOpacity(0);w.getFirst().removeStyle('width');if(!this._.blurSet){var D=c?x:new d.window(x.$.contentWindow);a.event.useCapture=true;D.on('blur',function(E){var G=this;if(!G.allowBlur())return;var F;if(c&&!G.allowBlur()||(F=E.data.getTarget())&&F.getName&&F.getName()!='iframe')return;if(G.visible&&!G._.activeChild&&!n)G.hide();},this);D.on('focus',function(){this._.focused=true;this.hideChild();this.allowBlur(true);},this);a.event.useCapture=false;this._.blurSet=1;}u.onEscape=e.bind(function(E){if(this.onEscape&&this.onEscape(E)===false)return false;},this);e.setTimeout(function(){if(A)B-=w.$.offsetWidth;var E=e.bind(function(){var F=w.getFirst();if(v.autoSize){var G=v.element.$;if(b.gecko||b.opera)G=G.parentNode;if(c)G=G.document.body;var H=G.scrollWidth;if(c&&b.quirks&&H>0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0);H+=4;F.setStyle('width',H+'px');v.element.addClass('cke_frameLoaded');var I=v.element.$.scrollHeight;if(c&&b.quirks&&I>0)I+=(F.$.offsetHeight||0)-(F.$.clientHeight||0);F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');var J=u.element,K=J.getWindow(),L=K.getScrollPosition(),M=K.getViewPaneSize(),N={height:J.$.offsetHeight,width:J.$.offsetWidth};if(A?B<0:B+N.width>M.width+L.x)B+=N.width*(A?1:-1);if(C+N.height>M.height+L.y)C-=N.height;if(c){var O=new h(w.$.offsetParent),P=O;if(P.getName()=='html')P=P.getDocument().getBody();if(P.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=O.$.scrollWidth-O.$.clientWidth;}var Q=w.getFirst(),R;if(R=Q.getCustomData('activePanel'))R.onHide&&R.onHide.call(this,1);Q.setCustomData('activePanel',this);w.setStyles({top:C+'px',left:B+'px'});w.setOpacity(1);},this);u.isLoaded?E():u.onLoad=E;e.setTimeout(function(){x.$.contentWindow.focus();this.allowBlur(true);\r
+},0,this);},0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(){var p=this;if(p.visible&&(!p.onHide||p.onHide.call(p)!==true)){p.hideChild();p.element.setStyle('display','none');p.visible=0;p.element.getFirst().removeCustomData('activePanel');}},allowBlur:function(p){var q=this._.panel;if(p!=undefined)q.allowBlur=p;return q.allowBlur;},showAsChild:function(p,q,r,s,t,u){if(this._.activeChild==p&&p._.panel._.offsetParentId==r.getId())return;this.hideChild();p.onHide=e.bind(function(){e.setTimeout(function(){if(!this._.focused)this.hide();},0,this);},this);this._.activeChild=p;this._.focused=false;p.showBlock(q,r,s,t,u);if(b.ie7Compat||b.ie8&&b.ie6Compat)setTimeout(function(){p.element.getChild(0).$.style.cssText+='';},100);},hideChild:function(){var p=this._.activeChild;if(p){delete p.onHide;delete this._.activeChild;p.hide();}}}});a.on('instanceDestroyed',function(){var p=e.isEmpty(a.instances);for(var q in m){var r=m[q];if(p)r.destroy();else r.element.hide();}p&&(m={});});})();j.add('menu',{beforeInit:function(m){var n=m.config.menu_groups.split(','),o=m._.menuGroups={},p=m._.menuItems={};for(var q=0;q<n.length;q++)o[n[q]]=q+1;m.addMenuGroup=function(r,s){o[r]=s||100;};m.addMenuItem=function(r,s){if(o[s.group])p[r]=new a.menuItem(this,r,s);};m.addMenuItems=function(r){for(var s in r)this.addMenuItem(s,r[s]);};m.getMenuItem=function(r){return p[r];};},requires:['floatpanel']});(function(){a.menu=e.createClass({$:function(n,o){var r=this;o=r._.definition=o||{};r.id='cke_'+e.getNextNumber();r.editor=n;r.items=[];r._.level=o.level||1;var p=e.extend({},o.panel,{css:n.skin.editor.css,level:r._.level-1,block:{}}),q=p.block.attributes=p.attributes||{};!q.role&&(q.role='menu');r._.panelDefinition=p;},_:{showSubMenu:function(n){var v=this;var o=v._.subMenu,p=v.items[n],q=p.getItems&&p.getItems();if(!q){v._.panel.hideChild();return;}var r=v._.panel.getBlock(v.id);r._.focusIndex=n;if(o)o.removeAll();else{o=v._.subMenu=new a.menu(v.editor,e.extend({},v._.definition,{level:v._.level+1},true));o.parent=v;o.onClick=e.bind(v.onClick,v);o.onEscape=v.onEscape;}for(var s in q){var t=v.editor.getMenuItem(s);if(t){t.state=q[s];o.add(t);}}var u=v._.panel.getBlock(v.id).element.getDocument().getById(v.id+String(n));o.show(u,2);}},proto:{add:function(n){if(!n.order)n.order=this.items.length;this.items.push(n);},removeAll:function(){this.items=[];},show:function(n,o,p,q){var r=this.items,s=this.editor,t=this._.panel,u=this._.element;if(!t){t=this._.panel=new k.floatPanel(this.editor,a.document.getBody(),this._.panelDefinition,this._.level);\r
+t.onEscape=e.bind(function(F){if(this.onEscape&&this.onEscape(F)===false)return false;},this);t.onHide=e.bind(function(){this.onHide&&this.onHide();},this);var v=t.addBlock(this.id,this._.panelDefinition.block);v.autoSize=true;var w=v.keys;w[40]='next';w[9]='next';w[38]='prev';w[2000+9]='prev';w[32]='click';w[s.lang.dir=='rtl'?37:39]='click';u=this._.element=v.element;u.addClass(s.skinClass);var x=u.getDocument();x.getBody().setStyle('overflow','hidden');x.getElementsByTag('html').getItem(0).setStyle('overflow','hidden');this._.itemOverFn=e.addFunction(function(F){var G=this;clearTimeout(G._.showSubTimeout);G._.showSubTimeout=e.setTimeout(G._.showSubMenu,s.config.menu_subMenuDelay||400,G,[F]);},this);this._.itemOutFn=e.addFunction(function(F){clearTimeout(this._.showSubTimeout);},this);this._.itemClickFn=e.addFunction(function(F){var H=this;var G=H.items[F];if(G.state==0){H.hide();return;}if(G.getItems)H._.showSubMenu(F);else H.onClick&&H.onClick(G);},this);}m(r);var y=s.container.getChild(1),z=y.hasClass('cke_mixed_dir_content')?' cke_mixed_dir_content':'',A=['<div class="cke_menu'+z+'" role="presentation">'],B=r.length,C=B&&r[0].group;for(var D=0;D<B;D++){var E=r[D];if(C!=E.group){A.push('<div class="cke_menuseparator" role="separator"></div>');C=E.group;}E.render(this,D,A);}A.push('</div>');u.setHtml(A.join(''));if(this.parent)this.parent._.panel.showAsChild(t,this.id,n,o,p,q);else t.showBlock(this.id,n,o,p,q);s.fire('menuShow',[t]);},hide:function(){this._.panel&&this._.panel.hide();}}});function m(n){n.sort(function(o,p){if(o.group<p.group)return-1;else if(o.group>p.group)return 1;return o.order<p.order?-1:o.order>p.order?1:0;});};})();a.menuItem=e.createClass({$:function(m,n,o){var p=this;e.extend(p,o,{order:0,className:'cke_button_'+n});p.group=m._.menuGroups[p.group];p.editor=m;p.name=n;},proto:{render:function(m,n,o){var v=this;var p=m.id+String(n),q=typeof v.state=='undefined'?2:v.state,r=' cke_'+(q==1?'on':q==0?'disabled':'off'),s=v.label;if(v.className)r+=' '+v.className;var t=v.getItems;o.push('<span class="cke_menuitem"><a id="',p,'" class="',r,'" href="javascript:void(\'',(v.label||'').replace("'",''),'\')" title="',v.label,'" tabindex="-1"_cke_focus=1 hidefocus="true" role="menuitem"'+(t?'aria-haspopup="true"':'')+(q==0?'aria-disabled="true"':'')+(q==1?'aria-pressed="true"':''));if(b.opera||b.gecko&&b.mac)o.push(' onkeypress="return false;"');if(b.gecko)o.push(' onblur="this.style.cssText = this.style.cssText;"');var u=(v.iconOffset||0)*-16;\r
+o.push(' onmouseover="CKEDITOR.tools.callFunction(',m._.itemOverFn,',',n,');" onmouseout="CKEDITOR.tools.callFunction(',m._.itemOutFn,',',n,');" onclick="CKEDITOR.tools.callFunction(',m._.itemClickFn,',',n,'); return false;"><span class="cke_icon_wrapper"><span class="cke_icon"'+(v.icon?' style="background-image:url('+a.getUrl(v.icon)+');background-position:0 '+u+'px;"':'')+'></span></span>'+'<span class="cke_label">');if(t)o.push('<span class="cke_menuarrow">','<span>&#',v.editor.lang.dir=='rtl'?'9668':'9658',';</span>','</span>');o.push(s,'</span></a></span>');}}});i.menu_groups='clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div';(function(){var m=function(o,p){return o._.modes&&o._.modes[p||o.mode];},n;j.add('editingblock',{init:function(o){if(!o.config.editingBlock)return;o.on('themeSpace',function(p){if(p.data.space=='contents')p.data.html+='<br>';});o.on('themeLoaded',function(){o.fireOnce('editingBlockReady');});o.on('uiReady',function(){o.setMode(o.config.startupMode);});o.on('afterSetData',function(){if(!n){function p(){n=true;m(o).loadData(o.getData());n=false;};if(o.mode)p();else o.on('mode',function(){p();o.removeListener('mode',arguments.callee);});}});o.on('beforeGetData',function(){if(!n&&o.mode){n=true;o.setData(m(o).getData());n=false;}});o.on('getSnapshot',function(p){if(o.mode)p.data=m(o).getSnapshotData();});o.on('loadSnapshot',function(p){if(o.mode)m(o).loadSnapshotData(p.data);});o.on('mode',function(p){p.removeListener();b.webkit&&o.container.on('focus',function(){o.focus();});if(o.config.startupFocus)o.focus();setTimeout(function(){o.fireOnce('instanceReady');a.fire('instanceReady',null,o);},0);});}});a.editor.prototype.mode='';a.editor.prototype.addMode=function(o,p){p.name=o;(this._.modes||(this._.modes={}))[o]=p;};a.editor.prototype.setMode=function(o){var p,q=this.getThemeSpace('contents'),r=this.checkDirty();if(this.mode){if(o==this.mode)return;this.fire('beforeModeUnload');var s=m(this);p=s.getData();s.unload(q);this.mode='';}q.setHtml('');var t=m(this,o);if(!t)throw '[CKEDITOR.editor.setMode] Unknown mode "'+o+'".';if(!r)this.on('mode',function(){this.resetDirty();this.removeListener('mode',arguments.callee);});t.load(q,typeof p!='string'?this.getData():p);};a.editor.prototype.focus=function(){var o=m(this);if(o)o.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var w=this;\r
+try{var t=w.getSelection();if(!t||!t.document.getWindow().$)return;var u=t.getStartElement(),v=new d.elementPath(u);if(!v.compare(w._.selectionPreviousPath)){w._.selectionPreviousPath=v;w.fire('selectionChange',{selection:t,path:v,element:u});}}catch(x){}};var n,o;function p(){o=true;if(n)return;q.call(this);n=e.setTimeout(q,200,this);};function q(){n=null;if(o){e.setTimeout(m,0,this);o=false;}};var r={modes:{wysiwyg:1,source:1},exec:function(t){switch(t.mode){case 'wysiwyg':t.document.$.execCommand('SelectAll',false,null);break;case 'source':var u=t.textarea.$;if(c)u.createTextRange().execCommand('SelectAll');else{u.selectionStart=0;u.selectionEnd=u.value.length;}u.focus();}},canUndo:false};j.add('selection',{init:function(t){t.on('contentDom',function(){var u=t.document,v=u.getBody(),w=u.getDocumentElement();if(c){var x,y,z=1;v.on('focusin',function(D){if(D.data.$.srcElement.nodeName!='BODY')return;if(x){var E=u.getCustomData('cke_locked_selection');if(z&&!E)try{x.select();}catch(F){}x=null;}});v.on('focus',function(){y=1;C();});v.on('beforedeactivate',function(D){if(D.data.$.toElement)return;y=0;z=1;});if(c&&b.version<8)t.on('blur',function(D){try{t.document&&t.document.$.selection.empty();}catch(E){}});w.on('mousedown',function(){z=0;});w.on('mouseup',function(){z=1;});if(c&&(b.ie7Compat||b.version<8||b.quirks))w.on('click',function(D){if(D.data.getTarget().getName()=='html')t.getSelection().getRanges()[0].select();});var A;v.on('mousedown',function(D){if(D.data.$.button==2){var E=t.document.$.selection;if(E.type=='None')A=t.window.getScrollPosition();}B();});v.on('mouseup',function(D){if(D.data.$.button==2&&A){t.document.$.documentElement.scrollLeft=A.x;t.document.$.documentElement.scrollTop=A.y;}A=null;y=1;setTimeout(function(){C(true);},0);});v.on('keydown',B);v.on('keyup',function(){y=1;C();});u.on('selectionchange',C);function B(){y=0;};function C(D){if(y){var E=t.document,F=t.getSelection(),G=F&&F.getNative();if(D&&G&&G.type=='None')if(!E.$.queryCommandEnabled('InsertImage')){e.setTimeout(C,50,this,true);return;}var H;if(G&&G.type&&G.type!='Control'&&(H=G.createRange())&&(H=H.parentElement())&&(H=H.nodeName)&&H.toLowerCase() in {input:1,textarea:1})return;x=G&&F.getRanges()[0];p.call(t);}};}else{u.on('mouseup',p,t);u.on('keyup',p,t);}});t.addCommand('selectAll',r);t.ui.addButton('SelectAll',{label:t.lang.selectAll,command:'selectAll'});t.selectionChange=p;}});a.editor.prototype.getSelection=function(){return this.document&&this.document.getSelection();\r
+};a.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath;};g.prototype.getSelection=function(){var t=new d.selection(this);return!t||t.isInvalid?null:t;};a.SELECTION_NONE=1;a.SELECTION_TEXT=2;a.SELECTION_ELEMENT=3;d.selection=function(t){var w=this;var u=t.getCustomData('cke_locked_selection');if(u)return u;w.document=t;w.isLocked=0;w._={cache:{}};if(c){var v=w.getNative().createRange();if(!v||v.item&&v.item(0).ownerDocument!=w.document.$||v.parentElement&&v.parentElement().ownerDocument!=w.document.$)w.isInvalid=true;}return w;};var s={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,th:1,thead:1,tfoot:1};d.selection.prototype={getNative:c?function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.$.selection);}:function(){return this._.cache.nativeSel||(this._.cache.nativeSel=this.document.getWindow().$.getSelection());},getType:c?function(){var t=this._.cache;if(t.type)return t.type;var u=1;try{var v=this.getNative(),w=v.type;if(w=='Text')u=2;if(w=='Control')u=3;if(v.createRange().parentElement)u=2;}catch(x){}return t.type=u;}:function(){var t=this._.cache;if(t.type)return t.type;var u=2,v=this.getNative();if(!v)u=1;else if(v.rangeCount==1){var w=v.getRangeAt(0),x=w.startContainer;if(x==w.endContainer&&x.nodeType==1&&w.endOffset-w.startOffset==1&&s[x.childNodes[w.startOffset].nodeName.toLowerCase()])u=3;}return t.type=u;},getRanges:(function(){var t=c?(function(){var u=function(v,w){v=v.duplicate();v.collapse(w);var x=v.parentElement(),y=x.childNodes,z;for(var A=0;A<y.length;A++){var B=y[A];if(B.nodeType==1){z=v.duplicate();z.moveToElementText(B);var C=z.compareEndPoints('StartToStart',v),D=z.compareEndPoints('EndToStart',v);z.collapse();if(C>0)break;else if(!C||D==1&&C==-1)return{container:x,offset:A};else if(!D)return{container:x,offset:A+1};z=null;}}if(!z){z=v.duplicate();z.moveToElementText(x);z.collapse(false);}z.setEndPoint('StartToStart',v);var E=z.text.replace(/(\r\n|\r)/g,'\n').length;try{while(E>0)E-=y[--A].nodeValue.length;}catch(F){E=0;}if(E===0)return{container:x,offset:A};else return{container:y[A],offset:-E};};return function(){var F=this;var v=F.getNative(),w=v&&v.createRange(),x=F.getType(),y;if(!v)return[];if(x==2){y=new d.range(F.document);var z=u(w,true);y.setStart(new d.node(z.container),z.offset);z=u(w);y.setEnd(new d.node(z.container),z.offset);if(y.endContainer.getPosition(y.startContainer)&4&&y.endOffset<=y.startContainer.getIndex())y.collapse();\r
+return[y];}else if(x==3){var A=[];for(var B=0;B<w.length;B++){var C=w.item(B),D=C.parentNode,E=0;y=new d.range(F.document);for(;E<D.childNodes.length&&D.childNodes[E]!=C;E++){}y.setStart(new d.node(D),E);y.setEnd(new d.node(D),E+1);A.push(y);}return A;}return[];};})():function(){var u=[],v,w=this.document,x=this.getNative();if(!x)return u;if(!x.rangeCount){v=new d.range(w);v.moveToElementEditStart(w.getBody());u.push(v);}for(var y=0;y<x.rangeCount;y++){var z=x.getRangeAt(y);v=new d.range(w);v.setStart(new d.node(z.startContainer),z.startOffset);v.setEnd(new d.node(z.endContainer),z.endOffset);u.push(v);}return u;};return function(u){var v=this._.cache;if(v.ranges&&!u)return v.ranges;else if(!v.ranges)v.ranges=new d.rangeList(t.call(this));if(u){var w=v.ranges;for(var x=0;x<w.length;x++){var y=w[x],z=y.getCommonAncestor();if(z.isReadOnly())w.splice(x,1);if(y.collapsed)continue;var A=y.startContainer,B=y.endContainer,C=y.startOffset,D=y.endOffset,E=y.clone(),F;if(F=A.isReadOnly())y.setStartAfter(F);if(A&&A.type==3)if(C>=A.getLength())E.setStartAfter(A);else E.setStartBefore(A);if(B&&B.type==3)if(!D)E.setEndBefore(B);else E.setEndAfter(B);var G=new d.walker(E);G.evaluator=function(H){if(H.type==1&&H.getAttribute('contenteditable')=='false'){var I=y.clone();y.setEndBefore(H);if(y.collapsed)w.splice(x--,1);if(!(H.getPosition(E.endContainer)&16)){I.setStartAfter(H);if(!I.collapsed)w.splice(x+1,0,I);}return true;}return false;};G.next();}}return v.ranges;};})(),getStartElement:function(){var A=this;var t=A._.cache;if(t.startElement!==undefined)return t.startElement;var u,v=A.getNative();switch(A.getType()){case 3:return A.getSelectedElement();case 2:var w=A.getRanges()[0];if(w){if(!w.collapsed){w.optimize();while(1){var x=w.startContainer,y=w.startOffset;if(y==(x.getChildCount?x.getChildCount():x.getLength())&&!x.isBlockBoundary())w.setStartAfter(x);else break;}u=w.startContainer;if(u.type!=1)return u.getParent();u=u.getChild(w.startOffset);if(!u||u.type!=1)u=w.startContainer;else{var z=u.getFirst();while(z&&z.type==1){u=z;z=z.getFirst();}}}else{u=w.startContainer;if(u.type!=1)u=u.getParent();}u=u.$;}}return t.startElement=u?new h(u):null;},getSelectedElement:function(){var t=this._.cache;if(t.selectedElement!==undefined)return t.selectedElement;var u=this,v=e.tryThese(function(){return u.getNative().createRange().item(0);},function(){var w=u.getRanges()[0],x,y;for(var z=2;z&&!((x=w.getEnclosedNode())&&x.type==1&&s[x.getName()]&&(y=x));z--)w.shrink(1);return y.$;});\r
+return t.selectedElement=v?new h(v):null;},lock:function(){var t=this;t.getRanges();t.getStartElement();t.getSelectedElement();t._.cache.nativeSel={};t.isLocked=1;t.document.setCustomData('cke_locked_selection',t);},unlock:function(t){var y=this;var u=y.document,v=u.getCustomData('cke_locked_selection');if(v){u.setCustomData('cke_locked_selection',null);if(t){var w=v.getSelectedElement(),x=!w&&v.getRanges();y.isLocked=0;y.reset();u.getBody().focus();if(w)y.selectElement(w);else y.selectRanges(x);}}if(!v||!t){y.isLocked=0;y.reset();}},reset:function(){this._.cache={};},selectElement:function(t){var w=this;if(w.isLocked){var u=new d.range(w.document);u.setStartBefore(t);u.setEndAfter(t);w._.cache.selectedElement=t;w._.cache.startElement=t;w._.cache.ranges=new d.rangeList(u);w._.cache.type=3;return;}if(c){w.getNative().empty();try{u=w.document.$.body.createControlRange();u.addElement(t.$);u.select();}catch(x){u=w.document.$.body.createTextRange();u.moveToElementText(t.$);u.select();}finally{w.document.fire('selectionchange');}w.reset();}else{u=w.document.$.createRange();u.selectNode(t.$);var v=w.getNative();v.removeAllRanges();v.addRange(u);w.reset();}},selectRanges:function(t){var D=this;if(D.isLocked){D._.cache.selectedElement=null;D._.cache.startElement=t[0]&&t[0].getTouchedStartNode();D._.cache.ranges=new d.rangeList(t);D._.cache.type=2;return;}if(c){if(t.length>1){var u=t[t.length-1];t[0].setEnd(u.endContainer,u.endOffset);t.length=1;}if(t[0])t[0].select();D.reset();}else{var v=D.getNative();if(t.length)v.removeAllRanges();for(var w=0;w<t.length;w++){if(w<t.length-1){var x=t[w],y=t[w+1],z=x.clone();z.setStart(x.endContainer,x.endOffset);z.setEnd(y.startContainer,y.startOffset);if(!z.collapsed){z.shrink(1,true);if(z.getCommonAncestor().isReadOnly()){y.setStart(x.startContainer,x.startOffset);t.splice(w--,1);continue;}}}var A=t[w],B=D.document.$.createRange(),C=A.startContainer;if(A.collapsed&&(b.opera||b.gecko&&b.version<10900)&&C.type==1&&!C.getChildCount())C.appendText('');B.setStart(C.$,A.startOffset);B.setEnd(A.endContainer.$,A.endOffset);v.addRange(B);}D.reset();}},createBookmarks:function(t){return this.getRanges().createBookmarks(t);},createBookmarks2:function(t){return this.getRanges().createBookmarks2(t);},selectBookmarks:function(t){var u=[];for(var v=0;v<t.length;v++){var w=new d.range(this.document);w.moveToBookmark(t[v]);u.push(w);}this.selectRanges(u);return this;},getCommonAncestor:function(){var t=this.getRanges(),u=t[0].startContainer,v=t[t.length-1].endContainer;\r
+return u.getCommonAncestor(v);},scrollIntoView:function(){var t=this.getStartElement();t.scrollIntoView();}};})();(function(){var m=d.walker.whitespaces(true),n=/\ufeff|\u00a0/,o={table:1,tbody:1,tr:1};d.range.prototype.select=c?function(p){var z=this;var q=z.collapsed,r,s;if(z.startContainer.type==1&&z.startContainer.getName() in o||z.endContainer.type==1&&z.endContainer.getName() in o)z.shrink(1,true);var t=z.createBookmark(),u=t.startNode,v;if(!q)v=t.endNode;var w=z.document.$.body.createTextRange();w.moveToElementText(u.$);w.moveStart('character',1);if(v){var x=z.document.$.body.createTextRange();x.moveToElementText(v.$);w.setEndPoint('EndToEnd',x);w.moveEnd('character',-1);}else{var y=u.getNext(m);r=!(y&&y.getText&&y.getText().match(n))&&(p||!u.hasPrevious()||u.getPrevious().is&&u.getPrevious().is('br'));s=z.document.createElement('span');s.setHtml('&#65279;');s.insertBefore(u);if(r)z.document.createText('\ufeff').insertBefore(u);}z.setStartBefore(u);u.remove();if(q){if(r){w.moveStart('character',-1);w.select();z.document.$.selection.clear();}else w.select();z.moveToPosition(s,3);s.remove();}else{z.setEndBefore(v);v.remove();w.select();}z.document.fire('selectionchange');}:function(){var s=this;var p=s.startContainer;if(s.collapsed&&p.type==1&&!p.getChildCount())p.append(new d.text(''));var q=s.document.$.createRange();q.setStart(p.$,s.startOffset);try{q.setEnd(s.endContainer.$,s.endOffset);}catch(t){if(t.toString().indexOf('NS_ERROR_ILLEGAL_VALUE')>=0){s.collapse(true);q.setEnd(s.endContainer.$,s.endOffset);}else throw t;}var r=s.document.getSelection().getNative();r.removeAllRanges();r.addRange(q);};})();(function(){var m={elements:{$:function(n){var o=n.attributes,p=o&&o._cke_realelement,q=p&&new a.htmlParser.fragment.fromHtml(decodeURIComponent(p)),r=q&&q.children[0];if(r&&n.attributes._cke_resizable){var s=n.attributes.style;if(s){var t=/(?:^|\s)width\s*:\s*(\d+)/i.exec(s),u=t&&t[1];t=/(?:^|\s)height\s*:\s*(\d+)/i.exec(s);var v=t&&t[1];if(u)r.attributes.width=u;if(v)r.attributes.height=v;}}return r;}}};j.add('fakeobjects',{requires:['htmlwriter'],afterInit:function(n){var o=n.dataProcessor,p=o&&o.htmlFilter;if(p)p.addRules(m);}});})();a.editor.prototype.createFakeElement=function(m,n,o,p){var q=this.lang.fakeobjects,r={'class':n,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(m.getOuterHtml()),_cke_real_node_type:m.type,alt:q[o]||q.unknown,align:m.getAttribute('align')||''};if(o)r._cke_real_element_type=o;if(p)r._cke_resizable=p;\r
+return this.document.createElement('img',{attributes:r});};a.editor.prototype.createFakeParserElement=function(m,n,o,p){var q=this.lang.fakeobjects,r,s=new a.htmlParser.basicWriter();m.writeHtml(s);r=s.getHtml();var t={'class':n,src:a.getUrl('images/spacer.gif'),_cke_realelement:encodeURIComponent(r),_cke_real_node_type:m.type,alt:q[o]||q.unknown,align:m.attributes.align||''};if(o)t._cke_real_element_type=o;if(p)t._cke_resizable=p;return new a.htmlParser.element('img',t);};a.editor.prototype.restoreRealElement=function(m){if(m.getAttribute('_cke_real_node_type')!=1)return null;return h.createFromHtml(decodeURIComponent(m.getAttribute('_cke_realelement')),this.document);};j.add('richcombo',{requires:['floatpanel','listblock','button'],beforeInit:function(m){m.ui.addHandler(3,k.richCombo.handler);}});a.UI_RICHCOMBO=3;k.richCombo=e.createClass({$:function(m){var o=this;e.extend(o,m,{title:m.label,modes:{wysiwyg:1}});var n=o.panel||{};delete o.panel;o.id=e.getNextNumber();o.document=n&&n.parent&&n.parent.getDocument()||a.document;n.className=(n.className||'')+' cke_rcombopanel';n.block={multiSelect:n.multiSelect,attributes:n.attributes};o._={panelDefinition:n,items:{},state:2};},statics:{handler:{create:function(m){return new k.richCombo(m);}}},proto:{renderHtml:function(m){var n=[];this.render(m,n);return n.join('');},render:function(m,n){var o=b,p='cke_'+this.id,q=e.addFunction(function(t){var w=this;var u=w._;if(u.state==0)return;w.createPanel(m);if(u.on){u.panel.hide();return;}if(!u.committed){u.list.commit();u.committed=1;}var v=w.getValue();if(v)u.list.mark(v);else u.list.unmarkAll();u.panel.showBlock(w.id,new h(t),4);},this),r={id:p,combo:this,focus:function(){var t=a.document.getById(p).getChild(1);t.focus();},clickFn:q};m.on('mode',function(){this.setState(this.modes[m.mode]?2:0);},this);var s=e.addFunction(function(t,u){t=new d.event(t);var v=t.getKeystroke();switch(v){case 13:case 32:case 40:e.callFunction(q,u);break;default:r.onkey(r,v);}t.preventDefault();});r.keyDownFn=s;n.push('<span class="cke_rcombo">','<span id=',p);if(this.className)n.push(' class="',this.className,' cke_off"');n.push('>','<span id="'+p+'_label" class=cke_label>',this.label,'</span>','<a hidefocus=true title="',this.title,'" tabindex="-1"',o.gecko&&o.version>=10900&&!o.hc?'':" href=\"javascript:void('"+this.label+"')\"",' role="button" aria-labelledby="',p,'_label" aria-describedby="',p,'_text" aria-haspopup="true"');if(b.opera||b.gecko&&b.mac)n.push(' onkeypress="return false;"');\r
+if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',s,', event, this );" onclick="CKEDITOR.tools.callFunction(',q,', this); return false;"><span><span id="'+p+'_text" class="cke_text cke_inline_label">'+this.label+'</span>'+'</span>'+'<span class=cke_openbutton>'+(b.hc?'<span>&#9660;</span>':'')+'</span>'+'</a>'+'</span>'+'</span>');if(this.onRender)this.onRender();return r;},createPanel:function(m){if(this._.panel)return;var n=this._.panelDefinition,o=this._.panelDefinition.block,p=n.parent||a.document.getBody(),q=new k.floatPanel(m,p,n),r=q.addListBlock(this.id,o),s=this;q.onShow=function(){if(s.className)this.element.getFirst().addClass(s.className+'_panel');s.setState(1);r.focus(!s.multiSelect&&s.getValue());s._.on=1;if(s.onOpen)s.onOpen();};q.onHide=function(t){if(s.className)this.element.getFirst().removeClass(s.className+'_panel');s.setState(2);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();s.document.getById('cke_'+s.id).getFirst().getNext().focus();};r.onClick=function(t,u){s.document.getWindow().focus();if(s.onClick)s.onClick.call(s,t,u);if(u)s.setValue(t,s._.items[t]);else s.setValue('');q.hide();};this._.panel=q;this._.list=r;q.getBlock(this.id).onHide=function(){s._.on=0;s.setState(2);};if(this.init)this.init();},setValue:function(m,n){var p=this;p._.value=m;var o=p.document.getById('cke_'+p.id+'_text');if(!(m||n)){n=p.label;o.addClass('cke_inline_label');}else o.removeClass('cke_inline_label');o.setHtml(typeof n!='undefined'?n:m);},getValue:function(){return this._.value||'';},unmarkAll:function(){this._.list.unmarkAll();},mark:function(m){this._.list.mark(m);},hideItem:function(m){this._.list.hideItem(m);},hideGroup:function(m){this._.list.hideGroup(m);},showAll:function(){this._.list.showAll();},add:function(m,n,o){this._.items[m]=o||m;this._.list.add(m,n,o);},startGroup:function(m){this._.list.startGroup(m);},commit:function(){this._.list.commit();},setState:function(m){var n=this;if(n._.state==m)return;n.document.getById('cke_'+n.id).setState(m);n._.state=m;}}});k.prototype.addRichCombo=function(m,n){this.add(m,3,n);};j.add('htmlwriter');a.htmlWriter=e.createClass({base:a.htmlParser.basicWriter,$:function(){var o=this;o.base();o.indentationChars='\t';o.selfClosingEnd=' />';o.lineBreakChars='\n';o.forceSimpleAmpersand=0;o.sortAttributes=1;o._.indent=0;o._.indentation='';o._.inPre=0;o._.rules={};var m=f;for(var n in e.extend({},m.$nonBodyContent,m.$block,m.$listItem,m.$tableContent))o.setRules(n,{indent:1,breakBeforeOpen:1,breakAfterOpen:1,breakBeforeClose:!m[n]['#'],breakAfterClose:1});\r
+o.setRules('br',{breakAfterOpen:1});o.setRules('title',{indent:0,breakAfterOpen:0});o.setRules('style',{indent:0,breakBeforeClose:1});o.setRules('pre',{indent:0});},proto:{openTag:function(m,n){var p=this;var o=p._.rules[m];if(p._.indent)p.indentation();else if(o&&o.breakBeforeOpen){p.lineBreak();p.indentation();}p._.output.push('<',m);},openTagClose:function(m,n){var p=this;var o=p._.rules[m];if(n)p._.output.push(p.selfClosingEnd);else{p._.output.push('>');if(o&&o.indent)p._.indentation+=p.indentationChars;}if(o&&o.breakAfterOpen)p.lineBreak();m=='pre'&&(p._.inPre=1);},attribute:function(m,n){if(typeof n=='string'){this.forceSimpleAmpersand&&(n=n.replace(/&amp;/g,'&'));n=e.htmlEncodeAttr(n);}this._.output.push(' ',m,'="',n,'"');},closeTag:function(m){var o=this;var n=o._.rules[m];if(n&&n.indent)o._.indentation=o._.indentation.substr(o.indentationChars.length);if(o._.indent)o.indentation();else if(n&&n.breakBeforeClose){o.lineBreak();o.indentation();}o._.output.push('</',m,'>');m=='pre'&&(o._.inPre=0);if(n&&n.breakAfterClose)o.lineBreak();},text:function(m){var n=this;if(n._.indent){n.indentation();!n._.inPre&&(m=e.ltrim(m));}n._.output.push(m);},comment:function(m){if(this._.indent)this.indentation();this._.output.push('<!--',m,'-->');},lineBreak:function(){var m=this;if(!m._.inPre&&m._.output.length>0)m._.output.push(m.lineBreakChars);m._.indent=1;},indentation:function(){var m=this;if(!m._.inPre)m._.output.push(m._.indentation);m._.indent=0;},setRules:function(m,n){var o=this._.rules[m];if(o)e.extend(o,n,true);else this._.rules[m]=n;}}});j.add('menubutton',{requires:['button','contextmenu'],beforeInit:function(m){m.ui.addHandler(5,k.menuButton.handler);}});a.UI_MENUBUTTON=5;(function(){var m=function(n){var o=this._;if(o.state===0)return;o.previousState=o.state;var p=o.menu;if(!p){p=o.menu=new j.contextMenu(n);p.definition.panel.attributes['aria-label']=n.lang.common.options;p.onHide=e.bind(function(){this.setState(o.previousState);},this);if(this.onMenu)p.addListener(this.onMenu);}if(o.on){p.hide();return;}this.setState(1);p.show(a.document.getById(this._.id),4);};k.menuButton=e.createClass({base:k.button,$:function(n){var o=n.panel;delete n.panel;this.base(n);this.hasArrow=true;this.click=m;},statics:{handler:{create:function(n){return new k.menuButton(n);}}}});})();j.add('dialogui');(function(){var m=function(u){var x=this;x._||(x._={});x._['default']=x._.initValue=u['default']||'';x._.required=u.required||false;var v=[x._];for(var w=1;w<arguments.length;\r
+w++)v.push(arguments[w]);v.push(true);e.extend.apply(e,v);return x._;},n={build:function(u,v,w){return new k.dialog.textInput(u,v,w);}},o={build:function(u,v,w){return new k.dialog[v.type](u,v,w);}},p={build:function(u,v,w){var x=v.children,y,z=[],A=[];for(var B=0;B<x.length&&(y=x[B]);B++){var C=[];z.push(C);A.push(a.dialog._.uiElementBuilders[y.type].build(u,y,C));}return new k.dialog[v.type](u,A,z,w,v);}},q={isChanged:function(){return this.getValue()!=this.getInitValue();},reset:function(u){this.setValue(this.getInitValue(),u);},setInitValue:function(){this._.initValue=this.getValue();},resetInitValue:function(){this._.initValue=this._['default'];},getInitValue:function(){return this._.initValue;}},r=e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onChange:function(u,v){if(!this._.domOnChangeRegistered){u.on('load',function(){this.getInputElement().on('change',function(){if(!u.parts.dialog.isVisible())return;this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',v);}},true),s=/^on([A-Z]\w+)/,t=function(u){for(var v in u){if(s.test(v)||v=='title'||v=='type')delete u[v];}return u;};e.extend(k.dialog,{labeledElement:function(u,v,w,x){if(arguments.length<4)return;var y=m.call(this,v);y.labelId=e.getNextId()+'_label';var z=this._.children=[],A=function(){var B=[],C=v.required?' cke_required':'';if(v.labelLayout!='horizontal')B.push('<label class="cke_dialog_ui_labeled_label'+C+'" ',' id="'+y.labelId+'"',' for="'+y.inputId+'"',' style="'+v.labelStyle+'">',v.label,'</label>','<div class="cke_dialog_ui_labeled_content" role="presentation">',x.call(this,u,v),'</div>');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'<label class="cke_dialog_ui_labeled_label'+C+'"'+' id="'+y.labelId+'"'+' for="'+y.inputId+'"'+' style="'+v.labelStyle+'">'+e.htmlEncode(v.label)+'</span>'},{type:'html',html:'<span class="cke_dialog_ui_labeled_content">'+x.call(this,u,v)+'</span>'}]};a.dialog._.uiElementBuilders.hbox.build(u,D,B);}return B.join('');};k.dialog.uiElement.call(this,u,v,w,'div',null,{role:'presentation'},A);},textInput:function(u,v,w){if(arguments.length<3)return;m.call(this,v);var x=this._.inputId=e.getNextId()+'_textInput',y={'class':'cke_dialog_ui_input_'+v.type,id:x,type:'text'},z;if(v.validate)this.validate=v.validate;if(v.maxLength)y.maxlength=v.maxLength;if(v.size)y.size=v.size;if(v.controlStyle)y.style=v.controlStyle;var A=this,B=false;u.on('load',function(){A.getInputElement().on('keydown',function(D){if(D.data.getKeystroke()==13)B=true;\r
+});A.getInputElement().on('keyup',function(D){if(D.data.getKeystroke()==13&&B){u.getButton('ok')&&setTimeout(function(){u.getButton('ok').click();},0);B=false;}},null,null,1000);});var C=function(){var D=['<div class="cke_dialog_ui_input_',v.type,'" role="presentation"'];if(v.width)D.push('style="width:'+v.width+'" ');D.push('><input ');y['aria-labelledby']=this._.labelId;this._.required&&(y['aria-required']=this._.required);for(var E in y)D.push(E+'="'+y[E]+'" ');D.push(' /></div>');return D.join('');};k.dialog.labeledElement.call(this,u,v,w,C);},textarea:function(u,v,w){if(arguments.length<3)return;m.call(this,v);var x=this,y=this._.inputId=e.getNextId()+'_textarea',z={};if(v.validate)this.validate=v.validate;z.rows=v.rows||5;z.cols=v.cols||20;var A=function(){z['aria-labelledby']=this._.labelId;this._.required&&(z['aria-required']=this._.required);var B=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea class="cke_dialog_ui_input_textarea" id="',y,'" '];for(var C in z)B.push(C+'="'+e.htmlEncode(z[C])+'" ');B.push('>',e.htmlEncode(x._['default']),'</textarea></div>');return B.join('');};k.dialog.labeledElement.call(this,u,v,w,A);},checkbox:function(u,v,w){if(arguments.length<3)return;var x=m.call(this,v,{'default':!!v['default']});if(v.validate)this.validate=v.validate;var y=function(){var z=e.extend({},v,{id:v.id?v.id+'_checkbox':e.getNextId()+'_checkbox'},true),A=[],B=e.getNextId()+'_label',C={'class':'cke_dialog_ui_checkbox_input',type:'checkbox','aria-labelledby':B};t(z);if(v['default'])C.checked='checked';if(typeof z.controlStyle!='undefined')z.style=z.controlStyle;x.checkbox=new k.dialog.uiElement(u,z,A,'input',null,C);A.push(' <label id="',B,'" for="',C.id,'">',e.htmlEncode(v.label),'</label>');return A.join('');};k.dialog.uiElement.call(this,u,v,w,'span',null,null,y);},radio:function(u,v,w){if(arguments.length<3)return;m.call(this,v);if(!this._['default'])this._['default']=this._.initValue=v.items[0][1];if(v.validate)this.validate=v.valdiate;var x=[],y=this,z=function(){var A=[],B=[],C={'class':'cke_dialog_ui_radio_item','aria-labelledby':this._.labelId},D=v.id?v.id+'_radio':e.getNextId()+'_radio';for(var E=0;E<v.items.length;E++){var F=v.items[E],G=F[2]!==undefined?F[2]:F[0],H=F[1]!==undefined?F[1]:F[0],I=e.getNextId()+'_radio_input',J=I+'_label',K=e.extend({},v,{id:I,title:null,type:null},true),L=e.extend({},K,{title:G},true),M={type:'radio','class':'cke_dialog_ui_radio_input',name:D,value:H,'aria-labelledby':J},N=[];if(y._['default']==H)M.checked='checked';\r
+t(K);t(L);if(typeof K.controlStyle!='undefined')K.style=K.controlStyle;x.push(new k.dialog.uiElement(u,K,N,'input',null,M));N.push(' ');new k.dialog.uiElement(u,L,N,'label',null,{id:J,'for':M.id},F[0]);A.push(N.join(''));}new k.dialog.hbox(u,[],A,B);return B.join('');};k.dialog.labeledElement.call(this,u,v,w,z);this._.children=x;},button:function(u,v,w){if(!arguments.length)return;if(typeof v=='function')v=v(u.getParentEditor());m.call(this,v,{disabled:v.disabled||false});a.event.implementOn(this);var x=this;u.on('load',function(A){var B=this.getElement();(function(){B.on('click',function(C){x.fire('click',{dialog:x.getDialog()});C.data.preventDefault();});B.on('keydown',function(C){if(C.data.getKeystroke() in {32:1}){x.click();C.data.preventDefault();}});})();B.unselectable();},this);var y=e.extend({},v);delete y.style;var z=e.getNextId()+'_label';k.dialog.uiElement.call(this,u,y,w,'a',null,{style:v.style,href:'javascript:void(0)',title:v.label,hidefocus:'true','class':v['class'],role:'button','aria-labelledby':z},'<span id="'+z+'" class="cke_dialog_ui_button">'+e.htmlEncode(v.label)+'</span>');},select:function(u,v,w){if(arguments.length<3)return;var x=m.call(this,v);if(v.validate)this.validate=v.validate;x.inputId=e.getNextId()+'_select';var y=function(){var z=e.extend({},v,{id:v.id?v.id+'_select':e.getNextId()+'_select'},true),A=[],B=[],C={id:x.inputId,'class':'cke_dialog_ui_input_select','aria-labelledby':this._.labelId};if(v.size!=undefined)C.size=v.size;if(v.multiple!=undefined)C.multiple=v.multiple;t(z);for(var D=0,E;D<v.items.length&&(E=v.items[D]);D++)B.push('<option value="',e.htmlEncode(E[1]!==undefined?E[1]:E[0]),'" /> ',e.htmlEncode(E[0]));if(typeof z.controlStyle!='undefined')z.style=z.controlStyle;x.select=new k.dialog.uiElement(u,z,A,'select',null,C,B.join(''));return A.join('');};k.dialog.labeledElement.call(this,u,v,w,y);},file:function(u,v,w){if(arguments.length<3)return;if(v['default']===undefined)v['default']='';var x=e.extend(m.call(this,v),{definition:v,buttons:[]});if(v.validate)this.validate=v.validate;var y=function(){x.frameId=e.getNextId()+'_fileInput';var z=b.isCustomDomain(),A=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" id="',x.frameId,'" title="',v.label,'" src="javascript:void('];A.push(z?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');A.push(')"></iframe>');return A.join('');};u.on('load',function(){var z=a.document.getById(x.frameId),A=z.getParent();\r
+A.addClass('cke_dialog_ui_input_file');});k.dialog.labeledElement.call(this,u,v,w,y);},fileButton:function(u,v,w){if(arguments.length<3)return;var x=m.call(this,v),y=this;if(v.validate)this.validate=v.validate;var z=e.extend({},v),A=z.onClick;z.className=(z.className?z.className+' ':'')+'cke_dialog_ui_button';z.onClick=function(B){var C=v['for'];if(!A||A.call(this,B)!==false){u.getContentElement(C[0],C[1]).submit();this.disable();}};u.on('load',function(){u.getContentElement(v['for'][0],v['for'][1])._.buttons.push(y);});k.dialog.button.call(this,u,z,w);},html:(function(){var u=/^\s*<[\w:]+\s+([^>]*)?>/,v=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,w=/\/$/;return function(x,y,z){if(arguments.length<3)return;var A=[],B,C=y.html,D,E;if(C.charAt(0)!='<')C='<span>'+C+'</span>';var F=y.focus;if(F){var G=this.focus;this.focus=function(){G.call(this);typeof F=='function'&&F.call(this);this.fire('focus');};if(y.isFocusable){var H=this.isFocusable;this.isFocusable=H;}this.keyboardFocusable=true;}k.dialog.uiElement.call(this,x,y,A,'span',null,null,'');B=A.join('');D=B.match(u);E=C.match(v)||['','',''];if(w.test(E[1])){E[1]=E[1].slice(0,-1);E[2]='/'+E[2];}z.push([E[1],' ',D[1]||'',E[2]].join(''));};})(),fieldset:function(u,v,w,x,y){var z=y.label,A=function(){var B=[];z&&B.push('<legend>'+z+'</legend>');for(var C=0;C<w.length;C++)B.push(w[C]);return B.join('');};this._={children:v};k.dialog.uiElement.call(this,u,y,x,'fieldset',null,null,A);}},true);k.dialog.html.prototype=new k.dialog.uiElement();k.dialog.labeledElement.prototype=e.extend(new k.dialog.uiElement(),{setLabel:function(u){var v=a.document.getById(this._.labelId);if(v.getChildCount()<1)new d.text(u,a.document).appendTo(v);else v.getChild(0).$.nodeValue=u;return this;},getLabel:function(){var u=a.document.getById(this._.labelId);if(!u||u.getChildCount()<1)return '';else return u.getChild(0).getText();},eventProcessors:r},true);k.dialog.button.prototype=e.extend(new k.dialog.uiElement(),{click:function(){var u=this;if(!u._.disabled)return u.fire('click',{dialog:u._.dialog});u.getElement().$.blur();return false;},enable:function(){this._.disabled=false;var u=this.getElement();u&&u.removeClass('cke_disabled');},disable:function(){this._.disabled=true;this.getElement().addClass('cke_disabled');},isVisible:function(){return this.getElement().getFirst().isVisible();},isEnabled:function(){return!this._.disabled;},eventProcessors:e.extend({},k.dialog.uiElement.prototype.eventProcessors,{onClick:function(u,v){this.on('click',v);\r
+}},true),accessKeyUp:function(){this.click();},accessKeyDown:function(){this.focus();},keyboardFocusable:true},true);k.dialog.textInput.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return a.document.getById(this._.inputId);},focus:function(){var u=this.selectParentTab();setTimeout(function(){var v=u.getInputElement();v&&v.$.focus();},0);},select:function(){var u=this.selectParentTab();setTimeout(function(){var v=u.getInputElement();if(v){v.$.focus();v.$.select();}},0);},accessKeyUp:function(){this.select();},setValue:function(u){!u&&(u='');return k.dialog.uiElement.prototype.setValue.apply(this,arguments);},keyboardFocusable:true},q,true);k.dialog.textarea.prototype=new k.dialog.textInput();k.dialog.select.prototype=e.extend(new k.dialog.labeledElement(),{getInputElement:function(){return this._.select.getElement();},add:function(u,v,w){var x=new h('option',this.getDialog().getParentEditor().document),y=this.getInputElement().$;x.$.text=u;x.$.value=v===undefined||v===null?u:v;if(w===undefined||w===null){if(c)y.add(x.$);else y.add(x.$,null);}else y.add(x.$,w);return this;},remove:function(u){var v=this.getInputElement().$;v.remove(u);return this;},clear:function(){var u=this.getInputElement().$;while(u.length>0)u.remove(0);return this;},keyboardFocusable:true},q,true);k.dialog.checkbox.prototype=e.extend(new k.dialog.uiElement(),{getInputElement:function(){return this._.checkbox.getElement();},setValue:function(u,v){this.getInputElement().$.checked=u;!v&&this.fire('change',{value:u});},getValue:function(){return this.getInputElement().$.checked;},accessKeyUp:function(){this.setValue(!this.getValue());},eventProcessors:{onChange:function(u,v){if(!c)return r.onChange.apply(this,arguments);else{u.on('load',function(){var w=this._.checkbox.getElement();w.on('propertychange',function(x){x=x.data.$;if(x.propertyName=='checked')this.fire('change',{value:w.$.checked});},this);},this);this.on('change',v);}return null;}},keyboardFocusable:true},q,true);k.dialog.radio.prototype=e.extend(new k.dialog.uiElement(),{setValue:function(u,v){var w=this._.children,x;for(var y=0;y<w.length&&(x=w[y]);y++)x.getElement().$.checked=x.getValue()==u;!v&&this.fire('change',{value:u});},getValue:function(){var u=this._.children;for(var v=0;v<u.length;v++){if(u[v].getElement().$.checked)return u[v].getValue();}return null;},accessKeyUp:function(){var u=this._.children,v;for(v=0;v<u.length;v++){if(u[v].getElement().$.checked){u[v].getElement().focus();return;\r
+}}u[0].getElement().focus();},eventProcessors:{onChange:function(u,v){if(!c)return r.onChange.apply(this,arguments);else{u.on('load',function(){var w=this._.children,x=this;for(var y=0;y<w.length;y++){var z=w[y].getElement();z.on('propertychange',function(A){A=A.data.$;if(A.propertyName=='checked'&&this.$.checked)x.fire('change',{value:this.getAttribute('value')});});}},this);this.on('change',v);}return null;}},keyboardFocusable:true},q,true);k.dialog.file.prototype=e.extend(new k.dialog.labeledElement(),q,{getInputElement:function(){var u=a.document.getById(this._.frameId).getFrameDocument();return u.$.forms.length>0?new h(u.$.forms[0].elements[0]):this.getElement();},submit:function(){this.getInputElement().getParent().$.submit();return this;},getAction:function(){return this.getInputElement().getParent().$.action;},registerEvents:function(u){var v=/^on([A-Z]\w+)/,w,x=function(z,A,B,C){z.on('formLoaded',function(){z.getInputElement().on(B,C,z);});};for(var y in u){if(!(w=y.match(v)))continue;if(this.eventProcessors[y])this.eventProcessors[y].call(this,this._.dialog,u[y]);else x(this,this._.dialog,w[1].toLowerCase(),u[y]);}return this;},reset:function(){var u=this._,v=a.document.getById(u.frameId),w=v.getFrameDocument(),x=u.definition,y=u.buttons,z=this.formLoadedNumber,A=this.formUnloadNumber,B=u.dialog._.editor.lang.dir,C=u.dialog._.editor.langCode;if(!z){z=this.formLoadedNumber=e.addFunction(function(){this.fire('formLoaded');},this);A=this.formUnloadNumber=e.addFunction(function(){this.getInputElement().clearCustomData();},this);this.getDialog()._.editor.on('destroy',function(){e.removeFunction(z);e.removeFunction(A);});}function D(){w.$.open();if(b.isCustomDomain())w.$.domain=document.domain;var E='';if(x.size)E=x.size-(c?7:0);w.$.write(['<html dir="'+B+'" lang="'+C+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+B+'" lang="'+C+'" action="',e.htmlEncode(x.action),'">','<input type="file" name="',e.htmlEncode(x.id||'cke_upload'),'" size="',e.htmlEncode(E>0?E:''),'" />','</form>','</body></html>','<script>window.parent.CKEDITOR.tools.callFunction('+z+');','window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction('+A+')}</script>'].join(''));w.$.close();for(var F=0;F<y.length;F++)y[F].enable();};if(b.gecko)setTimeout(D,500);else D();},getValue:function(){return this.getInputElement().$.value;},setInitValue:function(){this._.initValue='';\r
+},eventProcessors:{onChange:function(u,v){if(!this._.domOnChangeRegistered){this.on('formLoaded',function(){this.getInputElement().on('change',function(){this.fire('change',{value:this.getValue()});},this);},this);this._.domOnChangeRegistered=true;}this.on('change',v);}},keyboardFocusable:true},true);k.dialog.fileButton.prototype=new k.dialog.button();k.dialog.fieldset.prototype=e.clone(k.dialog.hbox.prototype);a.dialog.addUIElement('text',n);a.dialog.addUIElement('password',n);a.dialog.addUIElement('textarea',o);a.dialog.addUIElement('checkbox',o);a.dialog.addUIElement('radio',o);a.dialog.addUIElement('button',o);a.dialog.addUIElement('select',o);a.dialog.addUIElement('file',o);a.dialog.addUIElement('fileButton',o);a.dialog.addUIElement('html',o);a.dialog.addUIElement('fieldset',p);})();j.add('panel',{beforeInit:function(m){m.ui.addHandler(2,k.panel.handler);}});a.UI_PANEL=2;k.panel=function(m,n){var o=this;if(n)e.extend(o,n);e.extend(o,{className:'',css:[]});o.id=e.getNextId();o.document=m;o._={blocks:{}};};k.panel.handler={create:function(m){return new k.panel(m);}};k.panel.prototype={renderHtml:function(m){var n=[];this.render(m,n);return n.join('');},render:function(m,n){var p=this;var o=p.id;n.push('<div class="',m.skinClass,'" lang="',m.langCode,'" role="presentation" style="display:none;z-index:'+(m.config.baseFloatZIndex+1)+'">'+'<div'+' id=',o,' dir=',m.lang.dir,' role="presentation" class="cke_panel cke_',m.lang.dir);if(p.className)n.push(' ',p.className);n.push('">');if(p.forceIFrame||p.css.length){n.push('<iframe id="',o,'_frame" frameborder="0" role="application" src="javascript:void(');n.push(b.isCustomDomain()?"(function(){document.open();document.domain='"+document.domain+"';"+'document.close();'+'})()':'0');n.push(')"></iframe>');}n.push('</div></div>');return o;},getHolderElement:function(){var m=this._.holder;if(!m){if(this.forceIFrame||this.css.length){var n=this.document.getById(this.id+'_frame'),o=n.getParent(),p=o.getAttribute('dir'),q=o.getParent().getAttribute('class'),r=o.getParent().getAttribute('lang'),s=n.getFrameDocument();s.$.open();if(b.isCustomDomain())s.$.domain=document.domain;var t=e.addFunction(e.bind(function(v){this.isLoaded=true;if(this.onLoad)this.onLoad();},this));s.$.write('<!DOCTYPE html><html dir="'+p+'" class="'+q+'_container" lang="'+r+'">'+'<head>'+'<style>.'+q+'_container{visibility:hidden}</style>'+'</head>'+'<body class="cke_'+p+' cke_panel_frame '+b.cssClass+'" style="margin:0;padding:0"'+' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction('+t+');"></body>'+e.buildStyleHtml(this.css)+'</html>');\r
+s.$.close();var u=s.getWindow();u.$.CKEDITOR=a;s.on('key'+(b.opera?'press':'down'),function(v){var y=this;var w=v.data.getKeystroke(),x=y.document.getById(y.id).getAttribute('dir');if(y._.onKeyDown&&y._.onKeyDown(w)===false){v.data.preventDefault();return;}if(w==27||w==(x=='rtl'?39:37))if(y.onEscape&&y.onEscape(w)===false)v.data.preventDefault();},this);m=s.getBody();m.unselectable();}else m=this.document.getById(this.id);this._.holder=m;}return m;},addBlock:function(m,n){var o=this;n=o._.blocks[m]=n instanceof k.panel.block?n:new k.panel.block(o.getHolderElement(),n);if(!o._.currentBlock)o.showBlock(m);return n;},getBlock:function(m){return this._.blocks[m];},showBlock:function(m){var n=this._.blocks,o=n[m],p=this._.currentBlock,q=this.forceIFrame?this.document.getById(this.id+'_frame'):this._.holder;q.getParent().getParent().disableContextMenu();if(p){q.removeAttributes(p.attributes);p.hide();}this._.currentBlock=o;q.setAttributes(o.attributes);a.fire('ariaWidget',q);o._.focusIndex=-1;this._.onKeyDown=o.onKeyDown&&e.bind(o.onKeyDown,o);o.onMark=function(r){q.setAttribute('aria-activedescendant',r.getId()+'_option');};o.onUnmark=function(){q.removeAttribute('aria-activedescendant');};o.show();return o;},destroy:function(){this.element&&this.element.remove();}};k.panel.block=e.createClass({$:function(m,n){var o=this;o.element=m.append(m.getDocument().createElement('div',{attributes:{tabIndex:-1,'class':'cke_panel_block',role:'presentation'},styles:{display:'none'}}));if(n)e.extend(o,n);if(!o.attributes.title)o.attributes.title=o.attributes['aria-label'];o.keys={};o._.focusIndex=-1;o.element.disableContextMenu();},_:{markItem:function(m){var p=this;if(m==-1)return;var n=p.element.getElementsByTag('a'),o=n.getItem(p._.focusIndex=m);if(b.webkit||b.opera)o.getDocument().getWindow().focus();o.focus();p.onMark&&p.onMark(o);}},proto:{show:function(){this.element.setStyle('display','');},hide:function(){var m=this;if(!m.onHide||m.onHide.call(m)!==true)m.element.setStyle('display','none');},onKeyDown:function(m){var r=this;var n=r.keys[m];switch(n){case 'next':var o=r._.focusIndex,p=r.element.getElementsByTag('a'),q;while(q=p.getItem(++o)){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'prev':o=r._.focusIndex;p=r.element.getElementsByTag('a');while(o>0&&(q=p.getItem(--o))){if(q.getAttribute('_cke_focus')&&q.$.offsetWidth){r._.focusIndex=o;q.focus();break;}}return false;case 'click':o=r._.focusIndex;q=o>=0&&r.element.getElementsByTag('a').getItem(o);\r
+if(q)q.$.click?q.$.click():q.$.onclick();return false;}return true;}}});j.add('listblock',{requires:['panel'],onLoad:function(){k.panel.prototype.addListBlock=function(m,n){return this.addBlock(m,new k.listBlock(this.getHolderElement(),n));};k.listBlock=e.createClass({base:k.panel.block,$:function(m,n){var q=this;n=n||{};var o=n.attributes||(n.attributes={});(q.multiSelect=!!n.multiSelect)&&(o['aria-multiselectable']=true);!o.role&&(o.role='listbox');q.base.apply(q,arguments);var p=q.keys;p[40]='next';p[9]='next';p[38]='prev';p[2000+9]='prev';p[32]='click';q._.pendingHtml=[];q._.items={};q._.groups={};},_:{close:function(){if(this._.started){this._.pendingHtml.push('</ul>');delete this._.started;}},getClick:function(){if(!this._.click)this._.click=e.addFunction(function(m){var o=this;var n=true;if(o.multiSelect)n=o.toggle(m);else o.mark(m);if(o.onClick)o.onClick(m,n);},this);return this._.click;}},proto:{add:function(m,n,o){var r=this;var p=r._.pendingHtml,q=e.getNextId();if(!r._.started){p.push('<ul role="presentation" class=cke_panel_list>');r._.started=1;r._.size=r._.size||0;}r._.items[m]=q;p.push('<li id=',q,' class=cke_panel_listItem><a id="',q,'_option" _cke_focus=1 hidefocus=true title="',o||m,'" href="javascript:void(\'',m,'\')" onclick="CKEDITOR.tools.callFunction(',r._.getClick(),",'",m,"'); return false;\"",' role="option" aria-posinset="'+ ++r._.size+'">',n||m,'</a></li>');},startGroup:function(m){this._.close();var n=e.getNextId();this._.groups[m]=n;this._.pendingHtml.push('<h1 role="presentation" id=',n,' class=cke_panel_grouptitle>',m,'</h1>');},commit:function(){var p=this;p._.close();p.element.appendHtml(p._.pendingHtml.join(''));var m=p._.items,n=p.element.getDocument();for(var o in m)n.getById(m[o]+'_option').setAttribute('aria-setsize',p._.size);delete p._.size;p._.pendingHtml=[];},toggle:function(m){var n=this.isMarked(m);if(n)this.unmark(m);else this.mark(m);return!n;},hideGroup:function(m){var n=this.element.getDocument().getById(this._.groups[m]),o=n&&n.getNext();if(n){n.setStyle('display','none');if(o&&o.getName()=='ul')o.setStyle('display','none');}},hideItem:function(m){this.element.getDocument().getById(this._.items[m]).setStyle('display','none');},showAll:function(){var m=this._.items,n=this._.groups,o=this.element.getDocument();for(var p in m)o.getById(m[p]).setStyle('display','');for(var q in n){var r=o.getById(n[q]),s=r.getNext();r.setStyle('display','');if(s&&s.getName()=='ul')s.setStyle('display','');}},mark:function(m){var p=this;\r
+if(!p.multiSelect)p.unmarkAll();var n=p._.items[m],o=p.element.getDocument().getById(n);o.addClass('cke_selected');p.element.getDocument().getById(n+'_option').setAttribute('aria-selected',true);p.element.setAttribute('aria-activedescendant',n+'_option');p.onMark&&p.onMark(o);},unmark:function(m){var n=this;n.element.getDocument().getById(n._.items[m]).removeClass('cke_selected');n.onUnmark&&n.onUnmark(n._.items[m]);},unmarkAll:function(){var p=this;var m=p._.items,n=p.element.getDocument();for(var o in m)n.getById(m[o]).removeClass('cke_selected');p.onUnmark&&p.onUnmark();},isMarked:function(m){return this.element.getDocument().getById(this._.items[m]).hasClass('cke_selected');},focus:function(m){this._.focusIndex=-1;if(m){var n=this.element.getDocument().getById(this._.items[m]).getFirst(),o=this.element.getElementsByTag('a'),p,q=-1;while(p=o.getItem(++q)){if(p.equals(n)){this._.focusIndex=q;break;}}setTimeout(function(){n.focus();},0);}}}});}});a.themes.add('default',(function(){function m(n,o){var p,q;q=n.config.sharedSpaces;q=q&&q[o];q=q&&a.document.getById(q);if(q){var r='<span class="cke_shared"><span class="'+n.skinClass+' '+n.id+' cke_editor_'+n.name+'">'+'<span class="'+b.cssClass+'">'+'<span class="cke_wrapper cke_'+n.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+o+'">'+'</div></span></span></span></span></span>',s=q.append(h.createFromHtml(r,q.getDocument()));if(q.getCustomData('cke_hasshared'))s.hide();else q.setCustomData('cke_hasshared',1);p=s.getChild([0,0,0,0]);n.on('focus',function(){for(var t=0,u,v=q.getChildren();u=v.getItem(t);t++){if(u.type==1&&!u.equals(s)&&u.hasClass('cke_shared'))u.hide();}s.show();});n.on('destroy',function(){s.remove();});}return p;};return{build:function(n,o){var p=n.name,q=n.element,r=n.elementMode;if(!q||r==0)return;if(r==1)q.hide();var s=n.fire('themeSpace',{space:'top',html:''}).html,t=n.fire('themeSpace',{space:'contents',html:''}).html,u=n.fireOnce('themeSpace',{space:'bottom',html:''}).html,v=t&&n.config.height,w=n.config.tabIndex||n.element.getAttribute('tabindex')||0;if(!t)v='auto';else if(!isNaN(v))v+='px';var x='',y=n.config.width;if(y){if(!isNaN(y))y+='px';x+='width: '+y+';';}var z=s&&m(n,'top'),A=m(n,'bottom');z&&(z.setHtml(s),s='');A&&(A.setHtml(u),u='');var B=h.createFromHtml(['<span id="cke_',p,'" onmousedown="return false;" class="',n.skinClass,' ',n.id,' cke_editor_',p,'" dir="',n.lang.dir,'" title="',b.gecko?' ':'','" lang="',n.langCode,'"'+(b.webkit?' tabindex="'+w+'"':'')+' role="application"'+' aria-labelledby="cke_',p,'_arialbl"'+(x?' style="'+x+'"':'')+'>'+'<span id="cke_',p,'_arialbl" class="cke_voice_label">'+n.lang.editor+'</span>'+'<span class="',b.cssClass,'" role="presentation"><span class="cke_wrapper cke_',n.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',s?'':' style="display:none"',' role="presentation"><td id="cke_top_',p,'" class="cke_top" role="presentation">',s,'</td></tr><tr',t?'':' style="display:none"',' role="presentation"><td id="cke_contents_',p,'" class="cke_contents" style="height:',v,'" role="presentation">',t,'</td></tr><tr',u?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',p,'" class="cke_bottom" role="presentation">',u,'</td></tr></tbody></table><style>.',n.skinClass,'{visibility:hidden;}</style></span></span></span>'].join(''));\r
+B.getChild([1,0,0,0,0]).unselectable();B.getChild([1,0,0,0,2]).unselectable();if(r==1)B.insertAfter(q);else q.append(B);n.container=B;B.disableContextMenu();n.fireOnce('themeLoaded');n.fireOnce('uiReady');},buildDialog:function(n){var o=e.getNextNumber(),p=h.createFromHtml(['<div class="',n.id,'_dialog cke_editor_',n.name.replace('.','\\.'),'_dialog cke_skin_',n.skinName,'" dir="',n.lang.dir,'" lang="',n.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+b.cssClass,' cke_',n.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+n.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation"><tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr></table>'+'<div id="%footer#" class="%footer" role="presentation"></div>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',c?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+o).replace(/%/g,'cke_dialog_')),q=p.getChild([0,0,0,0,0]),r=q.getChild(0),s=q.getChild(1);r.unselectable();s.unselectable();return{element:p,parts:{dialog:p.getChild(0),title:r,close:s,tabs:q.getChild(2),contents:q.getChild([3,0,0,0]),footer:q.getChild(4)}};},destroy:function(n){var o=n.container;o.clearCustomData();n.element.clearCustomData();if(o)o.remove();if(n.elementMode==1)n.element.show();delete n.element;}};})());a.editor.prototype.getThemeSpace=function(m){var n='cke_'+m,o=this._[n]||(this._[n]=a.document.getById(n+'_'+this.name));return o;};a.editor.prototype.resize=function(m,n,o,p){var q=this.container,r=a.document.getById('cke_contents_'+this.name),s=p?q.getChild(1):q;b.webkit&&s.setStyle('display','none');s.setSize('width',m,true);if(b.webkit){s.$.offsetWidth;s.setStyle('display','');}var t=o?0:(s.$.offsetHeight||0)-(r.$.clientHeight||0);r.setStyle('height',Math.max(n-t,0)+'px');this.fire('resize');};a.editor.prototype.getResizable=function(){return this.container.getChild(1);\r
 };})();\r
index 05c10d9..e8569a2 100644 (file)
@@ -3,6 +3,6 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'A8LE4JO',version:'3.4.1',revision:'5892',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b,c){var d=a.event.prototype;for(var e in d){if(b[e]==undefined)b[e]=d[e];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];\r
-return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?'8':'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';\r
-return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=true;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=true;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f],i=h.name;if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var j=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!j.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();})();\r
+(function(){if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'AA4E4NT',version:'3.4.2',revision:'6041',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;if(!d)throw 'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/'&&!/[&?]t=/.test(d))d+=(d.indexOf('?')>=0?'&':'?')+'t='+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();var a=CKEDITOR;if(!a.event){a.event=function(){};a.event.implementOn=function(b){var c=a.event.prototype;for(var d in c){if(b[d]==undefined)b[d]=c[d];}};a.event.prototype=(function(){var b=function(d){var e=d.getPrivate&&d.getPrivate()||d._||(d._={});return e.events||(e.events={});},c=function(d){this.name=d;this.listeners=[];};c.prototype={getListenerIndex:function(d){for(var e=0,f=this.listeners;e<f.length;e++){if(f[e].fn==d)return e;}return-1;}};return{on:function(d,e,f,g,h){var i=b(this),j=i[d]||(i[d]=new c(d));if(j.getListenerIndex(e)<0){var k=j.listeners;if(!f)f=this;if(isNaN(h))h=10;var l=this,m=function(o,p,q,r){var s={name:d,sender:this,editor:o,data:p,listenerData:g,stop:q,cancel:r,removeListener:function(){l.removeListener(d,e);}};e.call(f,s);return s.data;};m.fn=e;m.priority=h;for(var n=k.length-1;n>=0;n--){if(k[n].priority<=h){k.splice(n+1,0,m);return;}}k.unshift(m);}},fire:(function(){var d=false,e=function(){d=true;},f=false,g=function(){f=true;};return function(h,i,j){var k=b(this)[h],l=d,m=f;d=f=false;if(k){var n=k.listeners;if(n.length){n=n.slice(0);for(var o=0;o<n.length;o++){var p=n[o].call(this,j,i,e,g);if(typeof p!='undefined')i=p;if(d||f)break;}}}var q=f||(typeof i=='undefined'?false:i);d=l;f=m;return q;};})(),fireOnce:function(d,e,f){var g=this.fire(d,e,f);delete b(this)[d];return g;},removeListener:function(d,e){var f=b(this)[d];if(f){var g=f.getListenerIndex(e);if(g>=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];\r
+return e&&e.listeners.length>0;}};})();}if(!a.editor){a.ELEMENT_MODE_NONE=0;a.ELEMENT_MODE_REPLACE=1;a.ELEMENT_MODE_APPENDTO=2;a.editor=function(b,c,d,e){var f=this;f._={instanceConfig:b,element:c,data:e};f.elementMode=d||0;a.event.call(f);f._init();};a.editor.replace=function(b,c){var d=b;if(typeof d!='object'){d=document.getElementById(b);if(!d){var e=0,f=document.getElementsByName(b);while((d=f[e++])&&d.tagName.toLowerCase()!='textarea'){}}if(!d)throw '[CKEDITOR.editor.replace] The element with id or name "'+b+'" was not found.';}d.style.visibility='hidden';return new a.editor(c,d,1);};a.editor.appendTo=function(b,c,d){var e=b;if(typeof e!='object'){e=document.getElementById(b);if(!e)throw '[CKEDITOR.editor.appendTo] The element with id "'+b+'" was not found.';}return new a.editor(c,e,2,d);};a.editor.prototype={_init:function(){var b=a.editor._pending||(a.editor._pending=[]);b.push(this);},fire:function(b,c){return a.event.prototype.fire.call(this,b,c,this);},fireOnce:function(b,c){return a.event.prototype.fireOnce.call(this,b,c,this);}};a.event.implementOn(a.editor.prototype,true);}if(!a.env)a.env=(function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,d={ie:/*@cc_on!@*/false,opera:!!c&&c.version,webkit:b.indexOf(' applewebkit/')>-1,air:b.indexOf(' adobeair/')>-1,mac:b.indexOf('macintosh')>-1,quirks:document.compatMode=='BackCompat',mobile:b.indexOf('mobile')>-1,isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';}};d.gecko=navigator.product=='Gecko'&&!d.webkit&&!d.opera;var e=0;if(d.ie){e=parseFloat(b.match(/msie (\d+)/)[1]);d.ie8=!!document.documentMode;d.ie8Compat=document.documentMode==8;d.ie7Compat=e==7&&!document.documentMode||document.documentMode==7;d.ie6Compat=e<7||d.quirks;}if(d.gecko){var f=b.match(/rv:([\d\.]+)/);if(f){f=f[1].split('.');e=f[0]*10000+(f[1]||0)*100+ +(f[2]||0);}}if(d.opera)e=parseFloat(c.version());if(d.air)e=parseFloat(b.match(/ adobeair\/(\d+)/)[1]);if(d.webkit)e=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]);d.version=e;d.isCompatible=!d.mobile&&(d.ie&&e>=6||d.gecko&&e>=10801||d.opera&&e>=9.5||d.air&&e>=1||d.webkit&&e>=522||false);d.cssClass='cke_browser_'+(d.ie?'ie':d.gecko?'gecko':d.opera?'opera':d.air?'air':d.webkit?'webkit':'unknown');if(d.quirks)d.cssClass+=' cke_browser_quirks';if(d.ie){d.cssClass+=' cke_browser_ie'+(d.version<7?'6':d.version>=8?document.documentMode:'7');if(d.quirks)d.cssClass+=' cke_browser_iequirks';\r
+}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';return d;})();var b=a.env;var c=b.ie;if(a.status=='unloaded')(function(){a.event.implementOn(a);a.loadFullCore=function(){if(a.status!='basic_ready'){a.loadFullCore._load=1;return;}delete a.loadFullCore;var e=document.createElement('script');e.type='text/javascript';e.src=a.basePath+'ckeditor.js';document.getElementsByTagName('head')[0].appendChild(e);};a.loadFullCoreTimeout=0;a.replaceClass='ckeditor';a.replaceByClassEnabled=1;var d=function(e,f,g,h){if(b.isCompatible){if(a.loadFullCore)a.loadFullCore();var i=g(e,f,h);a.add(i);return i;}return null;};a.replace=function(e,f){return d(e,f,a.editor.replace);};a.appendTo=function(e,f,g){return d(e,f,a.editor.appendTo,g);};a.add=function(e){var f=this._.pending||(this._.pending=[]);f.push(e);};a.replaceAll=function(){var e=document.getElementsByTagName('textarea');for(var f=0;f<e.length;f++){var g=null,h=e[f],i=h.name;if(!h.name&&!h.id)continue;if(typeof arguments[0]=='string'){var j=new RegExp('(?:^|\\s)'+arguments[0]+'(?:$|\\s)');if(!j.test(h.className))continue;}else if(typeof arguments[0]=='function'){g={};if(arguments[0](h,g)===false)continue;}this.replace(h,g);}};(function(){var e=function(){var f=a.loadFullCore,g=a.loadFullCoreTimeout;if(a.replaceByClassEnabled)a.replaceAll(a.replaceClass);a.status='basic_ready';if(f&&f._load)f();else if(g)setTimeout(function(){if(a.loadFullCore)a.loadFullCore();},g*1000);};if(window.addEventListener)window.addEventListener('load',e,false);else if(window.attachEvent)window.attachEvent('onload',e);})();a.status='basic_loaded';})();})();\r
index 10efe0e..91280c4 100644 (file)
@@ -5,7 +5,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 // Compressed version of core/ckeditor_base.js. See original for instructions.\r
 /*jsl:ignore*/\r
-if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.4.1',revision:'5892',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();\r
+if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.4.2',revision:'6041',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();\r
 /*jsl:end*/\r
 \r
 // Uncomment the following line to have a new timestamp generated for each\r
index e97e39e..e6fc1df 100644 (file)
@@ -21,12 +21,12 @@ class CKEditor
         * The version of %CKEditor.\r
         * \private\r
         */\r
-       var $version = '3.4.1';\r
+       var $version = '3.4.2';\r
        /**\r
         * A constant string unique for each release of %CKEditor.\r
         * \private\r
         */\r
-       var $_timestamp = 'A8LE4JO';\r
+       var $_timestamp = 'AA4E4NT';\r
 \r
        /**\r
         * URL to the %CKEditor installation directory (absolute or relative to document root).\r
@@ -80,7 +80,7 @@ class CKEditor
         * A string indicating the creation date of %CKEditor.\r
         * Do not change it unless you want to force browsers to not use previously cached version of %CKEditor.\r
         */\r
-       var $timestamp = "A8LE4JO";\r
+       var $timestamp = "AA4E4NT";\r
        /**\r
         * An array that holds event listeners.\r
         * \private\r
index 3b805e5..86dab80 100644 (file)
@@ -20,11 +20,11 @@ class CKEditor
        /**\r
         * The version of %CKEditor.\r
         */\r
-       const version = '3.4.1';\r
+       const version = '3.4.2';\r
        /**\r
         * A constant string unique for each release of %CKEditor.\r
         */\r
-       const timestamp = 'A8LE4JO';\r
+       const timestamp = 'AA4E4NT';\r
 \r
        /**\r
         * URL to the %CKEditor installation directory (absolute or relative to document root).\r
@@ -78,7 +78,7 @@ class CKEditor
         * A string indicating the creation date of %CKEditor.\r
         * Do not change it unless you want to force browsers to not use previously cached version of %CKEditor.\r
         */\r
-       public $timestamp = "A8LE4JO";\r
+       public $timestamp = "AA4E4NT";\r
        /**\r
         * An array that holds event listeners.\r
         */\r
index 0c0da07..067b2f7 100644 (file)
@@ -5,7 +5,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 \r
 // Compressed version of core/ckeditor_base.js. See original for instructions.\r
 /*jsl:ignore*/\r
-if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.4.1',revision:'5892',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();\r
+if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.4.2',revision:'6041',_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f<e.length;f++){var g=e[f].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(g){d=g[1];break;}}}if(d.indexOf('://')==-1)if(d.indexOf('/')===0)d=location.href.match(/^.*?:\/\/[^\/]*/)[0]+d;else d=location.href.match(/^[^\?]*\/(?:)/)[0]+d;return d;})(),getUrl:function(d){if(d.indexOf('://')==-1&&d.indexOf('/')!==0)d=this.basePath+d;if(this.timestamp&&d.charAt(d.length-1)!='/')d+=(d.indexOf('?')>=0?'&':'?')+('t=')+this.timestamp;return d;}},b=window.CKEDITOR_GETURL;if(b){var c=a.getUrl;a.getUrl=function(d){return b.call(a,d)||c.call(a,d);};}return a;})();\r
 /*jsl:end*/\r
 \r
 // Uncomment the following line to have a new timestamp generated for each\r
index 929015c..b4e28fe 100644 (file)
@@ -20,7 +20,11 @@ html
 {\r
        /* #3658: [IE6] Editor document has horizontal scrollbar on long lines\r
        To prevent this misbehavior, we show the scrollbar always */\r
-       _overflow-y: scroll\r
+       _overflow-y: scroll;\r
+       /* #6341: The text cursor must be set on the editor area. */\r
+       cursor: text;\r
+       /* #6632: Avoid having "text" shape of cursor in IE7 scrollbars.*/\r
+       *cursor:auto;\r
 }\r
 \r
 img:-moz-broken\r
index 28e77a7..73dbbe1 100644 (file)
@@ -20,7 +20,7 @@ es.js      Found: 524 Missing: 7
 et.js      Found: 301 Missing: 230\r
 eu.js      Found: 403 Missing: 128\r
 fa.js      Found: 302 Missing: 229\r
-fi.js      Found: 518 Missing: 13\r
+fi.js      Found: 531 Missing: 0\r
 fo.js      Found: 420 Missing: 111\r
 fr-ca.js   Found: 301 Missing: 230\r
 fr.js      Found: 403 Missing: 128\r
@@ -54,7 +54,7 @@ sr.js      Found: 275 Missing: 256
 sv.js      Found: 299 Missing: 232\r
 th.js      Found: 287 Missing: 244\r
 tr.js      Found: 524 Missing: 7\r
-uk.js      Found: 404 Missing: 127\r
+uk.js      Found: 531 Missing: 0\r
 vi.js      Found: 481 Missing: 50\r
 zh-cn.js   Found: 531 Missing: 0\r
 zh.js      Found: 404 Missing: 127\r
index a336bee..5e28443 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.lang.fi={dir:'ltr',editorTitle:'Rikastekstieditori, %1, paina ALT 0 nähdäksesi ohjeen.',toolbar:'Työkalupalkki',editor:'Rikastekstieditori',source:'Koodi',newPage:'Tyhjennä',save:'Tallenna',preview:'Esikatsele',cut:'Leikkaa',copy:'Kopioi',paste:'Liitä',print:'Tulosta',underline:'Alleviivattu',bold:'Lihavoitu',italic:'Kursivoitu',selectAll:'Valitse kaikki',removeFormat:'Poista muotoilu',strike:'Yliviivattu',subscript:'Alaindeksi',superscript:'Yläindeksi',horizontalrule:'Lisää murtoviiva',pagebreak:'Lisää sivun vaihto',unlink:'Poista linkki',undo:'Kumoa',redo:'Toista',common:{browseServer:'Selaa palvelinta',url:'Osoite',protocol:'Protokolla',upload:'Lisää tiedosto',uploadSubmit:'Lähetä palvelimelle',image:'Kuva',flash:'Flash',form:'Lomake',checkbox:'Valintaruutu',radio:'Radiopainike',textField:'Tekstikenttä',textarea:'Tekstilaatikko',hiddenField:'Piilokenttä',button:'Painike',select:'Valintakenttä',imageButton:'Kuvapainike',notSet:'<ei asetettu>',id:'Tunniste',name:'Nimi',langDir:'Kielen suunta',langDirLtr:'Vasemmalta oikealle (LTR)',langDirRtl:'Oikealta vasemmalle (RTL)',langCode:'Kielikoodi',longDescr:'Pitkän kuvauksen URL',cssClass:'Tyyliluokat',advisoryTitle:'Avustava otsikko',cssStyle:'Tyyli',ok:'OK',cancel:'Peruuta',close:'Sulje',preview:'Esikatselu',generalTab:'Yleinen',advancedTab:'Lisäominaisuudet',validateNumberFailed:'Arvon pitää olla numero.',confirmNewPage:'Kaikki tallentamattomat muutokset tähän sisältöön menetetään. Oletko varma, että haluat ladata uuden sivun?',confirmCancel:'Jotkut asetuksista on muuttuneet. Oletko varma, että haluat sulkea valintaikkunan?',options:'Asetukset',target:'Kohde',targetNew:'Uusi ikkuna (_blank)',targetTop:'Päällimmäinen ikkuna (_top)',targetSelf:'Sama ikkuna (_self)',targetParent:'Ylemmän tason ikkuna (_parent)',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',styles:'Style',cssClasses:'Stylesheet Classes',unavailable:'%1<span class="cke_accessibility">, ei saatavissa</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Lisää erikoismerkki',title:'Valitse erikoismerkki',options:'Special Character Options'},link:{toolbar:'Lisää linkki/muokkaa linkkiä',other:'<muu>',menu:'Muokkaa linkkiä',title:'Linkki',info:'Linkin tiedot',target:'Kohde',upload:'Lisää tiedosto',advanced:'Lisäominaisuudet',type:'Linkkityyppi',toUrl:'Osoite',toAnchor:'Ankkuri tässä sivussa',toEmail:'Sähköposti',targetFrame:'<kehys>',targetPopup:'<popup ikkuna>',targetFrameName:'Kohdekehyksen nimi',targetPopupName:'Popup ikkunan nimi',popupFeatures:'Popup ikkunan ominaisuudet',popupResizable:'Venytettävä',popupStatusBar:'Tilarivi',popupLocationBar:'Osoiterivi',popupToolbar:'Vakiopainikkeet',popupMenuBar:'Valikkorivi',popupFullScreen:'Täysi ikkuna (IE)',popupScrollBars:'Vierityspalkit',popupDependent:'Riippuva (Netscape)',popupWidth:'Leveys',popupLeft:'Vasemmalta (px)',popupHeight:'Korkeus',popupTop:'Ylhäältä (px)',id:'Tunniste',langDir:'Kielen suunta',langDirLTR:'Vasemmalta oikealle (LTR)',langDirRTL:'Oikealta vasemmalle (RTL)',acccessKey:'Pikanäppäin',name:'Nimi',langCode:'Kielen suunta',tabIndex:'Tabulaattori indeksi',advisoryTitle:'Avustava otsikko',advisoryContentType:'Avustava sisällön tyyppi',cssClasses:'Tyyliluokat',charset:'Linkitetty kirjaimisto',styles:'Tyyli',selectAnchor:'Valitse ankkuri',anchorName:'Ankkurin nimen mukaan',anchorId:'Ankkurin ID:n mukaan',emailAddress:'Sähköpostiosoite',emailSubject:'Aihe',emailBody:'Viesti',noAnchors:'(Ei ankkureita tässä dokumentissa)',noUrl:'Linkille on kirjoitettava URL',noEmail:'Kirjoita sähköpostiosoite'},anchor:{toolbar:'Lisää ankkuri/muokkaa ankkuria',menu:'Ankkurin ominaisuudet',title:'Ankkurin ominaisuudet',name:'Nimi',errorName:'Ankkurille on kirjoitettava nimi'},list:{numberedTitle:'Numeroidun listan ominaisuudet',bulletedTitle:'Numeroimattoman listan ominaisuudet',type:'Tyyppi',start:'Alku',validateStartNumber:'List start number must be a whole number.',circle:'Ympyrä',disc:'Levy',square:'Neliö',none:'Ei mikään',notset:'<ei asetettu>',armenian:'Armeenialainen numerointi',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Pienet roomalaiset (i, ii, iii, iv, v, jne.)',upperRoman:'Isot roomalaiset (I, II, III, IV, V, jne.)',lowerAlpha:'Pienet aakkoset (a, b, c, d, e, jne.)',upperAlpha:'Isot aakkoset (A, B, C, D, E, jne.)',lowerGreek:'Pienet kreikkalaiset (alpha, beta, gamma, jne.)',decimal:'Desimaalit (1, 2, 3, jne.)',decimalLeadingZero:'Desimaalit, alussa nolla (01, 02, 03, jne.)'},findAndReplace:{title:'Etsi ja korvaa',find:'Etsi',replace:'Korvaa',findWhat:'Etsi mitä:',replaceWith:'Korvaa tällä:',notFoundMsg:'Etsittyä tekstiä ei löytynyt.',matchCase:'Sama kirjainkoko',matchWord:'Koko sana',matchCyclic:'Kierrä ympäri',replaceAll:'Korvaa kaikki',replaceSuccessMsg:'%1 esiintymä(ä) korvattu.'},table:{toolbar:'Taulu',title:'Taulun ominaisuudet',menu:'Taulun ominaisuudet',deleteTable:'Poista taulu',rows:'Rivit',columns:'Sarakkeet',border:'Rajan paksuus',align:'Kohdistus',alignLeft:'Vasemmalle',alignCenter:'Keskelle',alignRight:'Oikealle',width:'Leveys',widthPx:'pikseliä',widthPc:'prosenttia',widthUnit:'leveysyksikkö',height:'Korkeus',cellSpace:'Solujen väli',cellPad:'Solujen sisennys',caption:'Otsikko',summary:'Yhteenveto',headers:'Ylätunnisteet',headersNone:'Ei',headersColumn:'Ensimmäinen sarake',headersRow:'Ensimmäinen rivi',headersBoth:'Molemmat',invalidRows:'Rivien määrän täytyy olla suurempi kuin 0.',invalidCols:'Sarakkeiden määrän täytyy olla suurempi kuin 0.',invalidBorder:'Reunan koon täytyy olla numero.',invalidWidth:'Taulun leveyden täytyy olla numero.',invalidHeight:'Taulun korkeuden täytyy olla numero.',invalidCellSpacing:'Solujen välin täytyy olla numero.',invalidCellPadding:'Solujen sisennyksen täytyy olla numero.',cell:{menu:'Solu',insertBefore:'Lisää solu eteen',insertAfter:'Lisää solu perään',deleteCell:'Poista solut',merge:'Yhdistä solut',mergeRight:'Yhdistä oikealla olevan kanssa',mergeDown:'Yhdistä alla olevan kanssa',splitHorizontal:'Jaa solu vaakasuunnassa',splitVertical:'Jaa solu pystysuunnassa',title:'Solun ominaisuudet',cellType:'Solun tyyppi',rowSpan:'Rivin jatkuvuus',colSpan:'Solun jatkuvuus',wordWrap:'Rivitys',hAlign:'Horisontaali kohdistus',vAlign:'Vertikaali kohdistus',alignTop:'Ylös',alignMiddle:'Keskelle',alignBottom:'Alas',alignBaseline:'Alas (teksti)',bgColor:'Taustan väri',borderColor:'Reunan väri',data:'Data',header:'Ylätunniste',yes:'Kyllä',no:'Ei',invalidWidth:'Solun leveyden täytyy olla numero.',invalidHeight:'Solun korkeuden täytyy olla numero.',invalidRowSpan:'Rivin jatkuvuuden täytyy olla kokonaisluku.',invalidColSpan:'Solun jatkuvuuden täytyy olla kokonaisluku.',chooseColor:'Valitse'},row:{menu:'Rivi',insertBefore:'Lisää rivi yläpuolelle',insertAfter:'Lisää rivi alapuolelle',deleteRow:'Poista rivit'},column:{menu:'Sarake',insertBefore:'Lisää sarake vasemmalle',insertAfter:'Lisää sarake oikealle',deleteColumn:'Poista sarakkeet'}},button:{title:'Painikkeen ominaisuudet',text:'Teksti (arvo)',type:'Tyyppi',typeBtn:'Painike',typeSbm:'Lähetä',typeRst:'Tyhjennä'},checkboxAndRadio:{checkboxTitle:'Valintaruudun ominaisuudet',radioTitle:'Radiopainikkeen ominaisuudet',value:'Arvo',selected:'Valittu'},form:{title:'Lomakkeen ominaisuudet',menu:'Lomakkeen ominaisuudet',action:'Toiminto',method:'Tapa',encoding:'Enkoodaus'},select:{title:'Valintakentän ominaisuudet',selectInfo:'Info',opAvail:'Ominaisuudet',value:'Arvo',size:'Koko',lines:'Rivit',chkMulti:'Salli usea valinta',opText:'Teksti',opValue:'Arvo',btnAdd:'Lisää',btnModify:'Muuta',btnUp:'Ylös',btnDown:'Alas',btnSetValue:'Aseta valituksi',btnDelete:'Poista'},textarea:{title:'Tekstilaatikon ominaisuudet',cols:'Sarakkeita',rows:'Rivejä'},textfield:{title:'Tekstikentän ominaisuudet',name:'Nimi',value:'Arvo',charWidth:'Leveys',maxChars:'Maksimi merkkimäärä',type:'Tyyppi',typeText:'Teksti',typePass:'Salasana'},hidden:{title:'Piilokentän ominaisuudet',name:'Nimi',value:'Arvo'},image:{title:'Kuvan ominaisuudet',titleButton:'Kuvapainikkeen ominaisuudet',menu:'Kuvan ominaisuudet',infoTab:'Kuvan tiedot',btnUpload:'Lähetä palvelimelle',upload:'Lisää kuva',alt:'Vaihtoehtoinen teksti',width:'Leveys',height:'Korkeus',lockRatio:'Lukitse suhteet',unlockRatio:'Vapauta suhteet',resetSize:'Alkuperäinen koko',border:'Kehys',hSpace:'Vaakatila',vSpace:'Pystytila',align:'Kohdistus',alignLeft:'Vasemmalle',alignRight:'Oikealle',alertUrl:'Kirjoita kuvan osoite (URL)',linkTab:'Linkki',button2Img:'Haluatko muuntaa valitun kuvanäppäimen kuvaksi?',img2Button:'Haluatko muuntaa valitun kuvan kuvanäppäimeksi?',urlMissing:'Kuvan lähdeosoite puuttuu.',validateWidth:'Leveyden täytyy olla kokonaisluku.',validateHeight:'Korkeuden täytyy olla kokonaisluku.',validateBorder:'Kehyksen täytyy olla kokonaisluku.',validateHSpace:'HSpace-määrityksen täytyy olla kokonaisluku.',validateVSpace:'VSpace-määrityksen täytyy olla kokonaisluku.'},flash:{properties:'Flash-ominaisuudet',propertiesTab:'Ominaisuudet',title:'Flash ominaisuudet',chkPlay:'Automaattinen käynnistys',chkLoop:'Toisto',chkMenu:'Näytä Flash-valikko',chkFull:'Salli kokoruututila',scale:'Levitä',scaleAll:'Näytä kaikki',scaleNoBorder:'Ei rajaa',scaleFit:'Tarkka koko',access:'Skriptien pääsy',accessAlways:'Aina',accessSameDomain:'Sama verkkotunnus',accessNever:'Ei koskaan',align:'Kohdistus',alignLeft:'Vasemmalle',alignAbsBottom:'Aivan alas',alignAbsMiddle:'Aivan keskelle',alignBaseline:'Alas (teksti)',alignBottom:'Alas',alignMiddle:'Keskelle',alignRight:'Oikealle',alignTextTop:'Ylös (teksti)',alignTop:'Ylös',quality:'Laatu',qualityBest:'Paras',qualityHigh:'Korkea',qualityAutoHigh:'Automaattinen korkea',qualityMedium:'Keskitaso',qualityAutoLow:'Automaattinen matala',qualityLow:'Matala',windowModeWindow:'Ikkuna',windowModeOpaque:'Läpinäkyvyys',windowModeTransparent:'Läpinäkyvä',windowMode:'Ikkuna tila',flashvars:'Muuttujat Flash:lle',bgcolor:'Taustaväri',width:'Leveys',height:'Korkeus',hSpace:'Vaakatila',vSpace:'Pystytila',validateSrc:'Linkille on kirjoitettava URL',validateWidth:'Leveyden täytyy olla numero.',validateHeight:'Korkeuden täytyy olla numero.',validateHSpace:'Vaakatilan täytyy olla numero.',validateVSpace:'Pystytilan täytyy olla numero.'},spellCheck:{toolbar:'Tarkista oikeinkirjoitus',title:'Oikoluku',notAvailable:'Valitettavasti oikoluku ei ole käytössä tällä hetkellä.',errorLoading:'Virhe ladattaessa oikolukupalvelua isännältä: %s.',notInDic:'Ei sanakirjassa',changeTo:'Vaihda',btnIgnore:'Jätä huomioimatta',btnIgnoreAll:'Jätä kaikki huomioimatta',btnReplace:'Korvaa',btnReplaceAll:'Korvaa kaikki',btnUndo:'Kumoa',noSuggestions:'Ei ehdotuksia',progress:'Tarkistus käynnissä...',noMispell:'Tarkistus valmis: Ei virheitä',noChanges:'Tarkistus valmis: Yhtään sanaa ei muutettu',oneChange:'Tarkistus valmis: Yksi sana muutettiin',manyChanges:'Tarkistus valmis: %1 sanaa muutettiin',ieSpellDownload:'Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?'},smiley:{toolbar:'Hymiö',title:'Lisää hymiö',options:'Smiley Options'},elementsPath:{eleLabel:'Elementin polku',eleTitle:'%1 elementti'},numberedlist:'Numerointi',bulletedlist:'Luottelomerkit',indent:'Suurenna sisennystä',outdent:'Pienennä sisennystä',justify:{left:'Tasaa vasemmat reunat',center:'Keskitä',right:'Tasaa oikeat reunat',block:'Tasaa molemmat reunat'},blockquote:'Lainaus',clipboard:{title:'Liitä',cutError:'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).',copyError:'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).',pasteMsg:'Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',securityMsg:'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.',pasteArea:'Leikealue'},pastefromword:{confirmCleanup:'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)',toolbar:'Liitä Word-dokumentista',title:'Liitä Word-dokumentista',error:'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia'},pasteText:{button:'Liitä tekstinä',title:'Liitä tekstinä'},templates:{button:'Pohjat',title:'Sisältöpohjat',options:'Template Options',insertOption:'Korvaa editorin koko sisältö',selectPromptMsg:'Valitse pohja editoriin<br>(aiempi sisältö menetetään):',emptyListMsg:'(Ei määriteltyjä pohjia)'},showBlocks:'Näytä elementit',stylesCombo:{label:'Tyyli',panelTitle:'Muotoilujen tyylit',panelTitle1:'Lohkojen tyylit',panelTitle2:'Rivinsisäiset tyylit',panelTitle3:'Objektien tyylit'},format:{label:'Muotoilu',panelTitle:'Muotoilu',tag_p:'Normaali',tag_pre:'Muotoiltu',tag_address:'Osoite',tag_h1:'Otsikko 1',tag_h2:'Otsikko 2',tag_h3:'Otsikko 3',tag_h4:'Otsikko 4',tag_h5:'Otsikko 5',tag_h6:'Otsikko 6',tag_div:'Normaali (DIV)'},div:{title:'Luo div-kehikko',toolbar:'Luo div-kehikko',cssClassInputLabel:'Tyylitiedoston luokat',styleSelectLabel:'Tyyli',IdInputLabel:'Id',languageCodeInputLabel:' Kielen koodi',inlineStyleInputLabel:'Sisätyyli',advisoryTitleInputLabel:'Ohjeistava otsikko',langDirLabel:'Kielen suunta',langDirLTRLabel:'Vasemmalta oikealle (LTR)',langDirRTLLabel:'Oikealta vasemmalle (RTL)',edit:'Muokkaa Diviä',remove:'Poista Div'},font:{label:'Kirjaisinlaji',voiceLabel:'Kirjaisinlaji',panelTitle:'Kirjaisinlaji'},fontSize:{label:'Koko',voiceLabel:'Kirjaisimen koko',panelTitle:'Koko'},colorButton:{textColorTitle:'Tekstiväri',bgColorTitle:'Taustaväri',panelTitle:'Värit',auto:'Automaattinen',more:'Lisää värejä...'},colors:{'000':'Musta',800000:'Kastanjanruskea','8B4513':'Satulanruskea','2F4F4F':'Tumma liuskekivenharmaa','008080':'Sinivihreä','000080':'Laivastonsininen','4B0082':'Indigonsininen',696969:'Tummanharmaa',B22222:'Tiili',A52A2A:'Ruskea',DAA520:'Kultapiisku','006400':'Tummanvihreä','40E0D0':'Turkoosi','0000CD':'Keskisininen',800080:'Purppura',808080:'Harmaa',F00:'Punainen',FF8C00:'Tumma oranssi',FFD700:'Kulta','008000':'Vihreä','0FF':'Syaani','00F':'Sininen',EE82EE:'Violetti',A9A9A9:'Tummanharmaa',FFA07A:'Vaaleanlohenpunainen',FFA500:'Oranssi',FFFF00:'Keltainen','00FF00':'Limetin vihreä',AFEEEE:'Haalea turkoosi',ADD8E6:'Vaaleansininen',DDA0DD:'Luumu',D3D3D3:'Vaaleanharmaa',FFF0F5:'Laventelinpunainen',FAEBD7:'Antiikinvalkoinen',FFFFE0:'Vaaleankeltainen',F0FFF0:'Hunajameloni',F0FFFF:'Asurinsininen',F0F8FF:'Alice Blue -sininen',E6E6FA:'Lavanteli',FFF:'Valkoinen'},scayt:{title:'Oikolue kirjoitettaessa',opera_title:'Opera ei tue tätä ominaisuutta',enable:'Ota käyttöön oikoluku kirjoitettaessa',disable:'Poista käytöstä oikoluku kirjoitetaessa',about:'Tietoja oikoluvusta kirjoitetaessa',toggle:'Vaihda oikoluku kirjoittaessa tilaa',options:'Asetukset',langs:'Kielet',moreSuggestions:'Lisää ehdotuksia',ignore:'Ohita',ignoreAll:'Ohita kaikki',addWord:'Lisää sana',emptyDic:'Sanakirjan nimi on annettava.',optionsTab:'Asetukset',allCaps:'Ohita sanat, jotka on kirjoitettu kokonaan isoilla kirjaimilla',ignoreDomainNames:'Ohita verkkotunnukset',mixedCase:'Ohita sanat, joissa on sekoitettu isoja ja pieniä kirjaimia',mixedWithDigits:'Ohita sanat, joissa on numeroita',languagesTab:'Kielet',dictionariesTab:'Sanakirjat',dic_field_name:'Sanakirjan nimi',dic_create:'Luo',dic_restore:'Palauta',dic_delete:'Poista',dic_rename:'Nimeä uudelleen',dic_info:'Oletuksena sanakirjat tallennetaan evästeeseen, mutta evästeiden koko on kuitenkin rajallinen. Sanakirjan kasvaessa niin suureksi, ettei se enää mahdu evästeeseen, sanakirja täytyy tallentaa palvelimellemme. Tallentaaksesi sanakirjasi palvelimellemme tulee sinun antaa sille nimi. Jos olet jo tallentanut sanakirjan, anna sen nimi ja klikkaa Palauta-painiketta',aboutTab:'Tietoa'},about:{title:'Tietoa CKEditorista',dlgTitle:'Tietoa CKEditorista',moreInfo:'Lisenssitiedot löytyvät kotisivuiltamme:',copy:'Copyright &copy; $1. Kaikki oikeuden pidätetään.'},maximize:'Suurenna',minimize:'Pienennä',fakeobjects:{anchor:'Ankkuri',flash:'Flash animaatio',div:'Sivun vaihto',unknown:'Tuntematon objekti'},resize:'Raahaa muuttaaksesi kokoa',colordialog:{title:'Valitse väri',options:'Color Options',highlight:'Korostus',selected:'Valittu',clear:'Poista'},toolbarCollapse:'Kutista työkalupalkki',toolbarExpand:'Laajenna työkalupalkki',bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'}};\r
+CKEDITOR.lang.fi={dir:'ltr',editorTitle:'Rikastekstieditori, %1, paina ALT 0 nähdäksesi ohjeen.',toolbar:'Työkalupalkki',editor:'Rikastekstieditori',source:'Koodi',newPage:'Tyhjennä',save:'Tallenna',preview:'Esikatsele',cut:'Leikkaa',copy:'Kopioi',paste:'Liitä',print:'Tulosta',underline:'Alleviivattu',bold:'Lihavoitu',italic:'Kursivoitu',selectAll:'Valitse kaikki',removeFormat:'Poista muotoilu',strike:'Yliviivattu',subscript:'Alaindeksi',superscript:'Yläindeksi',horizontalrule:'Lisää murtoviiva',pagebreak:'Lisää sivun vaihto',unlink:'Poista linkki',undo:'Kumoa',redo:'Toista',common:{browseServer:'Selaa palvelinta',url:'Osoite',protocol:'Protokolla',upload:'Lisää tiedosto',uploadSubmit:'Lähetä palvelimelle',image:'Kuva',flash:'Flash',form:'Lomake',checkbox:'Valintaruutu',radio:'Radiopainike',textField:'Tekstikenttä',textarea:'Tekstilaatikko',hiddenField:'Piilokenttä',button:'Painike',select:'Valintakenttä',imageButton:'Kuvapainike',notSet:'<ei asetettu>',id:'Tunniste',name:'Nimi',langDir:'Kielen suunta',langDirLtr:'Vasemmalta oikealle (LTR)',langDirRtl:'Oikealta vasemmalle (RTL)',langCode:'Kielikoodi',longDescr:'Pitkän kuvauksen URL',cssClass:'Tyyliluokat',advisoryTitle:'Avustava otsikko',cssStyle:'Tyyli',ok:'OK',cancel:'Peruuta',close:'Sulje',preview:'Esikatselu',generalTab:'Yleinen',advancedTab:'Lisäominaisuudet',validateNumberFailed:'Arvon pitää olla numero.',confirmNewPage:'Kaikki tallentamattomat muutokset tähän sisältöön menetetään. Oletko varma, että haluat ladata uuden sivun?',confirmCancel:'Jotkut asetuksista on muuttuneet. Oletko varma, että haluat sulkea valintaikkunan?',options:'Asetukset',target:'Kohde',targetNew:'Uusi ikkuna (_blank)',targetTop:'Päällimmäinen ikkuna (_top)',targetSelf:'Sama ikkuna (_self)',targetParent:'Ylemmän tason ikkuna (_parent)',langDirLTR:'Vasemmalta oikealle (LTR)',langDirRTL:'Oikealta vasemmalle (RTL)',styles:'Tyyli',cssClasses:'Tyylitiedoston luokat',unavailable:'%1<span class="cke_accessibility">, ei saatavissa</span>'},contextmenu:{options:'Pikavalikon ominaisuudet'},specialChar:{toolbar:'Lisää erikoismerkki',title:'Valitse erikoismerkki',options:'Erikoismerkin ominaisuudet'},link:{toolbar:'Lisää linkki/muokkaa linkkiä',other:'<muu>',menu:'Muokkaa linkkiä',title:'Linkki',info:'Linkin tiedot',target:'Kohde',upload:'Lisää tiedosto',advanced:'Lisäominaisuudet',type:'Linkkityyppi',toUrl:'Osoite',toAnchor:'Ankkuri tässä sivussa',toEmail:'Sähköposti',targetFrame:'<kehys>',targetPopup:'<popup ikkuna>',targetFrameName:'Kohdekehyksen nimi',targetPopupName:'Popup ikkunan nimi',popupFeatures:'Popup ikkunan ominaisuudet',popupResizable:'Venytettävä',popupStatusBar:'Tilarivi',popupLocationBar:'Osoiterivi',popupToolbar:'Vakiopainikkeet',popupMenuBar:'Valikkorivi',popupFullScreen:'Täysi ikkuna (IE)',popupScrollBars:'Vierityspalkit',popupDependent:'Riippuva (Netscape)',popupWidth:'Leveys',popupLeft:'Vasemmalta (px)',popupHeight:'Korkeus',popupTop:'Ylhäältä (px)',id:'Tunniste',langDir:'Kielen suunta',langDirLTR:'Vasemmalta oikealle (LTR)',langDirRTL:'Oikealta vasemmalle (RTL)',acccessKey:'Pikanäppäin',name:'Nimi',langCode:'Kielen suunta',tabIndex:'Tabulaattori indeksi',advisoryTitle:'Avustava otsikko',advisoryContentType:'Avustava sisällön tyyppi',cssClasses:'Tyyliluokat',charset:'Linkitetty kirjaimisto',styles:'Tyyli',selectAnchor:'Valitse ankkuri',anchorName:'Ankkurin nimen mukaan',anchorId:'Ankkurin ID:n mukaan',emailAddress:'Sähköpostiosoite',emailSubject:'Aihe',emailBody:'Viesti',noAnchors:'(Ei ankkureita tässä dokumentissa)',noUrl:'Linkille on kirjoitettava URL',noEmail:'Kirjoita sähköpostiosoite'},anchor:{toolbar:'Lisää ankkuri/muokkaa ankkuria',menu:'Ankkurin ominaisuudet',title:'Ankkurin ominaisuudet',name:'Nimi',errorName:'Ankkurille on kirjoitettava nimi'},list:{numberedTitle:'Numeroidun listan ominaisuudet',bulletedTitle:'Numeroimattoman listan ominaisuudet',type:'Tyyppi',start:'Alku',validateStartNumber:'Listan ensimmäisen numeron tulee olla kokonaisluku.',circle:'Ympyrä',disc:'Levy',square:'Neliö',none:'Ei mikään',notset:'<ei asetettu>',armenian:'Armeenialainen numerointi',georgian:'Georgialainen numerointi (an, ban, gan, etc.)',lowerRoman:'Pienet roomalaiset (i, ii, iii, iv, v, jne.)',upperRoman:'Isot roomalaiset (I, II, III, IV, V, jne.)',lowerAlpha:'Pienet aakkoset (a, b, c, d, e, jne.)',upperAlpha:'Isot aakkoset (A, B, C, D, E, jne.)',lowerGreek:'Pienet kreikkalaiset (alpha, beta, gamma, jne.)',decimal:'Desimaalit (1, 2, 3, jne.)',decimalLeadingZero:'Desimaalit, alussa nolla (01, 02, 03, jne.)'},findAndReplace:{title:'Etsi ja korvaa',find:'Etsi',replace:'Korvaa',findWhat:'Etsi mitä:',replaceWith:'Korvaa tällä:',notFoundMsg:'Etsittyä tekstiä ei löytynyt.',matchCase:'Sama kirjainkoko',matchWord:'Koko sana',matchCyclic:'Kierrä ympäri',replaceAll:'Korvaa kaikki',replaceSuccessMsg:'%1 esiintymä(ä) korvattu.'},table:{toolbar:'Taulu',title:'Taulun ominaisuudet',menu:'Taulun ominaisuudet',deleteTable:'Poista taulu',rows:'Rivit',columns:'Sarakkeet',border:'Rajan paksuus',align:'Kohdistus',alignLeft:'Vasemmalle',alignCenter:'Keskelle',alignRight:'Oikealle',width:'Leveys',widthPx:'pikseliä',widthPc:'prosenttia',widthUnit:'leveysyksikkö',height:'Korkeus',cellSpace:'Solujen väli',cellPad:'Solujen sisennys',caption:'Otsikko',summary:'Yhteenveto',headers:'Ylätunnisteet',headersNone:'Ei',headersColumn:'Ensimmäinen sarake',headersRow:'Ensimmäinen rivi',headersBoth:'Molemmat',invalidRows:'Rivien määrän täytyy olla suurempi kuin 0.',invalidCols:'Sarakkeiden määrän täytyy olla suurempi kuin 0.',invalidBorder:'Reunan koon täytyy olla numero.',invalidWidth:'Taulun leveyden täytyy olla numero.',invalidHeight:'Taulun korkeuden täytyy olla numero.',invalidCellSpacing:'Solujen välin täytyy olla numero.',invalidCellPadding:'Solujen sisennyksen täytyy olla numero.',cell:{menu:'Solu',insertBefore:'Lisää solu eteen',insertAfter:'Lisää solu perään',deleteCell:'Poista solut',merge:'Yhdistä solut',mergeRight:'Yhdistä oikealla olevan kanssa',mergeDown:'Yhdistä alla olevan kanssa',splitHorizontal:'Jaa solu vaakasuunnassa',splitVertical:'Jaa solu pystysuunnassa',title:'Solun ominaisuudet',cellType:'Solun tyyppi',rowSpan:'Rivin jatkuvuus',colSpan:'Solun jatkuvuus',wordWrap:'Rivitys',hAlign:'Horisontaali kohdistus',vAlign:'Vertikaali kohdistus',alignTop:'Ylös',alignMiddle:'Keskelle',alignBottom:'Alas',alignBaseline:'Alas (teksti)',bgColor:'Taustan väri',borderColor:'Reunan väri',data:'Data',header:'Ylätunniste',yes:'Kyllä',no:'Ei',invalidWidth:'Solun leveyden täytyy olla numero.',invalidHeight:'Solun korkeuden täytyy olla numero.',invalidRowSpan:'Rivin jatkuvuuden täytyy olla kokonaisluku.',invalidColSpan:'Solun jatkuvuuden täytyy olla kokonaisluku.',chooseColor:'Valitse'},row:{menu:'Rivi',insertBefore:'Lisää rivi yläpuolelle',insertAfter:'Lisää rivi alapuolelle',deleteRow:'Poista rivit'},column:{menu:'Sarake',insertBefore:'Lisää sarake vasemmalle',insertAfter:'Lisää sarake oikealle',deleteColumn:'Poista sarakkeet'}},button:{title:'Painikkeen ominaisuudet',text:'Teksti (arvo)',type:'Tyyppi',typeBtn:'Painike',typeSbm:'Lähetä',typeRst:'Tyhjennä'},checkboxAndRadio:{checkboxTitle:'Valintaruudun ominaisuudet',radioTitle:'Radiopainikkeen ominaisuudet',value:'Arvo',selected:'Valittu'},form:{title:'Lomakkeen ominaisuudet',menu:'Lomakkeen ominaisuudet',action:'Toiminto',method:'Tapa',encoding:'Enkoodaus'},select:{title:'Valintakentän ominaisuudet',selectInfo:'Info',opAvail:'Ominaisuudet',value:'Arvo',size:'Koko',lines:'Rivit',chkMulti:'Salli usea valinta',opText:'Teksti',opValue:'Arvo',btnAdd:'Lisää',btnModify:'Muuta',btnUp:'Ylös',btnDown:'Alas',btnSetValue:'Aseta valituksi',btnDelete:'Poista'},textarea:{title:'Tekstilaatikon ominaisuudet',cols:'Sarakkeita',rows:'Rivejä'},textfield:{title:'Tekstikentän ominaisuudet',name:'Nimi',value:'Arvo',charWidth:'Leveys',maxChars:'Maksimi merkkimäärä',type:'Tyyppi',typeText:'Teksti',typePass:'Salasana'},hidden:{title:'Piilokentän ominaisuudet',name:'Nimi',value:'Arvo'},image:{title:'Kuvan ominaisuudet',titleButton:'Kuvapainikkeen ominaisuudet',menu:'Kuvan ominaisuudet',infoTab:'Kuvan tiedot',btnUpload:'Lähetä palvelimelle',upload:'Lisää kuva',alt:'Vaihtoehtoinen teksti',width:'Leveys',height:'Korkeus',lockRatio:'Lukitse suhteet',unlockRatio:'Vapauta suhteet',resetSize:'Alkuperäinen koko',border:'Kehys',hSpace:'Vaakatila',vSpace:'Pystytila',align:'Kohdistus',alignLeft:'Vasemmalle',alignRight:'Oikealle',alertUrl:'Kirjoita kuvan osoite (URL)',linkTab:'Linkki',button2Img:'Haluatko muuntaa valitun kuvanäppäimen kuvaksi?',img2Button:'Haluatko muuntaa valitun kuvan kuvanäppäimeksi?',urlMissing:'Kuvan lähdeosoite puuttuu.',validateWidth:'Leveyden täytyy olla kokonaisluku.',validateHeight:'Korkeuden täytyy olla kokonaisluku.',validateBorder:'Kehyksen täytyy olla kokonaisluku.',validateHSpace:'HSpace-määrityksen täytyy olla kokonaisluku.',validateVSpace:'VSpace-määrityksen täytyy olla kokonaisluku.'},flash:{properties:'Flash-ominaisuudet',propertiesTab:'Ominaisuudet',title:'Flash ominaisuudet',chkPlay:'Automaattinen käynnistys',chkLoop:'Toisto',chkMenu:'Näytä Flash-valikko',chkFull:'Salli kokoruututila',scale:'Levitä',scaleAll:'Näytä kaikki',scaleNoBorder:'Ei rajaa',scaleFit:'Tarkka koko',access:'Skriptien pääsy',accessAlways:'Aina',accessSameDomain:'Sama verkkotunnus',accessNever:'Ei koskaan',align:'Kohdistus',alignLeft:'Vasemmalle',alignAbsBottom:'Aivan alas',alignAbsMiddle:'Aivan keskelle',alignBaseline:'Alas (teksti)',alignBottom:'Alas',alignMiddle:'Keskelle',alignRight:'Oikealle',alignTextTop:'Ylös (teksti)',alignTop:'Ylös',quality:'Laatu',qualityBest:'Paras',qualityHigh:'Korkea',qualityAutoHigh:'Automaattinen korkea',qualityMedium:'Keskitaso',qualityAutoLow:'Automaattinen matala',qualityLow:'Matala',windowModeWindow:'Ikkuna',windowModeOpaque:'Läpinäkyvyys',windowModeTransparent:'Läpinäkyvä',windowMode:'Ikkuna tila',flashvars:'Muuttujat Flash:lle',bgcolor:'Taustaväri',width:'Leveys',height:'Korkeus',hSpace:'Vaakatila',vSpace:'Pystytila',validateSrc:'Linkille on kirjoitettava URL',validateWidth:'Leveyden täytyy olla numero.',validateHeight:'Korkeuden täytyy olla numero.',validateHSpace:'Vaakatilan täytyy olla numero.',validateVSpace:'Pystytilan täytyy olla numero.'},spellCheck:{toolbar:'Tarkista oikeinkirjoitus',title:'Oikoluku',notAvailable:'Valitettavasti oikoluku ei ole käytössä tällä hetkellä.',errorLoading:'Virhe ladattaessa oikolukupalvelua isännältä: %s.',notInDic:'Ei sanakirjassa',changeTo:'Vaihda',btnIgnore:'Jätä huomioimatta',btnIgnoreAll:'Jätä kaikki huomioimatta',btnReplace:'Korvaa',btnReplaceAll:'Korvaa kaikki',btnUndo:'Kumoa',noSuggestions:'Ei ehdotuksia',progress:'Tarkistus käynnissä...',noMispell:'Tarkistus valmis: Ei virheitä',noChanges:'Tarkistus valmis: Yhtään sanaa ei muutettu',oneChange:'Tarkistus valmis: Yksi sana muutettiin',manyChanges:'Tarkistus valmis: %1 sanaa muutettiin',ieSpellDownload:'Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?'},smiley:{toolbar:'Hymiö',title:'Lisää hymiö',options:'Hymiön ominaisuudet'},elementsPath:{eleLabel:'Elementin polku',eleTitle:'%1 elementti'},numberedlist:'Numerointi',bulletedlist:'Luottelomerkit',indent:'Suurenna sisennystä',outdent:'Pienennä sisennystä',justify:{left:'Tasaa vasemmat reunat',center:'Keskitä',right:'Tasaa oikeat reunat',block:'Tasaa molemmat reunat'},blockquote:'Lainaus',clipboard:{title:'Liitä',cutError:'Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).',copyError:'Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).',pasteMsg:'Liitä painamalla (<STRONG>Ctrl+V</STRONG>) ja painamalla <STRONG>OK</STRONG>.',securityMsg:'Selaimesi turva-asetukset eivät salli editorin käyttää leikepöytää suoraan. Sinun pitää suorittaa liittäminen tässä ikkunassa.',pasteArea:'Leikealue'},pastefromword:{confirmCleanup:'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)',toolbar:'Liitä Word-dokumentista',title:'Liitä Word-dokumentista',error:'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia'},pasteText:{button:'Liitä tekstinä',title:'Liitä tekstinä'},templates:{button:'Pohjat',title:'Sisältöpohjat',options:'Sisältöpohjan ominaisuudet',insertOption:'Korvaa editorin koko sisältö',selectPromptMsg:'Valitse pohja editoriin<br>(aiempi sisältö menetetään):',emptyListMsg:'(Ei määriteltyjä pohjia)'},showBlocks:'Näytä elementit',stylesCombo:{label:'Tyyli',panelTitle:'Muotoilujen tyylit',panelTitle1:'Lohkojen tyylit',panelTitle2:'Rivinsisäiset tyylit',panelTitle3:'Objektien tyylit'},format:{label:'Muotoilu',panelTitle:'Muotoilu',tag_p:'Normaali',tag_pre:'Muotoiltu',tag_address:'Osoite',tag_h1:'Otsikko 1',tag_h2:'Otsikko 2',tag_h3:'Otsikko 3',tag_h4:'Otsikko 4',tag_h5:'Otsikko 5',tag_h6:'Otsikko 6',tag_div:'Normaali (DIV)'},div:{title:'Luo div-kehikko',toolbar:'Luo div-kehikko',cssClassInputLabel:'Tyylitiedoston luokat',styleSelectLabel:'Tyyli',IdInputLabel:'Id',languageCodeInputLabel:' Kielen koodi',inlineStyleInputLabel:'Sisätyyli',advisoryTitleInputLabel:'Ohjeistava otsikko',langDirLabel:'Kielen suunta',langDirLTRLabel:'Vasemmalta oikealle (LTR)',langDirRTLLabel:'Oikealta vasemmalle (RTL)',edit:'Muokkaa Diviä',remove:'Poista Div'},font:{label:'Kirjaisinlaji',voiceLabel:'Kirjaisinlaji',panelTitle:'Kirjaisinlaji'},fontSize:{label:'Koko',voiceLabel:'Kirjaisimen koko',panelTitle:'Koko'},colorButton:{textColorTitle:'Tekstiväri',bgColorTitle:'Taustaväri',panelTitle:'Värit',auto:'Automaattinen',more:'Lisää värejä...'},colors:{'000':'Musta',800000:'Kastanjanruskea','8B4513':'Satulanruskea','2F4F4F':'Tumma liuskekivenharmaa','008080':'Sinivihreä','000080':'Laivastonsininen','4B0082':'Indigonsininen',696969:'Tummanharmaa',B22222:'Tiili',A52A2A:'Ruskea',DAA520:'Kultapiisku','006400':'Tummanvihreä','40E0D0':'Turkoosi','0000CD':'Keskisininen',800080:'Purppura',808080:'Harmaa',F00:'Punainen',FF8C00:'Tumma oranssi',FFD700:'Kulta','008000':'Vihreä','0FF':'Syaani','00F':'Sininen',EE82EE:'Violetti',A9A9A9:'Tummanharmaa',FFA07A:'Vaaleanlohenpunainen',FFA500:'Oranssi',FFFF00:'Keltainen','00FF00':'Limetin vihreä',AFEEEE:'Haalea turkoosi',ADD8E6:'Vaaleansininen',DDA0DD:'Luumu',D3D3D3:'Vaaleanharmaa',FFF0F5:'Laventelinpunainen',FAEBD7:'Antiikinvalkoinen',FFFFE0:'Vaaleankeltainen',F0FFF0:'Hunajameloni',F0FFFF:'Asurinsininen',F0F8FF:'Alice Blue -sininen',E6E6FA:'Lavanteli',FFF:'Valkoinen'},scayt:{title:'Oikolue kirjoitettaessa',opera_title:'Opera ei tue tätä ominaisuutta',enable:'Ota käyttöön oikoluku kirjoitettaessa',disable:'Poista käytöstä oikoluku kirjoitetaessa',about:'Tietoja oikoluvusta kirjoitetaessa',toggle:'Vaihda oikoluku kirjoittaessa tilaa',options:'Asetukset',langs:'Kielet',moreSuggestions:'Lisää ehdotuksia',ignore:'Ohita',ignoreAll:'Ohita kaikki',addWord:'Lisää sana',emptyDic:'Sanakirjan nimi on annettava.',optionsTab:'Asetukset',allCaps:'Ohita sanat, jotka on kirjoitettu kokonaan isoilla kirjaimilla',ignoreDomainNames:'Ohita verkkotunnukset',mixedCase:'Ohita sanat, joissa on sekoitettu isoja ja pieniä kirjaimia',mixedWithDigits:'Ohita sanat, joissa on numeroita',languagesTab:'Kielet',dictionariesTab:'Sanakirjat',dic_field_name:'Sanakirjan nimi',dic_create:'Luo',dic_restore:'Palauta',dic_delete:'Poista',dic_rename:'Nimeä uudelleen',dic_info:'Oletuksena sanakirjat tallennetaan evästeeseen, mutta evästeiden koko on kuitenkin rajallinen. Sanakirjan kasvaessa niin suureksi, ettei se enää mahdu evästeeseen, sanakirja täytyy tallentaa palvelimellemme. Tallentaaksesi sanakirjasi palvelimellemme tulee sinun antaa sille nimi. Jos olet jo tallentanut sanakirjan, anna sen nimi ja klikkaa Palauta-painiketta',aboutTab:'Tietoa'},about:{title:'Tietoa CKEditorista',dlgTitle:'Tietoa CKEditorista',moreInfo:'Lisenssitiedot löytyvät kotisivuiltamme:',copy:'Copyright &copy; $1. Kaikki oikeuden pidätetään.'},maximize:'Suurenna',minimize:'Pienennä',fakeobjects:{anchor:'Ankkuri',flash:'Flash animaatio',div:'Sivun vaihto',unknown:'Tuntematon objekti'},resize:'Raahaa muuttaaksesi kokoa',colordialog:{title:'Valitse väri',options:'Värin ominaisuudet',highlight:'Korostus',selected:'Valittu',clear:'Poista'},toolbarCollapse:'Kutista työkalupalkki',toolbarExpand:'Laajenna työkalupalkki',bidi:{ltr:'Tekstin suunta vasemmalta oikealle',rtl:'Tekstin suunta oikealta vasemmalle'}};\r
index 45f2d02..b43592d 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.lang.uk={dir:'ltr',editorTitle:'Rich text editor, %1, press ALT 0 for help.',toolbar:'Toolbar',editor:'Rich Text Editor',source:'Джерело',newPage:'Нова сторінка',save:'Зберегти',preview:'Попередній перегляд',cut:'Вирізати',copy:'Копіювати',paste:'Вставити',print:'Друк',underline:'Підкреслений',bold:'Жирний',italic:'Курсив',selectAll:'Виділити все',removeFormat:'Прибрати форматування',strike:'Закреслений',subscript:'Підрядковий індекс',superscript:'Надрядковий индекс',horizontalrule:'Вставити горизонтальну лінію',pagebreak:'Вставити розривши сторінки',unlink:'Знищити посилання',undo:'Повернути',redo:'Повторити',common:{browseServer:'Передивитися на сервері',url:'URL',protocol:'Протокол',upload:'Закачати',uploadSubmit:'Надіслати на сервер',image:'Зображення',flash:'Flash',form:'Форма',checkbox:'Флагова кнопка',radio:'Кнопка вибору',textField:'Текстове поле',textarea:'Текстова область',hiddenField:'Приховане поле',button:'Кнопка',select:'Список',imageButton:'Кнопка із зображенням',notSet:'<не визначено>',id:'Ідентифікатор',name:"Им'я",langDir:'Напрямок мови',langDirLtr:'Зліва на право (LTR)',langDirRtl:'Зправа на ліво (RTL)',langCode:'Мова',longDescr:'Довгий опис URL',cssClass:'Клас CSS',advisoryTitle:'Заголовок',cssStyle:'Стиль CSS',ok:'ОК',cancel:'Скасувати',close:'Close',preview:'Preview',generalTab:'Загальна',advancedTab:'Розширений',validateNumberFailed:'Значення не є числом.',confirmNewPage:'Всі не збережені зміни будуть втрачені. Ви впевнені, що хочете завантажити нову сторінку?',confirmCancel:'Деякі опції були змінені. Закрити вікно?',options:'Options',target:'Target',targetNew:'New Window (_blank)',targetTop:'Topmost Window (_top)',targetSelf:'Same Window (_self)',targetParent:'Parent Window (_parent)',langDirLTR:'Left to Right (LTR)',langDirRTL:'Right to Left (RTL)',styles:'Style',cssClasses:'Stylesheet Classes',unavailable:'%1<span class="cke_accessibility">, не доступне</span>'},contextmenu:{options:'Context Menu Options'},specialChar:{toolbar:'Вставити спеціальний символ',title:'Оберіть спеціальний символ',options:'Special Character Options'},link:{toolbar:'Вставити/Редагувати посилання',other:'<інший>',menu:'Вставити посилання',title:'Посилання',info:'Інформація посилання',target:'Ціль',upload:'Закачати',advanced:'Розширений',type:'Тип посилання',toUrl:'URL',toAnchor:'Якір на цю сторінку',toEmail:'Эл. пошта',targetFrame:'<фрейм>',targetPopup:'<спливаюче вікно>',targetFrameName:"Ім'я целевого фрейма",targetPopupName:"Ім'я спливаючого вікна",popupFeatures:'Властивості спливаючого вікна',popupResizable:'Масштабоване',popupStatusBar:'Строка статусу',popupLocationBar:'Панель локації',popupToolbar:'Панель інструментів',popupMenuBar:'Панель меню',popupFullScreen:'Повний екран (IE)',popupScrollBars:'Полоси прокрутки',popupDependent:'Залежний (Netscape)',popupWidth:'Ширина',popupLeft:'Позиція зліва',popupHeight:'Висота',popupTop:'Позиція зверху',id:'Ідентифікатор (Id)',langDir:'Напрямок мови',langDirLTR:'Зліва на право (LTR)',langDirRTL:'Зправа на ліво (RTL)',acccessKey:'Гаряча клавіша',name:"Им'я",langCode:'Напрямок мови',tabIndex:'Послідовність переходу',advisoryTitle:'Заголовок',advisoryContentType:'Тип вмісту',cssClasses:'Клас CSS',charset:'Кодировка',styles:'Стиль CSS',selectAnchor:'Оберіть якір',anchorName:"За ім'ям якоря",anchorId:'За ідентифікатором елемента',emailAddress:'Адреса ел. пошти',emailSubject:'Тема листа',emailBody:'Тіло повідомлення',noAnchors:'(Немає якорів доступних в цьому документі)',noUrl:'Будь ласка, занесіть URL посилання',noEmail:'Будь ласка, занесіть адрес эл. почты'},anchor:{toolbar:'Вставити/Редагувати якір',menu:'Властивості якоря',title:'Властивості якоря',name:"Ім'я якоря",errorName:"Будь ласка, занесіть ім'я якоря"},list:{numberedTitle:'Numbered List Properties',bulletedTitle:'Bulleted List Properties',type:'Type',start:'Start',validateStartNumber:'List start number must be a whole number.',circle:'Circle',disc:'Disc',square:'Square',none:'None',notset:'<not set>',armenian:'Armenian numbering',georgian:'Georgian numbering (an, ban, gan, etc.)',lowerRoman:'Lower Roman (i, ii, iii, iv, v, etc.)',upperRoman:'Upper Roman (I, II, III, IV, V, etc.)',lowerAlpha:'Lower Alpha (a, b, c, d, e, etc.)',upperAlpha:'Upper Alpha (A, B, C, D, E, etc.)',lowerGreek:'Lower Greek (alpha, beta, gamma, etc.)',decimal:'Decimal (1, 2, 3, etc.)',decimalLeadingZero:'Decimal leading zero (01, 02, 03, etc.)'},findAndReplace:{title:'Знайти і замінити',find:'Пошук',replace:'Заміна',findWhat:'Шукати:',replaceWith:'Замінити на:',notFoundMsg:'Вказаний текст не знайдений.',matchCase:'Враховувати регістр',matchWord:'Збіг цілих слів',matchCyclic:'Циклічна заміна',replaceAll:'Замінити все',replaceSuccessMsg:'%1 співпадінь(я) замінено.'},table:{toolbar:'Таблиця',title:'Властивості таблиці',menu:'Властивості таблиці',deleteTable:'Видалити таблицю',rows:'Строки',columns:'Колонки',border:'Розмір бордюра',align:'Вирівнювання',alignLeft:'Зліва',alignCenter:'По центру',alignRight:'Зправа',width:'Ширина',widthPx:'пікселів',widthPc:'відсотків',widthUnit:'width unit',height:'Висота',cellSpace:'Проміжок (spacing)',cellPad:'Відступ (padding)',caption:'Заголовок',summary:'Резюме',headers:'Заголовки',headersNone:'Жодного',headersColumn:'Перша колонка',headersRow:'Перший рядок',headersBoth:'Обидва',invalidRows:'Кількість рядків повинна бути числом більше за 0.',invalidCols:'Кількість колонок повинна бути числом більше за  0.',invalidBorder:'Розмір бордюра повинен бути числом.',invalidWidth:'Ширина таблиці повинна бути числом.',invalidHeight:'Висота таблиці повинна бути числом.',invalidCellSpacing:'Проміжок (spacing) комірки повинен бути числом.',invalidCellPadding:'Відступ (padding) комірки повинен бути числом.',cell:{menu:'Осередок',insertBefore:'Вставити комірку до',insertAfter:'Вставити комірку після',deleteCell:'Видалити комірки',merge:"Об'єднати комірки",mergeRight:"Об'єднати зправа",mergeDown:"Об'єднати до низу",splitHorizontal:'Розділити комірку по горизонталі',splitVertical:'Розділити комірку по вертикалі',title:'Властивості комірки',cellType:'Тип комірки',rowSpan:'Обєднання рядків (Rows Span)',colSpan:'Обєднання стовпчиків (Columns Span)',wordWrap:'Авто згортання тексту (Word Wrap)',hAlign:'Горизонтальне вирівнювання',vAlign:'Вертикальне вирівнювання',alignTop:'До верху',alignMiddle:'Посередині',alignBottom:'До низу',alignBaseline:'По базовій лінії',bgColor:'Колір фону',borderColor:'Колір бордюру',data:'Дані',header:'Заголовок',yes:'Так',no:'Ні',invalidWidth:'Ширина комірки повинна бути числом.',invalidHeight:'Висота комірки повинна бути числом.',invalidRowSpan:'Кількість обєднуваних рядків повинна бути цілим числом.',invalidColSpan:'Кількість обєднуваних стовпчиків повинна бути цілим числом.',chooseColor:'Choose'},row:{menu:'Рядок',insertBefore:'Вставити рядок до',insertAfter:'Вставити рядок після',deleteRow:'Видалити строки'},column:{menu:'Колонка',insertBefore:'Вставити колонку до',insertAfter:'Вставити колонку після',deleteColumn:'Видалити колонки'}},button:{title:'Властивості кнопки',text:'Текст (Значення)',type:'Тип',typeBtn:'Кнопка',typeSbm:'Відправити',typeRst:'Скинути'},checkboxAndRadio:{checkboxTitle:'Властивості флагової кнопки',radioTitle:'Властивості кнопки вибору',value:'Значення',selected:'Обрана'},form:{title:'Властивості форми',menu:'Властивості форми',action:'Дія',method:'Метод',encoding:'Кодування'},select:{title:'Властивості списку',selectInfo:'Інфо',opAvail:'Доступні варіанти',value:'Значення',size:'Розмір',lines:'лінії',chkMulti:'Дозволити обрання декількох позицій',opText:'Текст',opValue:'Значення',btnAdd:'Добавити',btnModify:'Змінити',btnUp:'Вгору',btnDown:'Вниз',btnSetValue:'Встановити як вибране значення',btnDelete:'Видалити'},textarea:{title:'Властивості текстової області',cols:'Колонки',rows:'Строки'},textfield:{title:'Властивості текстового поля',name:"Ім'я",value:'Значення',charWidth:'Ширина',maxChars:'Макс. кіл-ть символів',type:'Тип',typeText:'Текст',typePass:'Пароль'},hidden:{title:'Властивості прихованого поля',name:"Ім'я",value:'Значення'},image:{title:'Властивості зображення',titleButton:'Властивості кнопки із зображенням',menu:'Властивості зображення',infoTab:'Інформація про изображении',btnUpload:'Надіслати на сервер',upload:'Закачати',alt:'Альтернативний текст',width:'Ширина',height:'Висота',lockRatio:'Зберегти пропорції',unlockRatio:'Unlock Ratio',resetSize:'Скинути розмір',border:'Бордюр',hSpace:'Горизонтальний відступ',vSpace:'Вертикальний відступ',align:'Вирівнювання',alignLeft:'По лівому краю',alignRight:'По правому краю',alertUrl:'Будь ласка, введіть URL зображення',linkTab:'Посилання',button2Img:'Ви хочете перетворити обрану кнопку-зображення на просте зображення?',img2Button:'Ви хочете перетворити обране зображення на кнопку-зображення?',urlMissing:'Image source URL is missing.',validateWidth:'Width must be a whole number.',validateHeight:'Height must be a whole number.',validateBorder:'Border must be a whole number.',validateHSpace:'HSpace must be a whole number.',validateVSpace:'VSpace must be a whole number.'},flash:{properties:'Властивості Flash',propertiesTab:'Властивості',title:'Властивості Flash',chkPlay:'Авто програвання',chkLoop:'Зациклити',chkMenu:'Дозволити меню Flash',chkFull:'Дозволити повноекранний перегляд',scale:'Масштаб',scaleAll:'Показати всі',scaleNoBorder:'Без рамки',scaleFit:'Дійсний розмір',access:'Доступ до скрипта',accessAlways:'Завжди',accessSameDomain:'З того ж домена',accessNever:'Ніколи',align:'Вирівнювання',alignLeft:'По лівому краю',alignAbsBottom:'Абс по низу',alignAbsMiddle:'Абс по середині',alignBaseline:'По базовій лінії',alignBottom:'По низу',alignMiddle:'По середині',alignRight:'По правому краю',alignTextTop:'Текст на верху',alignTop:'По верху',quality:'Якість',qualityBest:'Відмінна',qualityHigh:'Висока',qualityAutoHigh:'Авто відмінна',qualityMedium:'Середня',qualityAutoLow:'Авто низька',qualityLow:'Низька',windowModeWindow:'Вікно',windowModeOpaque:'Непрозорість (Opaque)',windowModeTransparent:'Прозорість (Transparent)',windowMode:'Режим вікна',flashvars:'Змінні Flash',bgcolor:'Колір фону',width:'Ширина',height:'Висота',hSpace:'Горизонтальний відступ',vSpace:'Вертикальний відступ',validateSrc:'Будь ласка, занесіть URL посилання',validateWidth:'Ширина повинна бути числом.',validateHeight:'Висота повинна бути числом.',validateHSpace:'HSpace повинна бути числом.',validateVSpace:'VSpace повинна бути числом.'},spellCheck:{toolbar:'Перевірити орфографію',title:'Перевірка орфографії',notAvailable:'Вибачте, але сервіс наразі недоступний.',errorLoading:'Помилка завантаження : %s.',notInDic:'Не має в словнику',changeTo:'Замінити на',btnIgnore:'Ігнорувати',btnIgnoreAll:'Ігнорувати все',btnReplace:'Замінити',btnReplaceAll:'Замінити все',btnUndo:'Назад',noSuggestions:'- Немає припущень -',progress:'Виконується перевірка орфографії...',noMispell:'Перевірку орфографії завершено: помилок не знайдено',noChanges:'Перевірку орфографії завершено: жодне слово не змінено',oneChange:'Перевірку орфографії завершено: змінено одно слово',manyChanges:'Перевірку орфографії завершено: 1% слів змінено',ieSpellDownload:'Модуль перевірки орфографії не встановлено. Бажаєтн завантажити його зараз?'},smiley:{toolbar:'Смайлик',title:'Вставити смайлик',options:'Smiley Options'},elementsPath:{eleLabel:'Elements path',eleTitle:'%1 елемент'},numberedlist:'Нумерований список',bulletedlist:'Маркований список',indent:'Збільшити відступ',outdent:'Зменшити відступ',justify:{left:'По лівому краю',center:'По центру',right:'По правому краю',block:'По ширині'},blockquote:'Цитата',clipboard:{title:'Вставити',cutError:'Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X).',copyError:'Настройки безпеки вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).',pasteMsg:'Будь ласка, вставте з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>) та натисніть <STRONG>OK</STRONG>.',securityMsg:"Редактор не може отримати прямий доступ до буферу обміну у зв'язку з налаштуваннями вашого браузера. Вам потрібно вставити інформацію повторно в це вікно.",pasteArea:'Paste Area'},pastefromword:{confirmCleanup:'Текст, що ви хочете вставити, схожий на копійований з Word. Ви хочете очистити його перед вставкою?',toolbar:'Вставити з Word',title:'Вставити з Word',error:'It was not possible to clean up the pasted data due to an internal error'},pasteText:{button:'Вставити тільки текст',title:'Вставити тільки текст'},templates:{button:'Шаблони',title:'Шаблони змісту',options:'Template Options',insertOption:'Замінити поточний вміст',selectPromptMsg:'Оберіть, будь ласка, шаблон для відкриття в редакторі<br>(поточний зміст буде втрачено):',emptyListMsg:'(Не визначено жодного шаблону)'},showBlocks:'Показувати блоки',stylesCombo:{label:'Стиль',panelTitle:'Formatting Styles',panelTitle1:'Block стилі',panelTitle2:'Inline стилі',panelTitle3:'Object стилі'},format:{label:'Форматування',panelTitle:'Форматування',tag_p:'Нормальний',tag_pre:'Форматований',tag_address:'Адреса',tag_h1:'Заголовок 1',tag_h2:'Заголовок 2',tag_h3:'Заголовок 3',tag_h4:'Заголовок 4',tag_h5:'Заголовок 5',tag_h6:'Заголовок 6',tag_div:'Нормальний (DIV)'},div:{title:'Create Div Container',toolbar:'Create Div Container',cssClassInputLabel:'Stylesheet Classes',styleSelectLabel:'Style',IdInputLabel:'Id',languageCodeInputLabel:' Language Code',inlineStyleInputLabel:'Inline Style',advisoryTitleInputLabel:'Advisory Title',langDirLabel:'Language Direction',langDirLTRLabel:'Left to Right (LTR)',langDirRTLLabel:'Right to Left (RTL)',edit:'Edit Div',remove:'Remove Div'},font:{label:'Шрифт',voiceLabel:'Шрифт',panelTitle:'Шрифт'},fontSize:{label:'Розмір',voiceLabel:'Розмір шрифта',panelTitle:'Розмір'},colorButton:{textColorTitle:'Колір тексту',bgColorTitle:'Колір фону',panelTitle:'Colors',auto:'Автоматичний',more:'Кольори...'},colors:{'000':'Black',800000:'Maroon','8B4513':'Saddle Brown','2F4F4F':'Dark Slate Gray','008080':'Teal','000080':'Navy','4B0082':'Indigo',696969:'Dark Gray',B22222:'Fire Brick',A52A2A:'Brown',DAA520:'Golden Rod','006400':'Dark Green','40E0D0':'Turquoise','0000CD':'Medium Blue',800080:'Purple',808080:'Gray',F00:'Red',FF8C00:'Dark Orange',FFD700:'Gold','008000':'Green','0FF':'Cyan','00F':'Blue',EE82EE:'Violet',A9A9A9:'Dim Gray',FFA07A:'Light Salmon',FFA500:'Orange',FFFF00:'Yellow','00FF00':'Lime',AFEEEE:'Pale Turquoise',ADD8E6:'Light Blue',DDA0DD:'Plum',D3D3D3:'Light Grey',FFF0F5:'Lavender Blush',FAEBD7:'Antique White',FFFFE0:'Light Yellow',F0FFF0:'Honeydew',F0FFFF:'Azure',F0F8FF:'Alice Blue',E6E6FA:'Lavender',FFF:'White'},scayt:{title:'Перефірка орфографії по мірі набору',opera_title:'Not supported by Opera',enable:'Включити SCAYT',disable:'Відключити SCAYT',about:'Про SCAYT',toggle:'Перемкнути SCAYT',options:'Опції',langs:'Мови',moreSuggestions:'Більше пропозицій',ignore:'Ігнорувати',ignoreAll:'Ігнорувати всі',addWord:'Додати слово',emptyDic:'Назва словника повинна бути заповнена.',optionsTab:'Опції',allCaps:'Ignore All-Caps Words',ignoreDomainNames:'Ignore Domain Names',mixedCase:'Ignore Words with Mixed Case',mixedWithDigits:'Ignore Words with Numbers',languagesTab:'Мови',dictionariesTab:'Словники',dic_field_name:'Dictionary name',dic_create:'Create',dic_restore:'Restore',dic_delete:'Delete',dic_rename:'Rename',dic_info:'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.',aboutTab:'Про'},about:{title:'Про CKEditor',dlgTitle:'Про CKEditor',moreInfo:'Щодо інформації з ліцензування завітайте до нашого сайту:',copy:'Copyright &copy; $1. Всі права застережено.'},maximize:'Максимізувати',minimize:'Minimize',fakeobjects:{anchor:'Якір',flash:'Flash анімація',div:'Розрив сторінки',unknown:'Невідомий об`єкт'},resize:'Пересувайте для зміни розміру',colordialog:{title:'Select color',options:'Color Options',highlight:'Highlight',selected:'Selected Color',clear:'Clear'},toolbarCollapse:'Collapse Toolbar',toolbarExpand:'Expand Toolbar',bidi:{ltr:'Text direction from left to right',rtl:'Text direction from right to left'}};\r
+CKEDITOR.lang.uk={dir:'ltr',editorTitle:'Текстовий редактор, %1, натисніть ALT 0 для довідки.',toolbar:'Панель інструментів',editor:'Текстовий редактор',source:'Джерело',newPage:'Нова сторінка',save:'Зберегти',preview:'Попередній перегляд',cut:'Вирізати',copy:'Копіювати',paste:'Вставити',print:'Друк',underline:'Підкреслений',bold:'Жирний',italic:'Курсив',selectAll:'Виділити все',removeFormat:'Очистити форматування',strike:'Закреслений',subscript:'Нижній індекс',superscript:'Верхній індекс',horizontalrule:'Горизонтальна лінія',pagebreak:'Вставити розрив сторінки',unlink:'Видалити посилання',undo:'Повернути',redo:'Повторити',common:{browseServer:'Огляд',url:'URL',protocol:'Протокол',upload:'Надіслати',uploadSubmit:'Надіслати на сервер',image:'Зображення',flash:'Flash',form:'Форма',checkbox:'Галочка',radio:'Кнопка вибору',textField:'Текстове поле',textarea:'Текстова область',hiddenField:'Приховане поле',button:'Кнопка',select:'Список',imageButton:'Кнопка із зображенням',notSet:'<не визначено>',id:'Ідентифікатор',name:"Ім'я",langDir:'Напрямок мови',langDirLtr:'Зліва направо (LTR)',langDirRtl:'Справа наліво (RTL)',langCode:'Код мови',longDescr:'Довгий опис URL',cssClass:'Клас CSS',advisoryTitle:'Заголовок',cssStyle:'Стиль CSS',ok:'ОК',cancel:'Скасувати',close:'Закрити',preview:'Попередній перегляд',generalTab:'Основне',advancedTab:'Додаткове',validateNumberFailed:'Значення не є цілим числом.',confirmNewPage:'Всі незбережені зміни будуть втрачені. Ви впевнені, що хочете завантажити нову сторінку?',confirmCancel:'Деякі опції змінено. Закрити вікно без збереження змін?',options:'Опції',target:'Ціль',targetNew:'Нове вікно (_blank)',targetTop:'Поточне вікно (_top)',targetSelf:'Поточний фрейм/вікно (_self)',targetParent:'Батьківський фрейм/вікно (_parent)',langDirLTR:'Зліва направо (LTR)',langDirRTL:'Справа наліво (RTL)',styles:'Стиль CSS',cssClasses:'Клас CSS',unavailable:'%1<span class="cke_accessibility">, не доступне</span>'},contextmenu:{options:'Опції контекстного меню'},specialChar:{toolbar:'Спеціальний символ',title:'Оберіть спеціальний символ',options:'Опції'},link:{toolbar:'Вставити/Редагувати посилання',other:'<інший>',menu:'Вставити посилання',title:'Посилання',info:'Інформація посилання',target:'Ціль',upload:'Надіслати',advanced:'Додаткове',type:'Тип посилання',toUrl:'URL',toAnchor:'Якір на цю сторінку',toEmail:'Ел. пошта',targetFrame:'<фрейм>',targetPopup:'<випливаюче вікно>',targetFrameName:"Ім'я цільового фрейму",targetPopupName:"Ім'я випливаючого вікна",popupFeatures:'Властивості випливаючого вікна',popupResizable:'Масштабоване',popupStatusBar:'Рядок статусу',popupLocationBar:'Панель локації',popupToolbar:'Панель інструментів',popupMenuBar:'Панель меню',popupFullScreen:'Повний екран (IE)',popupScrollBars:'Стрічки прокрутки',popupDependent:'Залежний (Netscape)',popupWidth:'Ширина',popupLeft:'Позиція зліва',popupHeight:'Висота',popupTop:'Позиція зверху',id:'Ідентифікатор',langDir:'Напрямок мови',langDirLTR:'Зліва направо (LTR)',langDirRTL:'Справа наліво (RTL)',acccessKey:'Гаряча клавіша',name:"Ім'я",langCode:'Код мови',tabIndex:'Послідовність переходу',advisoryTitle:'Заголовок',advisoryContentType:'Тип вмісту',cssClasses:'Клас CSS',charset:'Кодування',styles:'Стиль CSS',selectAnchor:'Оберіть якір',anchorName:"За ім'ям елементу",anchorId:'За ідентифікатором елементу',emailAddress:'Адреса ел. пошти',emailSubject:'Тема листа',emailBody:'Тіло повідомлення',noAnchors:'(В цьому документі немає якорів)',noUrl:'Будь ласка, вкажіть URL посилання',noEmail:'Будь ласка, вкажіть адрес ел. пошти'},anchor:{toolbar:'Вставити/Редагувати якір',menu:'Властивості якоря',title:'Властивості якоря',name:"Ім'я якоря",errorName:"Будь ласка, вкажіть ім'я якоря"},list:{numberedTitle:'Опції нумерованого списку',bulletedTitle:'Опції маркірованого списку',type:'Тип',start:'Почати з...',validateStartNumber:'Початковий номер списку повинен бути цілим числом.',circle:'Кільце',disc:'Кружечок',square:'Квадратик',none:'Нема',notset:'<не вказано>',armenian:'Вірменська нумерація',georgian:'Грузинська нумерація (an, ban, gan і т.д.)',lowerRoman:'Малі римські (i, ii, iii, iv, v і т.д.)',upperRoman:'Великі римські (I, II, III, IV, V і т.д.)',lowerAlpha:'Малі лат. букви (a, b, c, d, e і т.д.)',upperAlpha:'Великі лат. букви (A, B, C, D, E і т.д.)',lowerGreek:'Малі гр. букви (альфа, бета, гамма і т.д.)',decimal:'Десяткові (1, 2, 3 і т.д.)',decimalLeadingZero:'Десяткові з нулем (01, 02, 03 і т.д.)'},findAndReplace:{title:'Знайти і замінити',find:'Пошук',replace:'Заміна',findWhat:'Шукати:',replaceWith:'Замінити на:',notFoundMsg:'Вказаний текст не знайдено.',matchCase:'Враховувати регістр',matchWord:'Збіг цілих слів',matchCyclic:'Циклічна заміна',replaceAll:'Замінити все',replaceSuccessMsg:'%1 співпадінь(ня) замінено.'},table:{toolbar:'Таблиця',title:'Властивості таблиці',menu:'Властивості таблиці',deleteTable:'Видалити таблицю',rows:'Рядки',columns:'Стовбці',border:'Розмір рамки',align:'Вирівнювання',alignLeft:'По лівому краю',alignCenter:'По центру',alignRight:'По правому краю',width:'Ширина',widthPx:'пікселів',widthPc:'відсотків',widthUnit:'Одиниці вимір.',height:'Висота',cellSpace:'Проміжок',cellPad:'Внутр. відступ',caption:'Заголовок таблиці',summary:'Детальний опис заголовку таблиці',headers:'Заголовки стовбців/рядків',headersNone:'Без заголовків',headersColumn:'Стовбці',headersRow:'Рядки',headersBoth:'Стовбці і рядки',invalidRows:'Кількість рядків повинна бути більшою 0.',invalidCols:'Кількість стовбців повинна бути більшою 0.',invalidBorder:'Розмір рамки повинен бути цілим числом.',invalidWidth:'Ширина таблиці повинна бути цілим числом.',invalidHeight:'Висота таблиці повинна бути цілим числом.',invalidCellSpacing:'Проміжок між комірками повинен бути цілим числом.',invalidCellPadding:'Внутр. відступ комірки повинен бути цілим числом.',cell:{menu:'Комірки',insertBefore:'Вставити комірку перед',insertAfter:'Вставити комірку після',deleteCell:'Видалити комірки',merge:"Об'єднати комірки",mergeRight:"Об'єднати справа",mergeDown:"Об'єднати донизу",splitHorizontal:'Розділити комірку по горизонталі',splitVertical:'Розділити комірку по вертикалі',title:'Властивості комірки',cellType:'Тип комірки',rowSpan:"Об'єднання рядків",colSpan:"Об'єднання стовпців",wordWrap:'Автоперенесення тексту',hAlign:'Гориз. вирівнювання',vAlign:'Верт. вирівнювання',alignTop:'По верхньому краю',alignMiddle:'По середині',alignBottom:'По нижньому краю',alignBaseline:'По базовій лінії',bgColor:'Колір фону',borderColor:'Колір рамки',data:'Дані',header:'Заголовок',yes:'Так',no:'Ні',invalidWidth:'Ширина комірки повинна бути цілим числом.',invalidHeight:'Висота комірки повинна бути цілим числом.',invalidRowSpan:"Кількість об'єднуваних рядків повинна бути цілим числом.",invalidColSpan:"Кількість об'єднуваних стовбців повинна бути цілим числом.",chooseColor:'Обрати'},row:{menu:'Рядки',insertBefore:'Вставити рядок перед',insertAfter:'Вставити рядок після',deleteRow:'Видалити рядки'},column:{menu:'Стовбці',insertBefore:'Вставити стовбець перед',insertAfter:'Вставити стовбець після',deleteColumn:'Видалити стовбці'}},button:{title:'Властивості кнопки',text:'Значення',type:'Тип',typeBtn:'Кнопка (button)',typeSbm:'Надіслати (submit)',typeRst:'Очистити (reset)'},checkboxAndRadio:{checkboxTitle:'Властивості галочки',radioTitle:'Властивості кнопки вибору',value:'Значення',selected:'Обрана'},form:{title:'Властивості форми',menu:'Властивості форми',action:'Дія',method:'Метод',encoding:'Кодування'},select:{title:'Властивості списку',selectInfo:'Інфо',opAvail:'Доступні варіанти',value:'Значення',size:'Кількість',lines:'видимих позицій у списку',chkMulti:'Список з мультивибором',opText:'Текст',opValue:'Значення',btnAdd:'Добавити',btnModify:'Змінити',btnUp:'Вгору',btnDown:'Вниз',btnSetValue:'Встановити як обране значення',btnDelete:'Видалити'},textarea:{title:'Властивості текстової області',cols:'Стовбці',rows:'Рядки'},textfield:{title:'Властивості текстового поля',name:"Ім'я",value:'Значення',charWidth:'Ширина',maxChars:'Макс. к-ть символів',type:'Тип',typeText:'Текст',typePass:'Пароль'},hidden:{title:'Властивості прихованого поля',name:"Ім'я",value:'Значення'},image:{title:'Властивості зображення',titleButton:'Властивості кнопки із зображенням',menu:'Властивості зображення',infoTab:'Інформація про зображення',btnUpload:'Надіслати на сервер',upload:'Надіслати',alt:'Альтернативний текст',width:'Ширина',height:'Висота',lockRatio:'Зберегти пропорції',unlockRatio:'Не зберігати пропорції',resetSize:'Очистити поля розмірів',border:'Рамка',hSpace:'Гориз. відступ',vSpace:'Верт. відступ',align:'Вирівн.',alignLeft:'По лівому краю',alignRight:'По правому краю',alertUrl:'Будь ласка, вкажіть URL зображення',linkTab:'Посилання',button2Img:'Бажаєте перетворити обрану кнопку-зображення на просте зображення?',img2Button:'Бажаєте перетворити обране зображення на кнопку-зображення?',urlMissing:'Вкажіть URL зображення.',validateWidth:'Ширина повинна бути цілим числом.',validateHeight:'Висота повинна бути цілим числом.',validateBorder:'Ширина рамки повинна бути цілим числом.',validateHSpace:'Гориз. відступ повинен бути цілим числом.',validateVSpace:'Верт. відступ повинен бути цілим числом.'},flash:{properties:'Властивості Flash',propertiesTab:'Властивості',title:'Властивості Flash',chkPlay:'Автопрогравання',chkLoop:'Циклічно',chkMenu:'Дозволити меню Flash',chkFull:'Дозволити повноекранний перегляд',scale:'Масштаб',scaleAll:'Показати все',scaleNoBorder:'Без рамки',scaleFit:'Поч. розмір',access:'Доступ до скрипта',accessAlways:'Завжди',accessSameDomain:'З того ж домена',accessNever:'Ніколи',align:'Вирівнювання',alignLeft:'По лівому краю',alignAbsBottom:'По нижньому краю (abs)',alignAbsMiddle:'По середині (abs)',alignBaseline:'По базовій лінії',alignBottom:'По нижньому краю',alignMiddle:'По середині',alignRight:'По правому краю',alignTextTop:'Текст по верхньому краю',alignTop:'По верхньому краю',quality:'Якість',qualityBest:'Відмінна',qualityHigh:'Висока',qualityAutoHigh:'Автом. відмінна',qualityMedium:'Середня',qualityAutoLow:'Автом. низька',qualityLow:'Низька',windowModeWindow:'Вікно',windowModeOpaque:'Непрозорість',windowModeTransparent:'Прозорість',windowMode:'Віконний режим',flashvars:'Змінні Flash',bgcolor:'Колір фону',width:'Ширина',height:'Висота',hSpace:'Гориз. відступ',vSpace:'Верт. відступ',validateSrc:'Будь ласка, вкажіть URL посилання',validateWidth:'Ширина повинна бути цілим числом.',validateHeight:'Висота повинна бути цілим числом.',validateHSpace:'Гориз. відступ повинен бути цілим числом.',validateVSpace:'Верт. відступ повинен бути цілим числом.'},spellCheck:{toolbar:'Перевірити орфографію',title:'Перевірка орфографії',notAvailable:'Вибачте, але сервіс наразі недоступний.',errorLoading:'Помилка завантаження : %s.',notInDic:'Немає в словнику',changeTo:'Замінити на',btnIgnore:'Пропустити',btnIgnoreAll:'Пропустити все',btnReplace:'Замінити',btnReplaceAll:'Замінити все',btnUndo:'Назад',noSuggestions:'- немає варіантів -',progress:'Виконується перевірка орфографії...',noMispell:'Перевірку орфографії завершено: помилок не знайдено',noChanges:'Перевірку орфографії завершено: жодне слово не змінено',oneChange:'Перевірку орфографії завершено: змінено одне слово',manyChanges:'Перевірку орфографії завершено: 1% слів(ова) змінено',ieSpellDownload:'Модуль перевірки орфографії не встановлено. Бажаєте завантажити його зараз?'},smiley:{toolbar:'Смайлик',title:'Вставити смайлик',options:'Опції смайликів'},elementsPath:{eleLabel:'Шлях',eleTitle:'%1 елемент'},numberedlist:'Нумерований список',bulletedlist:'Маркірований список',indent:'Збільшити відступ',outdent:'Зменшити відступ',justify:{left:'По лівому краю',center:'По центру',right:'По правому краю',block:'По ширині'},blockquote:'Цитата',clipboard:{title:'Вставити',cutError:'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)',copyError:'Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).',pasteMsg:'Будь ласка, вставте інформацію з буфера обміну в цю область, користуючись комбінацією клавіш (<STRONG>Ctrl/Cmd+V</STRONG>), та натисніть <STRONG>OK</STRONG>.',securityMsg:"Редактор не може отримати прямий доступ до буферу обміну у зв'язку з налаштуваннями Вашого браузера. Вам потрібно вставити інформацію в це вікно.",pasteArea:'Область вставки'},pastefromword:{confirmCleanup:'Текст, що Ви намагаєтесь вставити, схожий на скопійований з Word. Бажаєте очистити його форматування перед вставлянням?',toolbar:'Вставити з Word',title:'Вставити з Word',error:'Неможливо очистити форматування через внутрішню помилку.'},pasteText:{button:'Вставити тільки текст',title:'Вставити тільки текст'},templates:{button:'Шаблони',title:'Шаблони змісту',options:'Опції шаблону',insertOption:'Замінити поточний вміст',selectPromptMsg:'Оберіть, будь ласка, шаблон для відкриття в редакторі<br>(поточний зміст буде втрачено):',emptyListMsg:'(Не знайдено жодного шаблону)'},showBlocks:'Показувати блоки',stylesCombo:{label:'Стиль',panelTitle:'Стилі форматування',panelTitle1:'Блочні стилі',panelTitle2:'Рядкові стилі',panelTitle3:"Об'єктні стилі"},format:{label:'Форматування',panelTitle:'Форматування',tag_p:'Нормальний',tag_pre:'Форматований',tag_address:'Адреса',tag_h1:'Заголовок 1',tag_h2:'Заголовок 2',tag_h3:'Заголовок 3',tag_h4:'Заголовок 4',tag_h5:'Заголовок 5',tag_h6:'Заголовок 6',tag_div:'Нормальний (div)'},div:{title:'Створити блок-контейнер',toolbar:'Створити блок-контейнер',cssClassInputLabel:'Клас CSS',styleSelectLabel:'Стиль CSS',IdInputLabel:'Ідентифікатор',languageCodeInputLabel:'Код мови',inlineStyleInputLabel:'Вписаний стиль',advisoryTitleInputLabel:'Зміст випливаючої підказки',langDirLabel:'Напрямок мови',langDirLTRLabel:'Зліва направо (LTR)',langDirRTLLabel:'Справа наліво (RTL)',edit:'Редагувати блок',remove:'Видалити блок'},font:{label:'Шрифт',voiceLabel:'Шрифт',panelTitle:'Шрифт'},fontSize:{label:'Розмір',voiceLabel:'Розмір шрифту',panelTitle:'Розмір'},colorButton:{textColorTitle:'Колір тексту',bgColorTitle:'Колір фону',panelTitle:'Кольори',auto:'Авто',more:'Кольори...'},colors:{'000':'Чорний',800000:'Бордовий','8B4513':'Коричневий','2F4F4F':'Темний сіро-зелений','008080':'Морської хвилі','000080':'Сливовий','4B0082':'Індиго',696969:'Темносірий',B22222:'Темночервоний',A52A2A:'Каштановий',DAA520:'Бежевий','006400':'Темнозелений','40E0D0':'Бірюзовий','0000CD':'Темносиній',800080:'Пурпурний',808080:'Сірий',F00:'Червоний',FF8C00:'Темнооранжевий',FFD700:'Жовтий','008000':'Зелений','0FF':'Синьо-зелений','00F':'Синій',EE82EE:'Фіолетовий',A9A9A9:'Світлосірий',FFA07A:'Рожевий',FFA500:'Оранжевий',FFFF00:'Яскравожовтий','00FF00':'Салатовий',AFEEEE:'Світлобірюзовий',ADD8E6:'Блакитний',DDA0DD:'Світлофіолетовий',D3D3D3:'Сріблястий',FFF0F5:'Світлорожевий',FAEBD7:'Світлооранжевий',FFFFE0:'Світложовтий',F0FFF0:'Світлозелений',F0FFFF:'Світлий синьо-зелений',F0F8FF:'Світлоблакитний',E6E6FA:'Лавандовий',FFF:'Білий'},scayt:{title:'Перефірка орфографії по мірі набору',opera_title:'Не підтримується в Opera',enable:'Ввімкнути SCAYT',disable:'Вимкнути SCAYT',about:'Про SCAYT',toggle:'Перемкнути SCAYT',options:'Опції',langs:'Мови',moreSuggestions:'Більше варіантів',ignore:'Пропустити',ignoreAll:'Пропустити всі',addWord:'Додати слово',emptyDic:'Назва словника повинна бути вказана.',optionsTab:'Опції',allCaps:'Пропустити прописні слова',ignoreDomainNames:'Пропустити доменні назви',mixedCase:'Пропустити слова зі змішаним регістром',mixedWithDigits:'Пропустити слова, що містять цифри',languagesTab:'Мови',dictionariesTab:'Словники',dic_field_name:'Назва словника',dic_create:'Створити',dic_restore:'Відновити',dic_delete:'Видалити',dic_rename:'Перейменувати',dic_info:'Як правило, користувацькі словники зберігаються у cookie-файлах. Однак, cookie-файли мають обмеження на розмір. Якщо користувацький словник зростає в обсязі настільки, що вже не може бути збережений у cookie-файлі, тоді його можна зберегти на нашому сервері. Щоб зберегти Ваш персональний словник на нашому сервері необхідно вказати назву словника. Якщо Ви вже зберігали словник на сервері, будь ласка, вкажіть назву збереженого словника і натисніть кнопку Відновити.',aboutTab:'Про SCAYT'},about:{title:'Про CKEditor',dlgTitle:'Про CKEditor',moreInfo:'Щодо інформації з ліцензування завітайте на наш сайт:',copy:'Copyright &copy; $1. Всі права застережено.'},maximize:'Максимізувати',minimize:'Мінімізувати',fakeobjects:{anchor:'Якір',flash:'Flash-анімація',div:'Розрив сторінки',unknown:"Невідомий об'єкт"},resize:'Потягніть для зміни розмірів',colordialog:{title:'Обрати колір',options:'Опції кольорів',highlight:'Колір, на який вказує курсор',selected:'Обраний колір',clear:'Очистити'},toolbarCollapse:'Згорнути панель інструментів',toolbarExpand:'Розгорнути панель інструментів',bidi:{ltr:'Напрямок тексту зліва направо',rtl:'Напрямок тексту справа наліво'}};\r
index e0e7b79..de7b3ed 100644 (file)
@@ -3,5 +3,5 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('a11yHelp',function(a){var b=a.lang.accessibilityHelp,c=CKEDITOR.tools.getNextNumber(),d={8:'BACKSPACE',9:'TAB',13:'ENTER',16:'SHIFT',17:'CTRL',18:'ALT',19:'PAUSE',20:'CAPSLOCK',27:'ESCAPE',33:'PAGE UP',34:'PAGE DOWN',35:'END',36:'HOME',37:'LEFT ARROW',38:'UP ARROW',39:'RIGHT ARROW',40:'DOWN ARROW',45:'INSERT',46:'DELETE',91:'LEFT WINDOW KEY',92:'RIGHT WINDOW KEY',93:'SELECT KEY',96:'NUMPAD  0',97:'NUMPAD  1',98:'NUMPAD  2',99:'NUMPAD  3',100:'NUMPAD  4',101:'NUMPAD  5',102:'NUMPAD  6',103:'NUMPAD  7',104:'NUMPAD  8',105:'NUMPAD  9',106:'MULTIPLY',107:'ADD',109:'SUBTRACT',110:'DECIMAL POINT',111:'DIVIDE',112:'F1',113:'F2',114:'F3',115:'F4',116:'F5',117:'F6',118:'F7',119:'F8',120:'F9',121:'F10',122:'F11',123:'F12',144:'NUM LOCK',145:'SCROLL LOCK',186:'SEMI-COLON',187:'EQUAL SIGN',188:'COMMA',189:'DASH',190:'PERIOD',191:'FORWARD SLASH',192:'GRAVE ACCENT',219:'OPEN BRACKET',220:'BACK SLASH',221:'CLOSE BRAKET',222:'SINGLE QUOTE'};d[CKEDITOR.ALT]='ALT';d[CKEDITOR.SHIFT]='SHIFT';d[CKEDITOR.CTRL]='CTRL';var e=[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL];function f(j){var k,l,m=[];for(var n=0;n<e.length;n++){l=e[n];k=j/e[n];if(k>1&&k<=2){j-=l;m.push(d[l]);}}m.push(d[j]||String.fromCharCode(j));return m.join('+');};var g=/\$\{(.*?)\}/g;function h(j,k){var l=a.config.keystrokes,m,n=l.length;for(var o=0;o<n;o++){m=l[o];if(m[1]==k)break;}return f(m[0]);};function i(){var j='<div class="cke_accessibility_legend" role="document" aria-labelledby="cke_'+c+'_arialbl" tabIndex="-1">%1</div>'+'<span id="cke_'+c+'_arialbl" class="cke_voice_label">'+b.contents+' </span>',k='<h1>%1</h1><dl>%2</dl>',l='<dt>%1</dt><dd>%2</dd>',m=[],n=b.legend,o=n.length;for(var p=0;p<o;p++){var q=n[p],r=[],s=q.items,t=s.length;for(var u=0;u<t;u++){var v=s[u],w;w=l.replace('%1',v.name).replace('%2',v.legend.replace(g,h));r.push(w);}m.push(k.replace('%1',q.name).replace('%2',r.join('')));}return j.replace('%1',m.join(''));};return{title:b.title,minWidth:600,minHeight:400,contents:[{id:'info',label:a.lang.common.generalTab,expand:true,elements:[{type:'html',id:'legends',focus:function(){},html:i()+'<style type="text/css">'+'.cke_accessibility_legend'+'{'+'width:600px;'+'height:400px;'+'padding-right:5px;'+'overflow-y:auto;'+'overflow-x:hidden;'+'}'+'.cke_accessibility_legend h1'+'{'+'font-size: 20px;'+'border-bottom: 1px solid #AAA;'+'margin: 5px 0px 15px;'+'}'+'.cke_accessibility_legend dl'+'{'+'margin-left: 5px;'+'}'+'.cke_accessibility_legend dt'+'{'+'font-size: 13px;'+'font-weight: bold;'+'}'+'.cke_accessibility_legend dd'+'{'+'white-space:normal;'+'margin:10px'+'}'+'</style>'}]}],buttons:[CKEDITOR.dialog.cancelButton]};\r
+CKEDITOR.dialog.add('a11yHelp',function(a){var b=a.lang.accessibilityHelp,c=CKEDITOR.tools.getNextId(),d={8:'BACKSPACE',9:'TAB',13:'ENTER',16:'SHIFT',17:'CTRL',18:'ALT',19:'PAUSE',20:'CAPSLOCK',27:'ESCAPE',33:'PAGE UP',34:'PAGE DOWN',35:'END',36:'HOME',37:'LEFT ARROW',38:'UP ARROW',39:'RIGHT ARROW',40:'DOWN ARROW',45:'INSERT',46:'DELETE',91:'LEFT WINDOW KEY',92:'RIGHT WINDOW KEY',93:'SELECT KEY',96:'NUMPAD  0',97:'NUMPAD  1',98:'NUMPAD  2',99:'NUMPAD  3',100:'NUMPAD  4',101:'NUMPAD  5',102:'NUMPAD  6',103:'NUMPAD  7',104:'NUMPAD  8',105:'NUMPAD  9',106:'MULTIPLY',107:'ADD',109:'SUBTRACT',110:'DECIMAL POINT',111:'DIVIDE',112:'F1',113:'F2',114:'F3',115:'F4',116:'F5',117:'F6',118:'F7',119:'F8',120:'F9',121:'F10',122:'F11',123:'F12',144:'NUM LOCK',145:'SCROLL LOCK',186:'SEMI-COLON',187:'EQUAL SIGN',188:'COMMA',189:'DASH',190:'PERIOD',191:'FORWARD SLASH',192:'GRAVE ACCENT',219:'OPEN BRACKET',220:'BACK SLASH',221:'CLOSE BRAKET',222:'SINGLE QUOTE'};d[CKEDITOR.ALT]='ALT';d[CKEDITOR.SHIFT]='SHIFT';d[CKEDITOR.CTRL]='CTRL';var e=[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL];function f(j){var k,l,m=[];for(var n=0;n<e.length;n++){l=e[n];k=j/e[n];if(k>1&&k<=2){j-=l;m.push(d[l]);}}m.push(d[j]||String.fromCharCode(j));return m.join('+');};var g=/\$\{(.*?)\}/g;function h(j,k){var l=a.config.keystrokes,m,n=l.length;for(var o=0;o<n;o++){m=l[o];if(m[1]==k)break;}return f(m[0]);};function i(){var j='<div class="cke_accessibility_legend" role="document" aria-labelledby="'+c+'_arialbl" tabIndex="-1">%1</div>'+'<span id="'+c+'_arialbl" class="cke_voice_label">'+b.contents+' </span>',k='<h1>%1</h1><dl>%2</dl>',l='<dt>%1</dt><dd>%2</dd>',m=[],n=b.legend,o=n.length;for(var p=0;p<o;p++){var q=n[p],r=[],s=q.items,t=s.length;for(var u=0;u<t;u++){var v=s[u],w;w=l.replace('%1',v.name).replace('%2',v.legend.replace(g,h));r.push(w);}m.push(k.replace('%1',q.name).replace('%2',r.join('')));}return j.replace('%1',m.join(''));};return{title:b.title,minWidth:600,minHeight:400,contents:[{id:'info',label:a.lang.common.generalTab,expand:true,elements:[{type:'html',id:'legends',focus:function(){},html:i()+'<style type="text/css">'+'.cke_accessibility_legend'+'{'+'width:600px;'+'height:400px;'+'padding-right:5px;'+'overflow-y:auto;'+'overflow-x:hidden;'+'}'+'.cke_accessibility_legend h1'+'{'+'font-size: 20px;'+'border-bottom: 1px solid #AAA;'+'margin: 5px 0px 15px;'+'}'+'.cke_accessibility_legend dl'+'{'+'margin-left: 5px;'+'}'+'.cke_accessibility_legend dt'+'{'+'font-size: 13px;'+'font-weight: bold;'+'}'+'.cke_accessibility_legend dd'+'{'+'white-space:normal;'+'margin:10px'+'}'+'</style>'}]}],buttons:[CKEDITOR.dialog.cancelButton]};\r
 });\r
index 20ce520..ddcf152 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){var a=function(b){var c=b.document,d=b.window.getViewPaneSize().height,e;if(CKEDITOR.env.ie)e=c.getBody().$.scrollHeight+24;else e=c.getDocumentElement().$.offsetHeight;var f=b.config.autoGrow_minHeight,g=b.config.autoGrow_maxHeight;f==undefined&&(b.config.autoGrow_minHeight=f=200);if(f)e=Math.max(e,f);if(g)e=Math.min(e,g);if(e!=d){e=b.fire('autoGrow',{currentHeight:d,newHeight:e}).newHeight;b.resize(b.container.getStyle('width'),e,true);}};CKEDITOR.plugins.add('autogrow',{init:function(b){for(var c in {contentDom:1,key:1,selectionChange:1,insertElement:1})b.on(c,function(d){if(d.editor.mode=='wysiwyg')setTimeout(function(){a(d.editor);},100);});}});})();\r
+(function(){var a=function(b){var c=b.document,d=b.window.getViewPaneSize().height,e;if(CKEDITOR.env.ie||CKEDITOR.env.gecko)e=c.getBody().$.scrollHeight+(CKEDITOR.env.ie&&CKEDITOR.env.quirks?0:24);else e=c.getDocumentElement().$.offsetHeight;var f=b.config.autoGrow_minHeight,g=b.config.autoGrow_maxHeight;f==undefined&&(b.config.autoGrow_minHeight=f=200);if(f)e=Math.max(e,f);if(g)e=Math.min(e,g);if(e!=d){e=b.fire('autoGrow',{currentHeight:d,newHeight:e}).newHeight;b.resize(b.container.getStyle('width'),e,true);}};CKEDITOR.plugins.add('autogrow',{init:function(b){for(var c in {contentDom:1,key:1,selectionChange:1,insertElement:1})b.on(c,function(d){var e=b.getCommand('maximize');if(d.editor.mode=='wysiwyg'&&(!e||e.state!=CKEDITOR.TRISTATE_ON))setTimeout(function(){a(d.editor);},100);});}});})();\r
index 03a7f2e..a82192b 100644 (file)
@@ -3,5 +3,5 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('colordialog',function(a){var b=CKEDITOR.dom.element,c=CKEDITOR.document,d=CKEDITOR.tools,e=a.lang.colordialog,f;function g(){return{type:'html',html:'&nbsp;'};};function h(){c.getById(w).removeStyle('background-color');f.getContentElement('picker','selectedColor').setValue('');};function i(y){if(!(y instanceof CKEDITOR.dom.event))y=new CKEDITOR.dom.event(y);var z=y.getTarget(),A;if(z.getName()=='a'&&(A=z.getChild(0).getHtml()))f.getContentElement('picker','selectedColor').setValue(A);};function j(y){if(!(y instanceof CKEDITOR.dom.event))y=y.data;var z=y.getTarget(),A;if(z.getName()=='a'&&(A=z.getChild(0).getHtml())){c.getById(u).setStyle('background-color',A);c.getById(v).setHtml(A);}};function k(){c.getById(u).removeStyle('background-color');c.getById(v).setHtml('&nbsp;');};var l=d.addFunction(k),m=i,n=CKEDITOR.tools.addFunction(m),o=j,p=k,q=CKEDITOR.tools.addFunction(function(y){y=new CKEDITOR.dom.event(y);var z=y.getTarget(),A,B,C=y.getKeystroke(),D=a.lang.dir=='rtl';switch(C){case 38:if(A=z.getParent().getParent().getPrevious()){B=A.getChild([z.getParent().getIndex(),0]);B.focus();p(y,z);o(y,B);}y.preventDefault();break;case 40:if(A=z.getParent().getParent().getNext()){B=A.getChild([z.getParent().getIndex(),0]);if(B&&B.type==1){B.focus();p(y,z);o(y,B);}}y.preventDefault();break;case 32:m(y);y.preventDefault();break;case D?37:39:if(A=z.getParent().getNext()){B=A.getChild(0);if(B.type==1){B.focus();p(y,z);o(y,B);y.preventDefault(true);}else p(null,z);}else if(A=z.getParent().getParent().getNext()){B=A.getChild([0,0]);if(B&&B.type==1){B.focus();p(y,z);o(y,B);y.preventDefault(true);}else p(null,z);}break;case D?39:37:if(A=z.getParent().getPrevious()){B=A.getChild(0);B.focus();p(y,z);o(y,B);y.preventDefault(true);}else if(A=z.getParent().getParent().getPrevious()){B=A.getLast().getChild(0);B.focus();p(y,z);o(y,B);y.preventDefault(true);}else p(null,z);break;default:return;}});function r(){var y=['00','33','66','99','cc','ff'];function z(E,F){for(var G=E;G<E+3;G++){var H=s.$.insertRow(-1);for(var I=F;I<F+3;I++)for(var J=0;J<6;J++)A(H,'#'+y[I]+y[J]+y[G]);}};function A(E,F){var G=new b(E.insertCell(-1));G.setAttribute('class','ColorCell');G.setStyle('background-color',F);G.setStyle('width','15px');G.setStyle('height','15px');var H=G.$.cellIndex+1+18*E.rowIndex;G.append(CKEDITOR.dom.element.createFromHtml('<a href="javascript: void(0);" role="option" aria-posinset="'+H+'"'+' aria-setsize="'+234+'"'+' style="cursor: pointer;display:block;width:100%;height:100% " title="'+CKEDITOR.tools.htmlEncode(F)+'"'+' onkeydown="CKEDITOR.tools.callFunction( '+q+', event, this )"'+' onclick="CKEDITOR.tools.callFunction('+n+', event, this ); return false;"'+' tabindex="-1"><span class="cke_voice_label">'+F+'</span>&nbsp;</a>',CKEDITOR.document));\r
-};z(0,0);z(3,0);z(0,3);z(3,3);var B=s.$.insertRow(-1);for(var C=0;C<6;C++)A(B,'#'+y[C]+y[C]+y[C]);for(var D=0;D<12;D++)A(B,'#000000');};var s=new b('table');r();var t=function(y){return CKEDITOR.tools.getNextId()+'_'+y;},u=t('hicolor'),v=t('hicolortext'),w=t('selhicolor'),x=t('color_table_label');return{title:e.title,minWidth:360,minHeight:220,onLoad:function(){f=this;},contents:[{id:'picker',label:e.title,accessKey:'I',elements:[{type:'hbox',padding:0,widths:['70%','10%','30%'],children:[{type:'html',html:'<table role="listbox" aria-labelledby="'+x+'" onmouseout="CKEDITOR.tools.callFunction( '+l+' );">'+s.getHtml()+'</table>'+'<span id="'+x+'" class="cke_voice_label">'+e.options+'</span>',onLoad:function(){var y=CKEDITOR.document.getById(this.domId);y.on('mouseover',j);},focus:function(){var y=this.getElement().getElementsByTag('a').getItem(0);y.focus();}},g(),{type:'vbox',padding:0,widths:['70%','5%','25%'],children:[{type:'html',html:'<span>'+e.highlight+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+u+'" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+v+'">&nbsp;</div><span>'+e.selected+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+w+'" style="border: 1px solid; height: 20px; width: 74px;"></div>'},{type:'text',label:e.selected,labelStyle:'display:none',id:'selectedColor',style:'width: 74px',onChange:function(){try{c.getById(w).setStyle('background-color',this.getValue());}catch(y){h();}}},g(),{type:'button',id:'clear',style:'margin-top: 5px',label:e.clear,onClick:h}]}]}]}]};});\r
+CKEDITOR.dialog.add('colordialog',function(a){var b=CKEDITOR.dom.element,c=CKEDITOR.document,d=CKEDITOR.tools,e=a.lang.colordialog,f,g={type:'html',html:'&nbsp;'};function h(){c.getById(w).removeStyle('background-color');f.getContentElement('picker','selectedColor').setValue('');};function i(y){if(!(y instanceof CKEDITOR.dom.event))y=new CKEDITOR.dom.event(y);var z=y.getTarget(),A;if(z.getName()=='a'&&(A=z.getChild(0).getHtml()))f.getContentElement('picker','selectedColor').setValue(A);};function j(y){if(!(y instanceof CKEDITOR.dom.event))y=y.data;var z=y.getTarget(),A;if(z.getName()=='a'&&(A=z.getChild(0).getHtml())){c.getById(u).setStyle('background-color',A);c.getById(v).setHtml(A);}};function k(){c.getById(u).removeStyle('background-color');c.getById(v).setHtml('&nbsp;');};var l=d.addFunction(k),m=i,n=CKEDITOR.tools.addFunction(m),o=j,p=k,q=CKEDITOR.tools.addFunction(function(y){y=new CKEDITOR.dom.event(y);var z=y.getTarget(),A,B,C=y.getKeystroke(),D=a.lang.dir=='rtl';switch(C){case 38:if(A=z.getParent().getParent().getPrevious()){B=A.getChild([z.getParent().getIndex(),0]);B.focus();p(y,z);o(y,B);}y.preventDefault();break;case 40:if(A=z.getParent().getParent().getNext()){B=A.getChild([z.getParent().getIndex(),0]);if(B&&B.type==1){B.focus();p(y,z);o(y,B);}}y.preventDefault();break;case 32:m(y);y.preventDefault();break;case D?37:39:if(A=z.getParent().getNext()){B=A.getChild(0);if(B.type==1){B.focus();p(y,z);o(y,B);y.preventDefault(true);}else p(null,z);}else if(A=z.getParent().getParent().getNext()){B=A.getChild([0,0]);if(B&&B.type==1){B.focus();p(y,z);o(y,B);y.preventDefault(true);}else p(null,z);}break;case D?39:37:if(A=z.getParent().getPrevious()){B=A.getChild(0);B.focus();p(y,z);o(y,B);y.preventDefault(true);}else if(A=z.getParent().getParent().getPrevious()){B=A.getLast().getChild(0);B.focus();p(y,z);o(y,B);y.preventDefault(true);}else p(null,z);break;default:return;}});function r(){var y=['00','33','66','99','cc','ff'];function z(E,F){for(var G=E;G<E+3;G++){var H=s.$.insertRow(-1);for(var I=F;I<F+3;I++)for(var J=0;J<6;J++)A(H,'#'+y[I]+y[J]+y[G]);}};function A(E,F){var G=new b(E.insertCell(-1));G.setAttribute('class','ColorCell');G.setStyle('background-color',F);G.setStyle('width','15px');G.setStyle('height','15px');var H=G.$.cellIndex+1+18*E.rowIndex;G.append(CKEDITOR.dom.element.createFromHtml('<a href="javascript: void(0);" role="option" aria-posinset="'+H+'"'+' aria-setsize="'+234+'"'+' style="cursor: pointer;display:block;width:100%;height:100% " title="'+CKEDITOR.tools.htmlEncode(F)+'"'+' onkeydown="CKEDITOR.tools.callFunction( '+q+', event, this )"'+' onclick="CKEDITOR.tools.callFunction('+n+', event, this ); return false;"'+' tabindex="-1"><span class="cke_voice_label">'+F+'</span>&nbsp;</a>',CKEDITOR.document));\r
+};z(0,0);z(3,0);z(0,3);z(3,3);var B=s.$.insertRow(-1);for(var C=0;C<6;C++)A(B,'#'+y[C]+y[C]+y[C]);for(var D=0;D<12;D++)A(B,'#000000');};var s=new b('table');r();var t=function(y){return CKEDITOR.tools.getNextId()+'_'+y;},u=t('hicolor'),v=t('hicolortext'),w=t('selhicolor'),x=t('color_table_label');return{title:e.title,minWidth:360,minHeight:220,onLoad:function(){f=this;},contents:[{id:'picker',label:e.title,accessKey:'I',elements:[{type:'hbox',padding:0,widths:['70%','10%','30%'],children:[{type:'html',html:'<table role="listbox" aria-labelledby="'+x+'" onmouseout="CKEDITOR.tools.callFunction( '+l+' );">'+s.getHtml()+'</table>'+'<span id="'+x+'" class="cke_voice_label">'+e.options+'</span>',onLoad:function(){var y=CKEDITOR.document.getById(this.domId);y.on('mouseover',j);},focus:function(){var y=this.getElement().getElementsByTag('a').getItem(0);y.focus();}},g,{type:'vbox',padding:0,widths:['70%','5%','25%'],children:[{type:'html',html:'<span>'+e.highlight+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+u+'" style="border: 1px solid; height: 74px; width: 74px;"></div>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+v+'">&nbsp;</div><span>'+e.selected+'</span>\t\t\t\t\t\t\t\t\t\t\t\t<div id="'+w+'" style="border: 1px solid; height: 20px; width: 74px;"></div>'},{type:'text',label:e.selected,labelStyle:'display:none',id:'selectedColor',style:'width: 74px',onChange:function(){try{c.getById(w).setStyle('background-color',this.getValue());}catch(y){h();}}},g,{type:'button',id:'clear',style:'margin-top: 5px',label:e.clear,onClick:h}]}]}]}]};});\r
index 2bd18af..39765c9 100644 (file)
@@ -3,7 +3,7 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){var a;function b(i){return i.type==CKEDITOR.NODE_TEXT&&i.getLength()>0&&(!a||!i.isReadOnly());};function c(i){return!(i.type==CKEDITOR.NODE_ELEMENT&&i.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)));};var d=function(){var i=this;return{textNode:i.textNode,offset:i.offset,character:i.textNode?i.textNode.getText().charAt(i.offset):null,hitMatchBoundary:i._.matchBoundary};},e=['find','replace'],f=[['txtFindFind','txtFindReplace'],['txtFindCaseChk','txtReplaceCaseChk'],['txtFindWordChk','txtReplaceWordChk'],['txtFindCyclic','txtReplaceCyclic']];function g(i){var j,k,l,m;j=i==='find'?1:0;k=1-j;var n,o=f.length;for(n=0;n<o;n++){l=this.getContentElement(e[j],f[n][j]);m=this.getContentElement(e[k],f[n][k]);m.setValue(l.getValue());}};var h=function(i,j){var k=new CKEDITOR.style(CKEDITOR.tools.extend({fullMatch:true,childRule:function(){return false;}},i.config.find_highlight)),l=function(x,y){var z=new CKEDITOR.dom.walker(x);z.guard=y?c:null;z.evaluator=b;z.breakOnFalse=true;this._={matchWord:y,walker:z,matchBoundary:false};};l.prototype={next:function(){return this.move();},back:function(){return this.move(true);},move:function(x){var z=this;var y=z.textNode;if(y===null)return d.call(z);z._.matchBoundary=false;if(y&&x&&z.offset>0){z.offset--;return d.call(z);}else if(y&&z.offset<y.getLength()-1){z.offset++;return d.call(z);}else{y=null;while(!y){y=z._.walker[x?'previous':'next'].call(z._.walker);if(z._.matchWord&&!y||z._.walker._.end)break;if(!y&&!c(z._.walker.current))z._.matchBoundary=true;}z.textNode=y;if(y)z.offset=x?y.getLength()-1:0;else z.offset=0;}return d.call(z);}};var m=function(x,y){this._={walker:x,cursors:[],rangeLength:y,highlightRange:null,isMatched:false};};m.prototype={toDomRange:function(){var x=new CKEDITOR.dom.range(i.document),y=this._.cursors;if(y.length<1){var z=this._.walker.textNode;if(z)x.setStartAfter(z);else return null;}else{var A=y[0],B=y[y.length-1];x.setStart(A.textNode,A.offset);x.setEnd(B.textNode,B.offset+1);}return x;},updateFromDomRange:function(x){var A=this;var y,z=new l(x);A._.cursors=[];do{y=z.next();if(y.character)A._.cursors.push(y);}while(y.character)A._.rangeLength=A._.cursors.length;},setMatched:function(){this._.isMatched=true;},clearMatched:function(){this._.isMatched=false;},isMatched:function(){return this._.isMatched;},highlight:function(){var A=this;if(A._.cursors.length<1)return;if(A._.highlightRange)A.removeHighlight();var x=A.toDomRange(),y=x.createBookmark();\r
-k.applyToRange(x);x.moveToBookmark(y);A._.highlightRange=x;var z=x.startContainer;if(z.type!=CKEDITOR.NODE_ELEMENT)z=z.getParent();z.scrollIntoView();A.updateFromDomRange(x);},removeHighlight:function(){var y=this;if(!y._.highlightRange)return;var x=y._.highlightRange.createBookmark();k.removeFromRange(y._.highlightRange);y._.highlightRange.moveToBookmark(x);y.updateFromDomRange(y._.highlightRange);y._.highlightRange=null;},isReadOnly:function(){if(!this._.highlightRange)return 0;return this._.highlightRange.startContainer.isReadOnly();},moveBack:function(){var z=this;var x=z._.walker.back(),y=z._.cursors;if(x.hitMatchBoundary)z._.cursors=y=[];y.unshift(x);if(y.length>z._.rangeLength)y.pop();return x;},moveNext:function(){var z=this;var x=z._.walker.next(),y=z._.cursors;if(x.hitMatchBoundary)z._.cursors=y=[];y.push(x);if(y.length>z._.rangeLength)y.shift();return x;},getEndCharacter:function(){var x=this._.cursors;if(x.length<1)return null;return x[x.length-1].character;},getNextCharacterRange:function(x){var y,z,A=this._.cursors;if((y=A[A.length-1])&&y.textNode)z=new l(n(y));else z=this._.walker;return new m(z,x);},getCursors:function(){return this._.cursors;}};function n(x,y){var z=new CKEDITOR.dom.range();z.setStart(x.textNode,y?x.offset:x.offset+1);z.setEndAt(i.document.getBody(),CKEDITOR.POSITION_BEFORE_END);return z;};function o(x){var y=new CKEDITOR.dom.range();y.setStartAt(i.document.getBody(),CKEDITOR.POSITION_AFTER_START);y.setEnd(x.textNode,x.offset);return y;};var p=0,q=1,r=2,s=function(x,y){var z=[-1];if(y)x=x.toLowerCase();for(var A=0;A<x.length;A++){z.push(z[A]+1);while(z[A+1]>0&&x.charAt(A)!=x.charAt(z[A+1]-1))z[A+1]=z[z[A+1]-1]+1;}this._={overlap:z,state:0,ignoreCase:!!y,pattern:x};};s.prototype={feedCharacter:function(x){var y=this;if(y._.ignoreCase)x=x.toLowerCase();for(;;){if(x==y._.pattern.charAt(y._.state)){y._.state++;if(y._.state==y._.pattern.length){y._.state=0;return r;}return q;}else if(!y._.state)return p;else y._.state=y._.overlap[y._.state];}return null;},reset:function(){this._.state=0;}};var t=/[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/,u=function(x){if(!x)return true;var y=x.charCodeAt(0);return y>=9&&y<=13||y>=8192&&y<=8202||t.test(x);},v={searchRange:null,matchRange:null,find:function(x,y,z,A,B,C){var L=this;if(!L.matchRange)L.matchRange=new m(new l(L.searchRange),x.length);else{L.matchRange.removeHighlight();L.matchRange=L.matchRange.getNextCharacterRange(x.length);}var D=new s(x,!y),E=p,F='%';while(F!==null){L.matchRange.moveNext();\r
-while(F=L.matchRange.getEndCharacter()){E=D.feedCharacter(F);if(E==r)break;if(L.matchRange.moveNext().hitMatchBoundary)D.reset();}if(E==r){if(z){var G=L.matchRange.getCursors(),H=G[G.length-1],I=G[0],J=new l(o(I),true),K=new l(n(H),true);if(!(u(J.back().character)&&u(K.next().character)))continue;}L.matchRange.setMatched();if(B!==false)L.matchRange.highlight();return true;}}L.matchRange.clearMatched();L.matchRange.removeHighlight();if(A&&!C){L.searchRange=w(true);L.matchRange=null;return arguments.callee.apply(L,Array.prototype.slice.call(arguments).concat([true]));}return false;},replaceCounter:0,replace:function(x,y,z,A,B,C,D){var I=this;a=1;var E=false;if(I.matchRange&&I.matchRange.isMatched()&&!I.matchRange._.isReplaced&&!I.matchRange.isReadOnly()){I.matchRange.removeHighlight();var F=I.matchRange.toDomRange(),G=i.document.createText(z);if(!D){var H=i.getSelection();H.selectRanges([F]);i.fire('saveSnapshot');}F.deleteContents();F.insertNode(G);if(!D){H.selectRanges([F]);i.fire('saveSnapshot');}I.matchRange.updateFromDomRange(F);if(!D)I.matchRange.highlight();I.matchRange._.isReplaced=true;I.replaceCounter++;E=true;}else E=I.find(y,A,B,C,!D);a=0;return E;}};function w(x){var y,z=i.getSelection(),A=i.document.getBody();if(z&&!x){y=z.getRanges()[0].clone();y.collapse(true);}else{y=new CKEDITOR.dom.range();y.setStartAt(A,CKEDITOR.POSITION_AFTER_START);}y.setEndAt(A,CKEDITOR.POSITION_BEFORE_END);return y;};return{title:i.lang.findAndReplace.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:165,buttons:[CKEDITOR.dialog.cancelButton],contents:[{id:'find',label:i.lang.findAndReplace.find,title:i.lang.findAndReplace.find,accessKey:'',elements:[{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtFindFind',label:i.lang.findAndReplace.findWhat,isChanged:false,labelLayout:'horizontal',accessKey:'F'},{type:'button',align:'left',style:'width:100%',label:i.lang.findAndReplace.find,onClick:function(){var x=this.getDialog();if(!v.find(x.getValueOf('find','txtFindFind'),x.getValueOf('find','txtFindCaseChk'),x.getValueOf('find','txtFindWordChk'),x.getValueOf('find','txtFindCyclic')))alert(i.lang.findAndReplace.notFoundMsg);}}]},{type:'vbox',padding:0,children:[{type:'checkbox',id:'txtFindCaseChk',isChanged:false,style:'margin-top:28px',label:i.lang.findAndReplace.matchCase},{type:'checkbox',id:'txtFindWordChk',isChanged:false,label:i.lang.findAndReplace.matchWord},{type:'checkbox',id:'txtFindCyclic',isChanged:false,'default':true,label:i.lang.findAndReplace.matchCyclic}]}]},{id:'replace',label:i.lang.findAndReplace.replace,accessKey:'M',elements:[{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtFindReplace',label:i.lang.findAndReplace.findWhat,isChanged:false,labelLayout:'horizontal',accessKey:'F'},{type:'button',align:'left',style:'width:100%',label:i.lang.findAndReplace.replace,onClick:function(){var x=this.getDialog();\r
-if(!v.replace(x,x.getValueOf('replace','txtFindReplace'),x.getValueOf('replace','txtReplace'),x.getValueOf('replace','txtReplaceCaseChk'),x.getValueOf('replace','txtReplaceWordChk'),x.getValueOf('replace','txtReplaceCyclic')))alert(i.lang.findAndReplace.notFoundMsg);}}]},{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtReplace',label:i.lang.findAndReplace.replaceWith,isChanged:false,labelLayout:'horizontal',accessKey:'R'},{type:'button',align:'left',style:'width:100%',label:i.lang.findAndReplace.replaceAll,isChanged:false,onClick:function(){var x=this.getDialog(),y;v.replaceCounter=0;v.searchRange=w(true);if(v.matchRange){v.matchRange.removeHighlight();v.matchRange=null;}i.fire('saveSnapshot');while(v.replace(x,x.getValueOf('replace','txtFindReplace'),x.getValueOf('replace','txtReplace'),x.getValueOf('replace','txtReplaceCaseChk'),x.getValueOf('replace','txtReplaceWordChk'),false,true)){}if(v.replaceCounter){alert(i.lang.findAndReplace.replaceSuccessMsg.replace(/%1/,v.replaceCounter));i.fire('saveSnapshot');}else alert(i.lang.findAndReplace.notFoundMsg);}}]},{type:'vbox',padding:0,children:[{type:'checkbox',id:'txtReplaceCaseChk',isChanged:false,label:i.lang.findAndReplace.matchCase},{type:'checkbox',id:'txtReplaceWordChk',isChanged:false,label:i.lang.findAndReplace.matchWord},{type:'checkbox',id:'txtReplaceCyclic',isChanged:false,'default':true,label:i.lang.findAndReplace.matchCyclic}]}]}],onLoad:function(){var x=this,y,z,A=false;this.on('hide',function(){A=false;});this.on('show',function(){A=true;});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(B){return function(C){B.call(x,C);var D=x._.tabs[C],E,F,G;F=C==='find'?'txtFindFind':'txtFindReplace';G=C==='find'?'txtFindWordChk':'txtReplaceWordChk';y=x.getContentElement(C,F);z=x.getContentElement(C,G);if(!D.initialized){E=CKEDITOR.document.getById(y._.inputId);D.initialized=true;}if(A)g.call(this,C);};});},onShow:function(){v.searchRange=w();this.selectPage(j);},onHide:function(){var x;if(v.matchRange&&v.matchRange.isMatched()){v.matchRange.removeHighlight();i.focus();x=v.matchRange.toDomRange();if(x)i.getSelection().selectRanges([x]);}delete v.matchRange;},onFocus:function(){if(j=='replace')return this.getContentElement('replace','txtFindReplace');else return this.getContentElement('find','txtFindFind');}};};CKEDITOR.dialog.add('find',function(i){return h(i,'find');});CKEDITOR.dialog.add('replace',function(i){return h(i,'replace');});})();\r
+(function(){var a;function b(i){return i.type==CKEDITOR.NODE_TEXT&&i.getLength()>0&&(!a||!i.isReadOnly());};function c(i){return!(i.type==CKEDITOR.NODE_ELEMENT&&i.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)));};var d=function(){var i=this;return{textNode:i.textNode,offset:i.offset,character:i.textNode?i.textNode.getText().charAt(i.offset):null,hitMatchBoundary:i._.matchBoundary};},e=['find','replace'],f=[['txtFindFind','txtFindReplace'],['txtFindCaseChk','txtReplaceCaseChk'],['txtFindWordChk','txtReplaceWordChk'],['txtFindCyclic','txtReplaceCyclic']];function g(i){var j,k,l,m;j=i==='find'?1:0;k=1-j;var n,o=f.length;for(n=0;n<o;n++){l=this.getContentElement(e[j],f[n][j]);m=this.getContentElement(e[k],f[n][k]);m.setValue(l.getValue());}};var h=function(i,j){var k=new CKEDITOR.style(CKEDITOR.tools.extend({fullMatch:true,childRule:function(){return 0;}},i.config.find_highlight)),l=function(y,z){var A=this,B=new CKEDITOR.dom.walker(y);B.guard=z?c:function(C){!c(C)&&(A._.matchBoundary=true);};B.evaluator=b;B.breakOnFalse=1;if(y.startContainer.type==CKEDITOR.NODE_TEXT){this.textNode=y.startContainer;this.offset=y.startOffset-1;}this._={matchWord:z,walker:B,matchBoundary:false};};l.prototype={next:function(){return this.move();},back:function(){return this.move(true);},move:function(y){var A=this;var z=A.textNode;if(z===null)return d.call(A);A._.matchBoundary=false;if(z&&y&&A.offset>0){A.offset--;return d.call(A);}else if(z&&A.offset<z.getLength()-1){A.offset++;return d.call(A);}else{z=null;while(!z){z=A._.walker[y?'previous':'next'].call(A._.walker);if(A._.matchWord&&!z||A._.walker._.end)break;}A.textNode=z;if(z)A.offset=y?z.getLength()-1:0;else A.offset=0;}return d.call(A);}};var m=function(y,z){this._={walker:y,cursors:[],rangeLength:z,highlightRange:null,isMatched:0};};m.prototype={toDomRange:function(){var y=new CKEDITOR.dom.range(i.document),z=this._.cursors;if(z.length<1){var A=this._.walker.textNode;if(A)y.setStartAfter(A);else return null;}else{var B=z[0],C=z[z.length-1];y.setStart(B.textNode,B.offset);y.setEnd(C.textNode,C.offset+1);}return y;},updateFromDomRange:function(y){var B=this;var z,A=new l(y);B._.cursors=[];do{z=A.next();if(z.character)B._.cursors.push(z);}while(z.character)B._.rangeLength=B._.cursors.length;},setMatched:function(){this._.isMatched=true;},clearMatched:function(){this._.isMatched=false;},isMatched:function(){return this._.isMatched;},highlight:function(){var B=this;if(B._.cursors.length<1)return;\r
+if(B._.highlightRange)B.removeHighlight();var y=B.toDomRange(),z=y.createBookmark();k.applyToRange(y);y.moveToBookmark(z);B._.highlightRange=y;var A=y.startContainer;if(A.type!=CKEDITOR.NODE_ELEMENT)A=A.getParent();A.scrollIntoView();B.updateFromDomRange(y);},removeHighlight:function(){var z=this;if(!z._.highlightRange)return;var y=z._.highlightRange.createBookmark();k.removeFromRange(z._.highlightRange);z._.highlightRange.moveToBookmark(y);z.updateFromDomRange(z._.highlightRange);z._.highlightRange=null;},isReadOnly:function(){if(!this._.highlightRange)return 0;return this._.highlightRange.startContainer.isReadOnly();},moveBack:function(){var A=this;var y=A._.walker.back(),z=A._.cursors;if(y.hitMatchBoundary)A._.cursors=z=[];z.unshift(y);if(z.length>A._.rangeLength)z.pop();return y;},moveNext:function(){var A=this;var y=A._.walker.next(),z=A._.cursors;if(y.hitMatchBoundary)A._.cursors=z=[];z.push(y);if(z.length>A._.rangeLength)z.shift();return y;},getEndCharacter:function(){var y=this._.cursors;if(y.length<1)return null;return y[y.length-1].character;},getNextCharacterRange:function(y){var z,A,B=this._.cursors;if((z=B[B.length-1])&&z.textNode)A=new l(n(z));else A=this._.walker;return new m(A,y);},getCursors:function(){return this._.cursors;}};function n(y,z){var A=new CKEDITOR.dom.range();A.setStart(y.textNode,z?y.offset:y.offset+1);A.setEndAt(i.document.getBody(),CKEDITOR.POSITION_BEFORE_END);return A;};function o(y){var z=new CKEDITOR.dom.range();z.setStartAt(i.document.getBody(),CKEDITOR.POSITION_AFTER_START);z.setEnd(y.textNode,y.offset);return z;};var p=0,q=1,r=2,s=function(y,z){var A=[-1];if(z)y=y.toLowerCase();for(var B=0;B<y.length;B++){A.push(A[B]+1);while(A[B+1]>0&&y.charAt(B)!=y.charAt(A[B+1]-1))A[B+1]=A[A[B+1]-1]+1;}this._={overlap:A,state:0,ignoreCase:!!z,pattern:y};};s.prototype={feedCharacter:function(y){var z=this;if(z._.ignoreCase)y=y.toLowerCase();for(;;){if(y==z._.pattern.charAt(z._.state)){z._.state++;if(z._.state==z._.pattern.length){z._.state=0;return r;}return q;}else if(!z._.state)return p;else z._.state=z._.overlap[z._.state];}return null;},reset:function(){this._.state=0;}};var t=/[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/,u=function(y){if(!y)return true;var z=y.charCodeAt(0);return z>=9&&z<=13||z>=8192&&z<=8202||t.test(y);},v={searchRange:null,matchRange:null,find:function(y,z,A,B,C,D){var M=this;if(!M.matchRange)M.matchRange=new m(new l(M.searchRange),y.length);else{M.matchRange.removeHighlight();M.matchRange=M.matchRange.getNextCharacterRange(y.length);\r
+}var E=new s(y,!z),F=p,G='%';while(G!==null){M.matchRange.moveNext();while(G=M.matchRange.getEndCharacter()){F=E.feedCharacter(G);if(F==r)break;if(M.matchRange.moveNext().hitMatchBoundary)E.reset();}if(F==r){if(A){var H=M.matchRange.getCursors(),I=H[H.length-1],J=H[0],K=new l(o(J),true),L=new l(n(I),true);if(!(u(K.back().character)&&u(L.next().character)))continue;}M.matchRange.setMatched();if(C!==false)M.matchRange.highlight();return true;}}M.matchRange.clearMatched();M.matchRange.removeHighlight();if(B&&!D){M.searchRange=w(1);M.matchRange=null;return arguments.callee.apply(M,Array.prototype.slice.call(arguments).concat([true]));}return false;},replaceCounter:0,replace:function(y,z,A,B,C,D,E){var J=this;a=1;var F=0;if(J.matchRange&&J.matchRange.isMatched()&&!J.matchRange._.isReplaced&&!J.matchRange.isReadOnly()){J.matchRange.removeHighlight();var G=J.matchRange.toDomRange(),H=i.document.createText(A);if(!E){var I=i.getSelection();I.selectRanges([G]);i.fire('saveSnapshot');}G.deleteContents();G.insertNode(H);if(!E){I.selectRanges([G]);i.fire('saveSnapshot');}J.matchRange.updateFromDomRange(G);if(!E)J.matchRange.highlight();J.matchRange._.isReplaced=true;J.replaceCounter++;F=1;}else F=J.find(z,B,C,D,!E);a=0;return F;}};function w(y){var z,A=i.getSelection(),B=i.document.getBody();if(A&&!y){z=A.getRanges()[0].clone();z.collapse(true);}else{z=new CKEDITOR.dom.range();z.setStartAt(B,CKEDITOR.POSITION_AFTER_START);}z.setEndAt(B,CKEDITOR.POSITION_BEFORE_END);return z;};var x=i.lang.findAndReplace;return{title:x.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE,minWidth:350,minHeight:165,buttons:[CKEDITOR.dialog.cancelButton],contents:[{id:'find',label:x.find,title:x.find,accessKey:'',elements:[{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtFindFind',label:x.findWhat,isChanged:false,labelLayout:'horizontal',accessKey:'F'},{type:'button',align:'left',style:'width:100%',label:x.find,onClick:function(){var y=this.getDialog();if(!v.find(y.getValueOf('find','txtFindFind'),y.getValueOf('find','txtFindCaseChk'),y.getValueOf('find','txtFindWordChk'),y.getValueOf('find','txtFindCyclic')))alert(x.notFoundMsg);}}]},{type:'vbox',padding:0,children:[{type:'checkbox',id:'txtFindCaseChk',isChanged:false,style:'margin-top:28px',label:x.matchCase},{type:'checkbox',id:'txtFindWordChk',isChanged:false,label:x.matchWord},{type:'checkbox',id:'txtFindCyclic',isChanged:false,'default':true,label:x.matchCyclic}]}]},{id:'replace',label:x.replace,accessKey:'M',elements:[{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtFindReplace',label:x.findWhat,isChanged:false,labelLayout:'horizontal',accessKey:'F'},{type:'button',align:'left',style:'width:100%',label:x.replace,onClick:function(){var y=this.getDialog();\r
+if(!v.replace(y,y.getValueOf('replace','txtFindReplace'),y.getValueOf('replace','txtReplace'),y.getValueOf('replace','txtReplaceCaseChk'),y.getValueOf('replace','txtReplaceWordChk'),y.getValueOf('replace','txtReplaceCyclic')))alert(x.notFoundMsg);}}]},{type:'hbox',widths:['230px','90px'],children:[{type:'text',id:'txtReplace',label:x.replaceWith,isChanged:false,labelLayout:'horizontal',accessKey:'R'},{type:'button',align:'left',style:'width:100%',label:x.replaceAll,isChanged:false,onClick:function(){var y=this.getDialog(),z;v.replaceCounter=0;v.searchRange=w(1);if(v.matchRange){v.matchRange.removeHighlight();v.matchRange=null;}i.fire('saveSnapshot');while(v.replace(y,y.getValueOf('replace','txtFindReplace'),y.getValueOf('replace','txtReplace'),y.getValueOf('replace','txtReplaceCaseChk'),y.getValueOf('replace','txtReplaceWordChk'),false,true)){}if(v.replaceCounter){alert(x.replaceSuccessMsg.replace(/%1/,v.replaceCounter));i.fire('saveSnapshot');}else alert(x.notFoundMsg);}}]},{type:'vbox',padding:0,children:[{type:'checkbox',id:'txtReplaceCaseChk',isChanged:false,label:x.matchCase},{type:'checkbox',id:'txtReplaceWordChk',isChanged:false,label:x.matchWord},{type:'checkbox',id:'txtReplaceCyclic',isChanged:false,'default':true,label:x.matchCyclic}]}]}],onLoad:function(){var y=this,z,A,B=0;this.on('hide',function(){B=0;});this.on('show',function(){B=1;});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(C){return function(D){C.call(y,D);var E=y._.tabs[D],F,G,H;G=D==='find'?'txtFindFind':'txtFindReplace';H=D==='find'?'txtFindWordChk':'txtReplaceWordChk';z=y.getContentElement(D,G);A=y.getContentElement(D,H);if(!E.initialized){F=CKEDITOR.document.getById(z._.inputId);E.initialized=true;}if(B)g.call(this,D);};});},onShow:function(){v.searchRange=w();this.selectPage(j);},onHide:function(){var y;if(v.matchRange&&v.matchRange.isMatched()){v.matchRange.removeHighlight();i.focus();y=v.matchRange.toDomRange();if(y)i.getSelection().selectRanges([y]);}delete v.matchRange;},onFocus:function(){if(j=='replace')return this.getContentElement('replace','txtFindReplace');else return this.getContentElement('find','txtFindFind');}};};CKEDITOR.dialog.add('find',function(i){return h(i,'find');});CKEDITOR.dialog.add('replace',function(i){return h(i,'replace');});})();\r
index 57aeb41..226e806 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('button',function(a){return{title:a.lang.button.title,minWidth:350,minHeight:150,onShow:function(){var d=this;delete d.button;var b=d.getParentEditor().getSelection().getSelectedElement();if(b&&b.getName()=='input'){var c=b.getAttribute('type');if(c=='button'||c=='reset'||c=='submit'){d.button=b;d.setupContent(b);}}},onOk:function(){var b,c=this.button,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('input');}if(d)b.insertElement(c);this.commitContent({element:c});},contents:[{id:'info',label:a.lang.button.title,title:a.lang.button.title,elements:[{id:'_cke_saved_name',type:'text',label:a.lang.common.name,'default':'',setup:function(b){this.setValue(b.getAttribute('_cke_saved_name')||b.getAttribute('name')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('_cke_saved_name',this.getValue());else{c.removeAttribute('_cke_saved_name');c.removeAttribute('name');}}},{id:'value',type:'text',label:a.lang.button.text,accessKey:'V','default':'',setup:function(b){this.setValue(b.getAttribute('value')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('value',this.getValue());else c.removeAttribute('value');}},{id:'type',type:'select',label:a.lang.button.type,'default':'button',accessKey:'T',items:[[a.lang.button.typeBtn,'button'],[a.lang.button.typeSbm,'submit'],[a.lang.button.typeRst,'reset']],setup:function(b){this.setValue(b.getAttribute('type')||'');},commit:function(b){var c=b.element;if(CKEDITOR.env.ie){var d=c.getAttribute('type'),e=this.getValue();if(e!=d){var f=CKEDITOR.dom.element.createFromHtml('<input type="'+e+'"></input>',a.document);c.copyAttributes(f,{type:1});f.replace(c);a.getSelection().selectElement(f);b.element=f;}}else c.setAttribute('type',this.getValue());}}]}]};});\r
+CKEDITOR.dialog.add('button',function(a){return{title:a.lang.button.title,minWidth:350,minHeight:150,onShow:function(){var d=this;delete d.button;var b=d.getParentEditor().getSelection().getSelectedElement();if(b&&b.is('input')){var c=b.getAttribute('type');if(c in {button:1,reset:1,submit:1}){d.button=b;d.setupContent(b);}}},onOk:function(){var b,c=this.button,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('input');}if(d)b.insertElement(c);this.commitContent({element:c});},contents:[{id:'info',label:a.lang.button.title,title:a.lang.button.title,elements:[{id:'_cke_saved_name',type:'text',label:a.lang.common.name,'default':'',setup:function(b){this.setValue(b.getAttribute('_cke_saved_name')||b.getAttribute('name')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('_cke_saved_name',this.getValue());else{c.removeAttribute('_cke_saved_name');c.removeAttribute('name');}}},{id:'value',type:'text',label:a.lang.button.text,accessKey:'V','default':'',setup:function(b){this.setValue(b.getAttribute('value')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('value',this.getValue());else c.removeAttribute('value');}},{id:'type',type:'select',label:a.lang.button.type,'default':'button',accessKey:'T',items:[[a.lang.button.typeBtn,'button'],[a.lang.button.typeSbm,'submit'],[a.lang.button.typeRst,'reset']],setup:function(b){this.setValue(b.getAttribute('type')||'');},commit:function(b){var c=b.element;if(CKEDITOR.env.ie){var d=c.getAttribute('type'),e=this.getValue();if(e!=d){var f=CKEDITOR.dom.element.createFromHtml('<input type="'+e+'"></input>',a.document);c.copyAttributes(f,{type:1});f.replace(c);a.getSelection().selectElement(f);b.element=f;}}else c.setAttribute('type',this.getValue());}}]}]};});\r
index 33728dd..8677c83 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('checkbox',function(a){return{title:a.lang.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){var c=this;delete c.checkbox;var b=c.getParentEditor().getSelection().getSelectedElement();if(b&&b.getAttribute('type')=='checkbox'){c.checkbox=b;c.setupContent(b);}},onOk:function(){var b,c=this.checkbox,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('input');c.setAttribute('type','checkbox');}if(d)b.insertElement(c);this.commitContent({element:c});},contents:[{id:'info',label:a.lang.checkboxAndRadio.checkboxTitle,title:a.lang.checkboxAndRadio.checkboxTitle,startupFocus:'txtName',elements:[{id:'txtName',type:'text',label:a.lang.common.name,'default':'',accessKey:'N',setup:function(b){this.setValue(b.getAttribute('_cke_saved_name')||b.getAttribute('name')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('_cke_saved_name',this.getValue());else{c.removeAttribute('_cke_saved_name');c.removeAttribute('name');}}},{id:'txtValue',type:'text',label:a.lang.checkboxAndRadio.value,'default':'',accessKey:'V',setup:function(b){var c=b.getAttribute('value');this.setValue(CKEDITOR.env.ie&&c=='on'?'':c);},commit:function(b){var c=b.element,d=this.getValue();if(d&&!(CKEDITOR.env.ie&&d=='on'))c.setAttribute('value',d);else if(CKEDITOR.env.ie){var e=new CKEDITOR.dom.element('input',c.getDocument());c.copyAttributes(e,{value:1});e.replace(c);a.getSelection().selectElement(e);b.element=e;}else c.removeAttribute('value');}},{id:'cmbSelected',type:'checkbox',label:a.lang.checkboxAndRadio.selected,'default':'',accessKey:'S',value:'checked',setup:function(b){this.setValue(b.getAttribute('checked'));},commit:function(b){var c=b.element;if(CKEDITOR.env.ie){var d=!!c.getAttribute('checked'),e=!!this.getValue();if(d!=e){var f=CKEDITOR.dom.element.createFromHtml('<input type="checkbox"'+(e?' checked="checked"':'')+'/>',a.document);c.copyAttributes(f,{type:1,checked:1});f.replace(c);a.getSelection().selectElement(f);b.element=f;}}else{var g=this.getValue();if(g)c.setAttribute('checked','checked');else c.removeAttribute('checked');}}}]}]};});\r
+CKEDITOR.dialog.add('checkbox',function(a){return{title:a.lang.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){var c=this;delete c.checkbox;var b=c.getParentEditor().getSelection().getSelectedElement();if(b&&b.getAttribute('type')=='checkbox'){c.checkbox=b;c.setupContent(b);}},onOk:function(){var b,c=this.checkbox,d=!c;if(d){b=this.getParentEditor();c=b.document.createElement('input');c.setAttribute('type','checkbox');b.insertElement(c);}this.commitContent({element:c});},contents:[{id:'info',label:a.lang.checkboxAndRadio.checkboxTitle,title:a.lang.checkboxAndRadio.checkboxTitle,startupFocus:'txtName',elements:[{id:'txtName',type:'text',label:a.lang.common.name,'default':'',accessKey:'N',setup:function(b){this.setValue(b.getAttribute('_cke_saved_name')||b.getAttribute('name')||'');},commit:function(b){var c=b.element;if(this.getValue())c.setAttribute('_cke_saved_name',this.getValue());else{c.removeAttribute('_cke_saved_name');c.removeAttribute('name');}}},{id:'txtValue',type:'text',label:a.lang.checkboxAndRadio.value,'default':'',accessKey:'V',setup:function(b){var c=b.getAttribute('value');this.setValue(CKEDITOR.env.ie&&c=='on'?'':c);},commit:function(b){var c=b.element,d=this.getValue();if(d&&!(CKEDITOR.env.ie&&d=='on'))c.setAttribute('value',d);else if(CKEDITOR.env.ie){var e=new CKEDITOR.dom.element('input',c.getDocument());c.copyAttributes(e,{value:1});e.replace(c);a.getSelection().selectElement(e);b.element=e;}else c.removeAttribute('value');}},{id:'cmbSelected',type:'checkbox',label:a.lang.checkboxAndRadio.selected,'default':'',accessKey:'S',value:'checked',setup:function(b){this.setValue(b.getAttribute('checked'));},commit:function(b){var c=b.element;if(CKEDITOR.env.ie){var d=!!c.getAttribute('checked'),e=!!this.getValue();if(d!=e){var f=CKEDITOR.dom.element.createFromHtml('<input type="checkbox"'+(e?' checked="checked"':'')+'/>',a.document);c.copyAttributes(f,{type:1,checked:1});f.replace(c);a.getSelection().selectElement(f);b.element=f;}}else{var g=this.getValue();if(g)c.setAttribute('checked','checked');else c.removeAttribute('checked');}}}]}]};});\r
index d4c2b48..c54702e 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.plugins.add('iframedialog',{requires:['dialog'],onLoad:function(){CKEDITOR.dialog.addIframe=function(a,b,c,d,e,f){var g={type:'iframe',src:c,width:'100%',height:'100%'};if(typeof f=='function')g.onContentLoad=f;var h={title:b,minWidth:d,minHeight:e,contents:[{id:'iframe',label:b,expand:true,elements:[g]}]};return this.add(a,function(){return h;});};(function(){var a=function(b,c,d){if(arguments.length<3)return;var e=this._||(this._={}),f=c.onContentLoad&&CKEDITOR.tools.bind(c.onContentLoad,this),g=CKEDITOR.tools.cssLength(c.width),h=CKEDITOR.tools.cssLength(c.height);e.frameId=CKEDITOR.tools.getNextNumber()+'_iframe';b.on('load',function(){var k=CKEDITOR.document.getById(e.frameId),l=k.getParent();l.setStyles({width:g,height:h});});var i={src:'%2',id:e.frameId,frameborder:0,allowtransparency:true},j=[];if(typeof c.onContentLoad=='function')i.onload='CKEDITOR.tools.callFunction(%1);';CKEDITOR.ui.dialog.uiElement.call(this,b,c,j,'iframe',{width:g,height:h},i,'');d.push('<div style="width:'+g+';height:'+h+';" id="'+this.domId+'"></div>');j=j.join('');b.on('show',function(){var k=CKEDITOR.document.getById(e.frameId),l=k.getParent(),m=CKEDITOR.tools.addFunction(f),n=j.replace('%1',m).replace('%2',CKEDITOR.tools.htmlEncode(c.src));l.setHtml(n);});};a.prototype=new CKEDITOR.ui.dialog.uiElement();CKEDITOR.dialog.addUIElement('iframe',{build:function(b,c,d){return new a(b,c,d);}});})();}});\r
+CKEDITOR.plugins.add('iframedialog',{requires:['dialog'],onLoad:function(){CKEDITOR.dialog.addIframe=function(a,b,c,d,e,f){var g={type:'iframe',src:c,width:'100%',height:'100%'};if(typeof f=='function')g.onContentLoad=f;var h={title:b,minWidth:d,minHeight:e,contents:[{id:'iframe',label:b,expand:true,elements:[g]}]};return this.add(a,function(){return h;});};(function(){var a=function(b,c,d){if(arguments.length<3)return;var e=this._||(this._={}),f=c.onContentLoad&&CKEDITOR.tools.bind(c.onContentLoad,this),g=CKEDITOR.tools.cssLength(c.width),h=CKEDITOR.tools.cssLength(c.height);e.frameId=CKEDITOR.tools.getNextId()+'_iframe';b.on('load',function(){var k=CKEDITOR.document.getById(e.frameId),l=k.getParent();l.setStyles({width:g,height:h});});var i={src:'%2',id:e.frameId,frameborder:0,allowtransparency:true},j=[];if(typeof c.onContentLoad=='function')i.onload='CKEDITOR.tools.callFunction(%1);';CKEDITOR.ui.dialog.uiElement.call(this,b,c,j,'iframe',{width:g,height:h},i,'');d.push('<div style="width:'+g+';height:'+h+';" id="'+this.domId+'"></div>');j=j.join('');b.on('show',function(){var k=CKEDITOR.document.getById(e.frameId),l=k.getParent(),m=CKEDITOR.tools.addFunction(f),n=j.replace('%1',m).replace('%2',CKEDITOR.tools.htmlEncode(c.src));l.setHtml(n);});};a.prototype=new CKEDITOR.ui.dialog.uiElement();CKEDITOR.dialog.addUIElement('iframe',{build:function(b,c,d){return new a(b,c,d);}});})();}});\r
index ffe4cf7..4325ea1 100644 (file)
@@ -9,5 +9,5 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 }},validate:CKEDITOR.dialog.validate.notEmpty(b.lang.image.urlMissing)},{type:'button',id:'browse',style:'display:inline-block;margin-top:10px;',align:'center',label:b.lang.common.browseServer,hidden:true,filebrowser:'info:txtUrl'}]}]},{id:'txtAlt',type:'text',label:b.lang.image.alt,accessKey:'T','default':'',onChange:function(){l(this.getDialog());},setup:function(C,D){if(C==d)this.setValue(D.getAttribute('alt'));},commit:function(C,D){var E=this;if(C==d){if(E.getValue()||E.isChanged())D.setAttribute('alt',E.getValue());}else if(C==f)D.setAttribute('alt',E.getValue());else if(C==g)D.removeAttribute('alt');}},{type:'hbox',widths:['140px','240px'],children:[{type:'vbox',padding:10,children:[{type:'hbox',widths:['70%','30%'],children:[{type:'vbox',padding:1,children:[{type:'text',width:'40px',id:'txtWidth',labelLayout:'horizontal',label:b.lang.image.width,onKeyUp:k,onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:function(){var C=this.getValue().match(i);if(!C)alert(b.lang.image.validateWidth);return!!C;},setup:r,commit:function(C,D,E){var F=this.getValue();if(C==d){if(F)D.setStyle('width',CKEDITOR.tools.cssLength(F));else if(!F&&this.isChanged())D.removeStyle('width');!E&&D.removeAttribute('width');}else if(C==f){var G=F.match(h);if(!G){var H=this.getDialog().originalElement;if(H.getCustomData('isReady')=='true')D.setStyle('width',H.$.width+'px');}else D.setStyle('width',CKEDITOR.tools.cssLength(F));}else if(C==g){D.removeAttribute('width');D.removeStyle('width');}}},{type:'text',id:'txtHeight',width:'40px',labelLayout:'horizontal',label:b.lang.image.height,onKeyUp:k,onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:function(){var C=this.getValue().match(i);if(!C)alert(b.lang.image.validateHeight);return!!C;},setup:r,commit:function(C,D,E){var F=this.getValue();if(C==d){if(F)D.setStyle('height',CKEDITOR.tools.cssLength(F));else if(!F&&this.isChanged())D.removeStyle('height');if(!E&&C==d)D.removeAttribute('height');}else if(C==f){var G=F.match(h);if(!G){var H=this.getDialog().originalElement;if(H.getCustomData('isReady')=='true')D.setStyle('height',H.$.height+'px');}else D.setStyle('height',CKEDITOR.tools.cssLength(F));}else if(C==g){D.removeAttribute('height');D.removeStyle('height');}}}]},{type:'html',style:'margin-top:10px;width:40px;height:40px;',onLoad:function(){var C=CKEDITOR.document.getById(x),D=CKEDITOR.document.getById(w);if(C){C.on('click',function(E){q(this);E.data.preventDefault();},this.getDialog());C.on('mouseover',function(){this.addClass('cke_btn_over');\r
 },C);C.on('mouseout',function(){this.removeClass('cke_btn_over');},C);}if(D){D.on('click',function(E){var J=this;var F=p(J),G=J.originalElement,H=J.getValueOf('info','txtWidth');if(G.getCustomData('isReady')=='true'&&H){var I=G.$.height/G.$.width*H;if(!isNaN(I)){J.setValueOf('info','txtHeight',Math.round(I));l(J);}}E.data.preventDefault();},this.getDialog());D.on('mouseover',function(){this.addClass('cke_btn_over');},D);D.on('mouseout',function(){this.removeClass('cke_btn_over');},D);}},html:'<div><a href="javascript:void(0)" tabindex="-1" title="'+b.lang.image.unlockRatio+'" class="cke_btn_locked" id="'+w+'" role="button"><span class="cke_label">'+b.lang.image.unlockRatio+'</span></a>'+'<a href="javascript:void(0)" tabindex="-1" title="'+b.lang.image.resetSize+'" class="cke_btn_reset" id="'+x+'" role="button"><span class="cke_label">'+b.lang.image.resetSize+'</span></a>'+'</div>'}]},{type:'vbox',padding:1,children:[{type:'text',id:'txtBorder',width:'60px',labelLayout:'horizontal',label:b.lang.image.border,'default':'',onKeyUp:function(){l(this.getDialog());},onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:CKEDITOR.dialog.validate.integer(b.lang.image.validateBorder),setup:function(C,D){if(C==d){var E,F=D.getStyle('border-width');F=F&&F.match(/^(\d+px)(?: \1 \1 \1)?$/);E=F&&parseInt(F[1],10);isNaN(parseInt(E,10))&&(E=D.getAttribute('border'));this.setValue(E);}},commit:function(C,D,E){var F=parseInt(this.getValue(),10);if(C==d||C==f){if(!isNaN(F)){D.setStyle('border-width',CKEDITOR.tools.cssLength(F));D.setStyle('border-style','solid');}else if(!F&&this.isChanged()){D.removeStyle('border-width');D.removeStyle('border-style');D.removeStyle('border-color');}if(!E&&C==d)D.removeAttribute('border');}else if(C==g){D.removeAttribute('border');D.removeStyle('border-width');D.removeStyle('border-style');D.removeStyle('border-color');}}},{type:'text',id:'txtHSpace',width:'60px',labelLayout:'horizontal',label:b.lang.image.hSpace,'default':'',onKeyUp:function(){l(this.getDialog());},onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:CKEDITOR.dialog.validate.integer(b.lang.image.validateHSpace),setup:function(C,D){if(C==d){var E,F,G,H=D.getStyle('margin-left'),I=D.getStyle('margin-right');H=H&&H.match(j);I=I&&I.match(j);F=parseInt(H,10);G=parseInt(I,10);E=F==G&&F;isNaN(parseInt(E,10))&&(E=D.getAttribute('hspace'));this.setValue(E);}},commit:function(C,D,E){var F=parseInt(this.getValue(),10);if(C==d||C==f){if(!isNaN(F)){D.setStyle('margin-left',CKEDITOR.tools.cssLength(F));\r
 D.setStyle('margin-right',CKEDITOR.tools.cssLength(F));}else if(!F&&this.isChanged()){D.removeStyle('margin-left');D.removeStyle('margin-right');}if(!E&&C==d)D.removeAttribute('hspace');}else if(C==g){D.removeAttribute('hspace');D.removeStyle('margin-left');D.removeStyle('margin-right');}}},{type:'text',id:'txtVSpace',width:'60px',labelLayout:'horizontal',label:b.lang.image.vSpace,'default':'',onKeyUp:function(){l(this.getDialog());},onChange:function(){o.call(this,'advanced:txtdlgGenStyle');},validate:CKEDITOR.dialog.validate.integer(b.lang.image.validateVSpace),setup:function(C,D){if(C==d){var E,F,G,H=D.getStyle('margin-top'),I=D.getStyle('margin-bottom');H=H&&H.match(j);I=I&&I.match(j);F=parseInt(H,10);G=parseInt(I,10);E=F==G&&F;isNaN(parseInt(E,10))&&(E=D.getAttribute('vspace'));this.setValue(E);}},commit:function(C,D,E){var F=parseInt(this.getValue(),10);if(C==d||C==f){if(!isNaN(F)){D.setStyle('margin-top',CKEDITOR.tools.cssLength(F));D.setStyle('margin-bottom',CKEDITOR.tools.cssLength(F));}else if(!F&&this.isChanged()){D.removeStyle('margin-top');D.removeStyle('margin-bottom');}if(!E&&C==d)D.removeAttribute('vspace');}else if(C==g){D.removeAttribute('vspace');D.removeStyle('margin-top');D.removeStyle('margin-bottom');}}},{id:'cmbAlign',type:'select',labelLayout:'horizontal',widths:['35%','65%'],style:'width:90px',label:b.lang.image.align,'default':'',items:[[b.lang.common.notSet,''],[b.lang.image.alignLeft,'left'],[b.lang.image.alignRight,'right']],onChange:function(){l(this.getDialog());o.call(this,'advanced:txtdlgGenStyle');},setup:function(C,D){if(C==d){var E=D.getStyle('float');switch(E){case 'inherit':case 'none':E='';}!E&&(E=(D.getAttribute('align')||'').toLowerCase());this.setValue(E);}},commit:function(C,D,E){var F=this.getValue();if(C==d||C==f){if(F)D.setStyle('float',F);else D.removeStyle('float');if(!E&&C==d){F=(D.getAttribute('align')||'').toLowerCase();switch(F){case 'left':case 'right':D.removeAttribute('align');}}}else if(C==g)D.removeStyle('float');}}]}]},{type:'vbox',height:'250px',children:[{type:'html',style:'width:95%;',html:'<div>'+CKEDITOR.tools.htmlEncode(b.lang.common.preview)+'<br>'+'<div id="'+y+'" class="ImagePreviewLoader" style="display:none"><div class="loading">&nbsp;</div></div>'+'<div id="'+z+'" class="ImagePreviewBox"><table><tr><td>'+'<a href="javascript:void(0)" target="_blank" onclick="return false;" id="'+A+'">'+'<img id="'+B+'" alt="" /></a>'+(b.config.image_previewText||'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.')+'</td></tr></table></div></div>'}]}]}]},{id:'Link',label:b.lang.link.title,padding:0,elements:[{id:'txtUrl',type:'text',label:b.lang.common.url,style:'width: 100%','default':'',setup:function(C,D){if(C==e){var E=D.getAttribute('_cke_saved_href');\r
-if(!E)E=D.getAttribute('href');this.setValue(E);}},commit:function(C,D){var E=this;if(C==e)if(E.getValue()||E.isChanged()){D.setAttribute('_cke_saved_href',decodeURI(E.getValue()));D.setAttribute('href','javascript:void(0)/*'+CKEDITOR.tools.getNextNumber()+'*/');if(E.getValue()||!b.config.image_removeLinkByEmptyURL)E.getDialog().addLink=true;}}},{type:'button',id:'browse',filebrowser:{action:'Browse',target:'Link:txtUrl',url:b.config.filebrowserImageBrowseLinkUrl||b.config.filebrowserBrowseUrl},style:'float:right',hidden:true,label:b.lang.common.browseServer},{id:'cmbTarget',type:'select',label:b.lang.common.target,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.targetNew,'_blank'],[b.lang.common.targetTop,'_top'],[b.lang.common.targetSelf,'_self'],[b.lang.common.targetParent,'_parent']],setup:function(C,D){if(C==e)this.setValue(D.getAttribute('target'));},commit:function(C,D){if(C==e)if(this.getValue()||this.isChanged())D.setAttribute('target',this.getValue());}}]},{id:'Upload',hidden:true,filebrowser:'uploadButton',label:b.lang.image.upload,elements:[{type:'file',id:'upload',label:b.lang.image.btnUpload,style:'height:40px',size:38},{type:'fileButton',id:'uploadButton',filebrowser:'info:txtUrl',label:b.lang.image.btnUpload,'for':['Upload','upload']}]},{id:'advanced',label:b.lang.common.advancedTab,elements:[{type:'hbox',widths:['50%','25%','25%'],children:[{type:'text',id:'linkId',label:b.lang.common.id,setup:function(C,D){if(C==d)this.setValue(D.getAttribute('id'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('id',this.getValue());}},{id:'cmbLangDir',type:'select',style:'width : 100px;',label:b.lang.common.langDir,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.langDirLtr,'ltr'],[b.lang.common.langDirRtl,'rtl']],setup:function(C,D){if(C==d)this.setValue(D.getAttribute('dir'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('dir',this.getValue());}},{type:'text',id:'txtLangCode',label:b.lang.common.langCode,'default':'',setup:function(C,D){if(C==d)this.setValue(D.getAttribute('lang'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('lang',this.getValue());}}]},{type:'text',id:'txtGenLongDescr',label:b.lang.common.longDescr,setup:function(C,D){if(C==d)this.setValue(D.getAttribute('longDesc'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('longDesc',this.getValue());}},{type:'hbox',widths:['50%','50%'],children:[{type:'text',id:'txtGenClass',label:b.lang.common.cssClass,'default':'',setup:function(C,D){if(C==d)this.setValue(D.getAttribute('class'));\r
+if(!E)E=D.getAttribute('href');this.setValue(E);}},commit:function(C,D){var E=this;if(C==e)if(E.getValue()||E.isChanged()){D.setAttribute('_cke_saved_href',decodeURI(E.getValue()));D.setAttribute('href','javascript:void(0)/*'+CKEDITOR.tools.getNextNumber()+'*/');if(E.getValue()||!b.config.image_removeLinkByEmptyURL)E.getDialog().addLink=true;}}},{type:'button',id:'browse',filebrowser:{action:'Browse',target:'Link:txtUrl',url:b.config.filebrowserImageBrowseLinkUrl},style:'float:right',hidden:true,label:b.lang.common.browseServer},{id:'cmbTarget',type:'select',label:b.lang.common.target,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.targetNew,'_blank'],[b.lang.common.targetTop,'_top'],[b.lang.common.targetSelf,'_self'],[b.lang.common.targetParent,'_parent']],setup:function(C,D){if(C==e)this.setValue(D.getAttribute('target'));},commit:function(C,D){if(C==e)if(this.getValue()||this.isChanged())D.setAttribute('target',this.getValue());}}]},{id:'Upload',hidden:true,filebrowser:'uploadButton',label:b.lang.image.upload,elements:[{type:'file',id:'upload',label:b.lang.image.btnUpload,style:'height:40px',size:38},{type:'fileButton',id:'uploadButton',filebrowser:'info:txtUrl',label:b.lang.image.btnUpload,'for':['Upload','upload']}]},{id:'advanced',label:b.lang.common.advancedTab,elements:[{type:'hbox',widths:['50%','25%','25%'],children:[{type:'text',id:'linkId',label:b.lang.common.id,setup:function(C,D){if(C==d)this.setValue(D.getAttribute('id'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('id',this.getValue());}},{id:'cmbLangDir',type:'select',style:'width : 100px;',label:b.lang.common.langDir,'default':'',items:[[b.lang.common.notSet,''],[b.lang.common.langDirLtr,'ltr'],[b.lang.common.langDirRtl,'rtl']],setup:function(C,D){if(C==d)this.setValue(D.getAttribute('dir'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('dir',this.getValue());}},{type:'text',id:'txtLangCode',label:b.lang.common.langCode,'default':'',setup:function(C,D){if(C==d)this.setValue(D.getAttribute('lang'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('lang',this.getValue());}}]},{type:'text',id:'txtGenLongDescr',label:b.lang.common.longDescr,setup:function(C,D){if(C==d)this.setValue(D.getAttribute('longDesc'));},commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('longDesc',this.getValue());}},{type:'hbox',widths:['50%','50%'],children:[{type:'text',id:'txtGenClass',label:b.lang.common.cssClass,'default':'',setup:function(C,D){if(C==d)this.setValue(D.getAttribute('class'));\r
 },commit:function(C,D){if(C==d)if(this.getValue()||this.isChanged())D.setAttribute('class',this.getValue());}},{type:'text',id:'txtGenTitle',label:b.lang.common.advisoryTitle,'default':'',onChange:function(){l(this.getDialog());},setup:function(C,D){if(C==d)this.setValue(D.getAttribute('title'));},commit:function(C,D){var E=this;if(C==d){if(E.getValue()||E.isChanged())D.setAttribute('title',E.getValue());}else if(C==f)D.setAttribute('title',E.getValue());else if(C==g)D.removeAttribute('title');}}]},{type:'text',id:'txtdlgGenStyle',label:b.lang.common.cssStyle,'default':'',setup:function(C,D){if(C==d){var E=D.getAttribute('style');if(!E&&D.$.style.cssText)E=D.$.style.cssText;this.setValue(E);var F=D.$.style.height,G=D.$.style.width,H=(F?F:'').match(h),I=(G?G:'').match(h);this.attributesInStyle={height:!!H,width:!!I};}},onChange:function(){o.call(this,['info:cmbFloat','info:cmbAlign','info:txtVSpace','info:txtHSpace','info:txtBorder','info:txtWidth','info:txtHeight']);l(this);},commit:function(C,D){if(C==d&&(this.getValue()||this.isChanged()))D.setAttribute('style',this.getValue());}}]}]};};CKEDITOR.dialog.add('image',function(b){return a(b,'image');});CKEDITOR.dialog.add('imagebutton',function(b){return a(b,'imagebutton');});})();\r
index 2d356f5..1a1a58c 100644 (file)
@@ -3,9 +3,9 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('link',function(a){var b=CKEDITOR.plugins.link,c=function(){var C=this.getDialog(),D=C.getContentElement('target','popupFeatures'),E=C.getContentElement('target','linkTargetName'),F=this.getValue();if(!D||!E)return;D=D.getElement();D.hide();E.setValue('');switch(F){case 'frame':E.setLabel(a.lang.link.targetFrameName);E.getElement().show();break;case 'popup':D.show();E.setLabel(a.lang.link.targetPopupName);E.getElement().show();break;default:E.setValue(F);E.getElement().hide();break;}},d=function(){var C=this.getDialog(),D=['urlOptions','anchorOptions','emailOptions'],E=this.getValue(),F=C.definition.getContents('upload'),G=F&&F.hidden;if(E=='url'){if(a.config.linkShowTargetTab)C.showPage('target');if(!G)C.showPage('upload');}else{C.hidePage('target');if(!G)C.hidePage('upload');}for(var H=0;H<D.length;H++){var I=C.getContentElement('info',D[H]);if(!I)continue;I=I.getElement().getParent().getParent();if(D[H]==E+'Options')I.show();else I.hide();}},e=/^javascript:/,f=/^mailto:([^?]+)(?:\?(.+))?$/,g=/subject=([^;?:@&=$,\/]*)/,h=/body=([^;?:@&=$,\/]*)/,i=/^#(.*)$/,j=/^((?:http|https|ftp|news):\/\/)?(.*)$/,k=/^(_(?:self|top|parent|blank))$/,l=/^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,m=/^javascript:([^(]+)\(([^)]+)\)$/,n=/\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,o=/(?:^|,)([^=]+)=(\d+|yes|no)/gi,p=function(C,D){var E=D&&(D.getAttribute('_cke_saved_href')||D.getAttribute('href'))||'',F,G,H,I,J={};if(F=E.match(e))if(y=='encode')E=E.replace(l,function(Z,aa,ab){return 'mailto:'+String.fromCharCode.apply(String,aa.split(','))+(ab&&w(ab));});else if(y)E.replace(m,function(Z,aa,ab){if(aa==z.name){J.type='email';var ac=J.email={},ad=/[^,\s]+/g,ae=/(^')|('$)/g,af=ab.match(ad),ag=af.length,ah,ai;for(var aj=0;aj<ag;aj++){ai=decodeURIComponent(w(af[aj].replace(ae,'')));ah=z.params[aj].toLowerCase();ac[ah]=ai;}ac.address=[ac.name,ac.domain].join('@');}});if(!J.type)if(H=E.match(i)){J.type='anchor';J.anchor={};J.anchor.name=J.anchor.id=H[1];}else if(G=E.match(f)){var K=E.match(g),L=E.match(h);J.type='email';var M=J.email={};M.address=G[1];K&&(M.subject=decodeURIComponent(K[1]));L&&(M.body=decodeURIComponent(L[1]));}else if(E&&(I=E.match(j))){J.type='url';J.url={};J.url.protocol=I[1];J.url.url=I[2];}else J.type='url';if(D){var N=D.getAttribute('target');J.target={};J.adv={};if(!N){var O=D.getAttribute('_cke_pa_onclick')||D.getAttribute('onclick'),P=O&&O.match(n);\r
-if(P){J.target.type='popup';J.target.name=P[1];var Q;while(Q=o.exec(P[2])){if(Q[2]=='yes'||Q[2]=='1')J.target[Q[1]]=true;else if(isFinite(Q[2]))J.target[Q[1]]=Q[2];}}}else{var R=N.match(k);if(R)J.target.type=J.target.name=N;else{J.target.type='frame';J.target.name=N;}}var S=this,T=function(Z,aa){var ab=D.getAttribute(aa);if(ab!==null)J.adv[Z]=ab||'';};T('advId','id');T('advLangDir','dir');T('advAccessKey','accessKey');T('advName','name');T('advLangCode','lang');T('advTabIndex','tabindex');T('advTitle','title');T('advContentType','type');T('advCSSClasses','class');T('advCharset','charset');T('advStyles','style');}var U=C.document.getElementsByTag('img'),V=new CKEDITOR.dom.nodeList(C.document.$.anchors),W=J.anchors=[];for(var X=0;X<U.count();X++){var Y=U.getItem(X);if(Y.getAttribute('_cke_realelement')&&Y.getAttribute('_cke_real_element_type')=='anchor')W.push(C.restoreRealElement(Y));}for(X=0;X<V.count();X++)W.push(V.getItem(X));for(X=0;X<W.length;X++){Y=W[X];W[X]={name:Y.getAttribute('name'),id:Y.getAttribute('id')};}this._.selectedElement=D;return J;},q=function(C,D){if(D[C])this.setValue(D[C][this.id]||'');},r=function(C){return q.call(this,'target',C);},s=function(C){return q.call(this,'adv',C);},t=function(C,D){if(!D[C])D[C]={};D[C][this.id]=this.getValue()||'';},u=function(C){return t.call(this,'target',C);},v=function(C){return t.call(this,'adv',C);};function w(C){return C.replace(/\\'/g,"'");};function x(C){return C.replace(/'/g,'\\$&');};var y=a.config.emailProtection||'';if(y&&y!='encode'){var z={};y.replace(/^([^(]+)\(([^)]+)\)$/,function(C,D,E){z.name=D;z.params=[];E.replace(/[^,\s]+/g,function(F){z.params.push(F);});});}function A(C){var D,E=z.name,F=z.params,G,H;D=[E,'('];for(var I=0;I<F.length;I++){G=F[I].toLowerCase();H=C[G];I>0&&D.push(',');D.push("'",H?x(encodeURIComponent(C[G])):'',"'");}D.push(')');return D.join('');};function B(C){var D,E=C.length,F=[];for(var G=0;G<E;G++){D=C.charCodeAt(G);F.push(D);}return 'String.fromCharCode('+F.join(',')+')';};return{title:a.lang.link.title,minWidth:350,minHeight:230,contents:[{id:'info',label:a.lang.link.info,title:a.lang.link.info,elements:[{id:'linkType',type:'select',label:a.lang.link.type,'default':'url',items:[[a.lang.link.toUrl,'url'],[a.lang.link.toAnchor,'anchor'],[a.lang.link.toEmail,'email']],onChange:d,setup:function(C){if(C.type)this.setValue(C.type);},commit:function(C){C.type=this.getValue();}},{type:'vbox',id:'urlOptions',children:[{type:'hbox',widths:['25%','75%'],children:[{id:'protocol',type:'select',label:a.lang.common.protocol,'default':'http://',items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://'],[a.lang.link.other,'']],setup:function(C){if(C.url)this.setValue(C.url.protocol||'');\r
-},commit:function(C){if(!C.url)C.url={};C.url.protocol=this.getValue();}},{type:'text',id:'url',label:a.lang.common.url,required:true,onLoad:function(){this.allowOnChange=true;},onKeyUp:function(){var H=this;H.allowOnChange=false;var C=H.getDialog().getContentElement('info','protocol'),D=H.getValue(),E=/^(http|https|ftp|news):\/\/(?=.)/gi,F=/^((javascript:)|[#\/\.\?])/gi,G=E.exec(D);if(G){H.setValue(D.substr(G[0].length));C.setValue(G[0].toLowerCase());}else if(F.test(D))C.setValue('');H.allowOnChange=true;},onChange:function(){if(this.allowOnChange)this.onKeyUp();},validate:function(){var C=this.getDialog();if(C.getContentElement('info','linkType')&&C.getValueOf('info','linkType')!='url')return true;if(this.getDialog().fakeObj)return true;var D=CKEDITOR.dialog.validate.notEmpty(a.lang.link.noUrl);return D.apply(this);},setup:function(C){this.allowOnChange=false;if(C.url)this.setValue(C.url.url);this.allowOnChange=true;},commit:function(C){this.onChange();if(!C.url)C.url={};C.url.url=this.getValue();this.allowOnChange=false;}}],setup:function(C){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().show();}},{type:'button',id:'browse',hidden:'true',filebrowser:'info:url',label:a.lang.common.browseServer}]},{type:'vbox',id:'anchorOptions',width:260,align:'center',padding:0,children:[{type:'fieldset',id:'selectAnchorText',label:a.lang.link.selectAnchor,setup:function(C){if(C.anchors.length>0)this.getElement().show();else this.getElement().hide();},children:[{type:'hbox',id:'selectAnchor',children:[{type:'select',id:'anchorName','default':'',label:a.lang.link.anchorName,style:'width: 100%;',items:[['']],setup:function(C){var F=this;F.clear();F.add('');for(var D=0;D<C.anchors.length;D++){if(C.anchors[D].name)F.add(C.anchors[D].name);}if(C.anchor)F.setValue(C.anchor.name);var E=F.getDialog().getContentElement('info','linkType');if(E&&E.getValue()=='email')F.focus();},commit:function(C){if(!C.anchor)C.anchor={};C.anchor.name=this.getValue();}},{type:'select',id:'anchorId','default':'',label:a.lang.link.anchorId,style:'width: 100%;',items:[['']],setup:function(C){var E=this;E.clear();E.add('');for(var D=0;D<C.anchors.length;D++){if(C.anchors[D].id)E.add(C.anchors[D].id);}if(C.anchor)E.setValue(C.anchor.id);},commit:function(C){if(!C.anchor)C.anchor={};C.anchor.id=this.getValue();}}],setup:function(C){if(C.anchors.length>0)this.getElement().show();else this.getElement().hide();}}]},{type:'html',id:'noAnchors',style:'text-align: center;',html:'<div role="label" tabIndex="-1">'+CKEDITOR.tools.htmlEncode(a.lang.link.noAnchors)+'</div>',focus:true,setup:function(C){if(C.anchors.length<1)this.getElement().show();\r
-else this.getElement().hide();}}],setup:function(C){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}},{type:'vbox',id:'emailOptions',padding:1,children:[{type:'text',id:'emailAddress',label:a.lang.link.emailAddress,required:true,validate:function(){var C=this.getDialog();if(!C.getContentElement('info','linkType')||C.getValueOf('info','linkType')!='email')return true;var D=CKEDITOR.dialog.validate.notEmpty(a.lang.link.noEmail);return D.apply(this);},setup:function(C){if(C.email)this.setValue(C.email.address);var D=this.getDialog().getContentElement('info','linkType');if(D&&D.getValue()=='email')this.select();},commit:function(C){if(!C.email)C.email={};C.email.address=this.getValue();}},{type:'text',id:'emailSubject',label:a.lang.link.emailSubject,setup:function(C){if(C.email)this.setValue(C.email.subject);},commit:function(C){if(!C.email)C.email={};C.email.subject=this.getValue();}},{type:'textarea',id:'emailBody',label:a.lang.link.emailBody,rows:3,'default':'',setup:function(C){if(C.email)this.setValue(C.email.body);},commit:function(C){if(!C.email)C.email={};C.email.body=this.getValue();}}],setup:function(C){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}}]},{id:'target',label:a.lang.link.target,title:a.lang.link.target,elements:[{type:'hbox',widths:['50%','50%'],children:[{type:'select',id:'linkTargetType',label:a.lang.common.target,'default':'notSet',style:'width : 100%;',items:[[a.lang.common.notSet,'notSet'],[a.lang.link.targetFrame,'frame'],[a.lang.link.targetPopup,'popup'],[a.lang.common.targetNew,'_blank'],[a.lang.common.targetTop,'_top'],[a.lang.common.targetSelf,'_self'],[a.lang.common.targetParent,'_parent']],onChange:c,setup:function(C){if(C.target)this.setValue(C.target.type);c.call(this);},commit:function(C){if(!C.target)C.target={};C.target.type=this.getValue();}},{type:'text',id:'linkTargetName',label:a.lang.link.targetFrameName,'default':'',setup:function(C){if(C.target)this.setValue(C.target.name);},commit:function(C){if(!C.target)C.target={};C.target.name=this.getValue().replace(/\W/gi,'');}}]},{type:'vbox',width:260,align:'center',padding:2,id:'popupFeatures',children:[{type:'fieldset',label:a.lang.link.popupFeatures,children:[{type:'hbox',children:[{type:'checkbox',id:'resizable',label:a.lang.link.popupResizable,setup:r,commit:u},{type:'checkbox',id:'status',label:a.lang.link.popupStatusBar,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'location',label:a.lang.link.popupLocationBar,setup:r,commit:u},{type:'checkbox',id:'toolbar',label:a.lang.link.popupToolbar,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'menubar',label:a.lang.link.popupMenuBar,setup:r,commit:u},{type:'checkbox',id:'fullscreen',label:a.lang.link.popupFullScreen,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'scrollbars',label:a.lang.link.popupScrollBars,setup:r,commit:u},{type:'checkbox',id:'dependent',label:a.lang.link.popupDependent,setup:r,commit:u}]},{type:'hbox',children:[{type:'text',widths:['30%','70%'],labelLayout:'horizontal',label:a.lang.link.popupWidth,id:'width',setup:r,commit:u},{type:'text',labelLayout:'horizontal',widths:['55%','45%'],label:a.lang.link.popupLeft,id:'left',setup:r,commit:u}]},{type:'hbox',children:[{type:'text',labelLayout:'horizontal',widths:['30%','70%'],label:a.lang.link.popupHeight,id:'height',setup:r,commit:u},{type:'text',labelLayout:'horizontal',label:a.lang.link.popupTop,widths:['55%','45%'],id:'top',setup:r,commit:u}]}]}]}]},{id:'upload',label:a.lang.link.upload,title:a.lang.link.upload,hidden:true,filebrowser:'uploadButton',elements:[{type:'file',id:'upload',label:a.lang.common.upload,style:'height:40px',size:29},{type:'fileButton',id:'uploadButton',label:a.lang.common.uploadSubmit,filebrowser:'info:url','for':['upload','upload']}]},{id:'advanced',label:a.lang.link.advanced,title:a.lang.link.advanced,elements:[{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',id:'advId',label:a.lang.link.id,setup:s,commit:v},{type:'select',id:'advLangDir',label:a.lang.link.langDir,'default':'',style:'width:110px',items:[[a.lang.common.notSet,''],[a.lang.link.langDirLTR,'ltr'],[a.lang.link.langDirRTL,'rtl']],setup:s,commit:v},{type:'text',id:'advAccessKey',width:'80px',label:a.lang.link.acccessKey,maxLength:1,setup:s,commit:v}]},{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',label:a.lang.link.name,id:'advName',setup:s,commit:v},{type:'text',label:a.lang.link.langCode,id:'advLangCode',width:'110px','default':'',setup:s,commit:v},{type:'text',label:a.lang.link.tabIndex,id:'advTabIndex',width:'80px',maxLength:5,setup:s,commit:v}]}]},{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:a.lang.link.advisoryTitle,'default':'',id:'advTitle',setup:s,commit:v},{type:'text',label:a.lang.link.advisoryContentType,'default':'',id:'advContentType',setup:s,commit:v}]},{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:a.lang.link.cssClasses,'default':'',id:'advCSSClasses',setup:s,commit:v},{type:'text',label:a.lang.link.charset,'default':'',id:'advCharset',setup:s,commit:v}]},{type:'hbox',children:[{type:'text',label:a.lang.link.styles,'default':'',id:'advStyles',setup:s,commit:v}]}]}]}],onShow:function(){var F=this;\r
-F.fakeObj=false;var C=F.getParentEditor(),D=C.getSelection(),E=null;if((E=b.getSelectedLink(C))&&E.hasAttribute('href'))D.selectElement(E);else if((E=D.getSelectedElement())&&E.is('img')&&E.getAttribute('_cke_real_element_type')&&E.getAttribute('_cke_real_element_type')=='anchor'){F.fakeObj=E;E=C.restoreRealElement(F.fakeObj);D.selectElement(F.fakeObj);}else E=null;F.setupContent(p.apply(F,[C,E]));},onOk:function(){var C={href:'javascript:void(0)/*'+CKEDITOR.tools.getNextNumber()+'*/'},D=[],E={href:C.href},F=this,G=this.getParentEditor();this.commitContent(E);switch(E.type||'url'){case 'url':var H=E.url&&E.url.protocol!=undefined?E.url.protocol:'http://',I=E.url&&E.url.url||'';C._cke_saved_href=I.indexOf('/')===0?I:H+I;break;case 'anchor':var J=E.anchor&&E.anchor.name,K=E.anchor&&E.anchor.id;C._cke_saved_href='#'+(J||K||'');break;case 'email':var L,M=E.email,N=M.address;switch(y){case '':case 'encode':var O=encodeURIComponent(M.subject||''),P=encodeURIComponent(M.body||''),Q=[];O&&Q.push('subject='+O);P&&Q.push('body='+P);Q=Q.length?'?'+Q.join('&'):'';if(y=='encode'){L=["javascript:void(location.href='mailto:'+",B(N)];Q&&L.push("+'",x(Q),"'");L.push(')');}else L=['mailto:',N,Q];break;default:var R=N.split('@',2);M.name=R[0];M.domain=R[1];L=['javascript:',A(M)];}C._cke_saved_href=L.join('');break;}if(E.target)if(E.target.type=='popup'){var S=["window.open(this.href, '",E.target.name||'',"', '"],T=['resizable','status','location','toolbar','menubar','fullscreen','scrollbars','dependent'],U=T.length,V=function(ah){if(E.target[ah])T.push(ah+'='+E.target[ah]);};for(var W=0;W<U;W++)T[W]=T[W]+(E.target[T[W]]?'=yes':'=no');V('width');V('left');V('height');V('top');S.push(T.join(','),"'); return false;");C._cke_pa_onclick=S.join('');}else{if(E.target.type!='notSet'&&E.target.name)C.target=E.target.name;else D.push('target');D.push('_cke_pa_onclick','onclick');}if(E.adv){var X=function(ah,ai){var aj=E.adv[ah];if(aj)C[ai]=aj;else D.push(ai);};if(this._.selectedElement)X('advId','id');X('advLangDir','dir');X('advAccessKey','accessKey');X('advName','name');X('advLangCode','lang');X('advTabIndex','tabindex');X('advTitle','title');X('advContentType','type');X('advCSSClasses','class');X('advCharset','charset');X('advStyles','style');}if(!this._.selectedElement){var Y=G.getSelection(),Z=Y.getRanges(true);if(Z.length==1&&Z[0].collapsed){var aa=new CKEDITOR.dom.text(E.type=='email'?E.email.address:C._cke_saved_href,G.document);Z[0].insertNode(aa);Z[0].selectNodeContents(aa);Y.selectRanges(Z);\r
-}var ab=new CKEDITOR.style({element:'a',attributes:C});ab.type=CKEDITOR.STYLE_INLINE;ab.apply(G.document);if(E.adv&&E.adv.advId){var ac=this.getParentEditor().document.$.getElementsByTagName('a');for(W=0;W<ac.length;W++){if(ac[W].href==C.href){ac[W].id=E.adv.advId;break;}}}}else{var ad=this._.selectedElement,ae=ad.getAttribute('_cke_saved_href'),af=ad.getHtml();if(CKEDITOR.env.ie&&C.name!=ad.getAttribute('name')){var ag=new CKEDITOR.dom.element('<a name="'+CKEDITOR.tools.htmlEncode(C.name)+'">',G.document);Y=G.getSelection();ad.moveChildren(ag);ad.copyAttributes(ag,{name:1});ag.replace(ad);ad=ag;Y.selectElement(ad);}ad.setAttributes(C);ad.removeAttributes(D);if(ae==af||E.type=='email'&&af.indexOf('@')!=-1)ad.setHtml(E.type=='email'?E.email.address:C._cke_saved_href);if(ad.getAttribute('name'))ad.addClass('cke_anchor');else ad.removeClass('cke_anchor');if(this.fakeObj)G.createFakeElement(ad,'cke_anchor','anchor').replace(this.fakeObj);delete this._.selectedElement;}},onLoad:function(){if(!a.config.linkShowAdvancedTab)this.hidePage('advanced');if(!a.config.linkShowTargetTab)this.hidePage('target');},onFocus:function(){var C=this.getContentElement('info','linkType'),D;if(C&&C.getValue()=='url'){D=this.getContentElement('info','url');D.select();}}};});\r
+CKEDITOR.dialog.add('link',function(a){var b=CKEDITOR.plugins.link,c=function(){var E=this.getDialog(),F=E.getContentElement('target','popupFeatures'),G=E.getContentElement('target','linkTargetName'),H=this.getValue();if(!F||!G)return;F=F.getElement();F.hide();G.setValue('');switch(H){case 'frame':G.setLabel(a.lang.link.targetFrameName);G.getElement().show();break;case 'popup':F.show();G.setLabel(a.lang.link.targetPopupName);G.getElement().show();break;default:G.setValue(H);G.getElement().hide();break;}},d=function(){var E=this.getDialog(),F=['urlOptions','anchorOptions','emailOptions'],G=this.getValue(),H=E.definition.getContents('upload'),I=H&&H.hidden;if(G=='url'){if(a.config.linkShowTargetTab)E.showPage('target');if(!I)E.showPage('upload');}else{E.hidePage('target');if(!I)E.hidePage('upload');}for(var J=0;J<F.length;J++){var K=E.getContentElement('info',F[J]);if(!K)continue;K=K.getElement().getParent().getParent();if(F[J]==G+'Options')K.show();else K.hide();}},e=/^javascript:/,f=/^mailto:([^?]+)(?:\?(.+))?$/,g=/subject=([^;?:@&=$,\/]*)/,h=/body=([^;?:@&=$,\/]*)/,i=/^#(.*)$/,j=/^((?:http|https|ftp|news):\/\/)?(.*)$/,k=/^(_(?:self|top|parent|blank))$/,l=/^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,m=/^javascript:([^(]+)\(([^)]+)\)$/,n=/\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,o=/(?:^|,)([^=]+)=(\d+|yes|no)/gi,p=function(E,F){var G=F&&(F.getAttribute('_cke_saved_href')||F.getAttribute('href'))||'',H,I,J,K,L={};if(H=G.match(e))if(y=='encode')G=G.replace(l,function(ab,ac,ad){return 'mailto:'+String.fromCharCode.apply(String,ac.split(','))+(ad&&w(ad));});else if(y)G.replace(m,function(ab,ac,ad){if(ac==z.name){L.type='email';var ae=L.email={},af=/[^,\s]+/g,ag=/(^')|('$)/g,ah=ad.match(af),ai=ah.length,aj,ak;for(var al=0;al<ai;al++){ak=decodeURIComponent(w(ah[al].replace(ag,'')));aj=z.params[al].toLowerCase();ae[aj]=ak;}ae.address=[ae.name,ae.domain].join('@');}});if(!L.type)if(J=G.match(i)){L.type='anchor';L.anchor={};L.anchor.name=L.anchor.id=J[1];}else if(I=G.match(f)){var M=G.match(g),N=G.match(h);L.type='email';var O=L.email={};O.address=I[1];M&&(O.subject=decodeURIComponent(M[1]));N&&(O.body=decodeURIComponent(N[1]));}else if(G&&(K=G.match(j))){L.type='url';L.url={};L.url.protocol=K[1];L.url.url=K[2];}else L.type='url';if(F){var P=F.getAttribute('target');L.target={};L.adv={};if(!P){var Q=F.getAttribute('_cke_pa_onclick')||F.getAttribute('onclick'),R=Q&&Q.match(n);\r
+if(R){L.target.type='popup';L.target.name=R[1];var S;while(S=o.exec(R[2])){if(S[2]=='yes'||S[2]=='1')L.target[S[1]]=true;else if(isFinite(S[2]))L.target[S[1]]=S[2];}}}else{var T=P.match(k);if(T)L.target.type=L.target.name=P;else{L.target.type='frame';L.target.name=P;}}var U=this,V=function(ab,ac){var ad=F.getAttribute(ac);if(ad!==null)L.adv[ab]=ad||'';};V('advId','id');V('advLangDir','dir');V('advAccessKey','accessKey');V('advName','name');V('advLangCode','lang');V('advTabIndex','tabindex');V('advTitle','title');V('advContentType','type');V('advCSSClasses','class');V('advCharset','charset');V('advStyles','style');}var W=E.document.getElementsByTag('img'),X=new CKEDITOR.dom.nodeList(E.document.$.anchors),Y=L.anchors=[];for(var Z=0;Z<W.count();Z++){var aa=W.getItem(Z);if(aa.getAttribute('_cke_realelement')&&aa.getAttribute('_cke_real_element_type')=='anchor')Y.push(E.restoreRealElement(aa));}for(Z=0;Z<X.count();Z++)Y.push(X.getItem(Z));for(Z=0;Z<Y.length;Z++){aa=Y[Z];Y[Z]={name:aa.getAttribute('name'),id:aa.getAttribute('id')};}this._.selectedElement=F;return L;},q=function(E,F){if(F[E])this.setValue(F[E][this.id]||'');},r=function(E){return q.call(this,'target',E);},s=function(E){return q.call(this,'adv',E);},t=function(E,F){if(!F[E])F[E]={};F[E][this.id]=this.getValue()||'';},u=function(E){return t.call(this,'target',E);},v=function(E){return t.call(this,'adv',E);};function w(E){return E.replace(/\\'/g,"'");};function x(E){return E.replace(/'/g,'\\$&');};var y=a.config.emailProtection||'';if(y&&y!='encode'){var z={};y.replace(/^([^(]+)\(([^)]+)\)$/,function(E,F,G){z.name=F;z.params=[];G.replace(/[^,\s]+/g,function(H){z.params.push(H);});});}function A(E){var F,G=z.name,H=z.params,I,J;F=[G,'('];for(var K=0;K<H.length;K++){I=H[K].toLowerCase();J=E[I];K>0&&F.push(',');F.push("'",J?x(encodeURIComponent(E[I])):'',"'");}F.push(')');return F.join('');};function B(E){var F,G=E.length,H=[];for(var I=0;I<G;I++){F=E.charCodeAt(I);H.push(F);}return 'String.fromCharCode('+H.join(',')+')';};var C=a.lang.common,D=a.lang.link;return{title:D.title,minWidth:350,minHeight:230,contents:[{id:'info',label:D.info,title:D.info,elements:[{id:'linkType',type:'select',label:D.type,'default':'url',items:[[D.toUrl,'url'],[D.toAnchor,'anchor'],[D.toEmail,'email']],onChange:d,setup:function(E){if(E.type)this.setValue(E.type);},commit:function(E){E.type=this.getValue();}},{type:'vbox',id:'urlOptions',children:[{type:'hbox',widths:['25%','75%'],children:[{id:'protocol',type:'select',label:C.protocol,'default':'http://',items:[['http://‎','http://'],['https://‎','https://'],['ftp://‎','ftp://'],['news://‎','news://'],[D.other,'']],setup:function(E){if(E.url)this.setValue(E.url.protocol||'');\r
+},commit:function(E){if(!E.url)E.url={};E.url.protocol=this.getValue();}},{type:'text',id:'url',label:C.url,required:true,onLoad:function(){this.allowOnChange=true;},onKeyUp:function(){var J=this;J.allowOnChange=false;var E=J.getDialog().getContentElement('info','protocol'),F=J.getValue(),G=/^(http|https|ftp|news):\/\/(?=.)/gi,H=/^((javascript:)|[#\/\.\?])/gi,I=G.exec(F);if(I){J.setValue(F.substr(I[0].length));E.setValue(I[0].toLowerCase());}else if(H.test(F))E.setValue('');J.allowOnChange=true;},onChange:function(){if(this.allowOnChange)this.onKeyUp();},validate:function(){var E=this.getDialog();if(E.getContentElement('info','linkType')&&E.getValueOf('info','linkType')!='url')return true;if(this.getDialog().fakeObj)return true;var F=CKEDITOR.dialog.validate.notEmpty(D.noUrl);return F.apply(this);},setup:function(E){this.allowOnChange=false;if(E.url)this.setValue(E.url.url);this.allowOnChange=true;},commit:function(E){this.onChange();if(!E.url)E.url={};E.url.url=this.getValue();this.allowOnChange=false;}}],setup:function(E){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().show();}},{type:'button',id:'browse',hidden:'true',filebrowser:'info:url',label:C.browseServer}]},{type:'vbox',id:'anchorOptions',width:260,align:'center',padding:0,children:[{type:'fieldset',id:'selectAnchorText',label:D.selectAnchor,setup:function(E){if(E.anchors.length>0)this.getElement().show();else this.getElement().hide();},children:[{type:'hbox',id:'selectAnchor',children:[{type:'select',id:'anchorName','default':'',label:D.anchorName,style:'width: 100%;',items:[['']],setup:function(E){var H=this;H.clear();H.add('');for(var F=0;F<E.anchors.length;F++){if(E.anchors[F].name)H.add(E.anchors[F].name);}if(E.anchor)H.setValue(E.anchor.name);var G=H.getDialog().getContentElement('info','linkType');if(G&&G.getValue()=='email')H.focus();},commit:function(E){if(!E.anchor)E.anchor={};E.anchor.name=this.getValue();}},{type:'select',id:'anchorId','default':'',label:D.anchorId,style:'width: 100%;',items:[['']],setup:function(E){var G=this;G.clear();G.add('');for(var F=0;F<E.anchors.length;F++){if(E.anchors[F].id)G.add(E.anchors[F].id);}if(E.anchor)G.setValue(E.anchor.id);},commit:function(E){if(!E.anchor)E.anchor={};E.anchor.id=this.getValue();}}],setup:function(E){if(E.anchors.length>0)this.getElement().show();else this.getElement().hide();}}]},{type:'html',id:'noAnchors',style:'text-align: center;',html:'<div role="label" tabIndex="-1">'+CKEDITOR.tools.htmlEncode(D.noAnchors)+'</div>',focus:true,setup:function(E){if(E.anchors.length<1)this.getElement().show();\r
+else this.getElement().hide();}}],setup:function(E){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}},{type:'vbox',id:'emailOptions',padding:1,children:[{type:'text',id:'emailAddress',label:D.emailAddress,required:true,validate:function(){var E=this.getDialog();if(!E.getContentElement('info','linkType')||E.getValueOf('info','linkType')!='email')return true;var F=CKEDITOR.dialog.validate.notEmpty(D.noEmail);return F.apply(this);},setup:function(E){if(E.email)this.setValue(E.email.address);var F=this.getDialog().getContentElement('info','linkType');if(F&&F.getValue()=='email')this.select();},commit:function(E){if(!E.email)E.email={};E.email.address=this.getValue();}},{type:'text',id:'emailSubject',label:D.emailSubject,setup:function(E){if(E.email)this.setValue(E.email.subject);},commit:function(E){if(!E.email)E.email={};E.email.subject=this.getValue();}},{type:'textarea',id:'emailBody',label:D.emailBody,rows:3,'default':'',setup:function(E){if(E.email)this.setValue(E.email.body);},commit:function(E){if(!E.email)E.email={};E.email.body=this.getValue();}}],setup:function(E){if(!this.getDialog().getContentElement('info','linkType'))this.getElement().hide();}}]},{id:'target',label:D.target,title:D.target,elements:[{type:'hbox',widths:['50%','50%'],children:[{type:'select',id:'linkTargetType',label:C.target,'default':'notSet',style:'width : 100%;',items:[[C.notSet,'notSet'],[D.targetFrame,'frame'],[D.targetPopup,'popup'],[C.targetNew,'_blank'],[C.targetTop,'_top'],[C.targetSelf,'_self'],[C.targetParent,'_parent']],onChange:c,setup:function(E){if(E.target)this.setValue(E.target.type);c.call(this);},commit:function(E){if(!E.target)E.target={};E.target.type=this.getValue();}},{type:'text',id:'linkTargetName',label:D.targetFrameName,'default':'',setup:function(E){if(E.target)this.setValue(E.target.name);},commit:function(E){if(!E.target)E.target={};E.target.name=this.getValue().replace(/\W/gi,'');}}]},{type:'vbox',width:260,align:'center',padding:2,id:'popupFeatures',children:[{type:'fieldset',label:D.popupFeatures,children:[{type:'hbox',children:[{type:'checkbox',id:'resizable',label:D.popupResizable,setup:r,commit:u},{type:'checkbox',id:'status',label:D.popupStatusBar,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'location',label:D.popupLocationBar,setup:r,commit:u},{type:'checkbox',id:'toolbar',label:D.popupToolbar,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'menubar',label:D.popupMenuBar,setup:r,commit:u},{type:'checkbox',id:'fullscreen',label:D.popupFullScreen,setup:r,commit:u}]},{type:'hbox',children:[{type:'checkbox',id:'scrollbars',label:D.popupScrollBars,setup:r,commit:u},{type:'checkbox',id:'dependent',label:D.popupDependent,setup:r,commit:u}]},{type:'hbox',children:[{type:'text',widths:['30%','70%'],labelLayout:'horizontal',label:D.popupWidth,id:'width',setup:r,commit:u},{type:'text',labelLayout:'horizontal',widths:['55%','45%'],label:D.popupLeft,id:'left',setup:r,commit:u}]},{type:'hbox',children:[{type:'text',labelLayout:'horizontal',widths:['30%','70%'],label:D.popupHeight,id:'height',setup:r,commit:u},{type:'text',labelLayout:'horizontal',label:D.popupTop,widths:['55%','45%'],id:'top',setup:r,commit:u}]}]}]}]},{id:'upload',label:D.upload,title:D.upload,hidden:true,filebrowser:'uploadButton',elements:[{type:'file',id:'upload',label:C.upload,style:'height:40px',size:29},{type:'fileButton',id:'uploadButton',label:C.uploadSubmit,filebrowser:'info:url','for':['upload','upload']}]},{id:'advanced',label:D.advanced,title:D.advanced,elements:[{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',id:'advId',label:D.id,setup:s,commit:v},{type:'select',id:'advLangDir',label:D.langDir,'default':'',style:'width:110px',items:[[C.notSet,''],[D.langDirLTR,'ltr'],[D.langDirRTL,'rtl']],setup:s,commit:v},{type:'text',id:'advAccessKey',width:'80px',label:D.acccessKey,maxLength:1,setup:s,commit:v}]},{type:'hbox',widths:['45%','35%','20%'],children:[{type:'text',label:D.name,id:'advName',setup:s,commit:v},{type:'text',label:D.langCode,id:'advLangCode',width:'110px','default':'',setup:s,commit:v},{type:'text',label:D.tabIndex,id:'advTabIndex',width:'80px',maxLength:5,setup:s,commit:v}]}]},{type:'vbox',padding:1,children:[{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:D.advisoryTitle,'default':'',id:'advTitle',setup:s,commit:v},{type:'text',label:D.advisoryContentType,'default':'',id:'advContentType',setup:s,commit:v}]},{type:'hbox',widths:['45%','55%'],children:[{type:'text',label:D.cssClasses,'default':'',id:'advCSSClasses',setup:s,commit:v},{type:'text',label:D.charset,'default':'',id:'advCharset',setup:s,commit:v}]},{type:'hbox',children:[{type:'text',label:D.styles,'default':'',id:'advStyles',setup:s,commit:v}]}]}]}],onShow:function(){var H=this;\r
+H.fakeObj=false;var E=H.getParentEditor(),F=E.getSelection(),G=null;if((G=b.getSelectedLink(E))&&G.hasAttribute('href'))F.selectElement(G);else if((G=F.getSelectedElement())&&G.is('img')&&G.getAttribute('_cke_real_element_type')&&G.getAttribute('_cke_real_element_type')=='anchor'){H.fakeObj=G;G=E.restoreRealElement(H.fakeObj);F.selectElement(H.fakeObj);}else G=null;H.setupContent(p.apply(H,[E,G]));},onOk:function(){var E={href:'javascript:void(0)/*'+CKEDITOR.tools.getNextNumber()+'*/'},F=[],G={href:E.href},H=this,I=this.getParentEditor();this.commitContent(G);switch(G.type||'url'){case 'url':var J=G.url&&G.url.protocol!=undefined?G.url.protocol:'http://',K=G.url&&G.url.url||'';E._cke_saved_href=K.indexOf('/')===0?K:J+K;break;case 'anchor':var L=G.anchor&&G.anchor.name,M=G.anchor&&G.anchor.id;E._cke_saved_href='#'+(L||M||'');break;case 'email':var N,O=G.email,P=O.address;switch(y){case '':case 'encode':var Q=encodeURIComponent(O.subject||''),R=encodeURIComponent(O.body||''),S=[];Q&&S.push('subject='+Q);R&&S.push('body='+R);S=S.length?'?'+S.join('&'):'';if(y=='encode'){N=["javascript:void(location.href='mailto:'+",B(P)];S&&N.push("+'",x(S),"'");N.push(')');}else N=['mailto:',P,S];break;default:var T=P.split('@',2);O.name=T[0];O.domain=T[1];N=['javascript:',A(O)];}E._cke_saved_href=N.join('');break;}if(G.target)if(G.target.type=='popup'){var U=["window.open(this.href, '",G.target.name||'',"', '"],V=['resizable','status','location','toolbar','menubar','fullscreen','scrollbars','dependent'],W=V.length,X=function(aj){if(G.target[aj])V.push(aj+'='+G.target[aj]);};for(var Y=0;Y<W;Y++)V[Y]=V[Y]+(G.target[V[Y]]?'=yes':'=no');X('width');X('left');X('height');X('top');U.push(V.join(','),"'); return false;");E._cke_pa_onclick=U.join('');F.push('target');}else{if(G.target.type!='notSet'&&G.target.name)E.target=G.target.name;else F.push('target');F.push('_cke_pa_onclick','onclick');}if(G.adv){var Z=function(aj,ak){var al=G.adv[aj];if(al)E[ak]=al;else F.push(ak);};if(this._.selectedElement)Z('advId','id');Z('advLangDir','dir');Z('advAccessKey','accessKey');Z('advName','name');Z('advLangCode','lang');Z('advTabIndex','tabindex');Z('advTitle','title');Z('advContentType','type');Z('advCSSClasses','class');Z('advCharset','charset');Z('advStyles','style');}if(!this._.selectedElement){var aa=I.getSelection(),ab=aa.getRanges(true);if(ab.length==1&&ab[0].collapsed){var ac=new CKEDITOR.dom.text(G.type=='email'?G.email.address:E._cke_saved_href,I.document);ab[0].insertNode(ac);ab[0].selectNodeContents(ac);\r
+aa.selectRanges(ab);}var ad=new CKEDITOR.style({element:'a',attributes:E});ad.type=CKEDITOR.STYLE_INLINE;ad.apply(I.document);if(G.adv&&G.adv.advId){var ae=this.getParentEditor().document.$.getElementsByTagName('a');for(Y=0;Y<ae.length;Y++){if(ae[Y].href==E.href){ae[Y].id=G.adv.advId;break;}}}}else{var af=this._.selectedElement,ag=af.getAttribute('_cke_saved_href'),ah=af.getHtml();if(CKEDITOR.env.ie&&E.name!=af.getAttribute('name')){var ai=new CKEDITOR.dom.element('<a name="'+CKEDITOR.tools.htmlEncode(E.name)+'">',I.document);aa=I.getSelection();af.moveChildren(ai);af.copyAttributes(ai,{name:1});ai.replace(af);af=ai;aa.selectElement(af);}af.setAttributes(E);af.removeAttributes(F);if(ag==ah||G.type=='email'&&ah.indexOf('@')!=-1)af.setHtml(G.type=='email'?G.email.address:E._cke_saved_href);if(af.getAttribute('name'))af.addClass('cke_anchor');else af.removeClass('cke_anchor');if(this.fakeObj)I.createFakeElement(af,'cke_anchor','anchor').replace(this.fakeObj);delete this._.selectedElement;}},onLoad:function(){if(!a.config.linkShowAdvancedTab)this.hidePage('advanced');if(!a.config.linkShowTargetTab)this.hidePage('target');},onFocus:function(){var E=this.getContentElement('info','linkType'),F;if(E&&E.getValue()=='url'){F=this.getContentElement('info','url');F.select();}}};});\r
index 3a099e8..4829b7e 100644 (file)
@@ -3,5 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){function a(d,e){var f;try{f=d.getSelection().getRanges()[0];}catch(g){return null;}f.shrink(CKEDITOR.SHRINK_TEXT);return f.getCommonAncestor().getAscendant(e,true);};var b={a:'lower-alpha',A:'upper-alpha',i:'lower-roman',I:'upper-roman',1:'decimal',disc:'disc',circle:'circle',square:'square'};function c(d,e){if(e=='bulletedListStyle')return{title:d.lang.list.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:'info',accessKey:'I',elements:[{type:'select',label:d.lang.list.type,id:'type',style:'width: 150px; margin: auto;',items:[[d.lang.list.notset,''],[d.lang.list.circle,'circle'],[d.lang.list.disc,'disc'],[d.lang.list.square,'square']],setup:function(g){var h=g.getStyle('list-style-type')||b[g.getAttribute('type')]||g.getAttribute('type')||'';this.setValue(h);},commit:function(g){var h=this.getValue();if(h)g.setStyle('list-style-type',h);else g.removeStyle('list-style-type');}}]}],onShow:function(){var g=this.getParentEditor(),h=a(g,'ul');h&&this.setupContent(h);},onOk:function(){var g=this.getParentEditor(),h=a(g,'ul');h&&this.commitContent(h);}};else if(e=='numberedListStyle'){var f=[[d.lang.list.notset,''],[d.lang.list.lowerRoman,'lower-roman'],[d.lang.list.upperRoman,'upper-roman'],[d.lang.list.lowerAlpha,'lower-alpha'],[d.lang.list.upperAlpha,'upper-alpha'],[d.lang.list.decimal,'decimal']];if(!CKEDITOR.env.ie||CKEDITOR.env.version>7)f.concat([[d.lang.list.armenian,'armenian'],[d.lang.list.decimalLeadingZero,'decimal-leading-zero'],[d.lang.list.georgian,'georgian'],[d.lang.list.lowerGreek,'lower-greek']]);return{title:d.lang.list.numberedTitle,minWidth:300,minHeight:50,contents:[{id:'info',accessKey:'I',elements:[{type:'hbox',widths:['25%','75%'],children:[{label:d.lang.list.start,type:'text',id:'start',validate:CKEDITOR.dialog.validate.integer(d.lang.list.validateStartNumber),setup:function(g){var h=g.getAttribute('start')||1;h&&this.setValue(h);},commit:function(g){g.setAttribute('start',this.getValue());}},{type:'select',label:d.lang.list.type,id:'type',style:'width: 100%;',items:f,setup:function(g){var h=g.getStyle('list-style-type')||b[g.getAttribute('type')]||g.getAttribute('type')||'';this.setValue(h);},commit:function(g){var h=this.getValue();if(h)g.setStyle('list-style-type',h);else g.removeStyle('list-style-type');}}]}]}],onShow:function(){var g=this.getParentEditor(),h=a(g,'ol');h&&this.setupContent(h);},onOk:function(){var g=this.getParentEditor(),h=a(g,'ol');h&&this.commitContent(h);}};}};CKEDITOR.dialog.add('numberedListStyle',function(d){return c(d,'numberedListStyle');\r
-});CKEDITOR.dialog.add('bulletedListStyle',function(d){return c(d,'bulletedListStyle');});})();\r
+(function(){function a(d,e){var f;try{f=d.getSelection().getRanges()[0];}catch(g){return null;}f.shrink(CKEDITOR.SHRINK_TEXT);return f.getCommonAncestor().getAscendant(e,1);};var b={a:'lower-alpha',A:'upper-alpha',i:'lower-roman',I:'upper-roman',1:'decimal',disc:'disc',circle:'circle',square:'square'};function c(d,e){var f=d.lang.list;if(e=='bulletedListStyle')return{title:f.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:'info',accessKey:'I',elements:[{type:'select',label:f.type,id:'type',style:'width: 150px; margin: auto;',items:[[f.notset,''],[f.circle,'circle'],[f.disc,'disc'],[f.square,'square']],setup:function(h){var i=h.getStyle('list-style-type')||b[h.getAttribute('type')]||h.getAttribute('type')||'';this.setValue(i);},commit:function(h){var i=this.getValue();if(i)h.setStyle('list-style-type',i);else h.removeStyle('list-style-type');}}]}],onShow:function(){var h=this.getParentEditor(),i=a(h,'ul');i&&this.setupContent(i);},onOk:function(){var h=this.getParentEditor(),i=a(h,'ul');i&&this.commitContent(i);}};else if(e=='numberedListStyle'){var g=[[f.notset,''],[f.lowerRoman,'lower-roman'],[f.upperRoman,'upper-roman'],[f.lowerAlpha,'lower-alpha'],[f.upperAlpha,'upper-alpha'],[f.decimal,'decimal']];if(!CKEDITOR.env.ie||CKEDITOR.env.version>7)g.concat([[f.armenian,'armenian'],[f.decimalLeadingZero,'decimal-leading-zero'],[f.georgian,'georgian'],[f.lowerGreek,'lower-greek']]);return{title:f.numberedTitle,minWidth:300,minHeight:50,contents:[{id:'info',accessKey:'I',elements:[{type:'hbox',widths:['25%','75%'],children:[{label:f.start,type:'text',id:'start',validate:CKEDITOR.dialog.validate.integer(f.validateStartNumber),setup:function(h){var i=h.getAttribute('start')||1;i&&this.setValue(i);},commit:function(h){h.setAttribute('start',this.getValue());}},{type:'select',label:f.type,id:'type',style:'width: 100%;',items:g,setup:function(h){var i=h.getStyle('list-style-type')||b[h.getAttribute('type')]||h.getAttribute('type')||'';this.setValue(i);},commit:function(h){var i=this.getValue();if(i)h.setStyle('list-style-type',i);else h.removeStyle('list-style-type');}}]}]}],onShow:function(){var h=this.getParentEditor(),i=a(h,'ol');i&&this.setupContent(i);},onOk:function(){var h=this.getParentEditor(),i=a(h,'ol');i&&this.commitContent(i);}};}};CKEDITOR.dialog.add('numberedListStyle',function(d){return c(d,'numberedListStyle');});CKEDITOR.dialog.add('bulletedListStyle',function(d){return c(d,'bulletedListStyle');});})();\r
index 07df5c4..b699ccb 100644 (file)
@@ -3,8 +3,8 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){var a=CKEDITOR.htmlParser.fragment.prototype,b=CKEDITOR.htmlParser.element.prototype;a.onlyChild=b.onlyChild=function(){var h=this.children,i=h.length,j=i==1&&h[0];return j||null;};b.removeAnyChildWithName=function(h){var i=this.children,j=[],k;for(var l=0;l<i.length;l++){k=i[l];if(!k.name)continue;if(k.name==h){j.push(k);i.splice(l--,1);}j=j.concat(k.removeAnyChildWithName(h));}return j;};b.getAncestor=function(h){var i=this.parent;while(i&&!(i.name&&i.name.match(h)))i=i.parent;return i;};a.firstChild=b.firstChild=function(h){var i;for(var j=0;j<this.children.length;j++){i=this.children[j];if(h(i))return i;else if(i.name){i=i.firstChild(h);if(i)return i;}}return null;};b.addStyle=function(h,i,j){var n=this;var k,l='';if(typeof i=='string')l+=h+':'+i+';';else{if(typeof h=='object')for(var m in h){if(h.hasOwnProperty(m))l+=m+':'+h[m]+';';}else l+=h;j=i;}if(!n.attributes)n.attributes={};k=n.attributes.style||'';k=(j?[l,k]:[k,l]).join(';');n.attributes.style=k.replace(/^;|;(?=;)/,'');};CKEDITOR.dtd.parentOf=function(h){var i={};for(var j in this){if(j.indexOf('$')==-1&&this[j][h])i[j]=1;}return i;};var c=/^(\d[.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i,d=/^(?:\b0[^\s]*\s*){1,4}$/,e=0,f;CKEDITOR.plugins.pastefromword={utils:{createListBulletMarker:function(h,i){var j=new CKEDITOR.htmlParser.element('cke:listbullet'),k;if(!h){h='decimal';k='ol';}else if(h[2]){if(!isNaN(h[1]))h='decimal';else if(/^[a-z]+$/.test(h[1]))h='lower-alpha';else if(/^[A-Z]+$/.test(h[1]))h='upper-alpha';else h='decimal';k='ol';}else{if(/[l\u00B7\u2002]/.test(h[1]))h='disc';else if(/[\u006F\u00D8]/.test(h[1]))h='circle';else if(/[\u006E\u25C6]/.test(h[1]))h='square';else h='disc';k='ul';}j.attributes={'cke:listtype':k,style:'list-style-type:'+h+';'};j.add(new CKEDITOR.htmlParser.text(i));return j;},isListBulletIndicator:function(h){var i=h.attributes&&h.attributes.style;if(/mso-list\s*:\s*Ignore/i.test(i))return true;},isContainingOnlySpaces:function(h){var i;return(i=h.onlyChild())&&/^(:?\s|&nbsp;)+$/.test(i.value);},resolveList:function(h){var i=h.attributes,j;if((j=h.removeAnyChildWithName('cke:listbullet'))&&j.length&&(j=j[0])){h.name='cke:li';if(i.style)i.style=CKEDITOR.plugins.pastefromword.filters.stylesFilter([['text-indent'],['line-height'],[/^margin(:?-left)?$/,null,function(m){var n=m.split(' ');m=n[3]||n[1]||n[0];m=parseInt(m,10);if(!e&&f&&m>f)e=m-f;i['cke:margin']=f=m;}]])(i.style,h)||'';var k=j.attributes,l=k.style;h.addStyle(l);\r
-CKEDITOR.tools.extend(i,k);return true;}return false;},convertToPx:(function(){var h=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(h);return function(i){if(c.test(i)){h.setStyle('width',i);return h.$.clientWidth+'px';}return i;};})(),getStyleComponents:(function(){var h=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(h);return function(i,j,k){h.setStyle(i,j);var l={},m=k.length;for(var n=0;n<m;n++)l[k[n]]=h.getStyle(k[n]);return l;};})(),listDtdParents:CKEDITOR.dtd.parentOf('ol')},filters:{flattenList:function(h){var i=h.attributes,j=h.parent,k,l=1;while(j){j.attributes&&j.attributes['cke:list']&&l++;j=j.parent;}switch(i.type){case 'a':k='lower-alpha';break;}var m=h.children,n;for(var o=0;o<m.length;o++){n=m[o];var p=n.attributes;if(n.name in CKEDITOR.dtd.$listItem){var q=n.children,r=q.length,s=q[r-1];if(s.name in CKEDITOR.dtd.$list){m.splice(o+1,0,s);s.parent=h;if(!--q.length)m.splice(o,1);}n.name='cke:li';p['cke:indent']=l;f=0;p['cke:listtype']=h.name;k&&n.addStyle('list-style-type',k,true);}}delete h.name;i['cke:list']=1;},assembleList:function(h){var i=h.children,j,k,l,m,n,o,p,q,r;for(var s=0;s<i.length;s++){j=i[s];if('cke:li'==j.name){j.name='li';k=j;l=k.attributes;m=k.attributes['cke:listtype'];n=parseInt(l['cke:indent'],10)||e&&Math.ceil(l['cke:margin']/e)||1;l.style&&(l.style=CKEDITOR.plugins.pastefromword.filters.stylesFilter([['list-style-type',m=='ol'?'decimal':'disc']])(l.style)||'');if(!p){p=new CKEDITOR.htmlParser.element(m);p.add(k);i[s]=p;}else{if(n>r){p=new CKEDITOR.htmlParser.element(m);p.add(k);o.add(p);}else if(n<r){var t=r-n,u;while(t--&&(u=p.parent))p=u.parent;p.add(k);}else p.add(k);i.splice(s--,1);}o=k;r=n;}else p=null;}e=0;},falsyFilter:function(h){return false;},stylesFilter:function(h,i){return function(j,k){var l=[];j.replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(n,o,p){o=o.toLowerCase();o=='font-family'&&(p=p.replace(/["']/g,''));var q,r,s,t;for(var u=0;u<h.length;u++){if(h[u]){q=h[u][0];r=h[u][1];s=h[u][2];t=h[u][3];if(o.match(q)&&(!r||p.match(r))){o=t||o;i&&(s=s||p);if(typeof s=='function')s=s(p,k,o);if(s&&s.push)o=s[0],s=s[1];if(typeof s=='string')l.push([o,s]);return;}}}!i&&l.push([o,p]);});for(var m=0;m<l.length;m++)l[m]=l[m].join(':');return l.length?l.join(';')+';':false;\r
-};},elementMigrateFilter:function(h,i){return function(j){var k=i?new CKEDITOR.style(h,i)._.definition:h;j.name=k.element;CKEDITOR.tools.extend(j.attributes,CKEDITOR.tools.clone(k.attributes));j.addStyle(CKEDITOR.style.getStyleText(k));};},styleMigrateFilter:function(h,i){var j=this.elementMigrateFilter;return function(k,l){var m=new CKEDITOR.htmlParser.element(null),n={};n[i]=k;j(h,n)(m);m.children=l.children;l.children=[m];};},bogusAttrFilter:function(h,i){if(i.name.indexOf('cke:')==-1)return false;},applyStyleFilter:null},getRules:function(h){var i=CKEDITOR.dtd,j=CKEDITOR.tools.extend({},i.$block,i.$listItem,i.$tableContent),k=h.config,l=this.filters,m=l.falsyFilter,n=l.stylesFilter,o=l.elementMigrateFilter,p=CKEDITOR.tools.bind(this.filters.styleMigrateFilter,this.filters),q=this.utils.createListBulletMarker,r=l.flattenList,s=l.assembleList,t=this.utils.isListBulletIndicator,u=this.utils.isContainingOnlySpaces,v=this.utils.resolveList,w=this.utils.convertToPx,x=this.utils.getStyleComponents,y=this.utils.listDtdParents,z=k.pasteFromWordRemoveFontStyles!==false,A=k.pasteFromWordRemoveStyles!==false;return{elementNames:[[/meta|link|script/,'']],root:function(B){B.filterChildren();s(B);},elements:{'^':function(B){var C;if(CKEDITOR.env.gecko&&(C=l.applyStyleFilter))C(B);},$:function(B){var C=B.name||'',D=B.attributes;if(C in j&&D.style)D.style=n([[/^(:?width|height)$/,null,w]])(D.style)||'';if(C.match(/h\d/)){B.filterChildren();if(v(B))return;o(k['format_'+C])(B);}else if(C in i.$inline){B.filterChildren();if(u(B))delete B.name;}else if(C.indexOf(':')!=-1&&C.indexOf('cke')==-1){B.filterChildren();if(C=='v:imagedata'){var E=B.attributes['o:href'];if(E)B.attributes.src=E;B.name='img';return;}delete B.name;}if(C in y){B.filterChildren();s(B);}},style:function(B){if(CKEDITOR.env.gecko){var C=B.onlyChild().value.match(/\/\* Style Definitions \*\/([\s\S]*?)\/\*/),D=C&&C[1],E={};if(D){D.replace(/[\n\r]/g,'').replace(/(.+?)\{(.+?)\}/g,function(F,G,H){G=G.split(',');var I=G.length,J;for(var K=0;K<I;K++)CKEDITOR.tools.trim(G[K]).replace(/^(\w+)(\.[\w-]+)?$/g,function(L,M,N){M=M||'*';N=N.substring(1,N.length);if(N.match(/MsoNormal/))return;if(!E[M])E[M]={};if(N)E[M][N]=H;else E[M]=H;});});l.applyStyleFilter=function(F){var G=E['*']?'*':F.name,H=F.attributes&&F.attributes['class'],I;if(G in E){I=E[G];if(typeof I=='object')I=I[H];I&&F.addStyle(I,true);}};}}return false;},p:function(B){B.filterChildren();if(v(B))return;if(k.enterMode==CKEDITOR.ENTER_BR){delete B.name;B.add(new CKEDITOR.htmlParser.element('br'));\r
-}else o(k['format_'+(k.enterMode==CKEDITOR.ENTER_P?'p':'div')])(B);},div:function(B){var C=B.onlyChild();if(C&&C.name=='table'){var D=B.attributes;C.attributes=CKEDITOR.tools.extend(C.attributes,D);D.style&&C.addStyle(D.style);var E=new CKEDITOR.htmlParser.element('div');E.addStyle('clear','both');B.add(E);delete B.name;}},td:function(B){if(B.getAncestor('thead'))B.name='th';},ol:r,ul:r,dl:r,font:function(B){if(!CKEDITOR.env.gecko&&t(B.parent)){delete B.name;return;}B.filterChildren();var C=B.attributes,D=C.style,E=B.parent;if('font'==E.name){CKEDITOR.tools.extend(E.attributes,B.attributes);D&&E.addStyle(D);delete B.name;}else{D=D||'';if(C.color){C.color!='#000000'&&(D+='color:'+C.color+';');delete C.color;}if(C.face){D+='font-family:'+C.face+';';delete C.face;}if(C.size){D+='font-size:'+(C.size>3?'large':C.size<3?'small':'medium')+';';delete C.size;}B.name='span';B.addStyle(D);}},span:function(B){if(!CKEDITOR.env.gecko&&t(B.parent))return false;B.filterChildren();if(u(B)){delete B.name;return null;}if(!CKEDITOR.env.gecko&&t(B)){var C=B.firstChild(function(J){return J.value||J.name=='img';}),D=C&&(C.value||'l.'),E=D.match(/^([^\s]+?)([.)]?)$/);return q(E,D);}var F=B.children,G=B.attributes,H=G&&G.style,I=F&&F[0];if(H)G.style=n([['line-height'],[/^font-family$/,null,!z?p(k.font_style,'family'):null],[/^font-size$/,null,!z?p(k.fontSize_style,'size'):null],[/^color$/,null,!z?p(k.colorButton_foreStyle,'color'):null],[/^background-color$/,null,!z?p(k.colorButton_backStyle,'color'):null]])(H,B)||'';return null;},b:o(k.coreStyles_bold),i:o(k.coreStyles_italic),u:o(k.coreStyles_underline),s:o(k.coreStyles_strike),sup:o(k.coreStyles_superscript),sub:o(k.coreStyles_subscript),a:function(B){var C=B.attributes;if(C&&!C.href&&C.name)delete B.name;},'cke:listbullet':function(B){if(B.getAncestor(/h\d/)&&!k.pasteFromWordNumberedHeadingToList)delete B.name;}},attributeNames:[[/^onmouse(:?out|over)/,''],[/^onload$/,''],[/(?:v|o):\w+/,''],[/^lang/,'']],attributes:{style:n(A?[[/^margin$|^margin-(?!bottom|top)/,null,function(B,C,D){if(C.name in {p:1,div:1}){var E=k.contentsLangDirection=='ltr'?'margin-left':'margin-right';if(D=='margin')B=x(D,B,[E])[E];else if(D!=E)return null;if(B&&!d.test(B))return[E,B];}return null;}],[/^clear$/],[/^border.*|margin.*|vertical-align|float$/,null,function(B,C){if(C.name=='img')return B;}],[/^width|height$/,null,function(B,C){if(C.name in {table:1,td:1,th:1,img:1})return B;}]]:[[/^mso-/],[/-color$/,null,function(B){if(B=='transparent')return false;\r
-if(CKEDITOR.env.gecko)return B.replace(/-moz-use-text-color/g,'transparent');}],[/^margin$/,d],['text-indent','0cm'],['page-break-before'],['tab-stops'],['display','none'],z?[/font-?/]:null],A),width:function(B,C){if(C.name in i.$tableContent)return false;},border:function(B,C){if(C.name in i.$tableContent)return false;},'class':m,bgcolor:m,valign:A?m:function(B,C){C.addStyle('vertical-align',B);return false;}},comment:!CKEDITOR.env.ie?function(B,C){var D=B.match(/<img.*?>/),E=B.match(/^\[if !supportLists\]([\s\S]*?)\[endif\]$/);if(E){var F=E[1]||D&&'l.',G=F&&F.match(/>([^\s]+?)([.)]?)</);return q(G,F);}if(CKEDITOR.env.gecko&&D){var H=CKEDITOR.htmlParser.fragment.fromHtml(D[0]).children[0],I=C.previous,J=I&&I.value.match(/<v:imagedata[^>]*o:href=['"](.*?)['"]/),K=J&&J[1];K&&(H.attributes.src=K);return H;}return false;}:m};}};var g=function(){this.dataFilter=new CKEDITOR.htmlParser.filter();};g.prototype={toHtml:function(h){var i=CKEDITOR.htmlParser.fragment.fromHtml(h,false),j=new CKEDITOR.htmlParser.basicWriter();i.writeHtml(j,this.dataFilter);return j.getHtml(true);}};CKEDITOR.cleanWord=function(h,i){if(CKEDITOR.env.gecko)h=h.replace(/(<!--\[if[^<]*?\])-->([\S\s]*?)<!--(\[endif\]-->)/gi,'$1$2$3');var j=new g(),k=j.dataFilter;k.addRules(CKEDITOR.plugins.pastefromword.getRules(i));i.fire('beforeCleanWord',{filter:k});try{h=j.toHtml(h,false);}catch(l){alert(i.lang.pastefromword.error);}h=h.replace(/cke:.*?".*?"/g,'');h=h.replace(/style=""/g,'');h=h.replace(/<span>/g,'');return h;};})();\r
+(function(){var a=CKEDITOR.htmlParser.fragment.prototype,b=CKEDITOR.htmlParser.element.prototype;a.onlyChild=b.onlyChild=function(){var h=this.children,i=h.length,j=i==1&&h[0];return j||null;};b.removeAnyChildWithName=function(h){var i=this.children,j=[],k;for(var l=0;l<i.length;l++){k=i[l];if(!k.name)continue;if(k.name==h){j.push(k);i.splice(l--,1);}j=j.concat(k.removeAnyChildWithName(h));}return j;};b.getAncestor=function(h){var i=this.parent;while(i&&!(i.name&&i.name.match(h)))i=i.parent;return i;};a.firstChild=b.firstChild=function(h){var i;for(var j=0;j<this.children.length;j++){i=this.children[j];if(h(i))return i;else if(i.name){i=i.firstChild(h);if(i)return i;}}return null;};b.addStyle=function(h,i,j){var n=this;var k,l='';if(typeof i=='string')l+=h+':'+i+';';else{if(typeof h=='object')for(var m in h){if(h.hasOwnProperty(m))l+=m+':'+h[m]+';';}else l+=h;j=i;}if(!n.attributes)n.attributes={};k=n.attributes.style||'';k=(j?[l,k]:[k,l]).join(';');n.attributes.style=k.replace(/^;|;(?=;)/,'');};CKEDITOR.dtd.parentOf=function(h){var i={};for(var j in this){if(j.indexOf('$')==-1&&this[j][h])i[j]=1;}return i;};var c=/^([.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i,d=/^(?:\b0[^\s]*\s*){1,4}$/,e=0,f;CKEDITOR.plugins.pastefromword={utils:{createListBulletMarker:function(h,i){var j=new CKEDITOR.htmlParser.element('cke:listbullet'),k;if(!h){h='decimal';k='ol';}else if(h[2]){if(!isNaN(h[1]))h='decimal';else if(/^[a-z]+$/.test(h[1]))h='lower-alpha';else if(/^[A-Z]+$/.test(h[1]))h='upper-alpha';else h='decimal';k='ol';}else{if(/[l\u00B7\u2002]/.test(h[1]))h='disc';else if(/[\u006F\u00D8]/.test(h[1]))h='circle';else if(/[\u006E\u25C6]/.test(h[1]))h='square';else h='disc';k='ul';}j.attributes={'cke:listtype':k,style:'list-style-type:'+h+';'};j.add(new CKEDITOR.htmlParser.text(i));return j;},isListBulletIndicator:function(h){var i=h.attributes&&h.attributes.style;if(/mso-list\s*:\s*Ignore/i.test(i))return true;},isContainingOnlySpaces:function(h){var i;return(i=h.onlyChild())&&/^(:?\s|&nbsp;)+$/.test(i.value);},resolveList:function(h){var i=h.attributes,j;if((j=h.removeAnyChildWithName('cke:listbullet'))&&j.length&&(j=j[0])){h.name='cke:li';if(i.style)i.style=CKEDITOR.plugins.pastefromword.filters.stylesFilter([['text-indent'],['line-height'],[/^margin(:?-left)?$/,null,function(m){var n=m.split(' ');m=CKEDITOR.plugins.pastefromword.utils.convertToPx(n[3]||n[1]||n[0]);m=parseInt(m,10);if(!e&&f&&m>f)e=m-f;i['cke:margin']=f=m;}]])(i.style,h)||'';\r
+var k=j.attributes,l=k.style;h.addStyle(l);CKEDITOR.tools.extend(i,k);return true;}return false;},convertToPx:(function(){var h=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(h);return function(i){if(c.test(i)){h.setStyle('width',i);return h.$.clientWidth+'px';}return i;};})(),getStyleComponents:(function(){var h=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;"></div>',CKEDITOR.document);CKEDITOR.document.getBody().append(h);return function(i,j,k){h.setStyle(i,j);var l={},m=k.length;for(var n=0;n<m;n++)l[k[n]]=h.getStyle(k[n]);return l;};})(),listDtdParents:CKEDITOR.dtd.parentOf('ol')},filters:{flattenList:function(h){var i=h.attributes,j=h.parent,k,l=1;while(j){j.attributes&&j.attributes['cke:list']&&l++;j=j.parent;}switch(i.type){case 'a':k='lower-alpha';break;}var m=h.children,n;for(var o=0;o<m.length;o++){n=m[o];var p=n.attributes;if(n.name in CKEDITOR.dtd.$listItem){var q=n.children,r=q.length,s=q[r-1];if(s.name in CKEDITOR.dtd.$list){m.splice(o+1,0,s);s.parent=h;if(!--q.length)m.splice(o,1);}n.name='cke:li';p['cke:indent']=l;f=0;p['cke:listtype']=h.name;k&&n.addStyle('list-style-type',k,true);}}delete h.name;i['cke:list']=1;},assembleList:function(h){var i=h.children,j,k,l,m,n,o,p,q,r;for(var s=0;s<i.length;s++){j=i[s];if('cke:li'==j.name){j.name='li';k=j;l=k.attributes;m=k.attributes['cke:listtype'];n=parseInt(l['cke:indent'],10)||e&&Math.ceil(l['cke:margin']/e)||1;l.style&&(l.style=CKEDITOR.plugins.pastefromword.filters.stylesFilter([['list-style-type',m=='ol'?'decimal':'disc']])(l.style)||'');if(!p){p=new CKEDITOR.htmlParser.element(m);p.add(k);i[s]=p;}else{if(n>r){p=new CKEDITOR.htmlParser.element(m);p.add(k);o.add(p);}else if(n<r){var t=r-n,u;while(t--&&(u=p.parent))p=u.parent;p.add(k);}else p.add(k);i.splice(s--,1);}o=k;r=n;}else p=null;}e=0;},falsyFilter:function(h){return false;},stylesFilter:function(h,i){return function(j,k){var l=[];j.replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(n,o,p){o=o.toLowerCase();o=='font-family'&&(p=p.replace(/["']/g,''));var q,r,s,t;for(var u=0;u<h.length;u++){if(h[u]){q=h[u][0];r=h[u][1];s=h[u][2];t=h[u][3];if(o.match(q)&&(!r||p.match(r))){o=t||o;i&&(s=s||p);if(typeof s=='function')s=s(p,k,o);if(s&&s.push)o=s[0],s=s[1];if(typeof s=='string')l.push([o,s]);return;}}}!i&&l.push([o,p]);});for(var m=0;\r
+m<l.length;m++)l[m]=l[m].join(':');return l.length?l.join(';')+';':false;};},elementMigrateFilter:function(h,i){return function(j){var k=i?new CKEDITOR.style(h,i)._.definition:h;j.name=k.element;CKEDITOR.tools.extend(j.attributes,CKEDITOR.tools.clone(k.attributes));j.addStyle(CKEDITOR.style.getStyleText(k));};},styleMigrateFilter:function(h,i){var j=this.elementMigrateFilter;return function(k,l){var m=new CKEDITOR.htmlParser.element(null),n={};n[i]=k;j(h,n)(m);m.children=l.children;l.children=[m];};},bogusAttrFilter:function(h,i){if(i.name.indexOf('cke:')==-1)return false;},applyStyleFilter:null},getRules:function(h){var i=CKEDITOR.dtd,j=CKEDITOR.tools.extend({},i.$block,i.$listItem,i.$tableContent),k=h.config,l=this.filters,m=l.falsyFilter,n=l.stylesFilter,o=l.elementMigrateFilter,p=CKEDITOR.tools.bind(this.filters.styleMigrateFilter,this.filters),q=this.utils.createListBulletMarker,r=l.flattenList,s=l.assembleList,t=this.utils.isListBulletIndicator,u=this.utils.isContainingOnlySpaces,v=this.utils.resolveList,w=this.utils.convertToPx,x=this.utils.getStyleComponents,y=this.utils.listDtdParents,z=k.pasteFromWordRemoveFontStyles!==false,A=k.pasteFromWordRemoveStyles!==false;return{elementNames:[[/meta|link|script/,'']],root:function(B){B.filterChildren();s(B);},elements:{'^':function(B){var C;if(CKEDITOR.env.gecko&&(C=l.applyStyleFilter))C(B);},$:function(B){var C=B.name||'',D=B.attributes;if(C in j&&D.style)D.style=n([[/^(:?width|height)$/,null,w]])(D.style)||'';if(C.match(/h\d/)){B.filterChildren();if(v(B))return;o(k['format_'+C])(B);}else if(C in i.$inline){B.filterChildren();if(u(B))delete B.name;}else if(C.indexOf(':')!=-1&&C.indexOf('cke')==-1){B.filterChildren();if(C=='v:imagedata'){var E=B.attributes['o:href'];if(E)B.attributes.src=E;B.name='img';return;}delete B.name;}if(C in y){B.filterChildren();s(B);}},style:function(B){if(CKEDITOR.env.gecko){var C=B.onlyChild().value.match(/\/\* Style Definitions \*\/([\s\S]*?)\/\*/),D=C&&C[1],E={};if(D){D.replace(/[\n\r]/g,'').replace(/(.+?)\{(.+?)\}/g,function(F,G,H){G=G.split(',');var I=G.length,J;for(var K=0;K<I;K++)CKEDITOR.tools.trim(G[K]).replace(/^(\w+)(\.[\w-]+)?$/g,function(L,M,N){M=M||'*';N=N.substring(1,N.length);if(N.match(/MsoNormal/))return;if(!E[M])E[M]={};if(N)E[M][N]=H;else E[M]=H;});});l.applyStyleFilter=function(F){var G=E['*']?'*':F.name,H=F.attributes&&F.attributes['class'],I;if(G in E){I=E[G];if(typeof I=='object')I=I[H];I&&F.addStyle(I,true);}};}}return false;},p:function(B){B.filterChildren();\r
+if(v(B))return;if(k.enterMode==CKEDITOR.ENTER_BR){delete B.name;B.add(new CKEDITOR.htmlParser.element('br'));}else o(k['format_'+(k.enterMode==CKEDITOR.ENTER_P?'p':'div')])(B);},div:function(B){var C=B.onlyChild();if(C&&C.name=='table'){var D=B.attributes;C.attributes=CKEDITOR.tools.extend(C.attributes,D);D.style&&C.addStyle(D.style);var E=new CKEDITOR.htmlParser.element('div');E.addStyle('clear','both');B.add(E);delete B.name;}},td:function(B){if(B.getAncestor('thead'))B.name='th';},ol:r,ul:r,dl:r,font:function(B){if(!CKEDITOR.env.gecko&&t(B.parent)){delete B.name;return;}B.filterChildren();var C=B.attributes,D=C.style,E=B.parent;if('font'==E.name){CKEDITOR.tools.extend(E.attributes,B.attributes);D&&E.addStyle(D);delete B.name;}else{D=D||'';if(C.color){C.color!='#000000'&&(D+='color:'+C.color+';');delete C.color;}if(C.face){D+='font-family:'+C.face+';';delete C.face;}if(C.size){D+='font-size:'+(C.size>3?'large':C.size<3?'small':'medium')+';';delete C.size;}B.name='span';B.addStyle(D);}},span:function(B){if(!CKEDITOR.env.gecko&&t(B.parent))return false;B.filterChildren();if(u(B)){delete B.name;return null;}if(!CKEDITOR.env.gecko&&t(B)){var C=B.firstChild(function(J){return J.value||J.name=='img';}),D=C&&(C.value||'l.'),E=D.match(/^([^\s]+?)([.)]?)$/);return q(E,D);}var F=B.children,G=B.attributes,H=G&&G.style,I=F&&F[0];if(H)G.style=n([['line-height'],[/^font-family$/,null,!z?p(k.font_style,'family'):null],[/^font-size$/,null,!z?p(k.fontSize_style,'size'):null],[/^color$/,null,!z?p(k.colorButton_foreStyle,'color'):null],[/^background-color$/,null,!z?p(k.colorButton_backStyle,'color'):null]])(H,B)||'';return null;},b:o(k.coreStyles_bold),i:o(k.coreStyles_italic),u:o(k.coreStyles_underline),s:o(k.coreStyles_strike),sup:o(k.coreStyles_superscript),sub:o(k.coreStyles_subscript),a:function(B){var C=B.attributes;if(C&&!C.href&&C.name)delete B.name;},'cke:listbullet':function(B){if(B.getAncestor(/h\d/)&&!k.pasteFromWordNumberedHeadingToList)delete B.name;}},attributeNames:[[/^onmouse(:?out|over)/,''],[/^onload$/,''],[/(?:v|o):\w+/,''],[/^lang/,'']],attributes:{style:n(A?[[/^margin$|^margin-(?!bottom|top)/,null,function(B,C,D){if(C.name in {p:1,div:1}){var E=k.contentsLangDirection=='ltr'?'margin-left':'margin-right';if(D=='margin')B=x(D,B,[E])[E];else if(D!=E)return null;if(B&&!d.test(B))return[E,B];}return null;}],[/^clear$/],[/^border.*|margin.*|vertical-align|float$/,null,function(B,C){if(C.name=='img')return B;}],[/^width|height$/,null,function(B,C){if(C.name in {table:1,td:1,th:1,img:1})return B;\r
+}]]:[[/^mso-/],[/-color$/,null,function(B){if(B=='transparent')return false;if(CKEDITOR.env.gecko)return B.replace(/-moz-use-text-color/g,'transparent');}],[/^margin$/,d],['text-indent','0cm'],['page-break-before'],['tab-stops'],['display','none'],z?[/font-?/]:null],A),width:function(B,C){if(C.name in i.$tableContent)return false;},border:function(B,C){if(C.name in i.$tableContent)return false;},'class':m,bgcolor:m,valign:A?m:function(B,C){C.addStyle('vertical-align',B);return false;}},comment:!CKEDITOR.env.ie?function(B,C){var D=B.match(/<img.*?>/),E=B.match(/^\[if !supportLists\]([\s\S]*?)\[endif\]$/);if(E){var F=E[1]||D&&'l.',G=F&&F.match(/>([^\s]+?)([.)]?)</);return q(G,F);}if(CKEDITOR.env.gecko&&D){var H=CKEDITOR.htmlParser.fragment.fromHtml(D[0]).children[0],I=C.previous,J=I&&I.value.match(/<v:imagedata[^>]*o:href=['"](.*?)['"]/),K=J&&J[1];K&&(H.attributes.src=K);return H;}return false;}:m};}};var g=function(){this.dataFilter=new CKEDITOR.htmlParser.filter();};g.prototype={toHtml:function(h){var i=CKEDITOR.htmlParser.fragment.fromHtml(h,false),j=new CKEDITOR.htmlParser.basicWriter();i.writeHtml(j,this.dataFilter);return j.getHtml(true);}};CKEDITOR.cleanWord=function(h,i){if(CKEDITOR.env.gecko)h=h.replace(/(<!--\[if[^<]*?\])-->([\S\s]*?)<!--(\[endif\]-->)/gi,'$1$2$3');var j=new g(),k=j.dataFilter;k.addRules(CKEDITOR.plugins.pastefromword.getRules(i));i.fire('beforeCleanWord',{filter:k});try{h=j.toHtml(h,false);}catch(l){alert(i.lang.pastefromword.error);}h=h.replace(/cke:.*?".*?"/g,'');h=h.replace(/style=""/g,'');h=h.replace(/<span>/g,'');return h;};})();\r
index 39a97c8..b10337e 100644 (file)
@@ -3,6 +3,6 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('scaytcheck',function(a){var b=true,c,d=CKEDITOR.document,e=[],f,g=[],h=false,i=['dic_create,dic_restore','dic_rename,dic_delete'],j=['mixedCase','mixedWithDigits','allCaps','ignoreDomainNames'];function k(){return document.forms.optionsbar.options;};function l(){return document.forms.languagesbar.scayt_lang;};function m(x,y){if(!x)return;var z=x.length;if(z==undefined){x.checked=x.value==y.toString();return;}for(var A=0;A<z;A++){x[A].checked=false;if(x[A].value==y.toString())x[A].checked=true;}};var n=[{id:'options',label:a.lang.scayt.optionsTab,elements:[{type:'html',id:'options',html:'<form name="optionsbar"><div class="inner_options">\t<div class="messagebox"></div>\t<div style="display:none;">\t\t<input type="checkbox" name="options"  id="allCaps" />\t\t<label for="allCaps" id="label_allCaps"></label>\t</div>\t<div style="display:none;">\t\t<input name="options" type="checkbox"  id="ignoreDomainNames" />\t\t<label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>\t</div>\t<div style="display:none;">\t<input name="options" type="checkbox"  id="mixedCase" />\t\t<label for="mixedCase" id="label_mixedCase"></label>\t</div>\t<div style="display:none;">\t\t<input name="options" type="checkbox"  id="mixedWithDigits" />\t\t<label for="mixedWithDigits" id="label_mixedWithDigits"></label>\t</div></div></form>'}]},{id:'langs',label:a.lang.scayt.languagesTab,elements:[{type:'html',id:'langs',html:'<form name="languagesbar"><div class="inner_langs">\t<div class="messagebox"></div>\t   <div style="float:left;width:45%;margin-left:5px;" id="scayt_lcol" ></div>   <div style="float:left;width:45%;margin-left:15px;" id="scayt_rcol"></div></div></form>'}]},{id:'dictionaries',label:a.lang.scayt.dictionariesTab,elements:[{type:'html',style:'',id:'dictionaries',html:'<form name="dictionarybar"><div class="inner_dictionary" style="text-align:left; white-space:normal; width:320px; overflow: hidden;">\t<div style="margin:5px auto; width:80%;white-space:normal; overflow:hidden;" id="dic_message"> </div>\t<div style="margin:5px auto; width:80%;white-space:normal;">        <span class="cke_dialog_ui_labeled_label" >Dictionary name</span><br>\t\t<span class="cke_dialog_ui_labeled_content" >\t\t\t<div class="cke_dialog_ui_input_text">\t\t\t\t<input id="dic_name" type="text" class="cke_dialog_ui_input_text"/>\t\t</div></span></div>\t\t<div style="margin:5px auto; width:80%;white-space:normal;">\t\t\t<a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_create">\t\t\t\t</a>\t\t\t<a  style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_delete">\t\t\t\t</a>\t\t\t<a  style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_rename">\t\t\t\t</a>\t\t\t<a  style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_restore">\t\t\t\t</a>\t\t</div>\t<div style="margin:5px auto; width:95%;white-space:normal;" id="dic_info"></div></div></form>'}]},{id:'about',label:a.lang.scayt.aboutTab,elements:[{type:'html',id:'about',style:'margin: 5px 5px;',html:'<div id="scayt_about"></div>'}]}],o={title:a.lang.scayt.title,minWidth:360,minHeight:220,onShow:function(){var x=this;\r
-x.data=a.fire('scaytDialog',{});x.options=x.data.scayt_control.option();x.sLang=x.data.scayt_control.sLang;if(!x.data||!x.data.scayt||!x.data.scayt_control){alert('Error loading application service');x.hide();return;}var y=0;if(b)x.data.scayt.getCaption(a.langCode||'en',function(z){if(y++>0)return;c=z;q.apply(x);r.apply(x);b=false;});else r.apply(x);x.selectPage(x.data.tab);},onOk:function(){var x=this.data.scayt_control;x.option(this.options);var y=this.chosed_lang;x.setLang(y);x.refresh();},onCancel:function(){var x=k();for(f in x)x[f].checked=false;m(l(),'');},contents:g},p=CKEDITOR.plugins.scayt.getScayt(a);e=CKEDITOR.plugins.scayt.uiTabs;for(f in e){if(e[f]==1)g[g.length]=n[f];}if(e[2]==1)h=true;var q=function(){var x=this,y=x.data.scayt.getLangList(),z=['dic_create','dic_delete','dic_rename','dic_restore'],A=j,B;if(h){for(B=0;B<z.length;B++){var C=z[B];d.getById(C).setHtml('<span class="cke_dialog_ui_button">'+c['button_'+C]+'</span>');}d.getById('dic_info').setHtml(c.dic_info);}if(e[0]==1)for(B in A){var D='label_'+A[B],E=d.getById(D);if('undefined'!=typeof E&&'undefined'!=typeof c[D]&&'undefined'!=typeof x.options[A[B]]){E.setHtml(c[D]);var F=E.getParent();F.$.style.display='block';}}var G='<p><img src="'+window.scayt.getAboutInfo().logoURL+'" /></p>'+'<p>'+c.version+window.scayt.getAboutInfo().version.toString()+'</p>'+'<p>'+c.about_throwt_copy+'</p>';d.getById('scayt_about').setHtml(G);var H=function(R,S){var T=d.createElement('label');T.setAttribute('for','cke_option'+R);T.setHtml(S[R]);if(x.sLang==R)x.chosed_lang=R;var U=d.createElement('div'),V=CKEDITOR.dom.element.createFromHtml('<input id="cke_option'+R+'" type="radio" '+(x.sLang==R?'checked="checked"':'')+' value="'+R+'" name="scayt_lang" />');V.on('click',function(){this.$.checked=true;x.chosed_lang=R;});U.append(V);U.append(T);return{lang:S[R],code:R,radio:U};},I=[];if(e[1]==1){for(B in y.rtl)I[I.length]=H(B,y.ltr);for(B in y.ltr)I[I.length]=H(B,y.ltr);I.sort(function(R,S){return S.lang>R.lang?-1:1;});var J=d.getById('scayt_lcol'),K=d.getById('scayt_rcol');for(B=0;B<I.length;B++){var L=B<I.length/2?J:K;L.append(I[B].radio);}}var M={};M.dic_create=function(R,S,T){var U=T[0]+','+T[1],V=c.err_dic_create,W=c.succ_dic_create;window.scayt.createUserDictionary(S,function(X){v(U);u(T[1]);W=W.replace('%s',X.dname);t(W);},function(X){V=V.replace('%s',X.dname);s(V+'( '+(X.message||'')+')');});};M.dic_rename=function(R,S){var T=c.err_dic_rename||'',U=c.succ_dic_rename||'';window.scayt.renameUserDictionary(S,function(V){U=U.replace('%s',V.dname);\r
-w(S);t(U);},function(V){T=T.replace('%s',V.dname);w(S);s(T+'( '+(V.message||'')+' )');});};M.dic_delete=function(R,S,T){var U=T[0]+','+T[1],V=c.err_dic_delete,W=c.succ_dic_delete;window.scayt.deleteUserDictionary(function(X){W=W.replace('%s',X.dname);v(U);u(T[0]);w('');t(W);},function(X){V=V.replace('%s',X.dname);s(V);});};M.dic_restore=x.dic_restore||(function(R,S,T){var U=T[0]+','+T[1],V=c.err_dic_restore,W=c.succ_dic_restore;window.scayt.restoreUserDictionary(S,function(X){W=W.replace('%s',X.dname);v(U);u(T[1]);t(W);},function(X){V=V.replace('%s',X.dname);s(V);});});function N(R){var S=d.getById('dic_name').getValue();if(!S){s(' Dictionary name should not be empty. ');return false;}try{var T=id=R.data.getTarget().getParent(),U=T.getId();M[U].apply(null,[T,S,i]);}catch(V){s(' Dictionary error. ');}return true;};var O=(i[0]+','+i[1]).split(','),P;for(B=0,P=O.length;B<P;B+=1){var Q=d.getById(O[B]);if(Q)Q.on('click',N,this);}},r=function(){var x=this;if(e[0]==1){var y=k();for(var z=0,A=y.length;z<A;z++){var B=y[z].id,C=d.getById(B);if(C){y[z].checked=false;if(x.options[B]==1)y[z].checked=true;if(b)C.on('click',function(){x.options[this.getId()]=this.$.checked?1:0;});}}}if(e[1]==1){var D=d.getById('cke_option'+x.sLang);m(D.$,x.sLang);}if(h){window.scayt.getNameUserDictionary(function(E){var F=E.dname;v(i[0]+','+i[1]);if(F){d.getById('dic_name').setValue(F);u(i[1]);}else u(i[0]);},function(){d.getById('dic_name').setValue('');});t('');}};function s(x){d.getById('dic_message').setHtml('<span style="color:red;">'+x+'</span>');};function t(x){d.getById('dic_message').setHtml('<span style="color:blue;">'+x+'</span>');};function u(x){x=String(x);var y=x.split(',');for(var z=0,A=y.length;z<A;z+=1)d.getById(y[z]).$.style.display='inline';};function v(x){x=String(x);var y=x.split(',');for(var z=0,A=y.length;z<A;z+=1)d.getById(y[z]).$.style.display='none';};function w(x){d.getById('dic_name').$.value=x;};return o;});\r
+CKEDITOR.dialog.add('scaytcheck',function(a){var b=true,c,d=CKEDITOR.document,e=[],f,g=[],h=0,i=['dic_create,dic_restore','dic_rename,dic_delete'],j=['mixedCase','mixedWithDigits','allCaps','ignoreDomainNames'];function k(){return document.forms.optionsbar.options;};function l(){return document.forms.languagesbar.scayt_lang;};function m(y,z){if(!y)return;var A=y.length;if(A==undefined){y.checked=y.value==z.toString();return;}for(var B=0;B<A;B++){y[B].checked=false;if(y[B].value==z.toString())y[B].checked=true;}};var n=a.lang.scayt,o=[{id:'options',label:n.optionsTab,elements:[{type:'html',id:'options',html:'<form name="optionsbar"><div class="inner_options">\t<div class="messagebox"></div>\t<div style="display:none;">\t\t<input type="checkbox" name="options"  id="allCaps" />\t\t<label for="allCaps" id="label_allCaps"></label>\t</div>\t<div style="display:none;">\t\t<input name="options" type="checkbox"  id="ignoreDomainNames" />\t\t<label for="ignoreDomainNames" id="label_ignoreDomainNames"></label>\t</div>\t<div style="display:none;">\t<input name="options" type="checkbox"  id="mixedCase" />\t\t<label for="mixedCase" id="label_mixedCase"></label>\t</div>\t<div style="display:none;">\t\t<input name="options" type="checkbox"  id="mixedWithDigits" />\t\t<label for="mixedWithDigits" id="label_mixedWithDigits"></label>\t</div></div></form>'}]},{id:'langs',label:n.languagesTab,elements:[{type:'html',id:'langs',html:'<form name="languagesbar"><div class="inner_langs">\t<div class="messagebox"></div>\t   <div style="float:left;width:45%;margin-left:5px;" id="scayt_lcol" ></div>   <div style="float:left;width:45%;margin-left:15px;" id="scayt_rcol"></div></div></form>'}]},{id:'dictionaries',label:n.dictionariesTab,elements:[{type:'html',style:'',id:'dictionaries',html:'<form name="dictionarybar"><div class="inner_dictionary" style="text-align:left; white-space:normal; width:320px; overflow: hidden;">\t<div style="margin:5px auto; width:80%;white-space:normal; overflow:hidden;" id="dic_message"> </div>\t<div style="margin:5px auto; width:80%;white-space:normal;">        <span class="cke_dialog_ui_labeled_label" >Dictionary name</span><br>\t\t<span class="cke_dialog_ui_labeled_content" >\t\t\t<div class="cke_dialog_ui_input_text">\t\t\t\t<input id="dic_name" type="text" class="cke_dialog_ui_input_text"/>\t\t</div></span></div>\t\t<div style="margin:5px auto; width:80%;white-space:normal;">\t\t\t<a style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_create">\t\t\t\t</a>\t\t\t<a  style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_delete">\t\t\t\t</a>\t\t\t<a  style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_rename">\t\t\t\t</a>\t\t\t<a  style="display:none;" class="cke_dialog_ui_button" href="javascript:void(0)" id="dic_restore">\t\t\t\t</a>\t\t</div>\t<div style="margin:5px auto; width:95%;white-space:normal;" id="dic_info"></div></div></form>'}]},{id:'about',label:n.aboutTab,elements:[{type:'html',id:'about',style:'margin: 5px 5px;',html:'<div id="scayt_about"></div>'}]}],p={title:n.title,minWidth:360,minHeight:220,onShow:function(){var y=this;\r
+y.data=a.fire('scaytDialog',{});y.options=y.data.scayt_control.option();y.sLang=y.data.scayt_control.sLang;if(!y.data||!y.data.scayt||!y.data.scayt_control){alert('Error loading application service');y.hide();return;}var z=0;if(b)y.data.scayt.getCaption(a.langCode||'en',function(A){if(z++>0)return;c=A;r.apply(y);s.apply(y);b=false;});else s.apply(y);y.selectPage(y.data.tab);},onOk:function(){var y=this.data.scayt_control;y.option(this.options);var z=this.chosed_lang;y.setLang(z);y.refresh();},onCancel:function(){var y=k();for(var z in y)y[z].checked=false;m(l(),'');},contents:g},q=CKEDITOR.plugins.scayt.getScayt(a);e=CKEDITOR.plugins.scayt.uiTabs;for(var f in e){if(e[f]==1)g[g.length]=o[f];}if(e[2]==1)h=1;var r=function(){var y=this,z=y.data.scayt.getLangList(),A=['dic_create','dic_delete','dic_rename','dic_restore'],B=j,C;if(h){for(C=0;C<A.length;C++){var D=A[C];d.getById(D).setHtml('<span class="cke_dialog_ui_button">'+c['button_'+D]+'</span>');}d.getById('dic_info').setHtml(c.dic_info);}if(e[0]==1)for(C in B){var E='label_'+B[C],F=d.getById(E);if('undefined'!=typeof F&&'undefined'!=typeof c[E]&&'undefined'!=typeof y.options[B[C]]){F.setHtml(c[E]);var G=F.getParent();G.$.style.display='block';}}var H='<p><img src="'+window.scayt.getAboutInfo().logoURL+'" /></p>'+'<p>'+c.version+window.scayt.getAboutInfo().version.toString()+'</p>'+'<p>'+c.about_throwt_copy+'</p>';d.getById('scayt_about').setHtml(H);var I=function(S,T){var U=d.createElement('label');U.setAttribute('for','cke_option'+S);U.setHtml(T[S]);if(y.sLang==S)y.chosed_lang=S;var V=d.createElement('div'),W=CKEDITOR.dom.element.createFromHtml('<input id="cke_option'+S+'" type="radio" '+(y.sLang==S?'checked="checked"':'')+' value="'+S+'" name="scayt_lang" />');W.on('click',function(){this.$.checked=true;y.chosed_lang=S;});V.append(W);V.append(U);return{lang:T[S],code:S,radio:V};},J=[];if(e[1]==1){for(var C in z.rtl)J[J.length]=I(C,z.ltr);for(C in z.ltr)J[J.length]=I(C,z.ltr);J.sort(function(S,T){return T.lang>S.lang?-1:1;});var K=d.getById('scayt_lcol'),L=d.getById('scayt_rcol');for(C=0;C<J.length;C++){var M=C<J.length/2?K:L;M.append(J[C].radio);}}var N={};N.dic_create=function(S,T,U){var V=U[0]+','+U[1],W=c.err_dic_create,X=c.succ_dic_create;window.scayt.createUserDictionary(T,function(Y){w(V);v(U[1]);X=X.replace('%s',Y.dname);u(X);},function(Y){W=W.replace('%s',Y.dname);t(W+'( '+(Y.message||'')+')');});};N.dic_rename=function(S,T){var U=c.err_dic_rename||'',V=c.succ_dic_rename||'';window.scayt.renameUserDictionary(T,function(W){V=V.replace('%s',W.dname);\r
+x(T);u(V);},function(W){U=U.replace('%s',W.dname);x(T);t(U+'( '+(W.message||'')+' )');});};N.dic_delete=function(S,T,U){var V=U[0]+','+U[1],W=c.err_dic_delete,X=c.succ_dic_delete;window.scayt.deleteUserDictionary(function(Y){X=X.replace('%s',Y.dname);w(V);v(U[0]);x('');u(X);},function(Y){W=W.replace('%s',Y.dname);t(W);});};N.dic_restore=y.dic_restore||(function(S,T,U){var V=U[0]+','+U[1],W=c.err_dic_restore,X=c.succ_dic_restore;window.scayt.restoreUserDictionary(T,function(Y){X=X.replace('%s',Y.dname);w(V);v(U[1]);u(X);},function(Y){W=W.replace('%s',Y.dname);t(W);});});function O(S){var T=d.getById('dic_name').getValue();if(!T){t(' Dictionary name should not be empty. ');return false;}try{var U=id=S.data.getTarget().getParent(),V=U.getId();N[V].apply(null,[U,T,i]);}catch(W){t(' Dictionary error. ');}return true;};var P=(i[0]+','+i[1]).split(','),Q;for(C=0,Q=P.length;C<Q;C+=1){var R=d.getById(P[C]);if(R)R.on('click',O,this);}},s=function(){var y=this;if(e[0]==1){var z=k();for(var A=0,B=z.length;A<B;A++){var C=z[A].id,D=d.getById(C);if(D){z[A].checked=false;if(y.options[C]==1)z[A].checked=true;if(b)D.on('click',function(){y.options[this.getId()]=this.$.checked?1:0;});}}}if(e[1]==1){var E=d.getById('cke_option'+y.sLang);m(E.$,y.sLang);}if(h){window.scayt.getNameUserDictionary(function(F){var G=F.dname;w(i[0]+','+i[1]);if(G){d.getById('dic_name').setValue(G);v(i[1]);}else v(i[0]);},function(){d.getById('dic_name').setValue('');});u('');}};function t(y){d.getById('dic_message').setHtml('<span style="color:red;">'+y+'</span>');};function u(y){d.getById('dic_message').setHtml('<span style="color:blue;">'+y+'</span>');};function v(y){y=String(y);var z=y.split(',');for(var A=0,B=z.length;A<B;A+=1)d.getById(z[A]).$.style.display='inline';};function w(y){y=String(y);var z=y.split(',');for(var A=0,B=z.length;A<B;A+=1)d.getById(z[A]).$.style.display='none';};function x(y){d.getById('dic_name').$.value=y;};return p;});\r
index ce5051a..69deb88 100644 (file)
@@ -3,5 +3,5 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.dialog.add('smiley',function(a){var b=a.config,c=a.lang.smiley,d=b.smiley_images,e=b.smiley_columns||8,f,g,h=function(o){var p=o.data.getTarget(),q=p.getName();if(q=='a')p=p.getChild(0);else if(q!='img')return;var r=p.getAttribute('cke_src'),s=p.getAttribute('title'),t=a.document.createElement('img',{attributes:{src:r,_cke_saved_src:r,title:s,alt:s}});a.insertElement(t);g.hide();o.data.preventDefault();},i=CKEDITOR.tools.addFunction(function(o,p){o=new CKEDITOR.dom.event(o);p=new CKEDITOR.dom.element(p);var q,r,s=o.getKeystroke(),t=a.lang.dir=='rtl';switch(s){case 38:if(q=p.getParent().getParent().getPrevious()){r=q.getChild([p.getParent().getIndex(),0]);r.focus();}o.preventDefault();break;case 40:if(q=p.getParent().getParent().getNext()){r=q.getChild([p.getParent().getIndex(),0]);if(r)r.focus();}o.preventDefault();break;case 32:h({data:o});o.preventDefault();break;case t?37:39:case 9:if(q=p.getParent().getNext()){r=q.getChild(0);r.focus();o.preventDefault(true);}else if(q=p.getParent().getParent().getNext()){r=q.getChild([0,0]);if(r)r.focus();o.preventDefault(true);}break;case t?39:37:case CKEDITOR.SHIFT+9:if(q=p.getParent().getPrevious()){r=q.getChild(0);r.focus();o.preventDefault(true);}else if(q=p.getParent().getParent().getPrevious()){r=q.getLast().getChild(0);r.focus();o.preventDefault(true);}break;default:return;}}),j=CKEDITOR.tools.getNextId()+'_smiley_emtions_label',k=['<div><span id="'+j+'" class="cke_voice_label">'+c.options+'</span>','<table role="listbox" aria-labelledby="'+j+'" style="width:100%;height:100%" cellspacing="2" cellpadding="2"',CKEDITOR.env.ie&&CKEDITOR.env.quirks?' style="position:absolute;"':'','><tbody>'],l=d.length;for(f=0;f<l;f++){if(f%e===0)k.push('<tr>');var m='cke_smile_label_'+f+'_'+CKEDITOR.tools.getNextNumber();k.push('<td class="cke_dark_background cke_centered" style="vertical-align: middle;"><a href="javascript:void(0)" role="option"',' aria-posinset="'+(f+1)+'"',' aria-setsize="'+l+'"',' aria-labelledby="'+m+'"',' class="cke_smile cke_hand" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ',i,', event, this );">','<img class="cke_hand" title="',b.smiley_descriptions[f],'" cke_src="',CKEDITOR.tools.htmlEncode(b.smiley_path+d[f]),'" alt="',b.smiley_descriptions[f],'"',' src="',CKEDITOR.tools.htmlEncode(b.smiley_path+d[f]),'"',CKEDITOR.env.ie?" onload=\"this.setAttribute('width', 2); this.removeAttribute('width');\" ":'','><span id="'+m+'" class="cke_voice_label">'+b.smiley_descriptions[f]+'</span>'+'</a>','</td>');\r
+CKEDITOR.dialog.add('smiley',function(a){var b=a.config,c=a.lang.smiley,d=b.smiley_images,e=b.smiley_columns||8,f,g,h=function(o){var p=o.data.getTarget(),q=p.getName();if(q=='a')p=p.getChild(0);else if(q!='img')return;var r=p.getAttribute('cke_src'),s=p.getAttribute('title'),t=a.document.createElement('img',{attributes:{src:r,_cke_saved_src:r,title:s,alt:s,width:p.$.width,height:p.$.height}});a.insertElement(t);g.hide();o.data.preventDefault();},i=CKEDITOR.tools.addFunction(function(o,p){o=new CKEDITOR.dom.event(o);p=new CKEDITOR.dom.element(p);var q,r,s=o.getKeystroke(),t=a.lang.dir=='rtl';switch(s){case 38:if(q=p.getParent().getParent().getPrevious()){r=q.getChild([p.getParent().getIndex(),0]);r.focus();}o.preventDefault();break;case 40:if(q=p.getParent().getParent().getNext()){r=q.getChild([p.getParent().getIndex(),0]);if(r)r.focus();}o.preventDefault();break;case 32:h({data:o});o.preventDefault();break;case t?37:39:case 9:if(q=p.getParent().getNext()){r=q.getChild(0);r.focus();o.preventDefault(true);}else if(q=p.getParent().getParent().getNext()){r=q.getChild([0,0]);if(r)r.focus();o.preventDefault(true);}break;case t?39:37:case CKEDITOR.SHIFT+9:if(q=p.getParent().getPrevious()){r=q.getChild(0);r.focus();o.preventDefault(true);}else if(q=p.getParent().getParent().getPrevious()){r=q.getLast().getChild(0);r.focus();o.preventDefault(true);}break;default:return;}}),j=CKEDITOR.tools.getNextId()+'_smiley_emtions_label',k=['<div><span id="'+j+'" class="cke_voice_label">'+c.options+'</span>','<table role="listbox" aria-labelledby="'+j+'" style="width:100%;height:100%" cellspacing="2" cellpadding="2"',CKEDITOR.env.ie&&CKEDITOR.env.quirks?' style="position:absolute;"':'','><tbody>'],l=d.length;for(f=0;f<l;f++){if(f%e===0)k.push('<tr>');var m='cke_smile_label_'+f+'_'+CKEDITOR.tools.getNextNumber();k.push('<td class="cke_dark_background cke_centered" style="vertical-align: middle;"><a href="javascript:void(0)" role="option"',' aria-posinset="'+(f+1)+'"',' aria-setsize="'+l+'"',' aria-labelledby="'+m+'"',' class="cke_smile cke_hand" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ',i,', event, this );">','<img class="cke_hand" title="',b.smiley_descriptions[f],'" cke_src="',CKEDITOR.tools.htmlEncode(b.smiley_path+d[f]),'" alt="',b.smiley_descriptions[f],'"',' src="',CKEDITOR.tools.htmlEncode(b.smiley_path+d[f]),'"',CKEDITOR.env.ie?" onload=\"this.setAttribute('width', 2); this.removeAttribute('width');\" ":'','><span id="'+m+'" class="cke_voice_label">'+b.smiley_descriptions[f]+'</span>'+'</a>','</td>');\r
 if(f%e==e-1)k.push('</tr>');}if(f<e-1){for(;f<e-1;f++)k.push('<td></td>');k.push('</tr>');}k.push('</tbody></table></div>');var n={type:'html',html:k.join(''),onLoad:function(o){g=o.sender;},focus:function(){var o=this.getElement().getElementsByTag('a').getItem(0);o.focus();},onClick:h,style:'width: 100%; border-collapse: separate;'};return{title:a.lang.smiley.title,minWidth:270,minHeight:120,contents:[{id:'tab1',label:'',title:'',expand:true,padding:0,elements:[n]}],buttons:[CKEDITOR.dialog.cancelButton]};});\r
index f31bfcc..47636bb 100644 (file)
@@ -6,4 +6,4 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 (function(){var a=/^(\d+(?:\.\d+)?)(px|%)$/,b=/^(\d+(?:\.\d+)?)px$/,c=function(e){var f=this.id;if(!e.info)e.info={};e.info[f]=this.getValue();};function d(e,f){var g=function(i){return new CKEDITOR.dom.element(i,e.document);},h=e.plugins.dialogadvtab;return{title:e.lang.table.title,minWidth:310,minHeight:CKEDITOR.env.ie?310:280,onLoad:function(){var i=this,j=i.getContentElement('advanced','advStyles');if(j)j.on('change',function(k){var l=this.getStyle('width',''),m=i.getContentElement('info','txtWidth'),n=i.getContentElement('info','cmbWidthType'),o=1;if(l){o=l.length<3||l.substr(l.length-1)!='%';l=parseInt(l,10);}m&&m.setValue(l,true);n&&n.setValue(o?'pixels':'percents',true);var p=this.getStyle('height',''),q=i.getContentElement('info','txtHeight');p&&(p=parseInt(p,10));q&&q.setValue(p,true);});},onShow:function(){var q=this;var i=e.getSelection(),j=i.getRanges(),k=null,l=q.getContentElement('info','txtRows'),m=q.getContentElement('info','txtCols'),n=q.getContentElement('info','txtWidth'),o=q.getContentElement('info','txtHeight');if(f=='tableProperties'){if(k=i.getSelectedElement())k=k.getAscendant('table',true);else if(j.length>0){if(CKEDITOR.env.webkit)j[0].shrink(CKEDITOR.NODE_ELEMENT);var p=j[0].getCommonAncestor(true);k=p.getAscendant('table',true);}q._.selectedElement=k;}if(k){q.setupContent(k);l&&l.disable();m&&m.disable();}else{l&&l.enable();m&&m.enable();}n&&n.onChange();o&&o.onChange();},onOk:function(){var D=this;if(D._.selectedElement)var i=e.getSelection(),j=i.createBookmarks();var k=D._.selectedElement||g('table'),l=D,m={};D.commitContent(m,k);if(m.info){var n=m.info;if(!D._.selectedElement){var o=k.append(g('tbody')),p=parseInt(n.txtRows,10)||0,q=parseInt(n.txtCols,10)||0;for(var r=0;r<p;r++){var s=o.append(g('tr'));for(var t=0;t<q;t++){var u=s.append(g('td'));if(!CKEDITOR.env.ie)u.append(g('br'));}}}var v=n.selHeaders;if(!k.$.tHead&&(v=='row'||v=='both')){var w=new CKEDITOR.dom.element(k.$.createTHead());o=k.getElementsByTag('tbody').getItem(0);var x=o.getElementsByTag('tr').getItem(0);for(r=0;r<x.getChildCount();r++){var y=x.getChild(r);if(y.type==CKEDITOR.NODE_ELEMENT&&!y.hasAttribute('_cke_bookmark')){y.renameNode('th');y.setAttribute('scope','col');}}w.append(x.remove());}if(k.$.tHead!==null&&!(v=='row'||v=='both')){w=new CKEDITOR.dom.element(k.$.tHead);o=k.getElementsByTag('tbody').getItem(0);var z=o.getFirst();while(w.getChildCount()>0){x=w.getFirst();for(r=0;r<x.getChildCount();r++){var A=x.getChild(r);if(A.type==CKEDITOR.NODE_ELEMENT){A.renameNode('td');\r
 A.removeAttribute('scope');}}x.insertBefore(z);}w.remove();}if(!D.hasColumnHeaders&&(v=='col'||v=='both'))for(s=0;s<k.$.rows.length;s++){A=new CKEDITOR.dom.element(k.$.rows[s].cells[0]);A.renameNode('th');A.setAttribute('scope','row');}if(D.hasColumnHeaders&&!(v=='col'||v=='both'))for(r=0;r<k.$.rows.length;r++){s=new CKEDITOR.dom.element(k.$.rows[r]);if(s.getParent().getName()=='tbody'){A=new CKEDITOR.dom.element(s.$.cells[0]);A.renameNode('td');A.removeAttribute('scope');}}var B=[];if(n.txtHeight)k.setStyle('height',CKEDITOR.tools.cssLength(n.txtHeight));else k.removeStyle('height');if(n.txtWidth){var C=n.cmbWidthType||'pixels';k.setStyle('width',n.txtWidth+(C=='pixels'?'px':'%'));}else k.removeStyle('width');if(!k.getAttribute('style'))k.removeAttribute('style');}if(!D._.selectedElement)e.insertElement(k);else i.selectBookmarks(j);return true;},contents:[{id:'info',label:e.lang.table.title,elements:[{type:'hbox',widths:[null,null],styles:['vertical-align:top'],children:[{type:'vbox',padding:0,children:[{type:'text',id:'txtRows','default':3,label:e.lang.table.rows,required:true,style:'width:5em',validate:function(){var i=true,j=this.getValue();i=i&&CKEDITOR.dialog.validate.integer()(j)&&j>0;if(!i){alert(e.lang.table.invalidRows);this.select();}return i;},setup:function(i){this.setValue(i.$.rows.length);},commit:c},{type:'text',id:'txtCols','default':2,label:e.lang.table.columns,required:true,style:'width:5em',validate:function(){var i=true,j=this.getValue();i=i&&CKEDITOR.dialog.validate.integer()(j)&&j>0;if(!i){alert(e.lang.table.invalidCols);this.select();}return i;},setup:function(i){this.setValue(i.$.rows[0].cells.length);},commit:c},{type:'html',html:'&nbsp;'},{type:'select',id:'selHeaders','default':'',label:e.lang.table.headers,items:[[e.lang.table.headersNone,''],[e.lang.table.headersRow,'row'],[e.lang.table.headersColumn,'col'],[e.lang.table.headersBoth,'both']],setup:function(i){var j=this.getDialog();j.hasColumnHeaders=true;for(var k=0;k<i.$.rows.length;k++){if(i.$.rows[k].cells[0].nodeName.toLowerCase()!='th'){j.hasColumnHeaders=false;break;}}if(i.$.tHead!==null)this.setValue(j.hasColumnHeaders?'both':'row');else this.setValue(j.hasColumnHeaders?'col':'');},commit:c},{type:'text',id:'txtBorder','default':1,label:e.lang.table.border,style:'width:3em',validate:CKEDITOR.dialog.validate.number(e.lang.table.invalidBorder),setup:function(i){this.setValue(i.getAttribute('border')||'');},commit:function(i,j){if(this.getValue())j.setAttribute('border',this.getValue());\r
 else j.removeAttribute('border');}},{id:'cmbAlign',type:'select','default':'',label:e.lang.table.align,items:[[e.lang.common.notSet,''],[e.lang.table.alignLeft,'left'],[e.lang.table.alignCenter,'center'],[e.lang.table.alignRight,'right']],setup:function(i){this.setValue(i.getAttribute('align')||'');},commit:function(i,j){if(this.getValue())j.setAttribute('align',this.getValue());else j.removeAttribute('align');}}]},{type:'vbox',padding:0,children:[{type:'hbox',widths:['5em'],children:[{type:'text',id:'txtWidth',style:'width:5em',label:e.lang.table.width,'default':500,validate:CKEDITOR.dialog.validate.number(e.lang.table.invalidWidth),onLoad:function(){var i=this.getDialog().getContentElement('info','cmbWidthType'),j=i.getElement(),k=this.getInputElement(),l=k.getAttribute('aria-labelledby');k.setAttribute('aria-labelledby',[l,j.$.id].join(' '));},onChange:function(){var i=this.getDialog().getContentElement('advanced','advStyles');if(i){var j=this.getValue();if(j)j+=this.getDialog().getContentElement('info','cmbWidthType').getValue()=='percents'?'%':'px';i.updateStyle('width',j);}},setup:function(i){var j=a.exec(i.$.style.width);if(j)this.setValue(j[1]);else this.setValue('');},commit:c},{id:'cmbWidthType',type:'select',label:e.lang.table.widthUnit,labelStyle:'visibility:hidden','default':'pixels',items:[[e.lang.table.widthPx,'pixels'],[e.lang.table.widthPc,'percents']],setup:function(i){var j=a.exec(i.$.style.width);if(j)this.setValue(j[2]=='px'?'pixels':'percents');},onChange:function(){this.getDialog().getContentElement('info','txtWidth').onChange();},commit:c}]},{type:'hbox',widths:['5em'],children:[{type:'text',id:'txtHeight',style:'width:5em',label:e.lang.table.height,'default':'',validate:CKEDITOR.dialog.validate.number(e.lang.table.invalidHeight),onLoad:function(){var i=this.getDialog().getContentElement('info','htmlHeightType'),j=i.getElement(),k=this.getInputElement(),l=k.getAttribute('aria-labelledby');k.setAttribute('aria-labelledby',[l,j.$.id].join(' '));},onChange:function(){var i=this.getDialog().getContentElement('advanced','advStyles');if(i){var j=this.getValue();i.updateStyle('height',j&&j+'px');}},setup:function(i){var j=b.exec(i.$.style.height);if(j)this.setValue(j[1]);},commit:c},{id:'htmlHeightType',type:'html',html:'<div><br />'+e.lang.table.widthPx+'</div>'}]},{type:'html',html:'&nbsp;'},{type:'text',id:'txtCellSpace',style:'width:3em',label:e.lang.table.cellSpace,'default':1,validate:CKEDITOR.dialog.validate.number(e.lang.table.invalidCellSpacing),setup:function(i){this.setValue(i.getAttribute('cellSpacing')||'');\r
-},commit:function(i,j){if(this.getValue())j.setAttribute('cellSpacing',this.getValue());else j.removeAttribute('cellSpacing');}},{type:'text',id:'txtCellPad',style:'width:3em',label:e.lang.table.cellPad,'default':1,validate:CKEDITOR.dialog.validate.number(e.lang.table.invalidCellPadding),setup:function(i){this.setValue(i.getAttribute('cellPadding')||'');},commit:function(i,j){if(this.getValue())j.setAttribute('cellPadding',this.getValue());else j.removeAttribute('cellPadding');}}]}]},{type:'html',align:'right',html:''},{type:'vbox',padding:0,children:[{type:'text',id:'txtCaption',label:e.lang.table.caption,setup:function(i){var j=i.getElementsByTag('caption');if(j.count()>0){var k=j.getItem(0);k=k.getChild(0)&&k.getChild(0).getText()||'';k=CKEDITOR.tools.trim(k);this.setValue(k);}},commit:function(i,j){var k=this.getValue(),l=j.getElementsByTag('caption');if(k){if(l.count()>0){l=l.getItem(0);l.setHtml('');}else{l=new CKEDITOR.dom.element('caption',e.document);if(j.getChildCount())l.insertBefore(j.getFirst());else l.appendTo(j);}l.append(new CKEDITOR.dom.text(k,e.document));}else if(l.count()>0)for(var m=l.count()-1;m>=0;m--)l.getItem(m).remove();}},{type:'text',id:'txtSummary',label:e.lang.table.summary,setup:function(i){this.setValue(i.getAttribute('summary')||'');},commit:function(i,j){if(this.getValue())j.setAttribute('summary',this.getValue());else j.removeAttribute('summary');}}]}]},h&&h.createAdvancedTab(e)]};};CKEDITOR.dialog.add('table',function(e){return d(e,'table');});CKEDITOR.dialog.add('tableProperties',function(e){return d(e,'tableProperties');});})();\r
+},commit:function(i,j){if(this.getValue())j.setAttribute('cellSpacing',this.getValue());else j.removeAttribute('cellSpacing');}},{type:'text',id:'txtCellPad',style:'width:3em',label:e.lang.table.cellPad,'default':1,validate:CKEDITOR.dialog.validate.number(e.lang.table.invalidCellPadding),setup:function(i){this.setValue(i.getAttribute('cellPadding')||'');},commit:function(i,j){if(this.getValue())j.setAttribute('cellPadding',this.getValue());else j.removeAttribute('cellPadding');}}]}]},{type:'html',align:'right',html:''},{type:'vbox',padding:0,children:[{type:'text',id:'txtCaption',label:e.lang.table.caption,setup:function(i){var j=i.getElementsByTag('caption');if(j.count()>0){var k=j.getItem(0);k=CKEDITOR.tools.trim(k.getText());this.setValue(k);}},commit:function(i,j){var k=this.getValue(),l=j.getElementsByTag('caption');if(k){if(l.count()>0){l=l.getItem(0);l.setHtml('');}else{l=new CKEDITOR.dom.element('caption',e.document);if(j.getChildCount())l.insertBefore(j.getFirst());else l.appendTo(j);}l.append(new CKEDITOR.dom.text(k,e.document));}else if(l.count()>0)for(var m=l.count()-1;m>=0;m--)l.getItem(m).remove();}},{type:'text',id:'txtSummary',label:e.lang.table.summary,setup:function(i){this.setValue(i.getAttribute('summary')||'');},commit:function(i,j){if(this.getValue())j.setAttribute('summary',this.getValue());else j.removeAttribute('summary');}}]}]},h&&h.createAdvancedTab(e)]};};CKEDITOR.dialog.add('table',function(e){return d(e,'table');});CKEDITOR.dialog.add('tableProperties',function(e){return d(e,'tableProperties');});})();\r
index 5236285..46be3ae 100644 (file)
@@ -4,4 +4,4 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 */\r
 \r
 (function(){var a=CKEDITOR.tools.cssLength,b=CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks||CKEDITOR.env.version<7);function c(k){return CKEDITOR.env.ie?k.$.clientWidth:parseInt(k.getComputedStyle('width'),10);};function d(k,l){var m=k.getComputedStyle('border-'+l+'-width'),n={thin:'0px',medium:'1px',thick:'2px'};if(m.indexOf('px')<0)if(m in n&&k.getComputedStyle('border-style')!='none')m=n[m];else m=0;return parseInt(m,10);};function e(k){var l=k.$.rows,m=0,n,o,p;for(var q=0,r=l.length;q<r;q++){p=l[q];n=p.cells.length;if(n>m){m=n;o=p;}}return o;};function f(k){var l=[],m=-1,n=k.getComputedStyle('direction')=='rtl',o=e(k),p=new CKEDITOR.dom.element(k.$.tBodies[0]),q=p.getDocumentPosition();for(var r=0,s=o.cells.length;r<s;r++){var t=new CKEDITOR.dom.element(o.cells[r]),u=o.cells[r+1]&&new CKEDITOR.dom.element(o.cells[r+1]);m+=t.$.colSpan||1;var v,w,x,y,z=t.getDocumentPosition().x;n?w=z+d(t,'left'):v=z+t.$.offsetWidth-d(t,'right');if(u){z=u.getDocumentPosition().x;n?v=z+u.$.offsetWidth-d(u,'right'):w=z+d(u,'left');}else{z=k.getDocumentPosition().x;n?v=z:w=z+k.$.offsetWidth;}x=Math.max(w-v,3);y=Math.max(Math.round(7-x/2),0);l.push({table:k,index:m,x:v,y:q.y,width:x,height:p.$.offsetHeight,padding:y,rtl:n});}return l;};function g(k,l){for(var m=0,n=k.length;m<n;m++){var o=k[m],p=o.padding;if(l>=o.x-p&&l<=o.x+o.width+p)return o;}return null;};function h(k){(k.data||k).preventDefault();};function i(k){var l,m,n,o,p,q,r,s,t,u;function v(){l=null;q=0;o=0;m.removeListener('mouseup',A);n.removeListener('mousedown',z);n.removeListener('mousemove',B);m.getBody().setStyle('cursor','auto');b?n.remove():n.hide();};function w(){var D=l.index,E=CKEDITOR.tools.buildTableMap(l.table),F=[],G=[],H=Number.MAX_VALUE,I=H,J=l.rtl;for(var K=0,L=E.length;K<L;K++){var M=E[K],N=M[D+(J?1:0)],O=M[D+(J?0:1)];N=N&&new CKEDITOR.dom.element(N);O=O&&new CKEDITOR.dom.element(O);if(!N||!O||!N.equals(O)){N&&(H=Math.min(H,c(N)));O&&(I=Math.min(I,c(O)));F.push(N);G.push(O);}}r=F;s=G;t=l.x-H;u=l.x+I;n.setOpacity(0.5);p=parseInt(n.getStyle('left'),10);q=0;o=1;n.on('mousemove',B);m.on('dragstart',h);};function x(){o=0;n.setOpacity(0);q&&y();var D=l.table;setTimeout(function(){D.removeCustomData('_cke_table_pillars');},0);m.removeListener('dragstart',h);};function y(){var D=l.rtl,E=D?s.length:r.length;for(var F=0;F<E;F++){var G=r[F],H=s[F],I=l.table;CKEDITOR.tools.setTimeout(function(J,K,L,M,N,O){J&&J.setStyle('width',a(Math.max(K+O,0)));L&&L.setStyle('width',a(Math.max(M-O,0)));if(N)I.setStyle('width',a(N+O*(D?-1:1)));\r
-},0,this,[G,G&&c(G),H,H&&c(H),(!G||!H)&&c(I)+d(I,'left')+d(I,'right'),q]);}};function z(D){h(D);w();m.on('mouseup',A,this);};function A(D){D.removeListener();x();};function B(D){C(D.data.$.clientX);};m=k.document;n=CKEDITOR.dom.element.createFromHtml('<div cke_temp=1 contenteditable=false unselectable=on style="position:absolute;cursor:col-resize;filter:alpha(opacity=0);opacity:0;padding:0;background-color:#004;background-image:none;border:0px none;z-index:10"></div>',m);if(!b)m.getDocumentElement().append(n);this.attachTo=function(D){if(o)return;if(b){m.getBody().append(n);q=0;}l=D;n.setStyles({width:a(D.width),height:a(D.height),left:a(D.x),top:a(D.y)});b&&n.setOpacity(0.25);n.on('mousedown',z,this);m.getBody().setStyle('cursor','col-resize');n.show();};var C=this.move=function(D){if(!l)return 0;var E=l.padding;if(!o&&(D<l.x-E||D>l.x+l.width+E)){v();return 0;}var F=D-Math.round(n.$.offsetWidth/2);if(o){if(F==t||F==u)return 1;F=Math.max(F,t);F=Math.min(F,u);q=F-p;}n.setStyle('left',a(F));return 1;};};function j(k){var l=k.data.getTarget();if(k.name=='mouseout'){if(!l.is('table'))return;var m=new CKEDITOR.dom.element(k.data.$.relatedTarget||k.data.$.toElement);while(m&&m.$&&!m.equals(l)&&!m.is('body'))m=m.getParent();if(!m||m.equals(l))return;}l.getAscendant('table',true).removeCustomData('_cke_table_pillars');k.removeListener();};CKEDITOR.plugins.add('tableresize',{requires:['tabletools'],init:function(k){k.on('contentDom',function(){var l;k.document.getBody().on('mousemove',function(m){m=m.data;if(l&&l.move(m.$.clientX)){h(m);return;}var n=m.getTarget(),o,p;if(!n.is('table')&&!n.getAscendant('tbody',true))return;o=n.getAscendant('table',true);if(!(p=o.getCustomData('_cke_table_pillars'))){o.setCustomData('_cke_table_pillars',p=f(o));o.on('mouseout',j);o.on('mousedown',j);}var q=g(p,m.$.clientX);if(q){!l&&(l=new i(k));l.attachTo(q);}});});}});})();\r
+},0,this,[G,G&&c(G),H,H&&c(H),(!G||!H)&&c(I)+d(I,'left')+d(I,'right'),q]);}};function z(D){h(D);w();m.on('mouseup',A,this);};function A(D){D.removeListener();x();};function B(D){C(D.data.$.clientX);};m=k.document;n=CKEDITOR.dom.element.createFromHtml('<div cke_temp=1 contenteditable=false unselectable=on style="position:absolute;cursor:col-resize;filter:alpha(opacity=0);opacity:0;padding:0;background-color:#004;background-image:none;border:0px none;z-index:10"></div>',m);if(!b)m.getDocumentElement().append(n);this.attachTo=function(D){if(o)return;if(b){m.getBody().append(n);q=0;}l=D;n.setStyles({width:a(D.width),height:a(D.height),left:a(D.x),top:a(D.y)});b&&n.setOpacity(0.25);n.on('mousedown',z,this);m.getBody().setStyle('cursor','col-resize');n.show();};var C=this.move=function(D){if(!l)return 0;var E=l.padding;if(!o&&(D<l.x-E||D>l.x+l.width+E)){v();return 0;}var F=D-Math.round(n.$.offsetWidth/2);if(o){if(F==t||F==u)return 1;F=Math.max(F,t);F=Math.min(F,u);q=F-p;}n.setStyle('left',a(F));return 1;};};function j(k){var l=k.data.getTarget();if(k.name=='mouseout'){if(!l.is('table'))return;var m=new CKEDITOR.dom.element(k.data.$.relatedTarget||k.data.$.toElement);while(m&&m.$&&!m.equals(l)&&!m.is('body'))m=m.getParent();if(!m||m.equals(l))return;}l.getAscendant('table',1).removeCustomData('_cke_table_pillars');k.removeListener();};CKEDITOR.plugins.add('tableresize',{requires:['tabletools'],init:function(k){k.on('contentDom',function(){var l;k.document.getBody().on('mousemove',function(m){m=m.data;if(l&&l.move(m.$.clientX)){h(m);return;}var n=m.getTarget(),o,p;if(!n.is('table')&&!n.getAscendant('tbody',1))return;o=n.getAscendant('table',1);if(!(p=o.getCustomData('_cke_table_pillars'))){o.setCustomData('_cke_table_pillars',p=f(o));o.on('mouseout',j);o.on('mousedown',j);}var q=g(p,m.$.clientX);if(q){!l&&(l=new i(k));l.attachTo(q);}});});}});})();\r
index 44ef3e3..61f09cf 100644 (file)
@@ -3,5 +3,5 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-(function(){var a=CKEDITOR.document;CKEDITOR.dialog.add('templates',function(b){function c(i,j){i.setHtml('');for(var k=0;k<j.length;k++){var l=CKEDITOR.getTemplates(j[k]),m=l.imagesPath,n=l.templates,o=n.length;for(var p=0;p<o;p++){var q=n[p],r=d(q,m);r.setAttribute('aria-posinset',p+1);r.setAttribute('aria-setsize',o);i.append(r);}}};function d(i,j){var k=CKEDITOR.dom.element.createFromHtml('<a href="javascript:void(0)" tabIndex="-1" role="option" ><div class="cke_tpl_item"></div></a>'),l='<table style="width:350px;" class="cke_tpl_preview" role="presentation"><tr>';if(i.image&&j)l+='<td class="cke_tpl_preview_img"><img src="'+CKEDITOR.getUrl(j+i.image)+'"'+(CKEDITOR.env.ie6Compat?' onload="this.width=this.width"':'')+' alt="" title=""></td>';l+='<td style="white-space:normal;"><span class="cke_tpl_title">'+i.title+'</span><br/>';if(i.description)l+='<span>'+i.description+'</span>';l+='</td></tr></table>';k.getFirst().setHtml(l);k.on('click',function(){e(i.html);});return k;};function e(i){var j=CKEDITOR.dialog.getCurrent(),k=j.getValueOf('selectTpl','chkInsertOpt');if(k){b.on('contentDom',function(l){l.removeListener();j.hide();var m=new CKEDITOR.dom.range(b.document);m.moveToElementEditStart(b.document.getBody());m.select(true);setTimeout(function(){b.fire('saveSnapshot');},0);});b.fire('saveSnapshot');b.setData(i);}else{b.insertHtml(i);j.hide();}};function f(i){var j=i.data.getTarget(),k=g.equals(j);if(k||g.contains(j)){var l=i.data.getKeystroke(),m=g.getElementsByTag('a'),n;if(m){if(k)n=m.getItem(0);else switch(l){case 40:n=j.getNext();break;case 38:n=j.getPrevious();break;case 13:case 32:j.fire('click');}if(n){n.focus();i.data.preventDefault();}}}};CKEDITOR.skins.load(b,'templates');var g,h='cke_tpl_list_label_'+CKEDITOR.tools.getNextNumber();return{title:b.lang.templates.title,minWidth:CKEDITOR.env.ie?440:400,minHeight:340,contents:[{id:'selectTpl',label:b.lang.templates.title,elements:[{type:'vbox',padding:5,children:[{type:'html',html:'<span>'+b.lang.templates.selectPromptMsg+'</span>'},{id:'templatesList',type:'html',focus:true,html:'<div class="cke_tpl_list" tabIndex="-1" role="listbox" aria-labelledby="'+h+'">'+'<div class="cke_tpl_loading"><span></span></div>'+'</div>'+'<span class="cke_voice_label" id="'+h+'">'+b.lang.templates.options+'</span>'},{id:'chkInsertOpt',type:'checkbox',label:b.lang.templates.insertOption,'default':b.config.templates_replaceContent}]}]}],buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var i=this.getContentElement('selectTpl','templatesList');\r
-g=i.getElement();CKEDITOR.loadTemplates(b.config.templates_files,function(){var j=b.config.templates.split(',');if(j.length){c(g,j);i.focus();}else g.setHtml('<div class="cke_tpl_empty"><span>'+b.lang.templates.emptyListMsg+'</span>'+'</div>');});this._.element.on('keydown',f);},onHide:function(){this._.element.removeListener('keydown',f);}};});})();\r
+(function(){var a=CKEDITOR.document;CKEDITOR.dialog.add('templates',function(b){function c(k,l){k.setHtml('');for(var m=0,n=l.length;m<n;m++){var o=CKEDITOR.getTemplates(l[m]),p=o.imagesPath,q=o.templates,r=q.length;for(var s=0;s<r;s++){var t=q[s],u=d(t,p);u.setAttribute('aria-posinset',s+1);u.setAttribute('aria-setsize',r);k.append(u);}}};function d(k,l){var m=CKEDITOR.dom.element.createFromHtml('<a href="javascript:void(0)" tabIndex="-1" role="option" ><div class="cke_tpl_item"></div></a>'),n='<table style="width:350px;" class="cke_tpl_preview" role="presentation"><tr>';if(k.image&&l)n+='<td class="cke_tpl_preview_img"><img src="'+CKEDITOR.getUrl(l+k.image)+'"'+(CKEDITOR.env.ie6Compat?' onload="this.width=this.width"':'')+' alt="" title=""></td>';n+='<td style="white-space:normal;"><span class="cke_tpl_title">'+k.title+'</span><br/>';if(k.description)n+='<span>'+k.description+'</span>';n+='</td></tr></table>';m.getFirst().setHtml(n);m.on('click',function(){e(k.html);});return m;};function e(k){var l=CKEDITOR.dialog.getCurrent(),m=l.getValueOf('selectTpl','chkInsertOpt');if(m){b.on('contentDom',function(n){n.removeListener();l.hide();var o=new CKEDITOR.dom.range(b.document);o.moveToElementEditStart(b.document.getBody());o.select(1);setTimeout(function(){b.fire('saveSnapshot');},0);});b.fire('saveSnapshot');b.setData(k);}else{b.insertHtml(k);l.hide();}};function f(k){var l=k.data.getTarget(),m=g.equals(l);if(m||g.contains(l)){var n=k.data.getKeystroke(),o=g.getElementsByTag('a'),p;if(o){if(m)p=o.getItem(0);else switch(n){case 40:p=l.getNext();break;case 38:p=l.getPrevious();break;case 13:case 32:l.fire('click');}if(p){p.focus();k.data.preventDefault();}}}};CKEDITOR.skins.load(b,'templates');var g,h='cke_tpl_list_label_'+CKEDITOR.tools.getNextNumber(),i=b.lang.templates,j=b.config;return{title:b.lang.templates.title,minWidth:CKEDITOR.env.ie?440:400,minHeight:340,contents:[{id:'selectTpl',label:i.title,elements:[{type:'vbox',padding:5,children:[{type:'html',html:'<span>'+i.selectPromptMsg+'</span>'},{id:'templatesList',type:'html',focus:true,html:'<div class="cke_tpl_list" tabIndex="-1" role="listbox" aria-labelledby="'+h+'">'+'<div class="cke_tpl_loading"><span></span></div>'+'</div>'+'<span class="cke_voice_label" id="'+h+'">'+i.options+'</span>'},{id:'chkInsertOpt',type:'checkbox',label:i.insertOption,'default':j.templates_replaceContent}]}]}],buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var k=this.getContentElement('selectTpl','templatesList');\r
+g=k.getElement();CKEDITOR.loadTemplates(j.templates_files,function(){var l=(j.templates||'default').split(',');if(l.length){c(g,l);k.focus();}else g.setHtml('<div class="cke_tpl_empty"><span>'+i.emptyListMsg+'</span>'+'</div>');});this._.element.on('keydown',f);},onHide:function(){this._.element.removeListener('keydown',f);}};});})();\r
diff --git a/plugins/uicolor/lang/he.js b/plugins/uicolor/lang/he.js
new file mode 100644 (file)
index 0000000..7d65d8c
--- /dev/null
@@ -0,0 +1,6 @@
+/*\r
+Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.\r
+For licensing, see LICENSE.html or http://ckeditor.com/license\r
+*/\r
+\r
+CKEDITOR.plugins.setLang('uicolor','he',{uicolor:{title:'בחירת צבע ממשק משתמש',preview:'תצוגה מקדימה',config:'הדבק את הטקסט הבא לתוך הקובץ config.js',predefined:'קבוצות צבעים מוגדרות מראש'}});\r
index 76bd069..3258b0c 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.plugins.add('uicolor',{requires:['dialog'],lang:['en'],init:function(a){if(CKEDITOR.env.ie6Compat)return;a.addCommand('uicolor',new CKEDITOR.dialogCommand('uicolor'));a.ui.addButton('UIColor',{label:a.lang.uicolor.title,command:'uicolor',icon:this.path+'uicolor.gif'});CKEDITOR.dialog.add('uicolor',this.path+'dialogs/uicolor.js');CKEDITOR.scriptLoader.load(CKEDITOR.getUrl('plugins/uicolor/yui/yui.js'));a.element.getDocument().appendStyleSheet(CKEDITOR.getUrl('plugins/uicolor/yui/assets/yui.css'));}});\r
+CKEDITOR.plugins.add('uicolor',{requires:['dialog'],lang:['en','he'],init:function(a){if(CKEDITOR.env.ie6Compat)return;a.addCommand('uicolor',new CKEDITOR.dialogCommand('uicolor'));a.ui.addButton('UIColor',{label:a.lang.uicolor.title,command:'uicolor',icon:this.path+'uicolor.gif'});CKEDITOR.dialog.add('uicolor',this.path+'dialogs/uicolor.js');CKEDITOR.scriptLoader.load(CKEDITOR.getUrl('plugins/uicolor/yui/yui.js'));a.element.getDocument().appendStyleSheet(CKEDITOR.getUrl('plugins/uicolor/yui/assets/yui.css'));}});\r
index d498225..b1bc192 100644 (file)
@@ -4,6 +4,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 */\r
 \r
 body .cke_dialog{visibility:visible;}.cke_skin_kama table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_kama .cke_dialog_body{z-index:1;border:solid 1px #ddd;padding:5px;background-color:#fff;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;position:relative;_position:static;}.cke_skin_kama .cke_dialog_tl,.cke_skin_kama .cke_dialog_tr,.cke_skin_kama .cke_dialog_tc,.cke_skin_kama .cke_dialog_bl,.cke_skin_kama .cke_dialog_br,.cke_skin_kama .cke_dialog_bc,.cke_skin_kama .cke_dialog_ml,.cke_skin_kama .cke_dialog_mr{display:none;}.cke_skin_kama .cke_dialog_title{font-weight:bold;font-size:14px;padding:3px 3px 8px;cursor:move;position:relative;border-bottom:1px solid #eee;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_title,.cke_skin_kama .cke_browser_ie6 .cke_dialog_title,.cke_skin_kama .cke_browser_ie7 .cke_dialog_title{margin-bottom:22px;}.cke_skin_kama .cke_browser_iequirks.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie6.cke_single_page .cke_dialog_title,.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_title{margin-bottom:10px;}.cke_skin_kama .cke_dialog_contents{background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;overflow:auto;padding:17px 10px 5px 10px;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;margin-top:22px;}.cke_skin_kama .cke_dialog_footer{text-align:right;background-color:#ebebeb;border:solid 1px #fff;border-bottom:none;-moz-border-radius-bottomleft:5px;-moz-border-radius-bottomright:5px;-webkit-border-bottom-left-radius:5px;-webkit-border-bottom-right-radius:5px;border-bottom-left-radius:5px;border-bottom-right-radius:5px;}.cke_skin_kama .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_kama .cke_dialog_tabs{height:23px;display:inline-block;_display:block;margin-left:10px;margin-right:10px;margin-top:11px;position:absolute;z-index:2;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie6 .cke_dialog_tabs,.cke_skin_kama .cke_browser_ie7 .cke_dialog_tabs{top:33px;}.cke_skin_kama .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_kama a.cke_dialog_tab,.cke_skin_kama a:link.cke_dialog_tab,.cke_skin_kama a:active.cke_dialog_tab,.cke_skin_kama a:hover.cke_dialog_tab,.cke_skin_kama a:visited.cke_dialog_tab{background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1323px;background-color:#ebebeb;height:14px;padding:4px 8px;display:inline-block;cursor:pointer;}.cke_skin_kama .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_kama .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_kama a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_kama .cke_hc a:hover.cke_dialog_tab{padding:2px 6px!important;border-width:3px;}.cke_skin_kama a.cke_dialog_tab_selected,.cke_skin_kama a:link.cke_dialog_tab_selected,.cke_skin_kama a:active.cke_dialog_tab_selected,.cke_skin_kama a:hover.cke_dialog_tab_selected,.cke_skin_kama a:visited.cke_dialog_tab_selected{background-position:0 -1279px;cursor:default;}.cke_skin_kama .cke_hc a.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_kama .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 6px!important;border-width:3px;}.cke_skin_kama .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_kama .cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:10px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_contents{margin-top:0;position:relative;margin-bottom:-22px;}.cke_skin_kama .cke_dialog_ui_vbox table,.cke_skin_kama .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_kama .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_kama input.cke_dialog_ui_input_text,.cke_skin_kama input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}\r
-.cke_skin_kama div.cke_dialog_ui_input_text,.cke_skin_kama div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_kama textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_kama div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_kama .cke_dialog_ui_hbox{width:100%;}.cke_skin_kama .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_kama a.cke_dialog_ui_button{border-collapse:separate;cursor:default;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:transparent url(images/sprites.png) repeat-x scroll 0 -1069px;_background:none;padding:5px 0;text-align:center;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button{padding:0;}.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{width:70px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span{width:100px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{padding:5px 15px;text-align:center;color:#3b3b1f;background:#53D9F0 none;display:inline-block;cursor:default;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button span.cke_dialog_ui_button{margin:0;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button{display:inline-block;padding-top:3px;padding-bottom:2px;margin:2px 0;}.cke_skin_kama a.cke_dialog_ui_button_ok span,.cke_skin_kama a.cke_dialog_ui_button_cancel span{padding-right:20px;padding-left:20px;}.cke_skin_kama a.cke_dialog_ui_button_ok{background-position:0 -1143px;}.cke_skin_kama a.cke_dialog_ui_button_ok span{background:transparent url(images/sprites.png) no-repeat scroll right -1219px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_ok span{background-position:left -1219px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-color:#B8E834;margin-right:0;}.cke_skin_kama a.cke_dialog_ui_button_cancel{background-position:0 -1104px;}.cke_skin_kama a.cke_dialog_ui_button_cancel span{background:transparent url(images/sprites.png) no-repeat scroll right -1245px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_cancel span{background-position:left -1245px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span{background-color:#F65D20;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-image:none;}.cke_skin_kama span.cke_dialog_ui_button{padding:2px 10px;text-align:center;color:#222;display:inline-block;cursor:default;min-width:60px;+margin:2px 0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_kama a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}\r
-.cke_skin_kama a:hover.cke_dialog_ui_button,.cke_skin_kama a:focus.cke_dialog_ui_button,.cke_skin_kama a:active.cke_dialog_ui_button{background-position:0 -1179px;}.cke_skin_kama .cke_hc a:hover.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:focus.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:active.cke_dialog_ui_button{border-width:2px;}.cke_skin_kama .cke_browser_iequirks a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:active.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:active.cke_dialog_ui_button span{background-image:none;background:#F7A922;}.cke_skin_kama .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_kama .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;width:60px;text-align:center;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons a.cke_dialog_ui_button{display:block;padding:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{padding-bottom:5px;padding-top:6px;margin-bottom:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_ok .cke_dialog_ui_button{background-position:right -1214px;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_cancel .cke_dialog_ui_button{background-position:right -1242px;}.cke_skin_kama strong{font-weight:bold;}.cke_skin_kama .cke_dialog .cke_dialog_body .cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:0 -1022px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_kama .cke_dialog_close_button span{display:none;}.cke_skin_kama .cke_dialog_close_button:hover{background-position:0 -1045px;}.cke_skin_kama .cke_ltr .cke_dialog_close_button{right:10px;}.cke_skin_kama .cke_browser_ie8.cke_rtl .cke_dialog_close_button{left:8px;}.cke_skin_kama .cke_rtl .cke_dialog_close_button{left:10px;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{left:16px;top:0;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{position:absolute;left:10px;top:5px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_footer{margin-top:22px;}.cke_skin_kama .cke_browser_ie6 .cke_dialog_close_button,.cke_skin_kama .cke_browser_iequirks .cke_dialog_close_button{top:7px;}.cke_skin_kama .cke_browser_ie7.cke_ltr .cke_dialog_close_button{margin-top:0;}.cke_skin_kama .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_kama .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_kama .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_dialog .cke_centered{text-align:center;}.cke_skin_kama .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_kama .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_kama .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_kama .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_kama .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}\r
-.cke_skin_kama .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_kama .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_kama .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_kama .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_kama .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_kama .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_kama .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_disabled{color:#a0a0a0;}.cke_skin_kama .cke_hc .cke_dialog_title,.cke_skin_kama .cke_hc .cke_dialog_tabs,.cke_skin_kama .cke_hc .cke_dialog_contents,.cke_skin_kama .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_kama .cke_dialog_body .cke_label{display:none;}.cke_skin_kama .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_kama .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_kama .cke_hc a.cke_btn_locked,.cke_skin_kama .cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_kama a.cke_smile img{border:2px solid #eaead1;}.cke_skin_kama a.cke_smile:focus img,.cke_skin_kama a.cke_smile:active img,.cke_skin_kama a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_kama .cke_hc .cke_dialog_tabs a,.cke_skin_kama .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}\r
+.cke_skin_kama div.cke_dialog_ui_input_text,.cke_skin_kama div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_kama .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_kama .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_kama .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_kama textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_kama div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_kama div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_kama .cke_dialog_ui_hbox{width:100%;}.cke_skin_kama .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_dialog_ui_hbox_child,.cke_skin_kama .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_kama .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_kama a.cke_dialog_ui_button{border-collapse:separate;cursor:default;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background:transparent url(images/sprites.png) repeat-x scroll 0 -1069px;_background:none;padding:5px 0;text-align:center;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button{padding:0;}.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{width:70px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span{width:100px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button span{padding:5px 15px;text-align:center;color:#3b3b1f;background:#53D9F0 none;display:inline-block;cursor:default;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button span.cke_dialog_ui_button{margin:0;}.cke_skin_kama .cke_browser_webkit a.cke_dialog_ui_button{display:inline-block;padding-top:3px;padding-bottom:2px;margin:2px 0;}.cke_skin_kama a.cke_dialog_ui_button_ok span,.cke_skin_kama a.cke_dialog_ui_button_cancel span{padding-right:20px;padding-left:20px;}.cke_skin_kama a.cke_dialog_ui_button_ok{background-position:0 -1143px;}.cke_skin_kama a.cke_dialog_ui_button_ok span{background:transparent url(images/sprites.png) no-repeat scroll right -1219px;}.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_ok span{background-position:left -1219px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-color:#B8E834;margin-right:0;}.cke_skin_kama a.cke_dialog_ui_button_cancel{background-position:0 -1104px;}.cke_skin_kama a.cke_dialog_ui_button_cancel span{background:transparent url(images/sprites.png) no-repeat scroll right -1245px;}\r
+.cke_skin_kama .cke_rtl a.cke_dialog_ui_button_cancel span{background-position:left -1245px;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span{background-color:#F65D20;}.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_cancel span,.cke_skin_kama .cke_browser_iequirks a.cke_dialog_ui_button_ok span,.cke_skin_kama .cke_browser_ie6 a.cke_dialog_ui_button_ok span{background-image:none;}.cke_skin_kama span.cke_dialog_ui_button{padding:2px 10px;text-align:center;color:#222;display:inline-block;cursor:default;min-width:60px;+margin:2px 0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_kama a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_kama a:hover.cke_dialog_ui_button,.cke_skin_kama a:focus.cke_dialog_ui_button,.cke_skin_kama a:active.cke_dialog_ui_button{background-position:0 -1179px;}.cke_skin_kama .cke_hc a:hover.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:focus.cke_dialog_ui_button,.cke_skin_kama .cke_hc a:active.cke_dialog_ui_button{border-width:2px;}.cke_skin_kama .cke_browser_iequirks a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_iequirks a:active.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:hover.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:focus.cke_dialog_ui_button span,.cke_skin_kama .cke_browser_ie6 a:active.cke_dialog_ui_button span{background-image:none;background:#F7A922;}.cke_skin_kama .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_kama .cke_dialog_footer_buttons span.cke_dialog_ui_button{margin:7px 0;width:60px;text-align:center;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons a.cke_dialog_ui_button{display:block;padding:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{padding-bottom:5px;padding-top:6px;margin-bottom:0;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_ok .cke_dialog_ui_button{background-position:right -1214px;}.cke_skin_kama .cke_browser_gecko18 .cke_dialog_footer_buttons .cke_dialog_ui_button_cancel .cke_dialog_ui_button{background-position:right -1242px;}.cke_skin_kama strong{font-weight:bold;}.cke_skin_kama .cke_dialog .cke_dialog_body .cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:0 -1022px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_kama .cke_dialog_close_button span{display:none;}.cke_skin_kama .cke_dialog_close_button:hover{background-position:0 -1045px;}.cke_skin_kama .cke_ltr .cke_dialog_close_button{right:10px;}.cke_skin_kama .cke_browser_ie8.cke_rtl .cke_dialog_close_button{left:8px;}.cke_skin_kama .cke_rtl .cke_dialog_close_button{left:10px;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{left:16px;top:0;}.cke_skin_kama .cke_browser_ie7.cke_rtl .cke_dialog_close_button{position:absolute;left:10px;top:5px;}.cke_skin_kama .cke_browser_ie7.cke_single_page .cke_dialog_footer{margin-top:22px;}.cke_skin_kama .cke_browser_ie6 .cke_dialog_close_button,.cke_skin_kama .cke_browser_iequirks .cke_dialog_close_button{top:7px;}.cke_skin_kama .cke_browser_ie7.cke_ltr .cke_dialog_close_button{margin-top:0;}.cke_skin_kama .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_kama .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_kama .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_dialog .cke_centered{text-align:center;}.cke_skin_kama .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}\r
+.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_kama .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_kama .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_kama .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_kama .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_kama .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_kama .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_kama .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_kama .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_kama .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_kama .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_kama .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_kama .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_kama .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_kama .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_kama .cke_disabled{color:#a0a0a0;}.cke_skin_kama .cke_hc .cke_dialog_title,.cke_skin_kama .cke_hc .cke_dialog_tabs,.cke_skin_kama .cke_hc .cke_dialog_contents,.cke_skin_kama .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_kama .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_kama .cke_dialog_body .cke_label{display:none;}.cke_skin_kama .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_kama .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_kama .cke_hc a.cke_btn_locked,.cke_skin_kama .cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_kama .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_kama a.cke_smile img{border:2px solid #eaead1;}.cke_skin_kama a.cke_smile:focus img,.cke_skin_kama a.cke_smile:active img,.cke_skin_kama a.cke_smile:hover img{border-color:#C7C78F;}.cke_skin_kama .cke_hc .cke_dialog_tabs a,.cke_skin_kama .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}\r
index 54e2b6b..2f33668 100644 (file)
@@ -6,7 +6,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 .cke_skin_kama *,.cke_skin_kama a:hover,.cke_skin_kama a:link,.cke_skin_kama a:visited,.cke_skin_kama a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;font-size:12px;font-family:Arial,Helvetica,Tahoma,Verdana,Sans-Serif;}.cke_skin_kama .cke_rtl *,.cke_skin_kama .cke_rtl a:hover,.cke_skin_kama .cke_rtl a:link,.cke_skin_kama .cke_rtl a:visited,.cke_skin_kama .cke_rtl a:active,.cke_rtl .cke_skin_kama *,.cke_rtl .cke_skin_kama a:hover,.cke_rtl .cke_skin_kama a:link,.cke_rtl .cke_skin_kama a:visited,.cke_rtl .cke_skin_kama a:active{text-align:right;}.cke_skin_kama iframe{vertical-align:inherit;}.cke_skin_kama textarea{white-space:pre;}.cke_skin_kama .cke_browser_gecko textarea{cursor:text;}.cke_skin_kama .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_kama input[type="text"],.cke_skin_kama input[type="password"]{cursor:text;}.cke_skin_kama input[type="text"][disabled],.cke_skin_kama input[type="password"][disabled]{cursor:default;}.cke_skin_kama fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_kama{display:block;}span.cke_skin_kama{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;border:1px solid #D3D3D3;padding:5px;}.cke_skin_kama span.cke_browser_webkit,.cke_skin_kama span.cke_browser_gecko18{display:block;}.cke_skin_kama .cke_wrapper{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-color:#d3d3d3;background-image:url(images/sprites.png);background-repeat:repeat-x;background-position:0 -1950px;display:block;_display:inline-block;padding:5px;}.cke_shared .cke_skin_kama .cke_wrapper{padding-bottom:0;}.cke_skin_kama .cke_browser_ie6 .cke_wrapper,.cke_skin_kama .cke_browser_iequirks .cke_wrapper{background-image:none;}.cke_skin_kama .cke_editor{display:inline-table;width:100%;}.cke_skin_kama .ltr .cke_browser_ie iframe{margin-right:-10px;}.cke_skin_kama .rtl .cke_browser_ie iframe{margin-left:-10px;}.cke_skin_kama .cke_browser_opera .cke_editor.cke_skin_kama .cke_resizer{display:table;}.cke_skin_kama .cke_contents{margin:5px;}.cke_skin_kama .cke_hc .cke_contents{border:1px solid black;}.cke_skin_kama .cke_contents iframe{background-color:#fff;}.cke_skin_kama .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_kama textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre;}.cke_skin_kama .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_kama .cke_resizer{width:12px;height:12px;margin-top:9px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1428px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_kama .cke_rtl .cke_resizer{cursor:sw-resize;background-position:0 -1455px;float:left;}.cke_skin_kama .cke_resizer_horizontal,.cke_skin_kama .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_kama .cke_resizer_vertical,.cke_skin_kama .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_kama .cke_maximized .cke_resizer{display:none;}.cke_skin_kama .cke_browser_ie6 .cke_contents textarea,.cke_skin_kama .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_kama .cke_browser_ie.cke_browser_quirks .cke_contents iframe{position:absolute;top:0;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_skin_kama .cke_browser_ie7 .cke_editor{display:inline-block;}.cke_skin_kama .cke_browser_ie6 .cke_editor,.cke_shared .cke_skin_kama .cke_browser_ie7 .cke_wrapper{padding-bottom:5px;}.cke_skin_kama .cke_voice_label{display:none;}.cke_skin_kama legend.cke_voice_label{display:none;}.cke_skin_kama .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_kama .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_kama .cke_contextmenu{margin:0;}\r
 .cke_skin_kama .cke_panel iframe{width:100%;height:100%;}html.cke_skin_kama_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}.cke_panel_frame .cke_label{display:none;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_kama .cke_button_textcolor_panel,.cke_skin_kama .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_kama .cke_toolbox{display:none;}}.cke_skin_kama .cke_browser_webkit .cke_toolbox,.cke_skin_kama .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_kama .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_kama a.cke_toolbox_collapser,.cke_skin_kama a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -1366px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:1px outset #D3D3D3;margin:11px 0 2px;cursor:pointer;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_kama a.cke_toolbox_collapser span{display:none;}.cke_skin_kama .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_kama a.cke_toolbox_collapser_min,.cke_skin_kama a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -1387px;background-repeat:no-repeat;margin:2px 4px;}.cke_skin_kama .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_kama .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1408px;}.cke_skin_kama .cke_toolbar{display:inline;}.cke_skin_kama .cke_separator{display:none;}.cke_skin_kama .cke_break{font-size:0;clear:left;}.cke_skin_kama .cke_rtl .cke_break{clear:right;}.cke_skin_kama .cke_toolbar_start{display:none;}.cke_skin_kama .cke_toolgroup{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -500px;float:left;margin-right:6px;margin-bottom:5px;padding:2px;display:inline;}.cke_skin_kama .cke_rtl .cke_toolgroup{float:right;margin-right:0;margin-left:6px;}\r
 .cke_skin_kama .cke_toolgroup{display:block;height:22px;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active,.cke_skin_kama .cke_button a.cke_off{border-radius:3px;outline:none;padding:2px 4px;height:18px;display:inline-block;cursor:default;}.cke_skin_kama .cke_button a,.cke_skin_kama .cke_button a.cke_off{filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_kama .cke_hc .cke_button a,.cke_skin_kama .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_kama .cke_button a.cke_on{background-color:#a3d7ff;filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_hc .cke_button a.cke_on{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_hc .cke_button a.cke_disabled *,.cke_skin_kama .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on,.cke_skin_kama .cke_button a:hover.cke_off,.cke_skin_kama .cke_button a:focus.cke_off,.cke_skin_kama .cke_button a:active.cke_off{filter:alpha(opacity=100);opacity:1;padding:2px 4px;}.cke_skin_kama .cke_button a:hover,.cke_skin_kama .cke_button a:focus,.cke_skin_kama .cke_button a:active{background-color:#dff1ff;}.cke_skin_kama .cke_button a:hover.cke_on,.cke_skin_kama .cke_button a:focus.cke_on,.cke_skin_kama .cke_button a:active.cke_on{background-color:#86caff;}.cke_skin_kama .cke_hc .cke_button a:hover,.cke_skin_kama .cke_hc .cke_button a:focus,.cke_skin_kama .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_kama .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;float:left;cursor:default;}.cke_skin_kama .cke_rtl .cke_button .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_kama .cke_rtl .cke_button .cke_icon{float:right;}.cke_skin_kama .cke_button .cke_label{cursor:default;display:none;padding-left:3px;line-height:18px;vertical-align:middle;float:left;}.cke_skin_kama .cke_rtl .cke_button .cke_label{padding-left:0;padding-right:3px;float:right;}.cke_skin_kama .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_kama .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_kama .cke_button .cke_buttonarrow{display:inline-block;height:17px;width:8px;background-position:2px -1469px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;float:left;cursor:default;}.cke_skin_kama .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -1469px;float:right;}.cke_skin_kama .cke_browser_gecko .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_separator,.cke_skin_kama .cke_browser_gecko .cke_toolbar_start{display:block;float:left;}.cke_skin_kama .cke_browser_gecko.cke_hc .cke_button .cke_icon{display:none;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button a,.cke_skin_kama .cke_browser_gecko .cke_rtl.cke_button a.cke_off,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_kama .cke_browser_gecko .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_break{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_button .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_break{float:right;}\r
-.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_label,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_buttonarrow{float:none;}.cke_skin_kama .cke_browser_webkit .cke_toolbar{float:left;}.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_toolbar{float:right;}.cke_skin_kama .cke_browser_ie8 .cke_button .cke_label,.cke_skin_kama .cke_browser_opera .cke_button .cke_label,.cke_skin_kama .cke_browser_webkit .cke_button .cke_label{line-height:20px;}.cke_skin_kama .cke_browser_opera.cke_browser_quirks .cke_button .cke_label,.cke_skin_kama .cke_browser_iequirks .cke_button .cke_label{line-height:17px;}.cke_skin_kama .cke_browser_ie .cke_rcombo,.cke_skin_kama .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:5px;_padding-bottom:6px;}.cke_shared .cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:0;}.cke_skin_kama .cke_contextmenu{padding:2px;}.cke_skin_kama .cke_menuitem a{display:block;}.cke_skin_kama .cke_menuitem span{cursor:default;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{background-color:#D3D3D3;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_kama .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;}.cke_skin_kama .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{background-color:#D3D3D3;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_kama .cke_menuseparator{background-color:#D3D3D3;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_kama .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1411px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_kama .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1390px;background-repeat:no-repeat;}.cke_skin_kama .cke_menuarrow span{display:none;}.cke_hc .cke_skin_kama .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_kama .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_kama .cke_menuarrow{position:absolute;right:2px;}\r
-.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuarrow{position:absolute;left:2px;}.cke_skin_kama .cke_rcombo{display:inline;}.cke_skin_kama .cke_rcombopanel{border:1px solid #8F8F73;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;height:auto;_height:100px;}.cke_skin_kama .cke_rcombo a,.cke_skin_kama .cke_rcombo a:active,.cke_skin_kama .cke_rcombo a:hover{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -100px;border-bottom:1px solid #DAD9D9;border-right:1px solid #DAD9D9;float:left;padding:2px;height:21px;margin-right:6px;}.cke_skin_kama .cke_rtl .cke_rcombo a,.cke_skin_kama .cke_rtl .cke_rcombo a:active,.cke_skin_kama .cke_rtl .cke_rcombo a:hover{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_label{display:none;line-height:26px;vertical-align:top;margin-right:5px;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_label{margin-right:0;margin-left:5px;}.cke_skin_kama .cke_rcombo .cke_inline_label{line-height:21px;font-style:italic;color:#666;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton{vertical-align:top;}.cke_skin_kama .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_text{filter:alpha(opacity=70);opacity:.70;height:21px;line-height:21px;width:60px;text-overflow:ellipsis;overflow:hidden;display:inline-block;margin:0 2px 0 4px;cursor:default;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_text{margin:0 4px 0 2px;}.cke_skin_kama .cke_rcombo .cke_openbutton{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -68px;background-repeat:no-repeat;display:inline-block;width:17px;height:19px;margin:1px 2px;background-repeat:no-repeat;}.cke_skin_kama .cke_rcombo .cke_openbutton span{display:none;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton span{display:inline;}.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_openbutton{margin-bottom:0;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_text,.cke_skin_kama .cke_rcombo .cke_on .cke_text{border-color:#316ac5;filter:alpha(opacity=100);opacity:1;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_kama .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_label{float:left;}.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}\r
-.cke_skin_kama .cke_browser_ie7 .cke_rcombo .cke_text{line-height:18px;}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_text{height:auto;line-height:17px;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_kama .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_kama .cke_path{display:inline-block;float:left;margin-top:5px;}.cke_skin_kama .cke_rtl .cke_path{float:right;}.cke_shared .cke_skin_kama .cke_path{_width:100%;margin:0 0 5px;}.cke_skin_kama .cke_path a,.cke_skin_kama .cke_path .cke_empty{display:inline-block;float:left;padding:1px 4px 0;color:#60676a;cursor:default;}.cke_skin_kama .cke_path .cke_empty{visibility:hidden;}.cke_skin_kama .cke_rtl .cke_path a,.cke_skin_kama .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_kama .cke_path a:hover,.cke_skin_kama .cke_path a:focus,.cke_skin_kama .cke_path a:active{background-color:#dff1ff;padding:1px 4px 0;outline:none;color:#000;}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_kama .cke_path .cke_label{display:none;}.cke_skin_kama .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_kama .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_kama .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_kama .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_kama .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_kama .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_kama .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_kama .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_kama .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_kama .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_kama .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_kama .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_kama .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_kama .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_kama .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_kama .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_kama .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_kama .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_kama .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_kama .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_kama .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_kama .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_kama .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_kama .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_kama .cke_button_checkspell .cke_icon,.cke_skin_kama .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_kama .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_kama .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_kama .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_kama .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_kama .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_kama .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_kama .cke_button_showblocks .cke_icon{background-position:0 -1136px;}\r
-.cke_skin_kama .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_kama .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_kama .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_kama .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_kama .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_kama .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_kama .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_kama .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_kama .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_kama .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_kama .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_kama .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_kama .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_kama .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_kama .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_kama .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_kama .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_kama .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_kama .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_kama .cke_button_source .cke_label{display:inline;}.cke_skin_kama .cke_styles_panel{width:150px;height:170px;}.cke_skin_kama .cke_format_panel{width:150px;height:170px;}.cke_skin_kama .cke_font_panel{width:150px;height:170px;}.cke_skin_kama .cke_fontSize_panel{height:170px;}.cke_skin_kama .cke_fontSize .cke_text{width:25px;}.cke_skin_kama .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_kama{visibility:inherit;}html.cke_skin_kama_container{visibility:visible;}\r
+.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_icon,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_label,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_button .cke_buttonarrow{float:none;}.cke_skin_kama .cke_browser_webkit .cke_toolbar{float:left;}.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_toolbar{float:right;}.cke_skin_kama .cke_browser_ie8 .cke_button .cke_label,.cke_skin_kama .cke_browser_opera .cke_button .cke_label,.cke_skin_kama .cke_browser_webkit .cke_button .cke_label{line-height:20px;}.cke_skin_kama .cke_browser_opera.cke_browser_quirks .cke_button .cke_label,.cke_skin_kama .cke_browser_iequirks .cke_button .cke_label{line-height:17px;}.cke_skin_kama .cke_browser_ie .cke_rcombo,.cke_skin_kama .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:5px;_padding-bottom:6px;}.cke_shared .cke_skin_kama .cke_browser_ie .cke_toolbox{padding-bottom:0;}.cke_skin_kama .cke_contextmenu{padding:2px;}.cke_skin_kama .cke_menuitem a{display:block;}.cke_skin_kama .cke_menuitem span{cursor:default;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{background-color:#D3D3D3;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_kama .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_kama .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_browser_ie9 .cke_skin_kama .cke_menuitem .cke_icon_wrapper{width:24px;height:24px;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#D3D3D3;border:solid 4px #D3D3D3;}.cke_skin_kama .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_browser_ie9 .cke_skin_kama .cke_menuitem .cke_label{height:24px;}.cke_skin_kama .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_kama .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{background-color:#D3D3D3;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_kama .cke_menuseparator{background-color:#D3D3D3;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_kama .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1411px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_kama .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1390px;background-repeat:no-repeat;}.cke_skin_kama .cke_menuarrow span{display:none;}\r
+.cke_hc .cke_skin_kama .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_kama .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_kama .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_kama .cke_menuarrow{position:absolute;left:2px;}.cke_skin_kama .cke_rcombo{display:inline;}.cke_skin_kama .cke_rcombopanel{border:1px solid #8F8F73;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;height:auto;_height:100px;}.cke_skin_kama .cke_rcombo a,.cke_skin_kama .cke_rcombo a:active,.cke_skin_kama .cke_rcombo a:hover{-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:repeat-x;background-position:0 -100px;border-bottom:1px solid #DAD9D9;border-right:1px solid #DAD9D9;float:left;padding:2px;height:21px;margin-right:6px;}.cke_skin_kama .cke_rtl .cke_rcombo a,.cke_skin_kama .cke_rtl .cke_rcombo a:active,.cke_skin_kama .cke_rtl .cke_rcombo a:hover{float:right;margin-right:0;margin-left:6px;}.cke_skin_kama .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_label{display:none;line-height:26px;vertical-align:top;margin-right:5px;filter:alpha(opacity=70);opacity:.70;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_label{margin-right:0;margin-left:5px;}.cke_skin_kama .cke_rcombo .cke_inline_label{line-height:21px;font-style:italic;color:#666;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton{vertical-align:top;}.cke_skin_kama .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_kama .cke_rcombo .cke_text{filter:alpha(opacity=70);opacity:.70;height:21px;line-height:21px;width:60px;text-overflow:ellipsis;overflow:hidden;display:inline-block;margin:0 2px 0 4px;cursor:default;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_text{margin:0 4px 0 2px;}.cke_skin_kama .cke_rcombo .cke_openbutton{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -68px;background-repeat:no-repeat;display:inline-block;width:17px;height:19px;margin:1px 2px;background-repeat:no-repeat;}.cke_skin_kama .cke_rcombo .cke_openbutton span{display:none;}.cke_skin_kama .cke_hc .cke_rcombo .cke_openbutton span{display:inline;}.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_openbutton{margin-bottom:0;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_text,.cke_skin_kama .cke_rcombo .cke_on .cke_text{border-color:#316ac5;filter:alpha(opacity=100);opacity:1;}.cke_skin_kama .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_kama .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_kama .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_kama .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_kama .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_kama .cke_browser_gecko .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rcombo .cke_label{float:left;}\r
+.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_gecko .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_kama .cke_browser_ie7 .cke_rcombo .cke_text{line-height:18px;}.cke_skin_kama .cke_browser_ie6 .cke_rcombo .cke_text,.cke_skin_kama .cke_browser_iequirks .cke_rcombo .cke_text{height:auto;line-height:17px;}.cke_skin_kama .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_kama .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_kama .cke_path{display:inline-block;float:left;margin-top:5px;}.cke_skin_kama .cke_rtl .cke_path{float:right;}.cke_shared .cke_skin_kama .cke_path{_width:100%;margin:0 0 5px;}.cke_skin_kama .cke_path a,.cke_skin_kama .cke_path .cke_empty{display:inline-block;float:left;padding:1px 4px 0;color:#60676a;cursor:default;}.cke_skin_kama .cke_path .cke_empty{visibility:hidden;}.cke_skin_kama .cke_rtl .cke_path a,.cke_skin_kama .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_kama .cke_path a:hover,.cke_skin_kama .cke_path a:focus,.cke_skin_kama .cke_path a:active{background-color:#dff1ff;padding:1px 4px 0;outline:none;color:#000;}.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_kama .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_kama .cke_path .cke_label{display:none;}.cke_skin_kama .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_kama .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_kama .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_kama .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_kama .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_kama .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_kama .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_kama .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_kama .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_kama .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_kama .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_kama .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_kama .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_kama .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_kama .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_kama .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_kama .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_kama .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_kama .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_kama .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_kama .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_kama .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_kama .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_kama .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_kama .cke_button_checkspell .cke_icon,.cke_skin_kama .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_kama .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_kama .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_kama .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_kama .cke_button_form .cke_icon{background-position:0 -752px;}\r
+.cke_skin_kama .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_kama .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_kama .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_kama .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_kama .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_kama .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_kama .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_kama .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_kama .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_kama .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_kama .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_kama .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_kama .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_kama .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_kama .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_kama .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_kama .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_kama .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_kama .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_kama .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_kama .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_kama .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_kama .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_kama .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_kama .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_kama .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_kama .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_kama .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_kama .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_kama .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_kama .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_kama .cke_button_source .cke_label{display:inline;}.cke_skin_kama .cke_styles_panel{width:150px;height:170px;}.cke_skin_kama .cke_format_panel{width:150px;height:170px;}.cke_skin_kama .cke_font_panel{width:150px;height:170px;}.cke_skin_kama .cke_fontSize_panel{height:170px;}.cke_skin_kama .cke_fontSize .cke_text{width:25px;}.cke_skin_kama .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_kama{visibility:inherit;}html.cke_skin_kama_container{visibility:visible;}\r
index b19f817..0af0f2d 100644 (file)
@@ -4,4 +4,4 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 */\r
 \r
 CKEDITOR.skins.add('kama',(function(){var a=[],b='cke_ui_color';if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,0,0,0],init:function(c){if(c.config.width&&!isNaN(c.config.width))c.config.width-=12;var d=[],e=/\$color/g,f='/* UI Color Support */.cke_skin_kama .cke_menuitem .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover .cke_label,.cke_skin_kama .cke_menuitem a:focus .cke_label,.cke_skin_kama .cke_menuitem a:active .cke_label{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_label{\tbackground-color: transparent !important;}.cke_skin_kama .cke_menuitem a.cke_disabled:hover .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:focus .cke_icon_wrapper,.cke_skin_kama .cke_menuitem a.cke_disabled:active .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuitem a.cke_disabled .cke_icon_wrapper{\tbackground-color: $color !important;\tborder-color: $color !important;}.cke_skin_kama .cke_menuseparator{\tbackground-color: $color !important;}.cke_skin_kama .cke_menuitem a:hover,.cke_skin_kama .cke_menuitem a:focus,.cke_skin_kama .cke_menuitem a:active{\tbackground-color: $color !important;}';if(CKEDITOR.env.webkit){f=f.split('}').slice(0,-1);for(var g=0;g<f.length;g++)f[g]=f[g].split('{');}function h(k){var l=k.getById(b);if(!l){l=k.getHead().append('style');l.setAttribute('id',b);l.setAttribute('type','text/css');}return l;};function i(k,l,m){var n,o,p;for(var q=0;q<k.length;q++){if(CKEDITOR.env.webkit)for(o=0;o<l.length;o++){p=l[o][1];for(n=0;n<m.length;n++)p=p.replace(m[n][0],m[n][1]);k[q].$.sheet.addRule(l[o][0],p);}else{p=l;for(n=0;n<m.length;n++)p=p.replace(m[n][0],m[n][1]);if(CKEDITOR.env.ie)k[q].$.styleSheet.cssText+=p;else k[q].$.innerHTML+=p;}}};var j=/\$color/g;CKEDITOR.tools.extend(c,{uiColor:null,getUiColor:function(){return this.uiColor;\r
-},setUiColor:function(k){var l,m=h(CKEDITOR.document),n='.cke_editor_'+CKEDITOR.tools.escapeCssSelector(c.name),o=[n+' .cke_wrapper',n+'_dialog .cke_dialog_contents',n+'_dialog a.cke_dialog_tab',n+'_dialog .cke_dialog_footer'].join(','),p='background-color: $color !important;';if(CKEDITOR.env.webkit)l=[[o,p]];else l=o+'{'+p+'}';return(this.setUiColor=function(q){var r=[[j,q]];c.uiColor=q;i([m],l,r);i(d,f,r);})(k);}});c.on('menuShow',function(k){var l=k.data[0],m=l.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!m.getById('cke_ui_color')){var n=h(m);d.push(n);var o=c.getUiColor();if(o)i([n],f,[[j,o]]);}});if(c.config.uiColor)c.setUiColor(c.config.uiColor);}};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='kama')return;g.setStyles({width:d+'px',height:e+'px'});setTimeout(function(){var h=f.parts.dialog.getChild([0,0,0]),i=h.getChild(0),j=h.getChild(2);j.setStyle('width',i.$.offsetWidth+'px');j=h.getChild(7);j.setStyle('width',i.$.offsetWidth-28+'px');j=h.getChild(4);j.setStyle('height',i.$.offsetHeight-31-14+'px');j=h.getChild(5);j.setStyle('height',i.$.offsetHeight-31-14+'px');},100);});};})();\r
+},setUiColor:function(k){var l,m=h(CKEDITOR.document),n='.'+c.id,o=[n+' .cke_wrapper',n+'_dialog .cke_dialog_contents',n+'_dialog a.cke_dialog_tab',n+'_dialog .cke_dialog_footer'].join(','),p='background-color: $color !important;';if(CKEDITOR.env.webkit)l=[[o,p]];else l=o+'{'+p+'}';return(this.setUiColor=function(q){var r=[[j,q]];c.uiColor=q;i([m],l,r);i(d,f,r);})(k);}});c.on('menuShow',function(k){var l=k.data[0],m=l.element.getElementsByTag('iframe').getItem(0).getFrameDocument();if(!m.getById('cke_ui_color')){var n=h(m);d.push(n);var o=c.getUiColor();if(o)i([n],f,[[j,o]]);}});if(c.config.uiColor)c.setUiColor(c.config.uiColor);}};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='kama')return;g.setStyles({width:d+'px',height:e+'px'});setTimeout(function(){var h=f.parts.dialog.getChild([0,0,0]),i=h.getChild(0),j=h.getChild(2);j.setStyle('width',i.$.offsetWidth+'px');j=h.getChild(7);j.setStyle('width',i.$.offsetWidth-28+'px');j=h.getChild(4);j.setStyle('height',e+i.getChild(0).$.offsetHeight+'px');j=h.getChild(5);j.setStyle('height',e+i.getChild(0).$.offsetHeight+'px');},100);});};})();\r
index 65e8010..f2fb2b2 100644 (file)
@@ -3,7 +3,7 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-body .cke_dialog{visibility:visible;}.cke_skin_office2003 table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_office2003 .cke_dialog_body{margin-left:16px;margin-right:16px;margin-top:2px;margin-bottom:20px;z-index:1;position:relative;_position:static;}.cke_skin_office2003 .cke_dialog_tl,.cke_skin_office2003 .cke_dialog_tr,.cke_skin_office2003 .cke_dialog_tc,.cke_skin_office2003 .cke_dialog_bl,.cke_skin_office2003 .cke_dialog_br,.cke_skin_office2003 .cke_dialog_bc{background-image:url(images/sprites.png);background-repeat:no-repeat;position:absolute;_background-image:url(images/sprites_ie6.png);_z-index:-1;}.cke_skin_office2003 .cke_dialog_tl{background-position:-16px -16px;height:16px;width:16px;top:0;left:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_tl{background-position:-16px -397px;}.cke_skin_office2003 .cke_dialog_tr{background-position:-16px -76px;height:16px;width:16px;top:0;right:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_tr{background-position:-16px -457px;}.cke_skin_office2003 .cke_dialog_tc{background-position:0 -136px;background-repeat:repeat-x;height:16px;top:0;left:16px;right:16px;}.cke_skin_office2003 .cke_dialog_bl{background-position:-16px -196px;height:51px;width:30px;bottom:0;left:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_bl{background-position:-16px -517px;}.cke_skin_office2003 .cke_dialog_br{background-position:-16px -263px;height:51px;width:30px;bottom:0;right:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_br{background-position:-16px -584px;}.cke_skin_office2003 .cke_dialog_bc{background-position:0 -330px;background-repeat:repeat-x;height:51px;bottom:0;left:30px;right:30px;}.cke_skin_office2003 .cke_dialog_ml,.cke_skin_office2003 .cke_dialog_mr{background-image:url(images/dialog_sides.png);background-repeat:repeat-y;position:absolute;width:16px;top:16px;bottom:51px;_background-image:url(images/dialog_sides.gif);_top:auto;}.cke_skin_office2003 .cke_rtl .cke_dialog_ml,.cke_skin_office2003 .cke_rtl .cke_dialog_mr{background-image:url(images/dialog_sides_rtl.png);_background-image:url(images/dialog_sides.gif);}.cke_skin_office2003 .cke_dialog_ml{background-position:0 0;left:0;}.cke_skin_office2003 .cke_dialog_mr{background-position:-16px 0;right:0;}.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_ml,.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_mr{margin-top:3px;}.cke_skin_office2003 .cke_dialog_title{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -678px;background-repeat:repeat-x;font-weight:bold;font-size:14pt;color:#0E3460;background-color:#8db1ff;padding:3px 10px 26px 10px;cursor:move;position:relative;}.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_title{position:static!important;unicode-bidi:bidi-override;}.cke_skin_office2003 .cke_dialog_contents{background-color:#f7f8fd;border:#2b66c9 1px solid;overflow:auto;padding:5px 10px;}.cke_skin_office2003 .cke_dialog_footer{background-color:#8db1ff;text-align:right;}.cke_skin_office2003 .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_office2003 .cke_dialog_tabs{height:23px;background-color:#8db1ff;display:inline-block;margin-left:10px;margin-right:10px;margin-top:-23px;position:absolute;z-index:2;}.cke_skin_office2003 .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_office2003 a.cke_dialog_tab,.cke_skin_office2003 a:link.cke_dialog_tab,.cke_skin_office2003 a:active.cke_dialog_tab,.cke_skin_office2003 a:hover.cke_dialog_tab,.cke_skin_office2003 a:visited.cke_dialog_tab{color:#0E3460;border-left:1px solid #2b66c9;border-right:1px solid #2b66c9;border-top:1px solid #2b66c9;height:14px;padding:4px 5px;display:inline-block;cursor:pointer;}.cke_skin_office2003 .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_office2003 a:hover.cke_dialog_tab{background-color:#f7f8fd;}\r
-.cke_skin_office2003 .cke_hc a:hover.cke_dialog_tab{padding:2px 3px!important;border-width:3px;}.cke_skin_office2003 a.cke_dialog_tab_selected,.cke_skin_office2003 a:link.cke_dialog_tab_selected,.cke_skin_office2003 a:active.cke_dialog_tab_selected,.cke_skin_office2003 a:hover.cke_dialog_tab_selected,.cke_skin_office2003 a:visited.cke_dialog_tab_selected{border-bottom:1px solid #f7f8fd;background-color:#f7f8fd;font-weight:bold;cursor:default;}.cke_skin_office2003 .cke_hc a.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 3px!important;border-width:3px;}.cke_skin_office2003 .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_office2003 .cke_hc .cke_dialog_tabs a,.cke_skin_office2003 .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_office2003 .cke_single_page .cke_dialog_title{padding-bottom:3px;}.cke_skin_office2003 .cke_dialog_ui_vbox table,.cke_skin_office2003 .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_office2003 .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_office2003 input.cke_dialog_ui_input_text,.cke_skin_office2003 input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_office2003 div.cke_dialog_ui_input_text,.cke_skin_office2003 div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_office2003 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_office2003 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_office2003 textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_office2003 div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_office2003 div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_office2003 .cke_dialog_ui_hbox{width:100%;}.cke_skin_office2003 .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_dialog_ui_hbox_child,.cke_skin_office2003 .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_office2003 .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_office2003 .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_office2003 a.cke_dialog_ui_button{border-collapse:separate;cursor:default;}.cke_skin_office2003 span.cke_dialog_ui_button{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -678px;background-repeat:repeat-x;border:#0E3460 1px solid;padding:2px 10px;text-align:center;color:#0E3460;background-color:#8db1ff;display:inline-block;cursor:default;}.cke_skin_office2003 .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_office2003 a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_office2003 a:focus span.cke_dialog_ui_button,.cke_skin_office2003 a:active span.cke_dialog_ui_button{background-color:#8db1ff;}.cke_skin_office2003 .cke_hc a:focus span.cke_dialog_ui_button,.cke_skin_office2003 .cke_hc a:active span.cke_dialog_ui_button{border-width:2px;}.cke_skin_office2003 .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_office2003 .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_office2003 .cke_dialog_footer_buttons span.cke_dialog_ui_button{width:60px;margin:7px 0;}\r
-.cke_skin_office2003 strong{font-weight:bold;}.cke_skin_office2003 a.cke_dialog_close_button,.cke_skin_office2003 a:hover.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6 a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6 a:hover.cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-20px -655px;position:absolute;cursor:pointer;text-align:center;height:21px;width:21px;top:4px;_background-image:url(images/sprites_ie6.png);}.cke_skin_office2003 a.cke_dialog_close_button span{display:none;}.cke_skin_office2003 .cke_ltr a.cke_dialog_close_button{right:10px;_right:22px;}.cke_skin_office2003 .cke_rtl a.cke_dialog_close_button,.cke_skin_office2003 .cke_rtl a:hover.cke_dialog_close_button{left:10px;_left:16px;_top:6px;}.cke_skin_office2003 .cke_browser_ie6.cke_rtl a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6.cke_rtl a:hover.cke_dialog_close_button{position:relative;float:left;margin-top:-55px;margin-left:-7px;}.cke_skin_office2003 .cke_browser_iequirks.cke_rtl.cke_single_page a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_iequirks.cke_rtl.cke_single_page a:hover.cke_dialog_close_button{margin-top:-32px;}.cke_skin_office2003 .cke_browser_iequirks.cke_ltr a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_iequirks.cke_ltr a:hover.cke_dialog_close_button{margin-top:0;}.cke_skin_office2003 .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_office2003 .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_office2003 .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_office2003 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_office2003 .cke_dialog .cke_centered{text-align:center;}.cke_skin_office2003 .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_office2003 .cke_dialog a.cke_btn_locked,.cke_skin_office2003 .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_office2003 .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_office2003 .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_office2003 .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_office2003 .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_office2003 .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_office2003 .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_office2003 .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_office2003 .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_office2003 .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_office2003 .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_office2003 .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_office2003 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_office2003 .cke_disabled{color:#a0a0a0;}.cke_skin_office2003 .cke_hc .cke_dialog_title,.cke_skin_office2003 .cke_hc .cke_dialog_tabs,.cke_skin_office2003 .cke_hc .cke_dialog_contents,.cke_skin_office2003 .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}\r
-.cke_skin_office2003 .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_office2003 .cke_dialog_body .cke_label{display:none;}.cke_skin_office2003 .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_office2003 .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_office2003 .cke_hc a.cke_btn_locked,.cke_skin_office2003 .cke_hc a.cke_btn_unlocked,.cke_skin_office2003 .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_reset{float:right;}\r
+body .cke_dialog{visibility:visible;}.cke_skin_office2003 table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_office2003 .cke_dialog_body{margin-left:16px;margin-right:16px;margin-top:2px;margin-bottom:20px;z-index:1;position:relative;_position:static;}.cke_skin_office2003 .cke_dialog_tl,.cke_skin_office2003 .cke_dialog_tr,.cke_skin_office2003 .cke_dialog_tc,.cke_skin_office2003 .cke_dialog_bl,.cke_skin_office2003 .cke_dialog_br,.cke_skin_office2003 .cke_dialog_bc{background-image:url(images/sprites.png);background-repeat:no-repeat;position:absolute;_background-image:url(images/sprites_ie6.png);_z-index:-1;}.cke_skin_office2003 .cke_dialog_tl{background-position:-16px -16px;height:16px;width:16px;top:0;left:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_tl{background-position:-16px -397px;}.cke_skin_office2003 .cke_dialog_tr{background-position:-16px -76px;height:16px;width:16px;top:0;right:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_tr{background-position:-16px -457px;}.cke_skin_office2003 .cke_dialog_tc{background-position:0 -136px;background-repeat:repeat-x;height:16px;top:0;left:16px;right:16px;}.cke_skin_office2003 .cke_dialog_bl{background-position:-16px -196px;height:51px;width:30px;bottom:0;left:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_bl{background-position:-16px -517px;}.cke_skin_office2003 .cke_dialog_br{background-position:-16px -263px;height:51px;width:30px;bottom:0;right:0;}.cke_skin_office2003 .cke_rtl .cke_dialog_br{background-position:-16px -584px;}.cke_skin_office2003 .cke_dialog_bc{background-position:0 -330px;background-repeat:repeat-x;height:51px;bottom:0;left:30px;right:30px;}.cke_skin_office2003 .cke_dialog_ml,.cke_skin_office2003 .cke_dialog_mr{background-image:url(images/dialog_sides.png);background-repeat:repeat-y;position:absolute;width:16px;top:16px;bottom:51px;_background-image:url(images/dialog_sides.gif);_top:auto;}.cke_skin_office2003 .cke_rtl .cke_dialog_ml,.cke_skin_office2003 .cke_rtl .cke_dialog_mr{background-image:url(images/dialog_sides_rtl.png);_background-image:url(images/dialog_sides.gif);}.cke_skin_office2003 .cke_dialog_ml{background-position:0 0;left:0;}.cke_skin_office2003 .cke_dialog_mr{background-position:-16px 0;right:0;}.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_ml,.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_mr{margin-top:3px;}.cke_skin_office2003 .cke_dialog_title{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -678px;background-repeat:repeat-x;font-weight:bold;font-size:14pt;color:#0E3460;background-color:#8db1ff;padding:3px 10px 26px 10px;cursor:move;position:relative;}.cke_skin_office2003 .cke_dialog_contents{background-color:#f7f8fd;border:#2b66c9 1px solid;overflow:auto;padding:5px 10px;}.cke_skin_office2003 .cke_dialog_footer{background-color:#8db1ff;text-align:right;}.cke_skin_office2003 .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_office2003 .cke_dialog_tabs{height:23px;background-color:#8db1ff;display:inline-block;margin-left:10px;margin-right:10px;margin-top:-23px;position:absolute;z-index:2;}.cke_skin_office2003 .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_office2003 a.cke_dialog_tab,.cke_skin_office2003 a:link.cke_dialog_tab,.cke_skin_office2003 a:active.cke_dialog_tab,.cke_skin_office2003 a:hover.cke_dialog_tab,.cke_skin_office2003 a:visited.cke_dialog_tab{color:#0E3460;border-left:1px solid #2b66c9;border-right:1px solid #2b66c9;border-top:1px solid #2b66c9;height:14px;padding:4px 5px;display:inline-block;cursor:pointer;}.cke_skin_office2003 .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_office2003 .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_office2003 a:hover.cke_dialog_tab{background-color:#f7f8fd;}.cke_skin_office2003 .cke_hc a:hover.cke_dialog_tab{padding:2px 3px!important;border-width:3px;}.cke_skin_office2003 a.cke_dialog_tab_selected,.cke_skin_office2003 a:link.cke_dialog_tab_selected,.cke_skin_office2003 a:active.cke_dialog_tab_selected,.cke_skin_office2003 a:hover.cke_dialog_tab_selected,.cke_skin_office2003 a:visited.cke_dialog_tab_selected{border-bottom:1px solid #f7f8fd;background-color:#f7f8fd;font-weight:bold;cursor:default;}\r
+.cke_skin_office2003 .cke_hc a.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_office2003 .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 3px!important;border-width:3px;}.cke_skin_office2003 .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_office2003 .cke_hc .cke_dialog_tabs a,.cke_skin_office2003 .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_office2003 .cke_single_page .cke_dialog_title{padding-bottom:3px;}.cke_skin_office2003 .cke_dialog_ui_vbox table,.cke_skin_office2003 .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_office2003 .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_office2003 input.cke_dialog_ui_input_text,.cke_skin_office2003 input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_office2003 div.cke_dialog_ui_input_text,.cke_skin_office2003 div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_office2003 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_office2003 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_office2003 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_office2003 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_office2003 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_office2003 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_office2003 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_office2003 textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_office2003 div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_office2003 div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_office2003 .cke_dialog_ui_hbox{width:100%;}.cke_skin_office2003 .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_dialog_ui_hbox_child,.cke_skin_office2003 .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_office2003 .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_office2003 .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_office2003 .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_office2003 a.cke_dialog_ui_button{border-collapse:separate;cursor:default;}.cke_skin_office2003 span.cke_dialog_ui_button{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -678px;background-repeat:repeat-x;border:#0E3460 1px solid;padding:2px 10px;text-align:center;color:#0E3460;background-color:#8db1ff;display:inline-block;cursor:default;}.cke_skin_office2003 .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_office2003 a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_office2003 a:focus span.cke_dialog_ui_button,.cke_skin_office2003 a:active span.cke_dialog_ui_button{background-color:#8db1ff;}\r
+.cke_skin_office2003 .cke_hc a:focus span.cke_dialog_ui_button,.cke_skin_office2003 .cke_hc a:active span.cke_dialog_ui_button{border-width:2px;}.cke_skin_office2003 .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_office2003 .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_office2003 .cke_dialog_footer_buttons span.cke_dialog_ui_button{width:60px;margin:7px 0;}.cke_skin_office2003 strong{font-weight:bold;}.cke_skin_office2003 a.cke_dialog_close_button,.cke_skin_office2003 a:hover.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6 a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6 a:hover.cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-20px -655px;position:absolute;cursor:pointer;text-align:center;height:21px;width:21px;top:4px;_background-image:url(images/sprites_ie6.png);}.cke_skin_office2003 a.cke_dialog_close_button span{display:none;}.cke_skin_office2003 .cke_ltr a.cke_dialog_close_button{right:10px;_right:22px;}.cke_skin_office2003 .cke_rtl a.cke_dialog_close_button,.cke_skin_office2003 .cke_rtl a:hover.cke_dialog_close_button{left:10px;_left:16px;_top:6px;}.cke_skin_office2003 .cke_browser_ie6.cke_rtl a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_ie6.cke_rtl a:hover.cke_dialog_close_button{position:relative;float:left;margin-top:-55px;margin-left:-7px;}.cke_skin_office2003 .cke_browser_iequirks.cke_rtl.cke_single_page a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_iequirks.cke_rtl.cke_single_page a:hover.cke_dialog_close_button{margin-top:-32px;}.cke_skin_office2003 .cke_browser_iequirks.cke_ltr a.cke_dialog_close_button,.cke_skin_office2003 .cke_browser_iequirks.cke_ltr a:hover.cke_dialog_close_button{margin-top:0;}.cke_skin_office2003 .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_office2003 .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_office2003 .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_office2003 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_office2003 .cke_dialog .cke_centered{text-align:center;}.cke_skin_office2003 .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_office2003 .cke_dialog a.cke_btn_locked,.cke_skin_office2003 .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_office2003 .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_office2003 .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_office2003 .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_office2003 .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_office2003 .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_office2003 .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_office2003 .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_office2003 .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_office2003 .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_office2003 .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_office2003 .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}\r
+.cke_skin_office2003 .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_office2003 .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_office2003 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_office2003 .cke_disabled{color:#a0a0a0;}.cke_skin_office2003 .cke_hc .cke_dialog_title,.cke_skin_office2003 .cke_hc .cke_dialog_tabs,.cke_skin_office2003 .cke_hc .cke_dialog_contents,.cke_skin_office2003 .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_office2003 .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_office2003 .cke_dialog_body .cke_label{display:none;}.cke_skin_office2003 .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_office2003 .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_office2003 .cke_hc a.cke_btn_locked,.cke_skin_office2003 .cke_hc a.cke_btn_unlocked,.cke_skin_office2003 .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_office2003 .cke_rtl.cke_hc a.cke_btn_reset{float:right;}\r
index 6d1d93a..8f472e0 100644 (file)
@@ -6,8 +6,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 .cke_skin_office2003 *,.cke_skin_office2003 a:hover,.cke_skin_office2003 a:link,.cke_skin_office2003 a:visited,.cke_skin_office2003 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_skin_office2003 .cke_rtl *,.cke_skin_office2003 .cke_rtl a:hover,.cke_skin_office2003 .cke_rtl a:link,.cke_skin_office2003 .cke_rtl a:visited,.cke_skin_office2003 .cke_rtl a:active,.cke_rtl .cke_skin_office2003 *,.cke_rtl .cke_skin_office2003 a:hover,.cke_rtl .cke_skin_office2003 a:link,.cke_rtl .cke_skin_office2003 a:visited,.cke_rtl .cke_skin_office2003 a:active{text-align:right;}.cke_skin_office2003 iframe{vertical-align:inherit;}.cke_skin_office2003 textarea{white-space:pre;}.cke_skin_office2003 .cke_browser_gecko textarea{cursor:text;}.cke_skin_office2003 .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_office2003 input[type="text"],.cke_skin_office2003 input[type="password"]{cursor:text;}.cke_skin_office2003 input[type="text"][disabled],.cke_skin_office2003 input[type="password"][disabled]{cursor:default;}.cke_skin_office2003 fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_office2003 .cke_editor{display:inline-table;width:100%;}.cke_skin_office2003 span.cke_browser_webkit,.cke_skin_office2003 span.cke_browser_gecko18{display:block;}.cke_skin_office2003,.cke_skin_office2003 .cke_wrapper{display:block;}.cke_skin_office2003 .cke_top,.cke_skin_office2003 .cke_bottom,.cke_shared .cke_skin_office2003{background-color:#f7f8fd;}.cke_skin_office2003 .cke_top{border-top:solid 1px #fafaf5;border-left:solid 1px #fafaf5;border-right:solid 1px #696969;border-bottom:solid 2px #696969;}.cke_skin_office2003 .cke_rtl .cke_top{border-left:solid 1px #696969;border-right:solid 1px #fafaf5;}.cke_skin_office2003 .cke_bottom{border-left:solid 1px #696969;border-right:solid 1px #696969;border-bottom:solid 1px #696969;}.cke_skin_office2003 .cke_contents{border:solid 1px #696969;background-color:white;}.cke_skin_office2003 .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_office2003 textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;white-space:pre;background-color:#fff;}.cke_skin_office2003 .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_office2003 .cke_resizer{width:12px;height:12px;margin-top:16px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1088px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_office2003 .cke_rtl .cke_resizer{cursor:sw-resize;background-position:0 -1115px;float:left;}.cke_skin_office2003 .cke_resizer_horizontal,.cke_skin_office2003 .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_office2003 .cke_resizer_vertical,.cke_skin_office2003 .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_office2003 .cke_maximized .cke_resizer{display:none;}.cke_skin_office2003 .cke_browser_ie6 .cke_contents textarea,.cke_skin_office2003 .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_office2003 .cke_voice_label{display:none;}.cke_skin_office2003 legend.cke_voice_label{display:none;}.cke_skin_office2003 .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_office2003 .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_office2003 .cke_panel iframe{width:100%;height:100%;}cke_skin_office2003 .cke_panel_frame .cke_label{display:none;}html.cke_skin_office2003_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}\r
 * html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}.cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_office2003 .cke_button_textcolor_panel,.cke_skin_office2003 .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_office2003 .cke_toolbox{display:none;}}.cke_skin_office2003 .cke_browser_webkit .cke_toolbox,.cke_skin_office2003 .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_office2003 .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_office2003 a.cke_toolbox_collapser,.cke_skin_office2003 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -1026px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:outset 1px;margin:11px 2px 2px;cursor:pointer;}.cke_skin_office2003 .cke_rtl a.cke_toolbox_collapser,.cke_skin_office2003 .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_office2003 a.cke_toolbox_collapser span{display:none;}.cke_skin_office2003 .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_office2003 a.cke_toolbox_collapser_min,.cke_skin_office2003 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -1047px;background-repeat:no-repeat;margin:2px;}.cke_skin_office2003 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_office2003 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -1068px;}.cke_skin_office2003 .cke_toolbar{background-color:#d6dff7;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -962px;background-repeat:repeat-x;display:inline-block;float:left;!height:28px;!line-height:28px;}.cke_skin_office2003 .cke_rtl .cke_toolbar{float:right;}.cke_skin_office2003 .cke_toolgroup{display:inline-block;float:left;height:28px;}.cke_skin_office2003 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_toolgroup{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none;}.cke_skin_office2003 .cke_separator{display:inline-block;float:left;border-left:solid 1px #B2CBFF;margin:6px 2px;height:16px;}.cke_skin_office2003 .cke_browser_ie .cke_separator{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_separator{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_separator{#float:none;}\r
 .cke_skin_office2003 .cke_break{clear:left;}.cke_skin_office2003 .cke_rtl .cke_break{clear:right;}.cke_skin_office2003 .cke_toolbar_start{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;background-position:-27px -765px;width:10px;height:28px;float:left;}.cke_skin_office2003 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_toolbar_start{background-position:-27px -816px;float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none;}.cke_skin_office2003 .cke_toolbar_end{display:inline-block;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;background-position:-29px -861px;width:4px;height:28px;float:left;}.cke_skin_office2003 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_toolbar_end{background-position:-29px -907px;float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none;}.cke_skin_office2003 .cke_button a,.cke_skin_office2003 .cke_button a:hover,.cke_skin_office2003 .cke_button a:focus,.cke_skin_office2003 .cke_button a:active,.cke_skin_office2003 .cke_button a.cke_off{border:solid 1px transparent;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;margin-top:2px;height:18px;vertical-align:top;_border:none;_margin:3px 1px 1px 1px;cursor:default;display:inline-block;}.cke_skin_office2003 .cke_button a,.cke_skin_office2003 .cke_button a.cke_off{filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_office2003 .cke_hc .cke_button a,.cke_skin_office2003 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);_border:1px solid transparent;}.cke_skin_office2003 .cke_button a.cke_on{border:solid 1px #316ac5;background-color:#c1d2ee;filter:alpha(opacity=100);opacity:1;_margin:2px 0 0 0;}.cke_skin_office2003 .cke_hc .cke_button a:hover,.cke_skin_office2003 .cke_hc .cke_button a:focus,.cke_skin_office2003 .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_office2003 .cke_button a.cke_disabled *,.cke_skin_office2003 .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_office2003 .cke_hc .cke_button a.cke_disabled *,.cke_skin_office2003 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_office2003 .cke_button a:hover,.cke_skin_office2003 .cke_button a:focus,.cke_skin_office2003 .cke_button a:active{border:solid 1px #316ac5;background-color:#dff1ff;filter:alpha(opacity=100);opacity:1;vertical-align:top;_margin:2px 0 0 0;padding:2px 4px;}.cke_skin_office2003 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}.cke_skin_office2003 .cke_rtl .cke_button .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_office2003 .cke_button .cke_label{display:none;padding-left:3px;cursor:default;vertical-align:middle;_background-image:url(images/sprites_ie6.png);_background-position:0 -970px;_background-repeat:repeat-x;}.cke_skin_office2003 .cke_button a:hover .cke_label{_background-color:#dff1ff;_background-image:none;}.cke_skin_office2003 .cke_button a.cke_on .cke_label{_background-color:#c1d2ee;_background-image:none;}.cke_skin_office2003 .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_office2003 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_office2003 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_office2003 .cke_button .cke_buttonarrow{display:inline-block;height:18px;width:8px;background-position:2px -1004px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_office2003 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -1004px;}\r
-.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar,.cke_skin_office2003 .cke_browser_gecko18 .cke_button a,.cke_skin_office2003 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_office2003 .cke_browser_gecko18 .cke_separator,.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar_start,.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar_end{display:block;float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar_end{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_break{float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_break{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_separator{margin-top:4px;}.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none;}.cke_skin_office2003 .cke_browser_ie8 .cke_toolbar,.cke_skin_office2003 .cke_browser_ie8 .cke_toolgroup{vertical-align:top;}.cke_skin_office2003 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_office2003 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline;}.cke_skin_office2003 .cke_browser_iequirks .cke_separator{vertical-align:text-bottom;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo,.cke_skin_office2003 .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_office2003 .cke_contextmenu{padding:2px;}.cke_skin_office2003 .cke_menuitem a{display:block;}.cke_skin_office2003 .cke_menuitem span{cursor:default;}.cke_skin_office2003 .cke_menuitem a:hover,.cke_skin_office2003 .cke_menuitem a:focus,.cke_skin_office2003 .cke_menuitem a:active{background-color:#8db1ff;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_office2003 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_office2003 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_office2003 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;}.cke_skin_office2003 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}\r
-.cke_skin_office2003 .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_office2003 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_office2003 .cke_menuitem a:hover .cke_label,.cke_skin_office2003 .cke_menuitem a:focus .cke_label,.cke_skin_office2003 .cke_menuitem a:active .cke_label{background-color:#8db1ff;}.cke_skin_office2003 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_office2003 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_office2003 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_office2003 .cke_menuseparator{background-color:#f7f8fd;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_office2003 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1071px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_office2003 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -1050px;}.cke_skin_office2003 .cke_menuarrow span{display:none;}.cke_hc .cke_skin_office2003 .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_office2003 .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_office2003 .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_office2003 .cke_menuarrow{position:absolute;left:2px;}.cke_skin_office2003 .cke_rcombo{display:inline-block;margin-left:2px;margin-right:2px;margin-top:2px;vertical-align:top;float:left;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_rcombo{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo{#float:none;}.cke_skin_office2003 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;}.cke_skin_office2003 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_rtl .cke_rcombo a{float:right;}.cke_skin_office2003 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_office2003 .cke_rcombo .cke_label{display:inline-block;float:left;cursor:default;line-height:24px;height:24px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:.70;_background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);_background-position:0 -962px;_background-repeat:repeat-x;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_office2003 .cke_rcombo .cke_inline_label{color:#fff;}.cke_skin_office2003 .cke_rcombo .cke_text{border:1px solid #8f8f73;background-color:#fff;height:14px;width:60px;padding-top:4px;padding-bottom:4px;padding-left:5px;padding-right:5px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;cursor:default;}.cke_skin_office2003 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_office2003 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px;}.cke_skin_office2003 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -1002px;background-image:url(images/sprites.png);background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;border-top:1px solid #8f8f73;border-bottom:1px solid #8f8f73;width:14px;height:22px;}.cke_skin_office2003 .cke_rcombo .cke_openbutton span{display:none;}\r
-.cke_skin_office2003 .cke_hc .cke_rcombo .cke_openbutton span{display:inline;}.cke_skin_office2003 .cke_ltr .cke_rcombo .cke_openbutton{border-right:1px solid #8f8f73;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_openbutton{border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover,.cke_skin_office2003 .cke_rcombo .cke_off a:focus,.cke_skin_office2003 .cke_rcombo .cke_off a:active,.cke_skin_office2003 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_office2003 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_office2003 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_office2003 .cke_rcombo .cke_on .cke_text{border-color:#316ac5;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_office2003 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_office2003 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_office2003 .cke_path{padding:3px 3px 0 3px;display:inline-block;float:left;}.cke_skin_office2003 .cke_rtl .cke_path{float:right;}.cke_skin_office2003 .cke_path a,.cke_skin_office2003 .cke_path .cke_empty{display:inline-block;float:left;border:solid 1px #f7f8fd;background-color:#f7f8fd;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;margin-bottom:3px;cursor:default;}\r
+.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar,.cke_skin_office2003 .cke_browser_gecko18 .cke_button a,.cke_skin_office2003 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_office2003 .cke_browser_gecko18 .cke_separator,.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar_start,.cke_skin_office2003 .cke_browser_gecko18 .cke_toolbar_end{display:block;float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_toolbar_end{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_break{float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_break{float:right;}.cke_skin_office2003 .cke_browser_gecko18 .cke_separator{margin-top:4px;}.cke_skin_office2003 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none;}.cke_skin_office2003 .cke_browser_ie8 .cke_toolbar,.cke_skin_office2003 .cke_browser_ie8 .cke_toolgroup{vertical-align:top;}.cke_skin_office2003 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_office2003 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline;}.cke_skin_office2003 .cke_browser_iequirks .cke_separator{vertical-align:text-bottom;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo,.cke_skin_office2003 .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_office2003 .cke_contextmenu{padding:2px;}.cke_skin_office2003 .cke_menuitem a{display:block;}.cke_skin_office2003 .cke_menuitem span{cursor:default;}.cke_skin_office2003 .cke_menuitem a:hover,.cke_skin_office2003 .cke_menuitem a:focus,.cke_skin_office2003 .cke_menuitem a:active{background-color:#8db1ff;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_office2003 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_office2003 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_browser_ie9 .cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{width:24px;height:24px;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_office2003 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_office2003 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#f7f8fd;border:solid 4px #f7f8fd;}\r
+.cke_skin_office2003 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_browser_ie9 .cke_skin_office2003 .cke_menuitem .cke_label{height:24px;}.cke_skin_office2003 .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_office2003 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_office2003 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_office2003 .cke_menuitem a:hover .cke_label,.cke_skin_office2003 .cke_menuitem a:focus .cke_label,.cke_skin_office2003 .cke_menuitem a:active .cke_label{background-color:#8db1ff;}.cke_skin_office2003 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_office2003 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_office2003 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;}.cke_skin_office2003 .cke_menuseparator{background-color:#f7f8fd;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_office2003 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -1071px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_office2003 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -1050px;}.cke_skin_office2003 .cke_menuarrow span{display:none;}.cke_hc .cke_skin_office2003 .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_office2003 .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_office2003 .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_office2003 .cke_menuarrow{position:absolute;left:2px;}.cke_skin_office2003 .cke_rcombo{display:inline-block;margin-left:2px;margin-right:2px;margin-top:2px;vertical-align:top;float:left;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo{#float:none;#display:inline;}.cke_skin_office2003 .cke_rtl .cke_rcombo{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rcombo{#float:none;}.cke_skin_office2003 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;}.cke_skin_office2003 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:.70;}.cke_skin_office2003 .cke_rtl .cke_rcombo a{float:right;}.cke_skin_office2003 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_office2003 .cke_rcombo .cke_label{display:inline-block;float:left;cursor:default;line-height:24px;height:24px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:.70;_background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);_background-position:0 -962px;_background-repeat:repeat-x;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_office2003 .cke_rcombo .cke_inline_label{color:#fff;}.cke_skin_office2003 .cke_rcombo .cke_text{border:1px solid #8f8f73;background-color:#fff;height:14px;width:60px;padding-top:4px;padding-bottom:4px;padding-left:5px;padding-right:5px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;cursor:default;}.cke_skin_office2003 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_office2003 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px;}.cke_skin_office2003 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -1002px;background-image:url(images/sprites.png);background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;border-top:1px solid #8f8f73;border-bottom:1px solid #8f8f73;width:14px;height:22px;}\r
+.cke_skin_office2003 .cke_rcombo .cke_openbutton span{display:none;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_openbutton span{display:inline;}.cke_skin_office2003 .cke_ltr .cke_rcombo .cke_openbutton{border-right:1px solid #8f8f73;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_openbutton{border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover,.cke_skin_office2003 .cke_rcombo .cke_off a:focus,.cke_skin_office2003 .cke_rcombo .cke_off a:active,.cke_skin_office2003 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_office2003 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_office2003 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_office2003 .cke_rcombo .cke_on .cke_text{border-color:#316ac5;}.cke_skin_office2003 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_office2003 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_office2003 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_office2003 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_office2003 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_office2003 .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_office2003 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none;}.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_office2003 .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_office2003 .cke_path{padding:3px 3px 0 3px;display:inline-block;float:left;}.cke_skin_office2003 .cke_rtl .cke_path{float:right;}.cke_skin_office2003 .cke_path a,.cke_skin_office2003 .cke_path .cke_empty{display:inline-block;float:left;border:solid 1px #f7f8fd;background-color:#f7f8fd;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;margin-bottom:3px;cursor:default;}\r
 .cke_skin_office2003 .cke_path .cke_empty{visibility:hidden;}.cke_skin_office2003 .cke_rtl .cke_path a,.cke_skin_office2003 .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_office2003 .cke_path a:hover,.cke_skin_office2003 .cke_path a:focus,.cke_skin_office2003 .cke_path a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none;}.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_office2003 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_office2003 .cke_path .cke_label{display:none;}.cke_skin_office2003 .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_office2003 .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_office2003 .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_office2003 .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_office2003 .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_office2003 .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_office2003 .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_office2003 .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_office2003 .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_office2003 .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_office2003 .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_office2003 .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_office2003 .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_office2003 .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_office2003 .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_office2003 .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_office2003 .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_office2003 .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_office2003 .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_office2003 .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_office2003 .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_office2003 .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_office2003 .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_office2003 .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_office2003 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_office2003 .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_office2003 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_office2003 .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_office2003 .cke_button_checkspell .cke_icon,.cke_skin_office2003 .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_office2003 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_office2003 .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_office2003 .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_office2003 .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_office2003 .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_office2003 .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_office2003 .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_office2003 .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_office2003 .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_office2003 .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_office2003 .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_office2003 .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_office2003 .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_office2003 .cke_button_undo .cke_icon{background-position:0 -208px;}\r
 .cke_skin_office2003 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_office2003 .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_office2003 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_office2003 .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_office2003 .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_office2003 .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_office2003 .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_office2003 .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_office2003 .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_office2003 .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_office2003 .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_office2003 .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_office2003 .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_office2003 .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_office2003 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_office2003 .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_office2003 .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_office2003 .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_office2003 .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_office2003 .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_office2003 .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_office2003 .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_office2003 .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_office2003 .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_office2003 .cke_button_source .cke_label{display:inline;}.cke_skin_office2003 .cke_styles_panel{width:150px;height:170px;}.cke_skin_office2003 .cke_format_panel{width:150px;height:170px;}.cke_skin_office2003 .cke_font_panel{width:150px;height:170px;}.cke_skin_office2003 .cke_fontSize_panel{height:170px;}.cke_skin_office2003 .cke_fontSize .cke_text{width:20px;}.cke_skin_office2003 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_office2003{visibility:inherit;}html.cke_skin_office2003_container{visibility:visible;}\r
index f0e6576..99a5713 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.skins.add('office2003',(function(){var a=[];if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='office2003')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie)return;var h=function(){var i=f.parts.dialog.getChild([0,0,0]),j=i.getChild(0),k=i.getChild(2);k.setStyle('width',j.$.offsetWidth+'px');k=i.getChild(7);k.setStyle('width',j.$.offsetWidth-28+'px');k=i.getChild(4);k.setStyle('height',j.$.offsetHeight-31-14+'px');k=i.getChild(5);k.setStyle('height',j.$.offsetHeight-31-14+'px');};setTimeout(h,100);if(b.editor.lang.dir=='rtl')setTimeout(h,1000);});};})();\r
+CKEDITOR.skins.add('office2003',(function(){var a=[];if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='office2003')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie)return;var h=function(){var i=f.parts.dialog.getChild([0,0,0]),j=i.getChild(0),k=i.getChild(2);k.setStyle('width',j.$.offsetWidth+'px');k=i.getChild(7);k.setStyle('width',j.$.offsetWidth-28+'px');k=i.getChild(4);k.setStyle('height',e+j.getChild(0).$.offsetHeight+'px');k=i.getChild(5);k.setStyle('height',e+j.getChild(0).$.offsetHeight+'px');};setTimeout(h,100);if(b.editor.lang.dir=='rtl')setTimeout(h,1000);});};})();\r
index 1f425de..75ac104 100644 (file)
@@ -3,6 +3,7 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-body .cke_dialog{visibility:visible;}.cke_skin_v2 table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_v2 .cke_dialog_body{margin-left:16px;margin-right:16px;margin-top:2px;margin-bottom:20px;z-index:1;position:relative;_position:static;}.cke_skin_v2 .cke_dialog_tl,.cke_skin_v2 .cke_dialog_tr,.cke_skin_v2 .cke_dialog_tc,.cke_skin_v2 .cke_dialog_bl,.cke_skin_v2 .cke_dialog_br,.cke_skin_v2 .cke_dialog_bc{background-image:url(images/sprites.png);background-repeat:no-repeat;position:absolute;_background-image:url(images/sprites_ie6.png);_z-index:-1;}.cke_skin_v2 .cke_dialog_tl{background-position:-16px -16px;height:16px;width:16px;top:0;left:0;}.cke_skin_v2 .cke_rtl .cke_dialog_tl{background-position:-16px -397px;}.cke_skin_v2 .cke_dialog_tr{background-position:-16px -76px;height:16px;width:16px;top:0;right:0;}.cke_skin_v2 .cke_rtl .cke_dialog_tr{background-position:-16px -457px;}.cke_skin_v2 .cke_dialog_tc{background-position:0 -136px;background-repeat:repeat-x;height:16px;top:0;left:16px;right:16px;}.cke_skin_v2 .cke_dialog_bl{background-position:-16px -196px;height:51px;width:30px;bottom:0;left:0;}.cke_skin_v2 .cke_rtl .cke_dialog_bl{background-position:-16px -517px;}.cke_skin_v2 .cke_dialog_br{background-position:-16px -263px;height:51px;width:30px;bottom:0;right:0;}.cke_skin_v2 .cke_rtl .cke_dialog_br{background-position:-16px -584px;}.cke_skin_v2 .cke_dialog_bc{background-position:0 -330px;background-repeat:repeat-x;height:51px;bottom:0;left:30px;right:30px;}.cke_skin_v2 .cke_dialog_ml,.cke_skin_v2 .cke_dialog_mr{background-image:url(images/dialog_sides.png);background-repeat:repeat-y;position:absolute;width:16px;top:16px;bottom:51px;_background-image:url(images/dialog_sides.gif);_top:auto;}.cke_skin_v2 .cke_rtl .cke_dialog_ml,.cke_skin_v2 .cke_rtl .cke_dialog_mr{background-image:url(images/dialog_sides_rtl.png);_background-image:url(images/dialog_sides.gif);}.cke_skin_v2 .cke_dialog_ml{background-position:0 0;left:0;}.cke_skin_v2 .cke_dialog_mr{background-position:-16px 0;right:0;}.cke_skin_v2 .cke_browser_iequirks .cke_dialog_ml,.cke_skin_v2 .cke_browser_iequirks .cke_dialog_mr{margin-top:3px;}.cke_skin_v2 .cke_dialog_title{font-weight:bold;font-size:14pt;color:#737357;background-color:#e3e3c7;padding:3px 10px 26px 10px;cursor:move;position:relative;}.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_title{position:static!important;unicode-bidi:bidi-override;}.cke_skin_v2 .cke_dialog_contents{background-color:#f1f1e3;border:#d5d59d 1px solid;overflow:auto;padding:5px 10px;}.cke_skin_v2 .cke_dialog_footer{background-color:#e3e3c7;text-align:right;}.cke_skin_v2 .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_v2 .cke_dialog_tabs{height:23px;background-color:#e3e3c7;display:inline-block;margin-left:10px;margin-right:10px;margin-top:-23px;position:absolute;z-index:2;}.cke_skin_v2 .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_v2 a.cke_dialog_tab,.cke_skin_v2 a:link.cke_dialog_tab,.cke_skin_v2 a:active.cke_dialog_tab,.cke_skin_v2 a:hover.cke_dialog_tab,.cke_skin_v2 a:visited.cke_dialog_tab{color:#737357;border-left:1px solid #d5d59d;border-right:1px solid #d5d59d;border-top:1px solid #d5d59d;height:14px;padding:4px 5px;display:inline-block;cursor:pointer;}.cke_skin_v2 .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_v2 a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_v2 .cke_hc a:hover.cke_dialog_tab{padding:2px 3px!important;border-width:3px;}.cke_skin_v2 a.cke_dialog_tab_selected,.cke_skin_v2 a:link.cke_dialog_tab_selected,.cke_skin_v2 a:active.cke_dialog_tab_selected,.cke_skin_v2 a:hover.cke_dialog_tab_selected,.cke_skin_v2 a:visited.cke_dialog_tab_selected{border-bottom:1px solid #f1f1e3;background-color:#f1f1e3;font-weight:bold;cursor:default;}.cke_skin_v2 .cke_hc a.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 3px!important;border-width:3px;}\r
-.cke_skin_v2 .cke_hc .cke_dialog_tabs a,.cke_skin_v2 .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_v2 .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_v2 .cke_single_page .cke_dialog_title{padding-bottom:3px;}.cke_skin_v2 .cke_dialog_ui_vbox table,.cke_skin_v2 .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_v2 .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_v2 input.cke_dialog_ui_input_text,.cke_skin_v2 input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_v2 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_v2 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_v2 div.cke_dialog_ui_input_text,.cke_skin_v2 div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_v2 textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_v2 div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_v2 div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_v2 .cke_dialog_ui_hbox{width:100%;}.cke_skin_v2 .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_dialog_ui_hbox_child,.cke_skin_v2 .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_v2 .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_v2 .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_v2 a.cke_dialog_ui_button{border-collapse:separate;cursor:default;}.cke_skin_v2 span.cke_dialog_ui_button{border:#737357 1px solid;padding:2px 10px;text-align:center;color:#3b3b1f;background-color:#c7c78f;display:inline-block;cursor:default;}.cke_skin_v2 .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_v2 a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_v2 a:focus span.cke_dialog_ui_button,.cke_skin_v2 a:active span.cke_dialog_ui_button{background-color:#e3e3c7;}.cke_skin_v2 .cke_hc a:focus span.cke_dialog_ui_button,.cke_skin_v2 .cke_hc a:active span.cke_dialog_ui_button{border-width:2px;}.cke_skin_v2 .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_v2 .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_v2 .cke_dialog_footer_buttons span.cke_dialog_ui_button{width:60px;margin:7px 0;}.cke_skin_v2 strong{font-weight:bold;}.cke_skin_v2 a.cke_dialog_close_button,.cke_skin_v2 a:hover.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6 a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6 a:hover.cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-16px -651px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}.cke_skin_v2 a.cke_dialog_close_button span{display:none;}.cke_skin_v2 a:hover.cke_dialog_close_button{background-position:-16px -687px;}.cke_skin_v2 .cke_ltr a.cke_dialog_close_button,.cke_skin_v2 .cke_ltr a:hover.cke_dialog_close_button{right:10px;_right:22px;}.cke_skin_v2 .cke_rtl a.cke_dialog_close_button,.cke_skin_v2 .cke_rtl a:hover.cke_dialog_close_button{left:10px;_left:16px;_top:7px;}.cke_skin_v2 .cke_browser_ie6.cke_rtl a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6.cke_rtl a:hover.cke_dialog_close_button{position:relative;float:left;margin-top:-55px;margin-left:-7px;}.cke_skin_v2 .cke_browser_iequirks.cke_rtl.cke_single_page a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_iequirks.cke_rtl.cke_single_page a:hover.cke_dialog_close_button{margin-top:-32px;}\r
-.cke_skin_v2 .cke_browser_iequirks.cke_ltr a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_iequirks.cke_ltr a:hover.cke_dialog_close_button{margin-top:0;}.cke_skin_v2 .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_v2 .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_v2 .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_v2 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_v2 .cke_dialog .cke_centered{text-align:center;}.cke_skin_v2 .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_v2 .cke_dialog a.cke_btn_locked,.cke_skin_v2 .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_v2 .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_v2 .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_v2 .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_v2 .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_v2 .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_v2 .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_v2 .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_v2 .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_v2 .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_v2 .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_v2 .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_v2 .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_v2 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_v2 .cke_disabled{color:#a0a0a0;}.cke_skin_v2 .cke_hc .cke_dialog_title,.cke_skin_v2 .cke_hc .cke_dialog_tabs,.cke_skin_v2 .cke_hc .cke_dialog_contents,.cke_skin_v2 .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_v2 .cke_dialog_body .cke_label{display:none;}.cke_skin_v2 .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_v2 .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_v2 .cke_hc a.cke_btn_locked,.cke_skin_v2 .cke_hc a.cke_btn_unlocked,.cke_skin_v2 .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_v2 a.cke_smile img{border:2px solid #eaead1;}.cke_skin_v2 a.cke_smile:focus img,.cke_skin_v2 a.cke_smile:active img,.cke_skin_v2 a.cke_smile:hover img{border-color:#C7C78F;}\r
+body .cke_dialog{visibility:visible;}.cke_skin_v2 table.cke_dialog.cke_browser_gecko{display:block;}.cke_skin_v2 .cke_dialog_body{margin-left:16px;margin-right:16px;margin-top:2px;margin-bottom:20px;z-index:1;position:relative;_position:static;}.cke_skin_v2 .cke_dialog_tl,.cke_skin_v2 .cke_dialog_tr,.cke_skin_v2 .cke_dialog_tc,.cke_skin_v2 .cke_dialog_bl,.cke_skin_v2 .cke_dialog_br,.cke_skin_v2 .cke_dialog_bc{background-image:url(images/sprites.png);background-repeat:no-repeat;position:absolute;_background-image:url(images/sprites_ie6.png);_z-index:-1;}.cke_skin_v2 .cke_dialog_tl{background-position:-16px -16px;height:16px;width:16px;top:0;left:0;}.cke_skin_v2 .cke_rtl .cke_dialog_tl{background-position:-16px -397px;}.cke_skin_v2 .cke_dialog_tr{background-position:-16px -76px;height:16px;width:16px;top:0;right:0;}.cke_skin_v2 .cke_rtl .cke_dialog_tr{background-position:-16px -457px;}.cke_skin_v2 .cke_dialog_tc{background-position:0 -136px;background-repeat:repeat-x;height:16px;top:0;left:16px;right:16px;}.cke_skin_v2 .cke_dialog_bl{background-position:-16px -196px;height:51px;width:30px;bottom:0;left:0;}.cke_skin_v2 .cke_rtl .cke_dialog_bl{background-position:-16px -517px;}.cke_skin_v2 .cke_dialog_br{background-position:-16px -263px;height:51px;width:30px;bottom:0;right:0;}.cke_skin_v2 .cke_rtl .cke_dialog_br{background-position:-16px -584px;}.cke_skin_v2 .cke_dialog_bc{background-position:0 -330px;background-repeat:repeat-x;height:51px;bottom:0;left:30px;right:30px;}.cke_skin_v2 .cke_dialog_ml,.cke_skin_v2 .cke_dialog_mr{background-image:url(images/dialog_sides.png);background-repeat:repeat-y;position:absolute;width:16px;top:16px;bottom:51px;_background-image:url(images/dialog_sides.gif);_top:auto;}.cke_skin_v2 .cke_rtl .cke_dialog_ml,.cke_skin_v2 .cke_rtl .cke_dialog_mr{background-image:url(images/dialog_sides_rtl.png);_background-image:url(images/dialog_sides.gif);}.cke_skin_v2 .cke_dialog_ml{background-position:0 0;left:0;}.cke_skin_v2 .cke_dialog_mr{background-position:-16px 0;right:0;}.cke_skin_v2 .cke_browser_iequirks .cke_dialog_ml,.cke_skin_v2 .cke_browser_iequirks .cke_dialog_mr{margin-top:3px;}.cke_skin_v2 .cke_dialog_title{font-weight:bold;font-size:14pt;color:#737357;background-color:#e3e3c7;padding:3px 10px 26px 10px;cursor:move;position:relative;}.cke_skin_v2 .cke_dialog_contents{background-color:#f1f1e3;border:#d5d59d 1px solid;overflow:auto;padding:5px 10px;}.cke_skin_v2 .cke_dialog_footer{background-color:#e3e3c7;text-align:right;}.cke_skin_v2 .cke_rtl .cke_dialog_footer{text-align:left;}.cke_skin_v2 .cke_dialog_tabs{height:23px;background-color:#e3e3c7;display:inline-block;margin-left:10px;margin-right:10px;margin-top:-23px;position:absolute;z-index:2;}.cke_skin_v2 .cke_rtl .cke_dialog_tabs{right:10px;}.cke_skin_v2 a.cke_dialog_tab,.cke_skin_v2 a:link.cke_dialog_tab,.cke_skin_v2 a:active.cke_dialog_tab,.cke_skin_v2 a:hover.cke_dialog_tab,.cke_skin_v2 a:visited.cke_dialog_tab{color:#737357;border-left:1px solid #d5d59d;border-right:1px solid #d5d59d;border-top:1px solid #d5d59d;height:14px;padding:4px 5px;display:inline-block;cursor:pointer;}.cke_skin_v2 .cke_browser_gecko18 a.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:link.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:active.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:hover.cke_dialog_tab,.cke_skin_v2 .cke_browser_gecko18 a:visited.cke_dialog_tab{display:inline;position:relative;top:6px;}.cke_skin_v2 a:hover.cke_dialog_tab{background-color:#f1f1e3;}.cke_skin_v2 .cke_hc a:hover.cke_dialog_tab{padding:2px 3px!important;border-width:3px;}.cke_skin_v2 a.cke_dialog_tab_selected,.cke_skin_v2 a:link.cke_dialog_tab_selected,.cke_skin_v2 a:active.cke_dialog_tab_selected,.cke_skin_v2 a:hover.cke_dialog_tab_selected,.cke_skin_v2 a:visited.cke_dialog_tab_selected{border-bottom:1px solid #f1f1e3;background-color:#f1f1e3;font-weight:bold;cursor:default;}.cke_skin_v2 .cke_hc a.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:link.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:active.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:hover.cke_dialog_tab_selected,.cke_skin_v2 .cke_hc a:visited.cke_dialog_tab_selected{padding:2px 3px!important;border-width:3px;}\r
+.cke_skin_v2 .cke_hc .cke_dialog_tabs a,.cke_skin_v2 .cke_hc .cke_dialog_footer a{opacity:1.0;filter:alpha(opacity=100);border:1px solid white;}.cke_skin_v2 .cke_single_page .cke_dialog_tabs{display:none;}.cke_skin_v2 .cke_single_page .cke_dialog_title{padding-bottom:3px;}.cke_skin_v2 .cke_dialog_ui_vbox table,.cke_skin_v2 .cke_dialog_ui_hbox table{margin:auto;}.cke_skin_v2 .cke_dialog_ui_vbox_child{padding:5px 0;}.cke_skin_v2 input.cke_dialog_ui_input_text,.cke_skin_v2 input.cke_dialog_ui_input_password{background-color:white;border:none;padding:0;width:100%;height:14px;}.cke_skin_v2 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_gecko.cke_hc div.cke_dialog_ui_input_password{border-width:0;}.cke_skin_v2 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_gecko18.cke_hc div.cke_dialog_ui_input_password{border-width:1px;}.cke_skin_v2 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_ie.cke_rtl input.cke_dialog_ui_input_password,.cke_skin_v2 .cke_browser_opera.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px;}.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_text,.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_password,.cke_skin_v2 .cke_browser_opera.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px;}.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_vbox_child,.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_child,.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_browser_ie.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important;}.cke_skin_v2 div.cke_dialog_ui_input_text,.cke_skin_v2 div.cke_dialog_ui_input_password{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_v2 .cke_browser_ie.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px;}.cke_skin_v2 textarea.cke_dialog_ui_input_textarea{background-color:white;border:none;padding:0;width:100%;_width:99%;overflow:auto;resize:none;}.cke_skin_v2 div.cke_dialog_ui_input_textarea{background-color:white;border:1px solid #a0a0a0;padding:1px 0;}.cke_skin_v2 div.cke_disabled .cke_dialog_ui_labeled_content *{background-color:#a0a0a0;cursor:default;}.cke_skin_v2 .cke_dialog_ui_hbox{width:100%;}.cke_skin_v2 .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_dialog_ui_hbox_child,.cke_skin_v2 .cke_dialog_ui_hbox_last{vertical-align:top;}.cke_skin_v2 .cke_ltr .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px;}.cke_skin_v2 .cke_rtl .cke_dialog_ui_hbox_first,.cke_skin_v2 .cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px;}.cke_skin_v2 a.cke_dialog_ui_button{border-collapse:separate;cursor:default;}.cke_skin_v2 span.cke_dialog_ui_button{border:#737357 1px solid;padding:2px 10px;text-align:center;color:#3b3b1f;background-color:#c7c78f;display:inline-block;cursor:default;}.cke_skin_v2 .cke_browser_gecko18 .cke_dialog_footer_buttons span.cke_dialog_ui_button{display:block;}.cke_skin_v2 a.cke_dialog_ui_button span.cke_disabled{border:#898980 1px solid;color:#5e5e55;background-color:#c5c5b3;}.cke_skin_v2 a:focus span.cke_dialog_ui_button,.cke_skin_v2 a:active span.cke_dialog_ui_button{background-color:#e3e3c7;}.cke_skin_v2 .cke_hc a:focus span.cke_dialog_ui_button,.cke_skin_v2 .cke_hc a:active span.cke_dialog_ui_button{border-width:2px;}.cke_skin_v2 .cke_dialog_footer_buttons{display:inline-table;margin-right:12px;margin-left:12px;width:auto;position:relative;}.cke_skin_v2 .cke_browser_gecko18 .cke_dialog_footer_buttons{display:inline;}.cke_skin_v2 .cke_dialog_footer_buttons span.cke_dialog_ui_button{width:60px;margin:7px 0;}.cke_skin_v2 strong{font-weight:bold;}.cke_skin_v2 a.cke_dialog_close_button,.cke_skin_v2 a:hover.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6 a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6 a:hover.cke_dialog_close_button{background-image:url(images/sprites.png);background-repeat:no-repeat;background-position:-16px -651px;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:5px;_background-image:url(images/sprites_ie6.png);}\r
+.cke_skin_v2 a.cke_dialog_close_button span{display:none;}.cke_skin_v2 a:hover.cke_dialog_close_button{background-position:-16px -687px;}.cke_skin_v2 .cke_ltr a.cke_dialog_close_button,.cke_skin_v2 .cke_ltr a:hover.cke_dialog_close_button{right:10px;_right:22px;}.cke_skin_v2 .cke_rtl a.cke_dialog_close_button,.cke_skin_v2 .cke_rtl a:hover.cke_dialog_close_button{left:10px;_left:16px;_top:7px;}.cke_skin_v2 .cke_browser_ie6.cke_rtl a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_ie6.cke_rtl a:hover.cke_dialog_close_button{position:relative;float:left;margin-top:-55px;margin-left:-7px;}.cke_skin_v2 .cke_browser_iequirks.cke_rtl.cke_single_page a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_iequirks.cke_rtl.cke_single_page a:hover.cke_dialog_close_button{margin-top:-32px;}.cke_skin_v2 .cke_browser_iequirks.cke_ltr a.cke_dialog_close_button,.cke_skin_v2 .cke_browser_iequirks.cke_ltr a:hover.cke_dialog_close_button{margin-top:0;}.cke_skin_v2 .cke_dialog_ui_input_select{border:1px solid #a0a0a0;background-color:white;}.cke_skin_v2 .cke_dialog_ui_input_file{width:100%;height:25px;}.cke_skin_v2 .cke_dialog .cke_dark_background{background-color:#eaead1;}.cke_skin_v2 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_v2 .cke_dialog .cke_centered{text-align:center;}.cke_skin_v2 .cke_dialog a.cke_btn_reset{float:right;background-position:0 -32px;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:1px none;font-size:1px;}.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_reset{float:left;}.cke_skin_v2 .cke_dialog a.cke_btn_locked,.cke_skin_v2 .cke_dialog a.cke_btn_unlocked{float:left;background-position:0 0;background-image:url(images/mini.gif);width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px;}.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_locked,.cke_skin_v2 .cke_rtl .cke_dialog a.cke_btn_unlocked{float:right;}.cke_skin_v2 .cke_dialog a.cke_btn_unlocked{background-position:0 -16px;background-image:url(images/mini.gif);}.cke_skin_v2 .cke_dialog .cke_btn_over{border:outset 1px;cursor:pointer;}.cke_skin_v2 .cke_dialog .ImagePreviewBox{border:2px ridge black;overflow:scroll;height:160px;width:230px;padding:2px;background-color:white;}.cke_skin_v2 .cke_dialog .ImagePreviewBox table td{white-space:normal;}.cke_skin_v2 .cke_browser_iequirks .cke_dialog_page_contents{_position:absolute;}.cke_skin_v2 .cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity=90);background-color:#e4e4e4;}.cke_skin_v2 .cke_dialog .FlashPreviewBox{white-space:normal;border:2px ridge black;overflow:auto;height:160px;width:390px;padding:2px;background-color:white;}.cke_skin_v2 .cke_dialog .cke_pastetext{width:346px;height:170px;}.cke_skin_v2 .cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none;}.cke_skin_v2 .cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid black;}.cke_skin_v2 .cke_dialog .cke_dark_background{text-align:center;background-color:#eaead1;font-size:14px;}.cke_skin_v2 .cke_dialog .cke_light_background{text-align:center;background-color:#ffffbe;}.cke_skin_v2 .cke_dialog .cke_hand{cursor:pointer;}.cke_skin_v2 .cke_disabled{color:#a0a0a0;}.cke_skin_v2 .cke_hc .cke_dialog_title,.cke_skin_v2 .cke_hc .cke_dialog_tabs,.cke_skin_v2 .cke_hc .cke_dialog_contents,.cke_skin_v2 .cke_hc .cke_dialog_footer{border-left:1px solid;border-right:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_title{border-top:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_footer{border-bottom:1px solid;}.cke_skin_v2 .cke_hc .cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px;}.cke_skin_v2 .cke_dialog_body .cke_label{display:none;}.cke_skin_v2 .cke_dialog_body label.cke_required{font-weight:bold;}.cke_skin_v2 .cke_hc .cke_dialog_body .cke_label{display:inline;}.cke_skin_v2 .cke_hc a.cke_btn_locked,.cke_skin_v2 .cke_hc a.cke_btn_unlocked,.cke_skin_v2 .cke_hc a.cke_btn_reset{border-style:solid;float:left;width:auto;height:auto;}\r
+.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_locked,.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_unlocked,.cke_skin_v2 .cke_rtl.cke_hc a.cke_btn_reset{float:right;}.cke_skin_v2 a.cke_smile img{border:2px solid #eaead1;}.cke_skin_v2 a.cke_smile:focus img,.cke_skin_v2 a.cke_smile:active img,.cke_skin_v2 a.cke_smile:hover img{border-color:#C7C78F;}\r
index 011ace7..3e9ec13 100644 (file)
@@ -6,7 +6,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license
 .cke_skin_v2 *,.cke_skin_v2 a:hover,.cke_skin_v2 a:link,.cke_skin_v2 a:visited,.cke_skin_v2 a:active{margin:0;padding:0;border:0;background:transparent;text-decoration:none;font:normal normal normal 100% Sans-Serif;width:auto;height:auto;border-collapse:collapse;text-align:left;vertical-align:baseline;white-space:nowrap;cursor:auto;color:#000;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_skin_v2 .cke_rtl *,.cke_skin_v2 .cke_rtl a:hover,.cke_skin_v2 .cke_rtl a:link,.cke_skin_v2 .cke_rtl a:visited,.cke_skin_v2 .cke_rtl a:active,.cke_rtl .cke_skin_v2 *,.cke_rtl .cke_skin_v2 a:hover,.cke_rtl .cke_skin_v2 a:link,.cke_rtl .cke_skin_v2 a:visited,.cke_rtl .cke_skin_v2 a:active{text-align:right;}.cke_skin_v2 iframe{vertical-align:inherit;}.cke_skin_v2 textarea{white-space:pre;}.cke_skin_v2 .cke_browser_gecko textarea{cursor:text;}.cke_skin_v2 .cke_browser_gecko textarea[disabled]{cursor:default;}.cke_skin_v2 input[type="text"],.cke_skin_v2 input[type="password"]{cursor:text;}.cke_skin_v2 input[type="text"][disabled],.cke_skin_v2 input[type="password"][disabled]{cursor:default;}.cke_skin_v2 fieldset{padding:10px;border:2px groove #E0DFE3;}.cke_skin_v2 .cke_editor{display:inline-table;width:100%;}.cke_skin_v2{display:block;}.cke_skin_v2 span.cke_browser_webkit,.cke_skin_v2 span.cke_browser_gecko18{display:block;}.cke_skin_v2 .cke_wrapper{display:block;}.cke_skin_v2 .cke_browser_opera .cke_editor{display:table;}.cke_skin_v2 .cke_top,.cke_skin_v2 .cke_bottom,.cke_shared .cke_skin_v2{background-color:#efefde;}.cke_skin_v2 .cke_top{border-top:solid 1px #fafaf5;border-left:solid 1px #fafaf5;border-right:solid 1px #696969;border-bottom:solid 2px #696969;}.cke_skin_v2 .cke_rtl .cke_top{border-left:solid 1px #696969;border-right:solid 1px #fafaf5;}.cke_skin_v2 .cke_bottom{border-left:solid 1px #696969;border-right:solid 1px #696969;border-bottom:solid 1px #696969;}.cke_skin_v2 .cke_contents{border:solid 1px #696969;background-color:white;}.cke_skin_v2 .cke_focus{outline:auto 5px -webkit-focus-ring-color;}.cke_skin_v2 textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre;}.cke_skin_v2 .cke_browser_iequirks textarea.cke_source{_white-space:normal;}.cke_skin_v2 .cke_resizer{width:12px;height:12px;margin-top:16px;display:block;float:right;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -801px;background-repeat:no-repeat;cursor:se-resize;}.cke_skin_v2 .cke_rtl .cke_resizer{cursor:sw-resize;background-position:0 -828px;float:left;}.cke_skin_v2 .cke_resizer_horizontal,.cke_skin_v2 .cke_rtl .cke_resizer_horizontal{cursor:e-resize;}.cke_skin_v2 .cke_resizer_vertical,.cke_skin_v2 .cke_rtl .cke_resizer_vertical{cursor:n-resize;}.cke_skin_v2 .cke_maximized .cke_resizer{display:none;}.cke_skin_v2 .cke_browser_ie6 .cke_contents textarea,.cke_skin_v2 .cke_browser_ie7 .cke_contents textarea{position:absolute;}.cke_skin_v2 .cke_voice_label{display:none;}.cke_skin_v2 legend.cke_voice_label{display:none;}.cke_skin_v2 .cke_browser_ie legend.cke_voice_label{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_v2 .cke_panel{border:1px solid #8f8f73;background-color:#fff;width:120px;height:100px;overflow:hidden;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.cke_skin_v2 .cke_panel iframe{width:100%;height:100%;}.cke_skin_v2 .cke_panel_frame .cke_label{display:none;}html.cke_skin_v2_container{overflow:auto;overflow-x:hidden;}body.cke_panel_frame{overflow:auto;}ul.cke_panel_list{list-style-type:none;margin:3px;padding:0;white-space:nowrap;}li.cke_panel_listItem{margin:0;}.cke_panel_listItem a{padding:2px;display:block;border:1px solid #fff;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis;}* html .cke_panel_listItem a{width:100%;color:#000;}*:first-child+html .cke_panel_listItem a{color:#000;}.cke_panel_listItem.cke_selected a{border:1px solid #ccc;background-color:#e9f5ff;}.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{border-color:#316ac5;background-color:#dff1ff;}\r
 .cke_hc .cke_panel_listItem.cke_selected a,.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border-width:3px;padding:0;}.cke_panel_grouptitle{font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;font-weight:bold;white-space:nowrap;background-color:#dcdcdc;color:#000;margin:0;padding:3px;}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:3px;margin-bottom:3px;}.cke_skin_v2 .cke_button_textcolor_panel,.cke_skin_v2 .cke_button_bgcolor_panel{width:150px;height:135px;}.cke_colorblock{padding:3px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif;}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000;}span.cke_colorbox{width:10px;height:10px;border:#808080 1px solid;float:left;}.cke_rtl span.cke_colorbox{float:right;}a.cke_colorbox{border:#fff 1px solid;padding:2px;float:left;}.cke_rtl a.cke_colorbox{float:right;}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{border:#316ac5 1px solid;background-color:#dff1ff;}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:2px;display:block;cursor:pointer;}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{border:#316ac5 1px solid;background-color:#dff1ff;}@media print{.cke_skin_v2 .cke_toolbox{display:none;}}.cke_skin_v2 .cke_browser_webkit .cke_toolbox,.cke_skin_v2 .cke_browser_webkit .cke_toolbox>span{white-space:normal;}.cke_skin_v2 .cke_toolbox{clear:both;padding-bottom:1px;}.cke_skin_v2 a.cke_toolbox_collapser,.cke_skin_v2 a:hover.cke_toolbox_collapser{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:3px -739px;background-repeat:no-repeat;width:11px;height:11px;float:right;border:outset 1px;margin:11px 2px 2px;cursor:pointer;}.cke_skin_v2 a.cke_toolbox_collapser span{display:none;}.cke_skin_v2 .cke_hc a.cke_toolbox_collapser span{font-size:10px;font-weight:bold;font-family:Arial;display:inline;}.cke_skin_v2 .cke_rtl a.cke_toolbox_collapser,.cke_skin_v2 .cke_rtl a:hover.cke_toolbox_collapser{float:left;}.cke_skin_v2 a.cke_toolbox_collapser_min,.cke_skin_v2 a:hover.cke_toolbox_collapser_min{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:4px -760px;background-repeat:no-repeat;margin:2px;}.cke_skin_v2 .cke_rtl a.cke_toolbox_collapser_min,.cke_skin_v2 .cke_rtl a:hover.cke_toolbox_collapser_min{background-position:4px -781px;}.cke_skin_v2 .cke_toolbar{padding-top:1px;padding-bottom:1px;display:inline-block;float:left;}.cke_skin_v2 .cke_rtl .cke_toolbar{float:right;}.cke_skin_v2 .cke_toolgroup{display:inline-block;float:left;}.cke_skin_v2 .cke_browser_ie .cke_toolgroup{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_toolgroup{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolgroup{#float:none;}.cke_skin_v2 .cke_separator{display:inline-block;float:left;border-left:solid 1px #999;margin:4px 2px;height:16px;}.cke_skin_v2 .cke_browser_ie .cke_separator{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_separator{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_separator{#float:none;}.cke_skin_v2 .cke_break{clear:left;}.cke_skin_v2 .cke_rtl .cke_break{clear:right;}.cke_skin_v2 .cke_toolbar_start{display:inline-block;background-image:url(images/toolbar_start.gif);background-repeat:no-repeat;margin:4px 2px 0 2px;width:3px;height:20px;float:left;}.cke_skin_v2 .cke_browser_ie .cke_toolbar_start{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_start{#float:none;}.cke_skin_v2 .cke_toolbar_end{display:inline-block;float:left;}.cke_skin_v2 .cke_browser_ie .cke_toolbar_end{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_toolbar_end{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_end{#float:none;}\r
 .cke_skin_v2 .cke_button a,.cke_skin_v2 .cke_button a:hover,.cke_skin_v2 .cke_button a:focus,.cke_skin_v2 .cke_button a:active,.cke_skin_v2 .cke_button a.cke_off{border:solid 1px #efefde;display:inline-block;border-radius:3px;outline:none;padding-top:2px;padding-left:4px;padding-right:4px;padding-bottom:2px;height:18px;cursor:default;}.cke_skin_v2 .cke_button a,.cke_skin_v2 .cke_button a.cke_off{background-color:#efefde;filter:alpha(opacity=70);opacity:.70;-moz-border-radius:3px;-webkit-border-radius:3px;}.cke_skin_v2 .cke_hc .cke_button a,.cke_skin_v2 .cke_hc .cke_button a.cke_off{opacity:1.0;filter:alpha(opacity=100);}.cke_skin_v2 .cke_button a.cke_on{border:solid 1px #316ac5;background-color:#a3d7ff;filter:alpha(opacity=100);opacity:1;}.cke_skin_v2 .cke_button a.cke_disabled *,.cke_skin_v2 .cke_browser_ie a:hover.cke_button .cke_disabled *{filter:alpha(opacity=30);opacity:.3;}.cke_skin_v2 .cke_hc .cke_button a.cke_disabled *,.cke_skin_v2 .cke_browser_ie.cke_hc a:hover.cke_button .cke_disabled *{filter:alpha(opacity=60);opacity:.6;}.cke_skin_v2 .cke_button a:hover,.cke_skin_v2 .cke_button a:focus,.cke_skin_v2 .cke_button a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding:2px 4px;}.cke_skin_v2 .cke_hc .cke_button a:hover,.cke_skin_v2 .cke_hc .cke_button a:focus,.cke_skin_v2 .cke_hc .cke_button a:active{padding:0 2px!important;border-width:3px;}.cke_skin_v2 .cke_button .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;display:inline-block;cursor:default;}.cke_skin_v2 .cke_rtl .cke_button .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_v2 .cke_button .cke_label{cursor:default;display:none;padding-left:3px;vertical-align:middle;}.cke_skin_v2 .cke_hc .cke_button .cke_label{padding:0;display:inline-block;}.cke_skin_v2 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_v2 .cke_accessibility{position:absolute;display:block;width:0;height:0;overflow:hidden;}.cke_skin_v2 .cke_button .cke_buttonarrow{display:inline-block;height:17px;width:8px;background-position:2px -717px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;cursor:default;}.cke_skin_v2 .cke_rtl .cke_button .cke_buttonarrow{background-position:0 -717px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);}.cke_skin_v2 .cke_browser_gecko18 .cke_toolbar,.cke_skin_v2 .cke_browser_gecko18 .cke_button a,.cke_skin_v2 .cke_browser_gecko18 .cke_button a.cke_off,.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_icon,.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_buttonarrow,.cke_skin_v2 .cke_browser_gecko18 .cke_separator,.cke_skin_v2 .cke_browser_gecko18 .cke_toolbar_start{display:block;float:left;}.cke_skin_v2 .cke_browser_gecko18 .cke_hc .cke_button .cke_icon{display:none;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_toolbar,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button a,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button a.cke_off,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button .cke_icon,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button .cke_buttonarrow,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_separator,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_toolbar_start{float:right;}.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_break{float:left;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl span.cke_inline_label{float:right;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_button .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_break{float:right;}.cke_skin_v2 .cke_browser_gecko18 .cke_separator{margin-top:4px;}.cke_skin_v2 .cke_browser_gecko18 .cke_button .cke_label{padding-top:3px;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolgroup,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_separator,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_start,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_toolbar_end{float:none;}.cke_skin_v2 .cke_browser_ie8 .cke_toolbar,.cke_skin_v2 .cke_browser_ie8 .cke_toolgroup{vertical-align:top;}\r
-.cke_skin_v2 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_v2 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline;}.cke_skin_v2 .cke_browser_ie .cke_rcombo,.cke_skin_v2 .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_v2 .cke_contextmenu{padding:2px;}.cke_skin_v2 .cke_menuitem a{display:block;}.cke_skin_v2 .cke_menuitem span{cursor:default;}.cke_skin_v2 .cke_menuitem a:hover,.cke_skin_v2 .cke_menuitem a:focus,.cke_skin_v2 .cke_menuitem a:active{background-color:#8f8f73;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_v2 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_v2 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_menuitem .cke_icon_wrapper{background-color:#e3e3c7;border:solid 4px #e3e3c7;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_v2 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#e3e3c7;border:solid 4px #e3e3c7;}.cke_skin_v2 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_skin_v2 .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_v2 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_v2 .cke_menuitem a:hover .cke_label,.cke_skin_v2 .cke_menuitem a:focus .cke_label,.cke_skin_v2 .cke_menuitem a:active .cke_label{background-color:#8f8f73;color:white;}.cke_skin_v2 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_v2 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_v2 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;color:black;}.cke_skin_v2 .cke_menuseparator{background-color:#e3e3c7;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_v2 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -784px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_v2 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -763px;}.cke_skin_v2 .cke_menuarrow span{display:none;}.cke_hc .cke_skin_v2 .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_v2 .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_v2 .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_v2 .cke_menuarrow{position:absolute;left:2px;}.cke_skin_v2 .cke_rcombo{display:inline-block;margin-left:2px;margin-right:2px;margin-top:2px;vertical-align:top;float:left;}.cke_skin_v2 .cke_browser_ie .cke_rcombo{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_rcombo{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rcombo{#float:none;}.cke_skin_v2 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;}.cke_skin_v2 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_rtl .cke_rcombo a{float:right;}.cke_skin_v2 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_v2 .cke_rcombo .cke_label{display:inline-block;float:left;line-height:24px;height:22px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:.70;background-color:#f1f1e3;cursor:default;}\r
-.cke_skin_v2 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_v2 .cke_rcombo .cke_inline_label{color:#fff;}.cke_skin_v2 .cke_rcombo .cke_text{border:1px solid #8f8f73;background-color:#fff;height:12px;width:60px;padding-top:4px;padding-bottom:4px;padding-left:5px;padding-right:5px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;cursor:default;}.cke_skin_v2 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_v2 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px;}.cke_skin_v2 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -715px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;border-top:1px solid #8f8f73;border-bottom:1px solid #8f8f73;width:14px;height:20px;}.cke_skin_v2 .cke_rcombo .cke_openbutton span{display:none;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_openbutton span{display:inline;}.cke_skin_v2 .cke_ltr .cke_rcombo .cke_openbutton{border-right:1px solid #8f8f73;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_openbutton{border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_v2 .cke_rcombo .cke_off a:hover,.cke_skin_v2 .cke_rcombo .cke_off a:focus,.cke_skin_v2 .cke_rcombo .cke_off a:active,.cke_skin_v2 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1;}.cke_skin_v2 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_v2 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_v2 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_v2 .cke_rcombo .cke_on .cke_text{border-color:#316ac5;}.cke_skin_v2 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_v2 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_v2 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_text,.cke_skin_v2 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}\r
-.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none;}.cke_skin_v2 .cke_browser_iequirks .cke_rcombo .cke_openbutton{height:22px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_v2 .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_v2 .cke_path{padding:3px 3px 0 3px;display:inline-block;float:left;}.cke_skin_v2 .cke_rtl .cke_path{float:right;}.cke_skin_v2 .cke_path a,.cke_skin_v2 .cke_path .cke_empty{display:inline-block;float:left;border:solid 1px #efefde;background-color:#efefde;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;margin-bottom:3px;cursor:default;}.cke_skin_v2 .cke_path .cke_empty{visibility:hidden;}.cke_skin_v2 .cke_rtl .cke_path a,.cke_skin_v2 .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_v2 .cke_path a:hover,.cke_skin_v2 .cke_path a:focus,.cke_skin_v2 .cke_path a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_v2 .cke_path .cke_label{display:none;}.cke_skin_v2 .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_v2 .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_v2 .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_v2 .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_v2 .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_v2 .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_v2 .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_v2 .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_v2 .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_v2 .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_v2 .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_v2 .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_v2 .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_v2 .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_v2 .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_v2 .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_v2 .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_v2 .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_v2 .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_v2 .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_v2 .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_v2 .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_v2 .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_v2 .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_v2 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_v2 .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_v2 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_v2 .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_v2 .cke_button_checkspell .cke_icon,.cke_skin_v2 .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_v2 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_v2 .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_v2 .cke_button_bgcolor .cke_icon{background-position:0 -720px;}.cke_skin_v2 .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_v2 .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_v2 .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_v2 .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_v2 .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_v2 .cke_button_showblocks .cke_icon{background-position:0 -1136px;}\r
-.cke_skin_v2 .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_v2 .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_v2 .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_v2 .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_v2 .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_v2 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_v2 .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_v2 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_v2 .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_v2 .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_v2 .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_v2 .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_v2 .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_v2 .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_v2 .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_v2 .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_v2 .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_v2 .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_v2 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_v2 .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_v2 .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_v2 .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_v2 .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_v2 .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_v2 .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_v2 .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_v2 .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_v2 .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_v2 .cke_button_source .cke_label{display:inline;display:inline-block;}.cke_skin_v2 .cke_styles_panel{width:150px;height:170px;}.cke_skin_v2 .cke_format_panel{width:150px;height:170px;}.cke_skin_v2 .cke_font_panel{width:150px;height:170px;}.cke_skin_v2 .cke_fontSize_panel{height:170px;}.cke_skin_v2 .cke_fontSize .cke_text{width:20px;}.cke_skin_v2 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_v2{visibility:inherit;}html.cke_skin_v2_container{visibility:visible;}\r
+.cke_skin_v2 .cke_browser_iequirks.cke_browser_ie8 .cke_toolbar,.cke_skin_v2 .cke_browser_iequirks.cke_browser_ie8 .cke_toolgroup{vertical-align:baseline;}.cke_skin_v2 .cke_browser_ie .cke_rcombo,.cke_skin_v2 .cke_browser_ie .cke_rcombo *{cursor:default;}.cke_skin_v2 .cke_contextmenu{padding:2px;}.cke_skin_v2 .cke_menuitem a{display:block;}.cke_skin_v2 .cke_menuitem span{cursor:default;}.cke_skin_v2 .cke_menuitem a:hover,.cke_skin_v2 .cke_menuitem a:focus,.cke_skin_v2 .cke_menuitem a:active{background-color:#8f8f73;display:block;}.cke_hc .cke_menuitem a:hover,.cke_hc .cke_menuitem a:focus,.cke_hc .cke_menuitem a:active{border:2px solid;}.cke_skin_v2 .cke_menuitem .cke_icon{background-image:url(icons.png);background-position:100px;background-repeat:no-repeat;background-color:transparent;width:16px;height:16px;float:left;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon{background-image:url(icons_rtl.png);}.cke_skin_v2 .cke_menuitem .cke_disabled .cke_icon{filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_menuitem .cke_icon_wrapper{background-color:#e3e3c7;border:solid 4px #e3e3c7;width:16px;height:16px;float:left;filter:alpha(opacity=70);opacity:.70;clear:both;}.cke_browser_ie9 .cke_skin_v2 .cke_menuitem .cke_icon_wrapper{width:24px;height:24px;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_icon_wrapper{float:right;}.cke_skin_v2 .cke_menuitem a:hover .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:focus .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:active .cke_icon_wrapper{background-color:#9d9d9d;border:solid 4px #9d9d9d;filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_menuitem a:hover.cke_disabled .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:focus.cke_disabled .cke_icon_wrapper,.cke_skin_v2 .cke_menuitem a:active.cke_disabled .cke_icon_wrapper{background-color:#e3e3c7;border:solid 4px #e3e3c7;}.cke_skin_v2 .cke_menuitem .cke_label{display:block;padding-right:3px;padding-top:5px;padding-left:4px;height:19px;margin-left:24px;background-color:#fff;}.cke_browser_ie9 .cke_skin_v2 .cke_menuitem .cke_label{height:24px;}.cke_skin_v2 .cke_frameLoaded .cke_menuitem .cke_label{filter:alpha(opacity=70);opacity:.70;}.cke_rtl .cke_skin_v2 .cke_menuitem .cke_label{padding-right:0;margin-left:0;padding-left:3px;margin-right:28px;}.cke_skin_v2 .cke_menuitem a.cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.30;}.cke_skin_v2 .cke_menuitem a:hover .cke_label,.cke_skin_v2 .cke_menuitem a:focus .cke_label,.cke_skin_v2 .cke_menuitem a:active .cke_label{background-color:#8f8f73;color:white;}.cke_skin_v2 .cke_menuitem a.cke_disabled:hover .cke_label,.cke_skin_v2 .cke_menuitem a.cke_disabled:focus .cke_label,.cke_skin_v2 .cke_menuitem a.cke_disabled:active .cke_label{background-color:transparent;color:black;}.cke_skin_v2 .cke_menuseparator{background-color:#e3e3c7;height:2px;filter:alpha(opacity=70);opacity:.70;_font-size:0;}.cke_skin_v2 .cke_menuarrow{background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-position:0 -784px;background-repeat:no-repeat;height:5px;width:3px;float:right;margin-right:2px;margin-top:3px;}.cke_rtl .cke_skin_v2 .cke_menuarrow{float:left;margin-right:0;margin-left:2px;background-position:0 -763px;}.cke_skin_v2 .cke_menuarrow span{display:none;}.cke_hc .cke_skin_v2 .cke_menuarrow{width:auto;margin-top:0;}.cke_hc .cke_skin_v2 .cke_menuarrow span{display:inline;}.cke_browser_ie.cke_ltr .cke_skin_v2 .cke_menuarrow{position:absolute;right:2px;}.cke_browser_ie.cke_rtl .cke_skin_v2 .cke_menuarrow{position:absolute;left:2px;}.cke_skin_v2 .cke_rcombo{display:inline-block;margin-left:2px;margin-right:2px;margin-top:2px;vertical-align:top;float:left;}.cke_skin_v2 .cke_browser_ie .cke_rcombo{#float:none;#display:inline;}.cke_skin_v2 .cke_rtl .cke_rcombo{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rcombo{#float:none;}.cke_skin_v2 .cke_rcombopanel{border:1px solid #316ac5;-moz-border-radius-topleft:0;-webkit-border-top-left-radius:0;border-top-left-radius:0;}.cke_skin_v2 .cke_rcombo a{display:inline-block;float:left;filter:alpha(opacity=70);opacity:.70;}.cke_skin_v2 .cke_rtl .cke_rcombo a{float:right;}\r
+.cke_skin_v2 .cke_hc .cke_rcombo a{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_v2 .cke_rcombo .cke_label{display:inline-block;float:left;line-height:24px;height:22px;vertical-align:top;padding-left:4px;padding-right:5px;filter:alpha(opacity=70);opacity:.70;background-color:#f1f1e3;cursor:default;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_label{float:right;padding-right:4px;padding-left:5px;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_label{filter:alpha(opacity=100);opacity:1.0;}.cke_skin_v2 .cke_rcombo .cke_inline_label{color:#fff;}.cke_skin_v2 .cke_rcombo .cke_text{border:1px solid #8f8f73;background-color:#fff;height:12px;width:60px;padding-top:4px;padding-bottom:4px;padding-left:5px;padding-right:5px;text-overflow:ellipsis;overflow:hidden;display:inline-block;vertical-align:top;cursor:default;}.cke_skin_v2 .cke_ltr .cke_rcombo .cke_text{-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_text{-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_v2 .cke_browser_iequirks .cke_rcombo .cke_text{height:22px;}.cke_skin_v2 .cke_rcombo .cke_openbutton{display:inline-block;background-position:5px -715px;background-image:url(images/sprites.png);_background-image:url(images/sprites_ie6.png);background-repeat:no-repeat;border-top:1px solid #8f8f73;border-bottom:1px solid #8f8f73;width:14px;height:20px;}.cke_skin_v2 .cke_rcombo .cke_openbutton span{display:none;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_openbutton span{display:inline;}.cke_skin_v2 .cke_ltr .cke_rcombo .cke_openbutton{border-right:1px solid #8f8f73;-moz-border-radius-topright:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-moz-border-radius-bottomright:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_openbutton{border-left:1px solid #8f8f73;-moz-border-radius-topleft:3px;-webkit-border-top-left-radius:3px;border-top-left-radius:3px;-moz-border-radius-bottomleft:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;}.cke_skin_v2 .cke_rcombo .cke_off a:hover,.cke_skin_v2 .cke_rcombo .cke_off a:focus,.cke_skin_v2 .cke_rcombo .cke_off a:active,.cke_skin_v2 .cke_rcombo .cke_on a{filter:alpha(opacity=100);opacity:1;}.cke_skin_v2 .cke_rcombo .cke_off a:hover .cke_text,.cke_skin_v2 .cke_rcombo .cke_off a:focus .cke_text,.cke_skin_v2 .cke_rcombo .cke_off a:active .cke_text,.cke_skin_v2 .cke_rcombo .cke_on .cke_text{border-color:#316ac5;}.cke_skin_v2 .cke_rcombo .cke_off a:hover .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_off a:focus .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_off a:active .cke_openbutton,.cke_skin_v2 .cke_rcombo .cke_on .cke_openbutton{border-color:#316ac5;background-color:#dff1ff;}.cke_skin_v2 .cke_rcombo .cke_on .cke_text{-moz-border-radius-bottomleft:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;}.cke_skin_v2 .cke_rcombo .cke_on .cke_openbutton{-moz-border-radius-bottomright:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=30);opacity:.3;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_label{filter:alpha(opacity=70);opacity:.7;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_text,.cke_skin_v2 .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=50);opacity:.5;}.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_text,.cke_skin_v2 .cke_hc .cke_rcombo .cke_disabled .cke_openbutton{filter:alpha(opacity=80);opacity:.8;}.cke_skin_v2 .cke_rcombo .cke_disabled .cke_text{color:#fff;}.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_gecko18 .cke_rcombo .cke_openbutton,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_webkit .cke_rcombo .cke_openbutton{display:block;float:left;}\r
+.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_gecko18 .cke_rtl .cke_rcombo .cke_openbutton,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_label,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_text,.cke_skin_v2 .cke_browser_webkit .cke_rtl .cke_rcombo .cke_openbutton{float:right;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo a,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_rcombo .cke_label{float:none;}.cke_skin_v2 .cke_browser_iequirks .cke_rcombo .cke_openbutton{height:22px;}.cke_skin_v2 .cke_rtl .cke_rcombo .cke_font .cke_text,.cke_skin_v2 .cke_rtl .cke_rcombo .cke_fontSize .cke_text{direction:ltr;}@media print{.cke_path{display:none;}}.cke_skin_v2 .cke_path{padding:3px 3px 0 3px;display:inline-block;float:left;}.cke_skin_v2 .cke_rtl .cke_path{float:right;}.cke_skin_v2 .cke_path a,.cke_skin_v2 .cke_path .cke_empty{display:inline-block;float:left;border:solid 1px #efefde;background-color:#efefde;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;margin-bottom:3px;cursor:default;}.cke_skin_v2 .cke_path .cke_empty{visibility:hidden;}.cke_skin_v2 .cke_rtl .cke_path a,.cke_skin_v2 .cke_rtl .cke_path cke_empty{float:right;}.cke_skin_v2 .cke_path a:hover,.cke_skin_v2 .cke_path a:focus,.cke_skin_v2 .cke_path a:active{border:solid 1px #316ac5;background-color:#dff1ff;padding-top:1px;padding-bottom:1px;padding-left:4px;padding-right:4px;outline:none;}.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_path a,.cke_skin_v2 .cke_browser_ie .cke_rtl .cke_path .cke_empty{float:none;}.cke_skin_v2 .cke_path .cke_label{display:none;}.cke_skin_v2 .cke_button_source .cke_icon{background-position:0 0;}.cke_skin_v2 .cke_button_newpage .cke_icon{background-position:0 -48px;}.cke_skin_v2 .cke_button_preview .cke_icon{background-position:0 -64px;}.cke_skin_v2 .cke_button_cut .cke_icon{background-position:0 -96px;}.cke_skin_v2 .cke_button_copy .cke_icon{background-position:0 -112px;}.cke_skin_v2 .cke_button_paste .cke_icon{background-position:0 -128px;}.cke_skin_v2 .cke_button_pastetext .cke_icon{background-position:0 -144px;}.cke_skin_v2 .cke_button_find .cke_icon{background-position:0 -240px;}.cke_skin_v2 .cke_button_replace .cke_icon{background-position:0 -256px;}.cke_skin_v2 .cke_button_selectAll .cke_icon{background-position:0 -272px;}.cke_skin_v2 .cke_button_removeFormat .cke_icon{background-position:0 -288px;}.cke_skin_v2 .cke_button_bold .cke_icon{background-position:0 -304px;}.cke_skin_v2 .cke_button_italic .cke_icon{background-position:0 -320px;}.cke_skin_v2 .cke_button_underline .cke_icon{background-position:0 -336px;}.cke_skin_v2 .cke_button_strike .cke_icon{background-position:0 -352px;}.cke_skin_v2 .cke_button_subscript .cke_icon{background-position:0 -368px;}.cke_skin_v2 .cke_button_superscript .cke_icon{background-position:0 -384px;}.cke_skin_v2 .cke_button_table .cke_icon{background-position:0 -608px;}.cke_skin_v2 .cke_button_horizontalrule .cke_icon{background-position:0 -624px;}.cke_skin_v2 .cke_button_smiley .cke_icon{background-position:0 -640px;}.cke_skin_v2 .cke_button_link .cke_icon{background-position:0 -528px;}.cke_skin_v2 .cke_button_unlink .cke_icon{background-position:0 -544px;}.cke_skin_v2 .cke_button_anchor .cke_icon{background-position:0 -560px;}.cke_skin_v2 .cke_button_image .cke_icon{background-position:0 -576px;}.cke_skin_v2 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_v2 .cke_button_specialchar .cke_icon{background-position:0 -656px;}.cke_skin_v2 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_v2 .cke_button_print .cke_icon{background-position:0 -176px;}.cke_skin_v2 .cke_button_checkspell .cke_icon,.cke_skin_v2 .cke_button_scayt .cke_icon{background-position:0 -192px;}.cke_skin_v2 .cke_button_pagebreak .cke_icon{background-position:0 -672px;}.cke_skin_v2 .cke_button_textcolor .cke_icon{background-position:0 -704px;}.cke_skin_v2 .cke_button_bgcolor .cke_icon{background-position:0 -720px;}\r
+.cke_skin_v2 .cke_button_form .cke_icon{background-position:0 -752px;}.cke_skin_v2 .cke_button_checkbox .cke_icon{background-position:0 -768px;}.cke_skin_v2 .cke_button_radio .cke_icon{background-position:0 -784px;}.cke_skin_v2 .cke_button_textfield .cke_icon{background-position:0 -800px;}.cke_skin_v2 .cke_button_textarea .cke_icon{background-position:0 -816px;}.cke_skin_v2 .cke_button_showblocks .cke_icon{background-position:0 -1136px;}.cke_skin_v2 .cke_button_select .cke_icon{background-position:0 -832px;}.cke_skin_v2 .cke_button_button .cke_icon{background-position:0 -848px;}.cke_skin_v2 .cke_button_imagebutton .cke_icon{background-position:0 -864px;}.cke_skin_v2 .cke_button_hiddenfield .cke_icon{background-position:0 -880px;}.cke_skin_v2 .cke_button_undo .cke_icon{background-position:0 -208px;}.cke_skin_v2 .cke_rtl .cke_button_undo .cke_icon{background-position:0 -224px;}.cke_skin_v2 .cke_button_redo .cke_icon{background-position:0 -224px;}.cke_skin_v2 .cke_rtl .cke_button_redo .cke_icon{background-position:0 -208px;}.cke_skin_v2 .cke_button_templates .cke_icon{background-position:0 -80px;}.cke_skin_v2 .cke_button_numberedlist .cke_icon{background-position:0 -400px;}.cke_skin_v2 .cke_button_bulletedlist .cke_icon{background-position:0 -416px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_numberedlist .cke_icon{background-position:0 -1217px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_bulletedlist .cke_icon{background-position:0 -1233px;}.cke_skin_v2 .cke_button_outdent .cke_icon{background-position:0 -432px;}.cke_skin_v2 .cke_button_indent .cke_icon{background-position:0 -448px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_indent .cke_icon{background-position:0 -1265px;}.cke_skin_v2 .cke_mixed_dir_content .cke_button_outdent .cke_icon{background-position:0 -1249px;}.cke_skin_v2 .cke_button_justifyleft .cke_icon{background-position:0 -464px;}.cke_skin_v2 .cke_button_justifycenter .cke_icon{background-position:0 -480px;}.cke_skin_v2 .cke_button_justifyright .cke_icon{background-position:0 -496px;}.cke_skin_v2 .cke_button_justifyblock .cke_icon{background-position:0 -512px;}.cke_skin_v2 .cke_button_blockquote .cke_icon{background-position:0 -1152px;}.cke_skin_v2 .cke_button_flash .cke_icon{background-position:0 -592px;}.cke_skin_v2 .cke_button_pastefromword .cke_icon{background-position:0 -160px;}.cke_skin_v2 .cke_button_save .cke_icon{background-position:0 -32px;}.cke_skin_v2 .cke_button_about .cke_icon{background-position:0 -736px;}.cke_skin_v2 .cke_button_maximize .cke_icon{background-position:0 -1040px;}.cke_skin_v2 .cke_button_creatediv .cke_icon{background-position:0 -1168px;}.cke_skin_v2 .cke_button_editdiv .cke_icon{background-position:0 -1184px;}.cke_skin_v2 .cke_button_removediv .cke_icon{background-position:0 -1200px;}.cke_skin_v2 .cke_button_bidirtl .cke_icon{background-position:0 -1072px;}.cke_skin_v2 .cke_button_bidiltr .cke_icon{background-position:0 -1056px;}.cke_skin_v2 .cke_button_source .cke_label{display:inline;display:inline-block;}.cke_skin_v2 .cke_styles_panel{width:150px;height:170px;}.cke_skin_v2 .cke_format_panel{width:150px;height:170px;}.cke_skin_v2 .cke_font_panel{width:150px;height:170px;}.cke_skin_v2 .cke_fontSize_panel{height:170px;}.cke_skin_v2 .cke_fontSize .cke_text{width:20px;}.cke_skin_v2 .cke_browser_iequirks .cke_fontSize .cke_text{width:32px;}html .cke_skin_v2{visibility:inherit;}html.cke_skin_v2_container{visibility:visible;}\r
index aea81d9..ff018d3 100644 (file)
@@ -3,4 +3,4 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.skins.add('v2',(function(){var a=[];if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='v2')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie)return;setTimeout(function(){var h=f.parts.dialog.getChild([0,0,0]),i=h.getChild(0),j=h.getChild(2);j.setStyle('width',i.$.offsetWidth+'px');j=h.getChild(7);j.setStyle('width',i.$.offsetWidth-28+'px');j=h.getChild(4);j.setStyle('height',i.$.offsetHeight-31-14+'px');j=h.getChild(5);j.setStyle('height',i.$.offsetHeight-31-14+'px');},100);});};})();\r
+CKEDITOR.skins.add('v2',(function(){var a=[];if(CKEDITOR.env.ie&&CKEDITOR.env.version<7)a.push('icons.png','images/sprites_ie6.png','images/dialog_sides.gif');return{preload:a,editor:{css:['editor.css']},dialog:{css:['dialog.css']},templates:{css:['templates.css']},margins:[0,14,18,14]};})());(function(){CKEDITOR.dialog?a():CKEDITOR.on('dialogPluginReady',a);function a(){CKEDITOR.dialog.on('resize',function(b){var c=b.data,d=c.width,e=c.height,f=c.dialog,g=f.parts.contents;if(c.skin!='v2')return;g.setStyles({width:d+'px',height:e+'px'});if(!CKEDITOR.env.ie)return;setTimeout(function(){var h=f.parts.dialog.getChild([0,0,0]),i=h.getChild(0),j=h.getChild(2);j.setStyle('width',i.$.offsetWidth+'px');j=h.getChild(7);j.setStyle('width',i.$.offsetWidth-28+'px');j=h.getChild(4);j.setStyle('height',e+i.getChild(0).$.offsetHeight+'px');j=h.getChild(5);j.setStyle('height',e+i.getChild(0).$.offsetHeight+'px');},100);});};})();\r
index 4fe14dc..d8c5883 100644 (file)
@@ -3,6 +3,6 @@ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license\r
 */\r
 \r
-CKEDITOR.themes.add('default',(function(){function a(b,c){var d,e;e=b.config.sharedSpaces;e=e&&e[c];e=e&&CKEDITOR.document.getById(e);if(e){var f='<span class="cke_shared"><span class="'+b.skinClass+' cke_editor_'+b.name+'">'+'<span class="'+CKEDITOR.env.cssClass+'">'+'<span class="cke_wrapper cke_'+b.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+c+'">'+'</div></span></span></span></span></span>',g=e.append(CKEDITOR.dom.element.createFromHtml(f,e.getDocument()));if(e.getCustomData('cke_hasshared'))g.hide();else e.setCustomData('cke_hasshared',1);d=g.getChild([0,0,0,0]);b.on('focus',function(){for(var h=0,i,j=e.getChildren();i=j.getItem(h);h++){if(i.type==CKEDITOR.NODE_ELEMENT&&!i.equals(g)&&i.hasClass('cke_shared'))i.hide();}g.show();});b.on('destroy',function(){g.remove();});}return d;};return{build:function(b,c){var d=b.name,e=b.element,f=b.elementMode;if(!e||f==CKEDITOR.ELEMENT_MODE_NONE)return;if(f==CKEDITOR.ELEMENT_MODE_REPLACE)e.hide();var g=b.fire('themeSpace',{space:'top',html:''}).html,h=b.fire('themeSpace',{space:'contents',html:''}).html,i=b.fireOnce('themeSpace',{space:'bottom',html:''}).html,j=h&&b.config.height,k=b.config.tabIndex||b.element.getAttribute('tabindex')||0;if(!h)j='auto';else if(!isNaN(j))j+='px';var l='',m=b.config.width;if(m){if(!isNaN(m))m+='px';l+='width: '+m+';';}var n=g&&a(b,'top'),o=a(b,'bottom');n&&(n.setHtml(g),g='');o&&(o.setHtml(i),i='');var p=CKEDITOR.dom.element.createFromHtml(['<span id="cke_',d,'" onmousedown="return false;" class="',b.skinClass,' cke_editor_',d,'" dir="',b.lang.dir,'" title="',CKEDITOR.env.gecko?' ':'','" lang="',b.langCode,'"'+(CKEDITOR.env.webkit?' tabindex="'+k+'"':'')+' role="application"'+' aria-labelledby="cke_',d,'_arialbl"'+(l?' style="'+l+'"':'')+'>'+'<span id="cke_',d,'_arialbl" class="cke_voice_label">'+b.lang.editor+'</span>'+'<span class="',CKEDITOR.env.cssClass,'" role="presentation"><span class="cke_wrapper cke_',b.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',g?'':' style="display:none"',' role="presentation"><td id="cke_top_',d,'" class="cke_top" role="presentation">',g,'</td></tr><tr',h?'':' style="display:none"',' role="presentation"><td id="cke_contents_',d,'" class="cke_contents" style="height:',j,'" role="presentation">',h,'</td></tr><tr',i?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',d,'" class="cke_bottom" role="presentation">',i,'</td></tr></tbody></table><style>.',b.skinClass,'{visibility:hidden;}</style></span></span></span>'].join(''));\r
-p.getChild([1,0,0,0,0]).unselectable();p.getChild([1,0,0,0,2]).unselectable();if(f==CKEDITOR.ELEMENT_MODE_REPLACE)p.insertAfter(e);else e.append(p);b.container=p;p.disableContextMenu();b.fireOnce('themeLoaded');b.fireOnce('uiReady');},buildDialog:function(b){var c=CKEDITOR.tools.getNextNumber(),d=CKEDITOR.dom.element.createFromHtml(['<div class="cke_editor_'+b.name.replace('.','\\.')+'_dialog cke_skin_',b.skinName,'" dir="',b.lang.dir,'" lang="',b.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+CKEDITOR.env.cssClass,' cke_',b.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+b.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation"><tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr></table>'+'<div id="%footer#" class="%footer" role="presentation"></div>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',CKEDITOR.env.ie?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+c).replace(/%/g,'cke_dialog_')),e=d.getChild([0,0,0,0,0]),f=e.getChild(0),g=e.getChild(1);f.unselectable();g.unselectable();return{element:d,parts:{dialog:d.getChild(0),title:f,close:g,tabs:e.getChild(2),contents:e.getChild([3,0,0,0]),footer:e.getChild(4)}};},destroy:function(b){var c=b.container;c.clearCustomData();b.element.clearCustomData();if(c)c.remove();if(b.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE)b.element.show();delete b.element;}};})());CKEDITOR.editor.prototype.getThemeSpace=function(a){var b='cke_'+a,c=this._[b]||(this._[b]=CKEDITOR.document.getById(b+'_'+this.name));return c;};CKEDITOR.editor.prototype.resize=function(a,b,c,d){var e=this.container,f=CKEDITOR.document.getById('cke_contents_'+this.name),g=d?e.getChild(1):e;CKEDITOR.env.webkit&&g.setStyle('display','none');g.setSize('width',a,true);if(CKEDITOR.env.webkit){g.$.offsetWidth;g.setStyle('display','');}var h=c?0:(g.$.offsetHeight||0)-(f.$.clientHeight||0);\r
+CKEDITOR.themes.add('default',(function(){function a(b,c){var d,e;e=b.config.sharedSpaces;e=e&&e[c];e=e&&CKEDITOR.document.getById(e);if(e){var f='<span class="cke_shared"><span class="'+b.skinClass+' '+b.id+' cke_editor_'+b.name+'">'+'<span class="'+CKEDITOR.env.cssClass+'">'+'<span class="cke_wrapper cke_'+b.lang.dir+'">'+'<span class="cke_editor">'+'<div class="cke_'+c+'">'+'</div></span></span></span></span></span>',g=e.append(CKEDITOR.dom.element.createFromHtml(f,e.getDocument()));if(e.getCustomData('cke_hasshared'))g.hide();else e.setCustomData('cke_hasshared',1);d=g.getChild([0,0,0,0]);b.on('focus',function(){for(var h=0,i,j=e.getChildren();i=j.getItem(h);h++){if(i.type==CKEDITOR.NODE_ELEMENT&&!i.equals(g)&&i.hasClass('cke_shared'))i.hide();}g.show();});b.on('destroy',function(){g.remove();});}return d;};return{build:function(b,c){var d=b.name,e=b.element,f=b.elementMode;if(!e||f==CKEDITOR.ELEMENT_MODE_NONE)return;if(f==CKEDITOR.ELEMENT_MODE_REPLACE)e.hide();var g=b.fire('themeSpace',{space:'top',html:''}).html,h=b.fire('themeSpace',{space:'contents',html:''}).html,i=b.fireOnce('themeSpace',{space:'bottom',html:''}).html,j=h&&b.config.height,k=b.config.tabIndex||b.element.getAttribute('tabindex')||0;if(!h)j='auto';else if(!isNaN(j))j+='px';var l='',m=b.config.width;if(m){if(!isNaN(m))m+='px';l+='width: '+m+';';}var n=g&&a(b,'top'),o=a(b,'bottom');n&&(n.setHtml(g),g='');o&&(o.setHtml(i),i='');var p=CKEDITOR.dom.element.createFromHtml(['<span id="cke_',d,'" onmousedown="return false;" class="',b.skinClass,' ',b.id,' cke_editor_',d,'" dir="',b.lang.dir,'" title="',CKEDITOR.env.gecko?' ':'','" lang="',b.langCode,'"'+(CKEDITOR.env.webkit?' tabindex="'+k+'"':'')+' role="application"'+' aria-labelledby="cke_',d,'_arialbl"'+(l?' style="'+l+'"':'')+'>'+'<span id="cke_',d,'_arialbl" class="cke_voice_label">'+b.lang.editor+'</span>'+'<span class="',CKEDITOR.env.cssClass,'" role="presentation"><span class="cke_wrapper cke_',b.lang.dir,'" role="presentation"><table class="cke_editor" border="0" cellspacing="0" cellpadding="0" role="presentation"><tbody><tr',g?'':' style="display:none"',' role="presentation"><td id="cke_top_',d,'" class="cke_top" role="presentation">',g,'</td></tr><tr',h?'':' style="display:none"',' role="presentation"><td id="cke_contents_',d,'" class="cke_contents" style="height:',j,'" role="presentation">',h,'</td></tr><tr',i?'':' style="display:none"',' role="presentation"><td id="cke_bottom_',d,'" class="cke_bottom" role="presentation">',i,'</td></tr></tbody></table><style>.',b.skinClass,'{visibility:hidden;}</style></span></span></span>'].join(''));\r
+p.getChild([1,0,0,0,0]).unselectable();p.getChild([1,0,0,0,2]).unselectable();if(f==CKEDITOR.ELEMENT_MODE_REPLACE)p.insertAfter(e);else e.append(p);b.container=p;p.disableContextMenu();b.fireOnce('themeLoaded');b.fireOnce('uiReady');},buildDialog:function(b){var c=CKEDITOR.tools.getNextNumber(),d=CKEDITOR.dom.element.createFromHtml(['<div class="',b.id,'_dialog cke_editor_',b.name.replace('.','\\.'),'_dialog cke_skin_',b.skinName,'" dir="',b.lang.dir,'" lang="',b.langCode,'" role="dialog" aria-labelledby="%title#"><table class="cke_dialog',' '+CKEDITOR.env.cssClass,' cke_',b.lang.dir,'" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="%body" role="presentation"><div id="%title#" class="%title" role="presentation"></div><a id="%close_button#" class="%close_button" href="javascript:void(0)" title="'+b.lang.common.close+'" role="button"><span class="cke_label">X</span></a>'+'<div id="%tabs#" class="%tabs" role="tablist"></div>'+'<table class="%contents" role="presentation"><tr>'+'<td id="%contents#" class="%contents" role="presentation"></td>'+'</tr></table>'+'<div id="%footer#" class="%footer" role="presentation"></div>'+'</div>'+'<div id="%tl#" class="%tl"></div>'+'<div id="%tc#" class="%tc"></div>'+'<div id="%tr#" class="%tr"></div>'+'<div id="%ml#" class="%ml"></div>'+'<div id="%mr#" class="%mr"></div>'+'<div id="%bl#" class="%bl"></div>'+'<div id="%bc#" class="%bc"></div>'+'<div id="%br#" class="%br"></div>'+'</td></tr>'+'</table>',CKEDITOR.env.ie?'':'<style>.cke_dialog{visibility:hidden;}</style>','</div>'].join('').replace(/#/g,'_'+c).replace(/%/g,'cke_dialog_')),e=d.getChild([0,0,0,0,0]),f=e.getChild(0),g=e.getChild(1);f.unselectable();g.unselectable();return{element:d,parts:{dialog:d.getChild(0),title:f,close:g,tabs:e.getChild(2),contents:e.getChild([3,0,0,0]),footer:e.getChild(4)}};},destroy:function(b){var c=b.container;c.clearCustomData();b.element.clearCustomData();if(c)c.remove();if(b.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE)b.element.show();delete b.element;}};})());CKEDITOR.editor.prototype.getThemeSpace=function(a){var b='cke_'+a,c=this._[b]||(this._[b]=CKEDITOR.document.getById(b+'_'+this.name));return c;};CKEDITOR.editor.prototype.resize=function(a,b,c,d){var e=this.container,f=CKEDITOR.document.getById('cke_contents_'+this.name),g=d?e.getChild(1):e;CKEDITOR.env.webkit&&g.setStyle('display','none');g.setSize('width',a,true);if(CKEDITOR.env.webkit){g.$.offsetWidth;g.setStyle('display','');}var h=c?0:(g.$.offsetHeight||0)-(f.$.clientHeight||0);\r
 f.setStyle('height',Math.max(b-h,0)+'px');this.fire('resize');};CKEDITOR.editor.prototype.getResizable=function(){return this.container.getChild(1);};\r