+\r
+ var insertSpecialChar = function ( specialChar )\r
+ {\r
+ var selection = editor.getSelection(),\r
+ ranges = selection.getRanges(),\r
+ range, textNode;\r
+\r
+ editor.fire( 'saveSnapshot' );\r
+\r
+ for ( var i = 0, len = ranges.length ; i < len ; i++ )\r
+ {\r
+ range = ranges[ i ];\r
+ range.deleteContents();\r
+\r
+ textNode = CKEDITOR.dom.element.createFromHtml( specialChar );\r
+ range.insertNode( textNode );\r
+ }\r
+\r
+ range.moveToPosition( textNode, CKEDITOR.POSITION_AFTER_END );\r
+ range.select();\r
+\r
+ editor.fire( 'saveSnapshot' );\r
+ };\r
+\r