From: Jason Woofenden Date: Sat, 29 Jun 2013 22:29:18 +0000 (-0400) Subject: vanilla ckeditor-3.6.5 X-Git-Tag: v3.6.5 X-Git-Url: https://jasonwoof.com/gitweb/?p=ckeditor.git;a=commitdiff_plain;h=fb481ba0a7d298e3e7b9034fcb9f2afdc6e8e796 vanilla ckeditor-3.6.5 --- diff --git a/CHANGES.html b/CHANGES.html index 62da0a3..3eb8f9e 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -35,6 +35,34 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEditor Changelog

+ CKEditor 3.6.5

+

+ New features:

+ +

+ Fixed issues:

+ +

CKEditor 3.6.4

Fixed issues:

diff --git a/_source/core/ckeditor_base.js b/_source/core/ckeditor_base.js index 8ef941e..2da3a6a 100644 --- a/_source/core/ckeditor_base.js +++ b/_source/core/ckeditor_base.js @@ -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 // ckeditor_source.js and ckeditor_basic_source.js files. -// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.4',revision:'7575',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=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;})(); +// if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'',version:'3.6.5',revision:'7647',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=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;})(); // #### Raw code // ATTENTION: read the above "Compressed Code" notes when changing this code. @@ -51,7 +51,7 @@ if ( !window.CKEDITOR ) // The production implementation contains a fixed timestamp, unique // for each release and generated by the releaser. // (Base 36 value of each component of YYMMDDHH - 4 chars total - e.g. 87bm == 08071122) - timestamp : 'C6HH5UF', + timestamp : 'C9A85WF', /** * Contains the CKEditor version number. @@ -59,7 +59,7 @@ if ( !window.CKEDITOR ) * @example * alert( CKEDITOR.version ); // e.g. 'CKEditor 3.4.1' */ - version : '3.6.4', + version : '3.6.5', /** * Contains the CKEditor revision number. @@ -69,7 +69,7 @@ if ( !window.CKEDITOR ) * @example * alert( CKEDITOR.revision ); // e.g. '3975' */ - revision : '7575', + revision : '7647', /** * A 3-digit random integer, valid for the entire life of the CKEDITOR object. diff --git a/_source/core/dom/element.js b/_source/core/dom/element.js index 84498ba..10b9cd2 100644 --- a/_source/core/dom/element.js +++ b/_source/core/dom/element.js @@ -105,6 +105,9 @@ CKEDITOR.dom.element.clearMarkers = function( database, element, removeFromDatab } }; +( function() +{ + CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, /** @lends CKEDITOR.dom.element.prototype */ { @@ -504,7 +507,10 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, : function( propertyName ) { - return this.getWindow().$.getComputedStyle( this.$, '' ).getPropertyValue( propertyName ); + var style = this.getWindow().$.getComputedStyle( this.$, null ); + + // Firefox may return null if we call the above on a hidden iframe. (#9117) + return style ? style.getPropertyValue( propertyName ) : ''; }, /** @@ -1186,6 +1192,16 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, { // Removes the specified property from the current style object. var $ = this.$.style; + + // "removeProperty" need to be specific on the following styles. + if ( !$.removeProperty && ( name == 'border' || name == 'margin' || name == 'padding' ) ) + { + var names = expandedRules( name ); + for ( var i = 0 ; i < names.length ; i++ ) + this.removeStyle( names[ i ] ); + return; + } + $.removeProperty ? $.removeProperty( name ) : $.removeAttribute( CKEDITOR.tools.cssStyleToDomStyle( name ) ); if ( !this.$.style.cssText ) @@ -1752,13 +1768,35 @@ CKEDITOR.tools.extend( CKEDITOR.dom.element.prototype, } }); -( function() -{ var sides = { width : [ "border-left-width", "border-right-width","padding-left", "padding-right" ], height : [ "border-top-width", "border-bottom-width", "padding-top", "padding-bottom" ] }; + // Generate list of specific style rules, applicable to margin/padding/border. + function expandedRules( style ) + { + var sides = [ 'top', 'left', 'right', 'bottom' ], components; + + if ( style == 'border' ) + components = [ 'color', 'style', 'width' ]; + + var styles = []; + for ( var i = 0 ; i < sides.length ; i++ ) + { + + if ( components ) + { + for ( var j = 0 ; j < components.length ; j++ ) + styles.push( [ style, sides[ i ], components[j] ].join( '-' ) ); + } + else + styles.push( [ style, sides[ i ] ].join( '-' ) ); + } + + return styles; + } + function marginAndPaddingSize( type ) { var adjustment = 0; diff --git a/_source/core/dom/event.js b/_source/core/dom/event.js index c63469c..379e7b9 100644 --- a/_source/core/dom/event.js +++ b/_source/core/dom/event.js @@ -117,6 +117,26 @@ CKEDITOR.dom.event.prototype = { var rawNode = this.$.target || this.$.srcElement; return rawNode ? new CKEDITOR.dom.node( rawNode ) : null; + }, + + /** + * Retrieves the coordinates of the mouse pointer relative to the top-left + * corner of the document, in mouse related event. + * @returns {Object} The object contains the position. + * @example + * element.on( 'mousemouse', function( ev ) + * { + * var pageOffset = ev.data.getPageOffset(); + * alert( pageOffset.x ); // page offset X + * alert( pageOffset.y ); // page offset Y + * }); + */ + getPageOffset : function() + { + var doc = this.getTarget().getDocument().$; + var pageX = this.$.pageX || this.$.clientX + ( doc.documentElement.scrollLeft || doc.body.scrollLeft ); + var pageY = this.$.pageY || this.$.clientY + ( doc.documentElement.scrollTop || doc.body.scrollTop ); + return { x : pageX, y : pageY }; } }; diff --git a/_source/core/dom/node.js b/_source/core/dom/node.js index 90412e4..32b4c98 100644 --- a/_source/core/dom/node.js +++ b/_source/core/dom/node.js @@ -106,7 +106,8 @@ CKEDITOR.tools.extend( CKEDITOR.dom.node.prototype, if ( !cloneId ) node.removeAttribute( 'id', false ); - node.removeAttribute( 'data-cke-expando', false ); + + node[ 'data-cke-expando' ] = undefined; if ( includeChildren ) { diff --git a/_source/core/dom/range.js b/_source/core/dom/range.js index c8312b7..1aeac00 100644 --- a/_source/core/dom/range.js +++ b/_source/core/dom/range.js @@ -347,50 +347,38 @@ CKEDITOR.dom.range = function( document ) // Creates the appropriate node evaluator for the dom walker used inside // check(Start|End)OfBlock. - function getCheckStartEndBlockEvalFunction( isStart ) + function getCheckStartEndBlockEvalFunction() { var skipBogus = false, + whitespaces = CKEDITOR.dom.walker.whitespaces(), bookmarkEvaluator = CKEDITOR.dom.walker.bookmark( true ), - nbspRegExp = /^[\t\r\n ]*(?: |\xa0)$/; + isBogus = CKEDITOR.dom.walker.bogus(); return function( node ) { - // First ignore bookmark nodes. - if ( bookmarkEvaluator( node ) ) + // First skip empty nodes. + if ( bookmarkEvaluator( node ) || whitespaces( node ) ) return true; - if ( node.type == CKEDITOR.NODE_TEXT ) + // Skip the bogus node at the end of block. + if ( isBogus( node ) && + !skipBogus ) { - // Skip the block filler NBSP. - if ( CKEDITOR.env.ie && - nbspRegExp.test( node.getText() ) && - !skipBogus && - !( isStart && node.getNext() ) ) - { - skipBogus = true; - } - // If there's any visible text, then we're not at the start. - else if ( node.hasAscendant( 'pre' ) || CKEDITOR.tools.trim( node.getText() ).length ) - return false; - } - else if ( node.type == CKEDITOR.NODE_ELEMENT ) - { - // If there are non-empty inline elements (e.g. ), then we're not - // at the start. - if ( !inlineChildReqElements[ node.getName() ] ) - { - // Skip the padding block br. - if ( !CKEDITOR.env.ie && - node.is( 'br' ) && - !skipBogus && - !( isStart && node.getNext() ) ) - { - skipBogus = true; - } - else - return false; - } + skipBogus = true; + return true; } + + // If there's any visible text, then we're not at the start. + if ( node.type == CKEDITOR.NODE_TEXT && + ( node.hasAscendant( 'pre' ) || + CKEDITOR.tools.trim( node.getText() ).length ) ) + return false; + + // If there are non-empty inline elements (e.g. ), then we're not + // at the start. + if ( node.type == CKEDITOR.NODE_ELEMENT && !inlineChildReqElements[ node.getName() ] ) + return false; + return true; }; } @@ -401,21 +389,28 @@ CKEDITOR.dom.range = function( document ) // text node and non-empty elements unless it's being bookmark text. function elementBoundaryEval( checkStart ) { + var whitespaces = CKEDITOR.dom.walker.whitespaces(), + bookmark = CKEDITOR.dom.walker.bookmark( 1 ); + return function( node ) { + // First skip empty nodes. + if ( bookmark( node ) || whitespaces( node ) ) + return true; + // Tolerant bogus br when checking at the end of block. // Reject any text node unless it's being bookmark // OR it's spaces. // Reject any element unless it's being invisible empty. (#3883) return !checkStart && isBogus( node ) || - ( node.type == CKEDITOR.NODE_TEXT ? - !CKEDITOR.tools.trim( node.getText() ) || !!node.getParent().data( 'cke-bookmark' ) - : node.getName() in CKEDITOR.dtd.$removeEmpty ); + node.type == CKEDITOR.NODE_ELEMENT && + node.getName() in CKEDITOR.dtd.$removeEmpty; }; } var whitespaceEval = new CKEDITOR.dom.walker.whitespaces(), - bookmarkEval = new CKEDITOR.dom.walker.bookmark(); + bookmarkEval = new CKEDITOR.dom.walker.bookmark(), + nbspRegExp = /^[\t\r\n ]*(?: |\xa0)$/; function nonWhitespaceOrBookmarkEval( node ) { @@ -1834,13 +1829,13 @@ CKEDITOR.dom.range = function( document ) var startContainer = this.startContainer, startOffset = this.startOffset; - // If the starting node is a text node, and non-empty before the offset, - // then we're surely not at the start of block. - if ( startOffset && startContainer.type == CKEDITOR.NODE_TEXT ) + // [IE] Special handling for range start in text with a leading NBSP, + // we it to be isolated, for bogus check. + if ( CKEDITOR.env.ie && startOffset && startContainer.type == CKEDITOR.NODE_TEXT ) { var textBefore = CKEDITOR.tools.ltrim( startContainer.substring( 0, startOffset ) ); - if ( textBefore.length ) - return false; + if ( nbspRegExp.test( textBefore ) ) + this.trim( 0, 1 ); } // We need to grab the block element holding the start boundary, so @@ -1853,7 +1848,7 @@ CKEDITOR.dom.range = function( document ) walkerRange.setStartAt( path.block || path.blockLimit, CKEDITOR.POSITION_AFTER_START ); var walker = new CKEDITOR.dom.walker( walkerRange ); - walker.evaluator = getCheckStartEndBlockEvalFunction( true ); + walker.evaluator = getCheckStartEndBlockEvalFunction(); return walker.checkBackward(); }, @@ -1863,13 +1858,13 @@ CKEDITOR.dom.range = function( document ) var endContainer = this.endContainer, endOffset = this.endOffset; - // If the ending node is a text node, and non-empty after the offset, - // then we're surely not at the end of block. - if ( endContainer.type == CKEDITOR.NODE_TEXT ) + // [IE] Special handling for range end in text with a following NBSP, + // we it to be isolated, for bogus check. + if ( CKEDITOR.env.ie && endContainer.type == CKEDITOR.NODE_TEXT ) { var textAfter = CKEDITOR.tools.rtrim( endContainer.substring( endOffset ) ); - if ( textAfter.length ) - return false; + if ( nbspRegExp.test( textAfter ) ) + this.trim( 1, 0 ); } // We need to grab the block element holding the start boundary, so @@ -1882,15 +1877,53 @@ CKEDITOR.dom.range = function( document ) walkerRange.setEndAt( path.block || path.blockLimit, CKEDITOR.POSITION_BEFORE_END ); var walker = new CKEDITOR.dom.walker( walkerRange ); - walker.evaluator = getCheckStartEndBlockEvalFunction( false ); + walker.evaluator = getCheckStartEndBlockEvalFunction(); return walker.checkForward(); }, /** - * Check if elements at which the range boundaries anchor are read-only, - * with respect to "contenteditable" attribute. + * Traverse with {@link CKEDITOR.dom.walker} to retrieve the previous element before the range start. + * @param {Function} evaluator Function used as the walker's evaluator. + * @param {Function} [guard] Function used as the walker's guard. + * @param {CKEDITOR.dom.element} [boundary] A range ancestor element in which the traversal is limited, + * default to the root editable if not defined. + * + * @return {CKEDITOR.dom.element|null} The returned node from the traversal. + */ + getPreviousNode : function( evaluator, guard, boundary ) { + + var walkerRange = this.clone(); + walkerRange.collapse( 1 ); + walkerRange.setStartAt( boundary || this.document.getBody(), CKEDITOR.POSITION_AFTER_START ); + + var walker = new CKEDITOR.dom.walker( walkerRange ); + walker.evaluator = evaluator; + walker.guard = guard; + return walker.previous(); + }, + + /** + * Traverse with {@link CKEDITOR.dom.walker} to retrieve the next element before the range start. + * @param {Function} evaluator Function used as the walker's evaluator. + * @param {Function} [guard] Function used as the walker's guard. + * @param {CKEDITOR.dom.element} [boundary] A range ancestor element in which the traversal is limited, + * default to the root editable if not defined. + * + * @return {CKEDITOR.dom.element|null} The returned node from the traversal. */ + getNextNode: function( evaluator, guard, boundary ) + { + var walkerRange = this.clone(); + walkerRange.collapse(); + walkerRange.setEndAt( boundary || this.document.getBody(), CKEDITOR.POSITION_BEFORE_END ); + + var walker = new CKEDITOR.dom.walker( walkerRange ); + walker.evaluator = evaluator; + walker.guard = guard; + return walker.next(); + }, + checkReadOnly : ( function() { function checkNodesEditable( node, anotherEnd ) @@ -1939,8 +1972,6 @@ CKEDITOR.dom.range = function( document ) */ moveToElementEditablePosition : function( el, isMoveToEnd ) { - var nbspRegExp = /^[\t\r\n ]*(?: |\xa0)$/; - function nextDFS( node, childOnly ) { var next; diff --git a/_source/core/dom/walker.js b/_source/core/dom/walker.js index a9c4eba..a4ed957 100644 --- a/_source/core/dom/walker.js +++ b/_source/core/dom/walker.js @@ -413,8 +413,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { return function( node ) { - var isWhitespace = node && ( node.type == CKEDITOR.NODE_TEXT ) - && !CKEDITOR.tools.trim( node.getText() ); + var isWhitespace; + if ( node && node.type == CKEDITOR.NODE_TEXT ) + { + // whitespace, as well as the text cursor filler node we used in Webkit. (#9384) + isWhitespace = !CKEDITOR.tools.trim( node.getText() ) || + CKEDITOR.env.webkit && node.getText() == '\u200b'; + } + return !! ( isReject ^ isWhitespace ); }; }; @@ -428,13 +434,25 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var whitespace = CKEDITOR.dom.walker.whitespaces(); return function( node ) { - // Nodes that take no spaces in wysiwyg: - // 1. White-spaces but not including NBSP; - // 2. Empty inline elements, e.g. we're checking here - // 'offsetHeight' instead of 'offsetWidth' for properly excluding - // all sorts of empty paragraph, e.g.
. - var isInvisible = whitespace( node ) || node.is && !node.$.offsetHeight; - return !! ( isReject ^ isInvisible ); + var invisible; + + if ( whitespace( node ) ) + invisible = 1; + else + { + // Visibility should be checked on element. + if ( node.type == CKEDITOR.NODE_TEXT ) + node = node.getParent(); + + // Nodes that take no spaces in wysiwyg: + // 1. White-spaces but not including NBSP; + // 2. Empty inline elements, e.g. we're checking here + // 'offsetHeight' instead of 'offsetWidth' for properly excluding + // all sorts of empty paragraph, e.g.
. + invisible = !node.$.offsetHeight; + } + + return !! ( isReject ^ invisible ); }; }; diff --git a/_source/core/lang.js b/_source/core/lang.js index e75909f..55aaf5d 100644 --- a/_source/core/lang.js +++ b/_source/core/lang.js @@ -56,6 +56,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license 'ka' : 1, 'km' : 1, 'ko' : 1, + 'ku' : 1, 'lt' : 1, 'lv' : 1, 'mn' : 1, @@ -75,6 +76,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license 'sv' : 1, 'th' : 1, 'tr' : 1, + 'ug' : 1, 'uk' : 1, 'vi' : 1, 'zh-cn' : 1, diff --git a/_source/core/loader.js b/_source/core/loader.js index ade7c06..0ac24f5 100644 --- a/_source/core/loader.js +++ b/_source/core/loader.js @@ -105,7 +105,7 @@ if ( !CKEDITOR.loader ) return path; })(); - var timestamp = 'C6HH5UF'; + var timestamp = 'C9A85WF'; var getUrl = function( resource ) { diff --git a/_source/core/tools.js b/_source/core/tools.js index 148c588..4b2a5f7 100644 --- a/_source/core/tools.js +++ b/_source/core/tools.js @@ -756,7 +756,82 @@ For licensing, see LICENSE.html or http://ckeditor.com/license genKey : function() { return Array.prototype.slice.call( arguments ).join( '-' ); + }, + + /** + * Try to avoid differences in the style attribute. + * + * @param {String} styleText The style data to be normalized. + * @param {Boolean} [nativeNormalize=false] Parse the data using the browser. + * @returns {String} The normalized value. + */ + normalizeCssText: function( styleText, nativeNormalize ) { + var props = [], + name, + parsedProps = CKEDITOR.tools.parseCssText( styleText, true, nativeNormalize ); + + for ( name in parsedProps ) + props.push( name + ':' + parsedProps[ name ] ); + + props.sort(); + + return props.length ? ( props.join( ';' ) + ';' ) : ''; + }, + + /** + * Find and convert rgb(x,x,x) colors definition to hexadecimal notation. + * @param {String} styleText The style data (or just a string containing rgb colors) to be converted. + * @returns {String} The style data with rgb colors converted to hexadecimal equivalents. + */ + convertRgbToHex: function( styleText ) { + return styleText.replace( /(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi, function( match, red, green, blue ) { + var color = [ red, green, blue ]; + // Add padding zeros if the hex value is less than 0x10. + for ( var i = 0; i < 3; i++ ) + color[ i ] = ( '0' + parseInt( color[ i ], 10 ).toString( 16 ) ).slice( -2 ); + return '#' + color.join( '' ); + }); + }, + + /** + * Turn inline style text properties into one hash. + * + * @param {String} styleText The style data to be parsed. + * @param {Boolean} [normalize=false] Normalize properties and values + * (e.g. trim spaces, convert to lower case). + * @param {Boolean} [nativeNormalize=false] Parse the data using the browser. + * @returns {String} The object containing parsed properties. + */ + parseCssText: function( styleText, normalize, nativeNormalize ) { + var retval = {}; + + if ( nativeNormalize ) { + // Injects the style in a temporary span object, so the browser parses it, + // retrieving its final format. + var temp = new CKEDITOR.dom.element( 'span' ); + temp.setAttribute( 'style', styleText ); + styleText = CKEDITOR.tools.convertRgbToHex( temp.getAttribute( 'style' ) || '' ); + } + + // IE will leave a single semicolon when failed to parse the style text. (#3891) + if ( !styleText || styleText == ';' ) + return retval; + + styleText.replace( /"/g, '"' ).replace( /\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g, function( match, name, value ) { + if ( normalize ) { + name = name.toLowerCase(); + // Normalize font-family property, ignore quotes and being case insensitive. (#7322) + // http://www.w3.org/TR/css3-fonts/#font-family-the-font-family-property + if ( name == 'font-family' ) + value = value.toLowerCase().replace( /["']/g, '' ).replace( /\s*,\s*/g, ',' ); + value = CKEDITOR.tools.trim( value ); + } + + retval[ name ] = value; + }); + return retval; } + }; })(); diff --git a/_source/lang/_languages.js b/_source/lang/_languages.js index bb882af..f6fe965 100644 --- a/_source/lang/_languages.js +++ b/_source/lang/_languages.js @@ -43,6 +43,7 @@ var CKEDITOR_LANGS = (function() ka : 'Georgian', km : 'Khmer', ko : 'Korean', + ku : 'Kurdish', lt : 'Lithuanian', lv : 'Latvian', mn : 'Mongolian', @@ -62,6 +63,7 @@ var CKEDITOR_LANGS = (function() sv : 'Swedish', th : 'Thai', tr : 'Turkish', + ug : 'Uighur', uk : 'Ukrainian', vi : 'Vietnamese', zh : 'Chinese Traditional', diff --git a/_source/lang/_translationstatus.txt b/_source/lang/_translationstatus.txt index 467a733..5a5a169 100644 --- a/_source/lang/_translationstatus.txt +++ b/_source/lang/_translationstatus.txt @@ -1,64 +1,65 @@ Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license -af.js Found: 548 Missing: 29 -ar.js Found: 470 Missing: 107 -bg.js Found: 394 Missing: 183 -bn.js Found: 292 Missing: 285 -bs.js Found: 175 Missing: 402 -ca.js Found: 549 Missing: 28 -cs.js Found: 577 Missing: 0 -cy.js Found: 575 Missing: 2 -da.js Found: 575 Missing: 2 -de.js Found: 575 Missing: 2 -el.js Found: 391 Missing: 186 -en-au.js Found: 347 Missing: 230 -en-ca.js Found: 345 Missing: 232 -en-gb.js Found: 517 Missing: 60 -eo.js Found: 577 Missing: 0 -es.js Found: 575 Missing: 2 -et.js Found: 577 Missing: 0 -eu.js Found: 417 Missing: 160 -fa.js Found: 575 Missing: 2 -fi.js Found: 575 Missing: 2 -fo.js Found: 575 Missing: 2 -fr-ca.js Found: 319 Missing: 258 -fr.js Found: 575 Missing: 2 -gl.js Found: 292 Missing: 285 -gu.js Found: 575 Missing: 2 -he.js Found: 575 Missing: 2 -hi.js Found: 327 Missing: 250 -hr.js Found: 575 Missing: 2 -hu.js Found: 572 Missing: 5 -id.js Found: 1 Missing: 576 -is.js Found: 326 Missing: 251 -it.js Found: 577 Missing: 0 -ja.js Found: 493 Missing: 84 -ka.js Found: 568 Missing: 9 -km.js Found: 286 Missing: 291 -ko.js Found: 304 Missing: 273 -lt.js Found: 575 Missing: 2 -lv.js Found: 294 Missing: 283 -mk.js Found: 0 Missing: 577 -mn.js Found: 320 Missing: 257 -ms.js Found: 276 Missing: 301 -nb.js Found: 577 Missing: 0 -nl.js Found: 575 Missing: 2 -no.js Found: 577 Missing: 0 -pl.js Found: 575 Missing: 2 -pt-br.js Found: 577 Missing: 0 -pt.js Found: 326 Missing: 251 -ro.js Found: 432 Missing: 145 -ru.js Found: 575 Missing: 2 -sk.js Found: 364 Missing: 213 -sl.js Found: 426 Missing: 151 -sr-latn.js Found: 287 Missing: 290 -sr.js Found: 286 Missing: 291 -sv.js Found: 550 Missing: 27 -th.js Found: 298 Missing: 279 -tr.js Found: 575 Missing: 2 -ug.js Found: 572 Missing: 5 -uk.js Found: 575 Missing: 2 -vi.js Found: 577 Missing: 0 -zh-cn.js Found: 577 Missing: 0 -zh.js Found: 433 Missing: 144 +af.js Found: 550 Missing: 28 +ar.js Found: 470 Missing: 108 +bg.js Found: 396 Missing: 182 +bn.js Found: 292 Missing: 286 +bs.js Found: 175 Missing: 403 +ca.js Found: 549 Missing: 29 +cs.js Found: 578 Missing: 0 +cy.js Found: 578 Missing: 0 +da.js Found: 576 Missing: 2 +de.js Found: 577 Missing: 1 +el.js Found: 391 Missing: 187 +en-au.js Found: 347 Missing: 231 +en-ca.js Found: 345 Missing: 233 +en-gb.js Found: 517 Missing: 61 +eo.js Found: 577 Missing: 1 +es.js Found: 577 Missing: 1 +et.js Found: 577 Missing: 1 +eu.js Found: 417 Missing: 161 +fa.js Found: 577 Missing: 1 +fi.js Found: 578 Missing: 0 +fo.js Found: 576 Missing: 2 +fr-ca.js Found: 321 Missing: 257 +fr.js Found: 577 Missing: 1 +gl.js Found: 292 Missing: 286 +gu.js Found: 577 Missing: 1 +he.js Found: 577 Missing: 1 +hi.js Found: 329 Missing: 249 +hr.js Found: 577 Missing: 1 +hu.js Found: 573 Missing: 5 +id.js Found: 1 Missing: 577 +is.js Found: 326 Missing: 252 +it.js Found: 578 Missing: 0 +ja.js Found: 495 Missing: 83 +ka.js Found: 570 Missing: 8 +km.js Found: 286 Missing: 292 +ko.js Found: 304 Missing: 274 +ku.js Found: 578 Missing: 0 +lt.js Found: 577 Missing: 1 +lv.js Found: 294 Missing: 284 +mk.js Found: 0 Missing: 578 +mn.js Found: 320 Missing: 258 +ms.js Found: 276 Missing: 302 +nb.js Found: 578 Missing: 0 +nl.js Found: 575 Missing: 3 +no.js Found: 578 Missing: 0 +pl.js Found: 577 Missing: 1 +pt-br.js Found: 578 Missing: 0 +pt.js Found: 326 Missing: 252 +ro.js Found: 433 Missing: 145 +ru.js Found: 577 Missing: 1 +sk.js Found: 577 Missing: 1 +sl.js Found: 426 Missing: 152 +sr-latn.js Found: 287 Missing: 291 +sr.js Found: 286 Missing: 292 +sv.js Found: 551 Missing: 27 +th.js Found: 298 Missing: 280 +tr.js Found: 577 Missing: 1 +ug.js Found: 574 Missing: 4 +uk.js Found: 577 Missing: 1 +vi.js Found: 577 Missing: 1 +zh-cn.js Found: 577 Missing: 1 +zh.js Found: 435 Missing: 143 diff --git a/_source/lang/af.js b/_source/lang/af.js index 9b79693..6a8603d 100644 --- a/_source/lang/af.js +++ b/_source/lang/af.js @@ -31,8 +31,8 @@ CKEDITOR.lang['af'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Teksverwerker, %1', + editorHelp : 'Druk op ALT 0 vir hulp', // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING @@ -120,6 +120,7 @@ CKEDITOR.lang['af'] = alignTop : 'Bo', alignMiddle : 'Middel', alignBottom : 'Onder', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Hoogte moet \'n getal wees', invalidWidth : 'Breedte moet \'n getal wees.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ar.js b/_source/lang/ar.js index e04ad55..9a63100 100644 --- a/_source/lang/ar.js +++ b/_source/lang/ar.js @@ -120,6 +120,7 @@ CKEDITOR.lang['ar'] = alignTop : 'أعلى', alignMiddle : 'وسط', alignBottom : 'أسفل', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'الارتفاع يجب أن يكون عدداً.', invalidWidth : 'العرض يجب أن يكون عدداً.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/bg.js b/_source/lang/bg.js index 2995ff4..4207e12 100644 --- a/_source/lang/bg.js +++ b/_source/lang/bg.js @@ -31,8 +31,8 @@ CKEDITOR.lang['bg'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Текстов редактор за форматиран текст, %1', + editorHelp : 'натиснете ALT 0 за помощ', // ARIA descriptions. toolbars : 'Ленти с инструменти', @@ -120,6 +120,7 @@ CKEDITOR.lang['bg'] = alignTop : 'Горе', alignMiddle : 'По средата', alignBottom : 'Долу', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Височината трябва да е число.', invalidWidth : 'Ширина требе да е число.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/bn.js b/_source/lang/bn.js index f3bef9f..eeec447 100644 --- a/_source/lang/bn.js +++ b/_source/lang/bn.js @@ -120,6 +120,7 @@ CKEDITOR.lang['bn'] = alignTop : 'উপর', alignMiddle : 'মধ্য', alignBottom : 'নীচে', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/bs.js b/_source/lang/bs.js index 6dbd9a0..4515746 100644 --- a/_source/lang/bs.js +++ b/_source/lang/bs.js @@ -120,6 +120,7 @@ CKEDITOR.lang['bs'] = alignTop : 'Vrh', alignMiddle : 'Sredina', alignBottom : 'Dno', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ca.js b/_source/lang/ca.js index 236dcf2..dffba54 100644 --- a/_source/lang/ca.js +++ b/_source/lang/ca.js @@ -120,6 +120,7 @@ CKEDITOR.lang['ca'] = alignTop : 'Superior', alignMiddle : 'Centre', alignBottom : 'Inferior', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'L\'alçada ha de ser un nombre.', invalidWidth : 'L\'amplada ha de ser un nombre.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/cs.js b/_source/lang/cs.js index 98a02b0..5afd04d 100644 --- a/_source/lang/cs.js +++ b/_source/lang/cs.js @@ -120,6 +120,7 @@ CKEDITOR.lang['cs'] = alignTop : 'Nahoru', alignMiddle : 'Na střed', alignBottom : 'Dolů', + invalidValue : 'Neplatná hodnota.', invalidHeight : 'Zadaná výška musí být číslo.', invalidWidth : 'Šířka musí být číslo.', invalidCssLength : 'Hodnota určená pro pole "%1" musí být kladné číslo bez nebo s platnou jednotkou míry CSS (px, %, in, cm, mm, em, ex, pt, nebo pc).', diff --git a/_source/lang/cy.js b/_source/lang/cy.js index 73590ad..6d1602a 100644 --- a/_source/lang/cy.js +++ b/_source/lang/cy.js @@ -31,8 +31,8 @@ CKEDITOR.lang['cy'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Golygydd testun cyfoethog, %1', + editorHelp : 'Gwasgwch ALT 0 am gymorth', // ARIA descriptions. toolbars : 'Bariau offer golygydd', @@ -120,6 +120,7 @@ CKEDITOR.lang['cy'] = alignTop : 'Brig', alignMiddle : 'Canol', alignBottom : 'Gwaelod', + invalidValue : 'Gwerth annilys.', invalidHeight : 'Rhaid i\'r Uchder fod yn rhif.', invalidWidth : 'Rhaid i\'r Lled fod yn rhif.', invalidCssLength : 'Mae\'n rhaid i\'r gwerth ar gyfer maes "%1" fod yn rhif positif gyda neu heb uned fesuriad CSS dilys (px, %, in, cm, mm, em, ex, pt, neu pc).', diff --git a/_source/lang/da.js b/_source/lang/da.js index 84a3e73..6cffc05 100644 --- a/_source/lang/da.js +++ b/_source/lang/da.js @@ -32,7 +32,7 @@ CKEDITOR.lang['da'] = * of reading non-English words. So be careful while translating it. */ editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorHelp : 'Tryk ALT 0 for hjælp', // ARIA descriptions. toolbars : 'Editors værktøjslinjer', @@ -120,6 +120,7 @@ CKEDITOR.lang['da'] = alignTop : 'Øverst', alignMiddle : 'Centreret', alignBottom : 'Nederst', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Højde skal være et tal.', invalidWidth : 'Bredde skal være et tal.', invalidCssLength : 'Værdien specificeret for "%1" feltet skal være et positivt nummer med eller uden en CSS mÃ¥leenhed (px, %, in, cm, mm, em, ex, pt, eller pc).', diff --git a/_source/lang/de.js b/_source/lang/de.js index f292252..c6e3f8b 100644 --- a/_source/lang/de.js +++ b/_source/lang/de.js @@ -31,8 +31,8 @@ CKEDITOR.lang['de'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'WYSIWYG-Editor, %1', + editorHelp : 'Drücken Sie ALT 0 für Hilfe', // ARIA descriptions. toolbars : 'Editor Symbolleisten', @@ -120,6 +120,7 @@ CKEDITOR.lang['de'] = alignTop : 'Oben', alignMiddle : 'Mitte', alignBottom : 'Unten', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Höhe muss eine Zahl sein.', invalidWidth : 'Breite muss eine Zahl sein.', invalidCssLength : 'Wert spezifiziert für "%1" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).', diff --git a/_source/lang/el.js b/_source/lang/el.js index 6c18e25..9491215 100644 --- a/_source/lang/el.js +++ b/_source/lang/el.js @@ -120,6 +120,7 @@ CKEDITOR.lang['el'] = alignTop : 'Πάνω', alignMiddle : 'Μέση', alignBottom : 'Κάτω', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Το ύψος πρέπει να είναι ένας αριθμός.', invalidWidth : 'Το πλάτος πρέπει να είναι ένας αριθμός.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/en-au.js b/_source/lang/en-au.js index f577109..a8c3fd4 100644 --- a/_source/lang/en-au.js +++ b/_source/lang/en-au.js @@ -120,6 +120,7 @@ CKEDITOR.lang['en-au'] = alignTop : 'Top', // MISSING alignMiddle : 'Middle', // MISSING alignBottom : 'Bottom', // MISSING + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/en-ca.js b/_source/lang/en-ca.js index 3c47cb6..73f23ac 100644 --- a/_source/lang/en-ca.js +++ b/_source/lang/en-ca.js @@ -120,6 +120,7 @@ CKEDITOR.lang['en-ca'] = alignTop : 'Top', // MISSING alignMiddle : 'Middle', // MISSING alignBottom : 'Bottom', // MISSING + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/en-gb.js b/_source/lang/en-gb.js index 2e1f7eb..4dce7a3 100644 --- a/_source/lang/en-gb.js +++ b/_source/lang/en-gb.js @@ -120,6 +120,7 @@ CKEDITOR.lang['en-gb'] = alignTop : 'Top', alignMiddle : 'Middle', alignBottom : 'Bottom', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', invalidWidth : 'Width must be a number.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/en.js b/_source/lang/en.js index 2af57e8..d24c278 100644 --- a/_source/lang/en.js +++ b/_source/lang/en.js @@ -120,6 +120,7 @@ CKEDITOR.lang['en'] = alignTop : 'Top', alignMiddle : 'Middle', alignBottom : 'Bottom', + invalidValue : 'Invalid value.', invalidHeight : 'Height must be a number.', invalidWidth : 'Width must be a number.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', diff --git a/_source/lang/eo.js b/_source/lang/eo.js index a1b3584..afd232e 100644 --- a/_source/lang/eo.js +++ b/_source/lang/eo.js @@ -120,6 +120,7 @@ CKEDITOR.lang['eo'] = alignTop : 'Supre', alignMiddle : 'Centre', alignBottom : 'Malsupre', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Alto devas esti nombro.', invalidWidth : 'Larĝo devas esti nombro.', invalidCssLength : 'La valoro indikita por la "%1" kampo devas esti pozitiva nombro kun aÅ­ sen valida CSSmezurunuo (px, %, in, cm, mm, em, ex, pt, or pc).', diff --git a/_source/lang/es.js b/_source/lang/es.js index da315e0..68e144a 100644 --- a/_source/lang/es.js +++ b/_source/lang/es.js @@ -31,8 +31,8 @@ CKEDITOR.lang['es'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Editor de texto, %1', + editorHelp : 'Pulse ALT 0 para ayuda', // ARIA descriptions. toolbars : 'Barras de herramientas del editor', @@ -120,6 +120,7 @@ CKEDITOR.lang['es'] = alignTop : 'Tope', alignMiddle : 'Centro', alignBottom : 'Pie', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Altura debe ser un número.', invalidWidth : 'Anchura debe ser un número.', invalidCssLength : 'El valor especificado para el campo "%1" debe ser un número positivo, incluyendo optionalmente una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).', diff --git a/_source/lang/et.js b/_source/lang/et.js index 859c70b..3428df4 100644 --- a/_source/lang/et.js +++ b/_source/lang/et.js @@ -120,6 +120,7 @@ CKEDITOR.lang['et'] = alignTop : 'Üles', alignMiddle : 'Keskele', alignBottom : 'Alla', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Kõrgus peab olema number.', invalidWidth : 'Laius peab olema number.', invalidCssLength : '"%1" välja jaoks määratud väärtus peab olema positiivne täisarv CSS ühikuga (px, %, in, cm, mm, em, ex, pt või pc) või ilma.', diff --git a/_source/lang/eu.js b/_source/lang/eu.js index cbb1522..cc1973c 100644 --- a/_source/lang/eu.js +++ b/_source/lang/eu.js @@ -120,6 +120,7 @@ CKEDITOR.lang['eu'] = alignTop : 'Goian', alignMiddle : 'Erdian', alignBottom : 'Behean', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Altuera zenbaki bat izan behar da.', invalidWidth : 'Zabalera zenbaki bat izan behar da.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/fa.js b/_source/lang/fa.js index 3173b25..f184f0b 100644 --- a/_source/lang/fa.js +++ b/_source/lang/fa.js @@ -31,8 +31,8 @@ CKEDITOR.lang['fa'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'ویرایشگر متن غنی, %1', + editorHelp : 'کلید Alt+0 را برای راهنمایی بفشارید', // ARIA descriptions. toolbars : 'نوار ابزار', @@ -120,6 +120,7 @@ CKEDITOR.lang['fa'] = alignTop : 'بالا', alignMiddle : 'وسط', alignBottom : 'پائین', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'ارتفاع باید یک عدد باشد.', invalidWidth : 'پهنا باید یک عدد باشد.', invalidCssLength : 'عدد تعیین شده برای فیلد "%1" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری CSS معتبر باشد (px, %, in, cm, mm, em, ex, pt, or pc).', diff --git a/_source/lang/fi.js b/_source/lang/fi.js index 69cdc60..48a6b7b 100644 --- a/_source/lang/fi.js +++ b/_source/lang/fi.js @@ -31,8 +31,8 @@ CKEDITOR.lang['fi'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Rikastekstieditori, %1', + editorHelp : 'Paina ALT 0 nähdäksesi ohjeen', // ARIA descriptions. toolbars : 'Editorin työkalupalkit', @@ -120,6 +120,7 @@ CKEDITOR.lang['fi'] = alignTop : 'Ylös', alignMiddle : 'Keskelle', alignBottom : 'Alas', + invalidValue : 'Virheellinen arvo.', invalidHeight : 'Korkeuden täytyy olla numero.', invalidWidth : 'Leveyden täytyy olla numero.', invalidCssLength : 'Kentän "%1" arvon täytyy olla positiivinen luku CSS mittayksikön (px, %, in, cm, mm, em, ex, pt tai pc) kanssa tai ilman.', diff --git a/_source/lang/fo.js b/_source/lang/fo.js index 9920906..61f26dc 100644 --- a/_source/lang/fo.js +++ b/_source/lang/fo.js @@ -32,7 +32,7 @@ CKEDITOR.lang['fo'] = * of reading non-English words. So be careful while translating it. */ editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorHelp : 'Trýst ALT og 0 fyri vegleiðing', // ARIA descriptions. toolbars : 'Editor toolbars', @@ -120,6 +120,7 @@ CKEDITOR.lang['fo'] = alignTop : 'Ovast', alignMiddle : 'Miðja', alignBottom : 'Botnur', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Hædd má vera eitt tal.', invalidWidth : 'Breidd má vera eitt tal.', invalidCssLength : 'Virðið sett í "%1" feltið má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px, %, in, cm, mm, em, ex, pt, ella pc).', diff --git a/_source/lang/fr-ca.js b/_source/lang/fr-ca.js index 8ffbf54..27c6a75 100644 --- a/_source/lang/fr-ca.js +++ b/_source/lang/fr-ca.js @@ -31,8 +31,8 @@ CKEDITOR.lang['fr-ca'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Editor de text enriquit, %1', + editorHelp : 'Prem ALT 0 per obtenir ajuda', // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING @@ -120,6 +120,7 @@ CKEDITOR.lang['fr-ca'] = alignTop : 'Haut', alignMiddle : 'Milieu', alignBottom : 'Bas', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/fr.js b/_source/lang/fr.js index a4a0bde..beb3bef 100644 --- a/_source/lang/fr.js +++ b/_source/lang/fr.js @@ -31,8 +31,8 @@ CKEDITOR.lang['fr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Éditeur de Texte Enrichi, %1', + editorHelp : 'Appuyez sur ALT-0 pour l\'aide', // ARIA descriptions. toolbars : 'Barre d\'outils de l\'éditeur', @@ -120,6 +120,7 @@ CKEDITOR.lang['fr'] = alignTop : 'Haut', alignMiddle : 'Milieu', alignBottom : 'Bas', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'La hauteur doit être un nombre.', invalidWidth : 'La largeur doit être un nombre.', invalidCssLength : 'La valeur spécifiée pour le champ "%1" doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, or pc).', diff --git a/_source/lang/gl.js b/_source/lang/gl.js index abc4f49..7731540 100644 --- a/_source/lang/gl.js +++ b/_source/lang/gl.js @@ -120,6 +120,7 @@ CKEDITOR.lang['gl'] = alignTop : 'Tope', alignMiddle : 'Centro', alignBottom : 'Pé', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/gu.js b/_source/lang/gu.js index eabc7f7..889cdf7 100644 --- a/_source/lang/gu.js +++ b/_source/lang/gu.js @@ -31,8 +31,8 @@ CKEDITOR.lang['gu'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'રીચ ટેક્ષ્ત્ એડિટર, %1', + editorHelp : 'પ્રેસ ALT 0 મદદ માટ', // ARIA descriptions. toolbars : 'એડીટર ટૂલ બાર', @@ -120,6 +120,7 @@ CKEDITOR.lang['gu'] = alignTop : 'ઉપર', alignMiddle : 'વચ્ચે', alignBottom : 'નીચે', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'ઉંચાઈ એક આંકડો હોવો જોઈએ.', invalidWidth : 'પોહળ ઈ એક આંકડો હોવો જોઈએ.', invalidCssLength : '"%1" ની વેલ્યુ એક પોસીટીવ આંકડો હોવો જોઈએ અથવા CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc) વગર.', diff --git a/_source/lang/he.js b/_source/lang/he.js index c98c3d2..731e16a 100644 --- a/_source/lang/he.js +++ b/_source/lang/he.js @@ -31,8 +31,8 @@ CKEDITOR.lang['he'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'עורך טקסט עשיר, %1', + editorHelp : 'לחץ אלט ALT + 0 לעזרה', // ARIA descriptions. toolbars : 'סרגלי כלים של העורך', @@ -120,6 +120,7 @@ CKEDITOR.lang['he'] = alignTop : 'למעלה', alignMiddle : 'לאמצע', alignBottom : 'לתחתית', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'הגובה חייב להיות מספר.', invalidWidth : 'הרוחב חייב להיות מספר.', invalidCssLength : 'הערך שצוין לשדה "%1" חייב להיות מספר חיובי עם או ללא יחידת מידה חוקית של CSS (px, %, in, cm, mm, em, ex, pt, או pc).', diff --git a/_source/lang/hi.js b/_source/lang/hi.js index 240af00..d5a623f 100644 --- a/_source/lang/hi.js +++ b/_source/lang/hi.js @@ -31,8 +31,8 @@ CKEDITOR.lang['hi'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'रिच टेक्स्ट एडिटर, %1', + editorHelp : 'मदद के लिये ALT 0 दबाए', // ARIA descriptions. toolbars : 'एडिटर टूलबार', @@ -120,6 +120,7 @@ CKEDITOR.lang['hi'] = alignTop : 'ऊपर', alignMiddle : 'मध्य', alignBottom : 'नीचे', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/hr.js b/_source/lang/hr.js index 1d442b0..27d8744 100644 --- a/_source/lang/hr.js +++ b/_source/lang/hr.js @@ -31,8 +31,8 @@ CKEDITOR.lang['hr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Bogati uređivač teksta, %1', + editorHelp : 'Pritisni ALT 0 za pomoć', // ARIA descriptions. toolbars : 'Alatne trake uređivača teksta', @@ -120,6 +120,7 @@ CKEDITOR.lang['hr'] = alignTop : 'Vrh', alignMiddle : 'Sredina', alignBottom : 'Dolje', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Visina mora biti broj.', invalidWidth : 'Å irina mora biti broj.', invalidCssLength : 'Vrijednost određena za "%1" polje mora biti pozitivni broj sa ili bez važećih CSS mjernih jedinica (px, %, in, cm, mm, em, ex, pt ili pc).', diff --git a/_source/lang/hu.js b/_source/lang/hu.js index b44ed03..fe8cc90 100644 --- a/_source/lang/hu.js +++ b/_source/lang/hu.js @@ -31,7 +31,7 @@ CKEDITOR.lang['hu'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING + editorTitle : 'HTML szerkesztő, %1', editorHelp : 'Press ALT 0 for help', // MISSING // ARIA descriptions. @@ -120,6 +120,7 @@ CKEDITOR.lang['hu'] = alignTop : 'Tetejére', alignMiddle : 'Középre', alignBottom : 'Aljára', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'A magasság mezőbe csak számokat írhat.', invalidWidth : 'A szélesség mezőbe csak számokat írhat.', invalidCssLength : '"%1"-hez megadott érték csakis egy pozitív szám lehet, esetleg egy érvényes CSS egységgel megjelölve(px, %, in, cm, mm, em, ex, pt vagy pc).', diff --git a/_source/lang/id.js b/_source/lang/id.js index 98eaff1..dbd540b 100644 --- a/_source/lang/id.js +++ b/_source/lang/id.js @@ -119,6 +119,7 @@ CKEDITOR.lang['id'] = alignTop : 'Top', // MISSING alignMiddle : 'Middle', // MISSING alignBottom : 'Bottom', // MISSING + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/is.js b/_source/lang/is.js index 51169b6..daa21c6 100644 --- a/_source/lang/is.js +++ b/_source/lang/is.js @@ -120,6 +120,7 @@ CKEDITOR.lang['is'] = alignTop : 'Efst', alignMiddle : 'Miðjuð', alignBottom : 'Neðst', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/it.js b/_source/lang/it.js index c2d3dc8..42f064f 100644 --- a/_source/lang/it.js +++ b/_source/lang/it.js @@ -120,6 +120,7 @@ CKEDITOR.lang['it'] = alignTop : 'In Alto', alignMiddle : 'Centrato', alignBottom : 'In Basso', + invalidValue : 'Valore non valido.', invalidHeight : 'L\'altezza dev\'essere un numero', invalidWidth : 'La Larghezza dev\'essere un numero', invalidCssLength : 'Il valore indicato per il campo "%1" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le classi CSS (px, %, in, cm, mm, em, ex, pt, o pc).', diff --git a/_source/lang/ja.js b/_source/lang/ja.js index 2090e74..059411b 100644 --- a/_source/lang/ja.js +++ b/_source/lang/ja.js @@ -31,8 +31,8 @@ CKEDITOR.lang['ja'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'リッチテキストエディタ, %1', + editorHelp : 'ヘルプは ALT 0 を押してください', // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING @@ -120,6 +120,7 @@ CKEDITOR.lang['ja'] = alignTop : '上', alignMiddle : '中央', alignBottom : '下', + invalidValue : 'Invalid value.', // MISSING invalidHeight : '高さは数値で入力してください。', invalidWidth : '幅は数値で入力してください。', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ka.js b/_source/lang/ka.js index c187d2d..8f11b1f 100644 --- a/_source/lang/ka.js +++ b/_source/lang/ka.js @@ -31,8 +31,8 @@ CKEDITOR.lang['ka'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'ტექსტის რედაქტორი, %1', + editorHelp : 'დააჭირეთ ALT 0-ს დახმარების მისაღებად', // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING @@ -120,6 +120,7 @@ CKEDITOR.lang['ka'] = alignTop : 'ზემოთა', alignMiddle : 'შუა', alignBottom : 'ქვემოთა', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.', invalidWidth : 'სიგანე რიცხვით უნდა იყოს წარმოდგენილი.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/km.js b/_source/lang/km.js index a77c0db..3e6eb6d 100644 --- a/_source/lang/km.js +++ b/_source/lang/km.js @@ -120,6 +120,7 @@ CKEDITOR.lang['km'] = alignTop : 'ខាងលើ', alignMiddle : 'កណ្តាល', alignBottom : 'ខាងក្រោម', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ko.js b/_source/lang/ko.js index 3c67a29..b44c1e8 100644 --- a/_source/lang/ko.js +++ b/_source/lang/ko.js @@ -120,6 +120,7 @@ CKEDITOR.lang['ko'] = alignTop : '위', alignMiddle : '중간', alignBottom : '아래', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ku.js b/_source/lang/ku.js new file mode 100644 index 0000000..e1672f7 --- /dev/null +++ b/_source/lang/ku.js @@ -0,0 +1,816 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +/** +* @fileOverview +*/ + +/**#@+ + @type String + @example +*/ + +/** + * Contains the dictionary of language entries. + * @namespace + */ +CKEDITOR.lang['ku'] = +{ + /** + * The language reading direction. Possible values are "rtl" for + * Right-To-Left languages (like Arabic) and "ltr" for Left-To-Right + * languages (like English). + * @default 'ltr' + */ + dir : 'rtl', + + /* + * Screenreader titles. Please note that screenreaders are not always capable + * of reading non-English words. So be careful while translating it. + */ + editorTitle : 'ده‌سکاریکه‌ری ناونیشان', + editorHelp : 'کلیکی ALT له‌گه‌ڵ 0 بکه‌ بۆ یارمه‌تی', + + // ARIA descriptions. + toolbars : 'تووڵاەرازی دەسکاریکەر', + editor : 'سەرنووسەی دەقی بەپیت', + + // Toolbar buttons without dialogs. + source : 'سەرچاوە', + newPage : 'پەڕەیەکی نوێ', + save : 'پاشکەوتکردن', + preview : 'پێشبینین', + cut : 'بڕین', + copy : 'لەبەرگرنتەوه', + paste : 'لکاندن', + print : 'چاپکردن', + underline : 'ژێرهێڵ', + bold : 'قەڵەو', + italic : 'لار', + selectAll : 'نیشانکردنی هەمووی', + removeFormat : 'لابردنی داڕشتەکە', + strike : 'لێدان', + subscript : 'ژێرنووس', + superscript : 'سەرنووس', + horizontalrule : 'دانانی هێلی ئاسۆیی', + pagebreak : 'دانانی پشووی پەڕە بۆ چاپکردن', + pagebreakAlt : 'پشووی پەڕە', + unlink : 'لابردنی بەستەر', + undo : 'پووچکردنەوه', + redo : 'هەڵگەڕاندنەوه', + + // Common messages and labels. + common : + { + browseServer : 'هێنانی ڕاژە', + url : 'ناونیشانی بەستەر', + protocol : 'پڕۆتۆکۆڵ', + upload : 'بارکردن', + uploadSubmit : 'ناردنی بۆ ڕاژە', + image : 'وێنە', + flash : 'فلاش', + form : 'داڕشتە', + checkbox : 'خانەی نیشانکردن', + radio : 'جێگرەوەی دوگمە', + textField : 'خانەی دەق', + textarea : 'ڕووبەری دەق', + hiddenField : 'شاردنەوی خانە', + button : 'دوگمە', + select : 'هەڵبژاردەی خانە', + imageButton : 'دوگمەی وێنە', + notSet : '<هیچ دانەدراوە>', + id : 'ناسنامە', + name : 'ناو', + langDir : 'ئاراستەی زمان', + langDirLtr : 'چەپ بۆ ڕاست (LTR)', + langDirRtl : 'ڕاست بۆ چەپ (RTL)', + langCode : 'هێمای زمان', + longDescr : 'پێناسەی درێژی بەستەر', + cssClass : 'شێوازی چینی په‌ڕە', + advisoryTitle : 'ڕاوێژکاری سەردێڕ', + cssStyle : 'شێواز', + ok : 'باشە', + cancel : 'هەڵوەشاندن', + close : 'داخستن', + preview : 'پێشبینین', + generalTab : 'گشتی', + advancedTab : 'په‌ره‌سه‌ندوو', + validateNumberFailed : 'ئەم نرخە ژمارە نیه، تکایە نرخێکی ژمارە بنووسە.', + confirmNewPage : 'سەرجەم گۆڕانکاریەکان و پێکهاتەکانی ناوەووە لەدەست دەدەی گەر بێتوو پاشکەوتی نەکەی یەکەم جار، تۆ هەر دڵنیایی لەکردنەوەی پەنجەرەکی نوێ؟', + confirmCancel : 'هەندێك هەڵبژاردە گۆڕدراوە. تۆ دڵنیایی له‌داخستنی ئەم دیالۆگە؟', + options : 'هەڵبژاردە', + target : 'ئامانج', + targetNew : 'پەنجەرەیه‌کی نوێ (_blank)', + targetTop : 'لووتکەی پەنجەرە (_top)', + targetSelf : 'لەهەمان پەنجەرە (_self)', + targetParent : 'پەنجەرەی باوان (_parent)', + langDirLTR : 'چەپ بۆ ڕاست (LTR)', + langDirRTL : 'ڕاست بۆ چەپ (RTL)', + styles : 'شێواز', + cssClasses : 'شێوازی چینی پەڕە', + width : 'پانی', + height : 'درێژی', + align : 'ڕێککەرەوە', + alignLeft : 'چەپ', + alignRight : 'ڕاست', + alignCenter : 'ناوەڕاست', + alignTop : 'سەرەوە', + alignMiddle : 'ناوەند', + alignBottom : 'ژێرەوە', + invalidValue : 'نرخێکی نادرووست.', + invalidHeight : 'درێژی دەبێت ژمارە بێت.', + invalidWidth : 'پانی دەبێت ژمارە بێت.', + invalidCssLength : 'ئەم نرخەی دراوە بۆ خانەی "%1" دەبێت ژمارەکی درووست بێت یان بێ ناونیشانی ئامرازی (px, %, in, cm, mm, em, ex, pt, یان pc).', + invalidHtmlLength : 'ئەم نرخەی دراوە بۆ خانەی "%1" دەبێت ژمارەکی درووست بێت یان بێ ناونیشانی ئامرازی HTML (px یان %).', + invalidInlineStyle : 'دانه‌ی نرخی شێوازی ناوهێڵ ده‌بێت پێکهاتبێت له‌یه‌ك یان زیاتری داڕشته‌ "ناو : نرخ", جیاکردنه‌وه‌ی به‌فاریزه‌وخاڵ', + cssLengthTooltip : 'ژماره‌یه‌ك بنووسه‌ بۆ نرخی piksel یان ئامرازێکی درووستی CSS (px, %, in, cm, mm, em, ex, pt, یان pc).', + + // Put the voice-only part of the label in the span. + unavailable : '%1, ئامادە نیە' + }, + + contextmenu : + { + options : 'هەڵبژاردەی لیستەی کلیکی دەستی ڕاست' + }, + + // Special char dialog. + specialChar : + { + toolbar : 'دانانەی نووسەی تایبەتی', + title : 'هەڵبژاردنی نووسەی تایبەتی', + options : 'هەڵبژاردەی نووسەی تایبەتی' + }, + + // Link dialog. + link : + { + toolbar : 'دانان/ڕێکخستنی بەستەر', + other : '<هیتر>', + menu : 'چاکسازی بەستەر', + title : 'بەستەر', + info : 'زانیاری بەستەر', + target : 'ئامانج', + upload : 'بارکردن', + advanced : 'پێشکه‌وتوو', + type : 'جۆری به‌سته‌ر', + toUrl : 'ناونیشانی به‌سته‌ر', + toAnchor : 'به‌سته‌ر بۆ له‌نگه‌ر له‌ ده‌ق', + toEmail : 'ئیمه‌یل', + targetFrame : '<چووارچێوه>', + targetPopup : '<په‌نجه‌ره‌ی سه‌رهه‌ڵده‌ر>', + targetFrameName : 'ناوی ئامانجی چووارچێوه', + targetPopupName : 'ناوی په‌نجه‌ره‌ی سه‌رهه‌ڵده‌ر', + popupFeatures : 'خاسیه‌تی په‌نجه‌ره‌ی سه‌رهه‌ڵده‌ر', + popupResizable : 'توانای گۆڕینی قه‌باره‌', + popupStatusBar : 'هێڵی دۆخ', + popupLocationBar: 'هێڵی ناونیشانی به‌سته‌ر', + popupToolbar : 'هێڵی تووڵامراز', + popupMenuBar : 'هێڵی لیسته', + popupFullScreen : 'پڕ به‌پڕی شاشه‌ (IE)', + popupScrollBars : 'هێڵی هاتووچۆپێکردن', + popupDependent : 'پێوه‌به‌ستراو (Netscape)', + popupLeft : 'جێگای چه‌پ', + popupTop : 'جێگای سه‌ره‌وه‌', + id : 'ناسنامه', + langDir : 'ئاراسته‌ی زمان', + langDirLTR : 'چه‌پ بۆ ڕاست (LTR)', + langDirRTL : 'ڕاست بۆ چه‌پ (RTL)', + acccessKey : 'کلیلی ده‌ستپێگه‌یشتن', + name : 'ناو', + langCode : 'هێمای زمان', + tabIndex : 'بازده‌ری تابی ئیندێکس', + advisoryTitle : 'ڕاوێژکاری سه‌ردێڕ', + advisoryContentType : 'جۆری ناوه‌ڕۆکی ڕاویژکار', + cssClasses : 'شێوازی چینی په‌ڕه‌', + charset : 'بەستەری سەرچاوەی نووسه', + styles : 'شێواز', + rel : 'په‌یوه‌ندی (rel)', + selectAnchor : 'هه‌ڵبژاردنی له‌نگه‌رێك', + anchorName : 'به‌پێی ناوی له‌نگه‌ر', + anchorId : 'به‌پێی ناسنامه‌ی توخم', + emailAddress : 'ناونیشانی ئیمه‌یل', + emailSubject : 'بابه‌تی نامه', + emailBody : 'ناوه‌ڕۆکی نامه', + noAnchors : '(هیچ جۆرێکی له‌نگه‌ر ئاماده‌ نیه له‌م په‌ڕه‌یه)', + noUrl : 'تکایه‌ ناونیشانی به‌سته‌ر بنووسه', + noEmail : 'تکایه‌ ناونیشانی ئیمه‌یل بنووسه' + }, + + // Anchor dialog + anchor : + { + toolbar : 'دانان/چاکسازی له‌نگه‌ر', + menu : 'چاکسازی له‌نگه‌ر', + title : 'خاسیه‌تی له‌نگه‌ر', + name : 'ناوی له‌نگه‌ر', + errorName : 'تکایه‌ ناوی له‌نگه‌ر بنووسه', + remove : 'لابردنی له‌نگه‌ر' + }, + + // List style dialog + 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 : 'یۆنانی بچووك (alpha, beta, gamma, وه‌هیتر.)', + decimal : 'ژماره (1, 2, 3, وه‌هیتر.)', + decimalLeadingZero : 'ژماره‌ سفڕی له‌پێشه‌وه (01, 02, 03, وه‌هیتر.)' + }, + + // Find And Replace Dialog + findAndReplace : + { + title : 'گه‌ڕان وه‌ له‌بریدانان', + find : 'گه‌ڕان', + replace : 'له‌بریدانان', + findWhat : 'گه‌ڕان به‌دووای:', + replaceWith : 'له‌بریدانان به‌:', + notFoundMsg : 'هیچ ده‌قه‌ گه‌ڕانێك نه‌دۆزراوه.', + findOptions : 'هه‌ڵبژارده‌کانی گه‌ڕان', + matchCase : 'جیاکردنه‌وه‌ له‌نێوان پیتی گه‌وره‌و بچووك', + matchWord : 'ته‌نها هه‌موو وشه‌که‌', + matchCyclic : 'گه‌ڕان له‌هه‌موو په‌ڕه‌که', + replaceAll : 'له‌بریدانانی هه‌مووی', + replaceSuccessMsg : ' پێشهاته(ی) له‌بری دانرا. %1' + }, + + // Table Dialog + table : + { + toolbar : 'خشته', + title : 'خاسیه‌تی خشته', + menu : 'خاسیه‌تی خشته', + deleteTable : 'سڕینه‌وه‌ی خشته', + rows : 'ڕیز', + columns : 'ستوونه‌کان', + border : 'گه‌وره‌یی په‌راوێز', + widthPx : 'وێنه‌خاڵ - پیکسل', + widthPc : 'له‌سه‌دا', + widthUnit : 'پانی یه‌که‌', + 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 : 'ڕیزکردنی ئه‌ستونی', + alignBaseline : 'هێڵه‌بنه‌ڕه‌ت', + bgColor : 'ڕه‌نگی پاشبنه‌ما', + borderColor : 'ڕه‌نگی په‌راوێز', + data : 'داتا', + header : 'سه‌رپه‌ڕه‌', + yes : 'به‌ڵێ', + no : 'نه‌خێر', + invalidWidth : 'پانی خانه‌ ده‌بێت به‌ته‌واوی ژماره‌ بێت.', + invalidHeight : 'درێژی خانه‌ به‌ته‌واوی ده‌بێت ژماره‌ بێت.', + invalidRowSpan : 'ماوه‌ی نێوان ڕیز به‌ته‌واوی ده‌بێت ژماره‌ بێت.', + invalidColSpan : 'ماوه‌ی نێوان ئه‌ستونی به‌ته‌واوی ده‌بێت ژماره‌ بێت.', + chooseColor : 'هه‌ڵبژاردن' + }, + + row : + { + menu : 'ڕیز', + insertBefore : 'دانانی ڕیز له‌پێش', + insertAfter : 'دانانی ڕیز له‌پاش', + deleteRow : 'سڕینه‌وه‌ی ڕیز' + }, + + column : + { + menu : 'ئه‌ستون', + insertBefore : 'دانانی ئه‌ستون له‌پێش', + insertAfter : 'دانانی ئه‌ستوون له‌پاش', + deleteColumn : 'سڕینه‌وه‌ی ئه‌ستوون' + } + }, + + // Button Dialog. + button : + { + title : 'خاسیه‌تی دوگمه', + text : '(نرخی) ده‌ق', + type : 'جۆر', + typeBtn : 'دوگمه‌', + typeSbm : 'ناردن', + typeRst : 'ڕێکخستنه‌وه' + }, + + // Checkbox and Radio Button Dialogs. + checkboxAndRadio : + { + checkboxTitle : 'خاسیه‌تی چووارگۆشی پشکنین', + radioTitle : 'خاسیه‌تی جێگره‌وه‌ی دوگمه', + value : 'نرخ', + selected : 'هه‌ڵبژاردرا' + }, + + // Form Dialog. + form : + { + title : 'خاسیه‌تی داڕشته', + menu : 'خاسیه‌تی داڕشته', + action : 'کردار', + method : 'ڕێگه', + encoding : 'به‌کۆدکه‌ر' + }, + + // Select Field Dialog. + select : + { + title : 'هه‌ڵبژارده‌ی خاسیه‌تی خانه', + selectInfo : 'زانیاری', + opAvail : 'هه‌ڵبژارده‌ی هه‌بوو', + value : 'نرخ', + size : 'گه‌وره‌یی', + lines : 'هێڵه‌کان', + chkMulti : 'ڕێدان به‌فره‌ هه‌ڵبژارده', + opText : 'ده‌ق', + opValue : 'نرخ', + btnAdd : 'زیادکردن', + btnModify : 'گۆڕانکاری', + btnUp : 'سه‌ره‌وه', + btnDown : 'خواره‌وه', + btnSetValue : 'دابنێ وه‌ك نرخێکی هه‌ڵبژێردراو', + btnDelete : 'سڕینه‌وه' + }, + + // Textarea Dialog. + textarea : + { + title : 'خاسیه‌تی ڕووبه‌ری ده‌ق', + cols : 'ئه‌ستونیه‌کان', + rows : 'ڕیزه‌کان' + }, + + // Text Field Dialog. + textfield : + { + title : 'خاسیه‌تی خانه‌ی ده‌ق', + name : 'ناو', + value : 'نرخ', + charWidth : 'پانی نووسه', + maxChars : 'ئه‌وپه‌ڕی نووسه', + type : 'جۆر', + typeText : 'ده‌ق', + typePass : 'پێپه‌ڕه‌وشه' + }, + + // Hidden Field Dialog. + hidden : + { + title : 'خاسیه‌تی خانه‌ی شاردراوه', + name : 'ناو', + value : 'نرخ' + }, + + // Image Dialog. + image : + { + title : 'خاسیه‌تی وێنه', + titleButton : 'خاسیه‌تی دوگمه‌ی وێنه', + menu : 'خاسیه‌تی وێنه', + infoTab : 'زانیاری وێنه', + btnUpload : 'ناردنی بۆ ڕاژه', + upload : 'بارکردن', + alt : 'جێگره‌وه‌ی ده‌ق', + lockRatio : 'داخستنی ڕێژه', + resetSize : 'ڕێکخستنه‌وه‌ی قه‌باره', + border : 'په‌راوێز', + hSpace : 'بۆشایی ئاسۆیی', + vSpace : 'بۆشایی ئه‌ستونی', + alertUrl : 'تکایه‌ ناونیشانی به‌سته‌ری وێنه‌ بنووسه', + linkTab : 'به‌سته‌ر', + button2Img : 'تۆ ده‌ته‌وێت دوگمه‌ی وێنه‌ی دیاریکراو بگۆڕیت بۆ وێنه‌کی ئاسایی؟', + img2Button : 'تۆ ده‌ته‌وێت وێنه‌ی دیاریکراو بگۆڕیت بۆ دوگمه‌ی وێنه؟', + urlMissing : 'سه‌رچاوه‌ی به‌سته‌ری وێنه‌ بزره', + validateBorder : 'په‌راوێز ده‌بێت به‌ته‌واوی ته‌نها ژماره‌ بێت.', + validateHSpace : 'بۆشایی ئاسۆیی ده‌بێت به‌ته‌واوی ته‌نها ژماره‌ بێت.', + validateVSpace : 'بۆشایی ئه‌ستونی ده‌بێت به‌ته‌واوی ته‌نها ژماره‌ بێت.' + }, + + // Flash Dialog + flash : + { + properties : 'خاسیه‌تی فلاش', + propertiesTab : 'خاسیه‌ت', + title : 'خاسیه‌تی فلاش', + chkPlay : 'پێکردنی یان لێدانی خۆکار', + chkLoop : 'گرێ', + chkMenu : 'چالاککردنی لیسته‌ی فلاش', + chkFull : 'ڕێپێدان به‌ پڕ به‌پڕی شاشه', + scale : 'پێوانه', + scaleAll : 'نیشاندانی هه‌موو', + scaleNoBorder : 'بێ په‌راوێز', + scaleFit : 'به‌وردی بگونجێت', + access : 'ده‌ستپێگه‌یشتنی نووسراو', + accessAlways : 'هه‌میشه', + accessSameDomain: 'هه‌مان دۆمه‌ین', + accessNever : 'هه‌رگیز', + alignAbsBottom : 'له‌ ژێره‌وه', + alignAbsMiddle : 'له‌ناوه‌ند', + alignBaseline : 'هێڵەبنەڕەت', + alignTextTop : 'ده‌ق له‌سه‌ره‌وه', + quality : 'جۆرایه‌تی', + qualityBest : 'باشترین', + qualityHigh : 'به‌رزی', + qualityAutoHigh : 'به‌رزی خۆکار', + qualityMedium : 'مامناوه‌ند', + qualityAutoLow : 'نزمی خۆکار', + qualityLow : 'نزم', + windowModeWindow: 'په‌نجه‌ره', + windowModeOpaque: 'ناڕوون', + windowModeTransparent : 'ڕۆشن', + windowMode : 'شێوازی په‌نجه‌ره', + flashvars : 'گۆڕاوه‌کان بۆ فلاش', + bgcolor : 'ڕه‌نگی پاشبنه‌ما', + hSpace : 'بۆشایی ئاسۆیی', + vSpace : 'بۆشایی ئه‌ستونی', + validateSrc : 'ناونیشانی به‌سته‌ر نابێت خاڵی بێت', + validateHSpace : 'بۆشایی ئاسۆیی ده‌بێت ژماره‌ بێت.', + validateVSpace : 'بۆشایی ئه‌ستونی ده‌بێت ژماره‌ بێت.' + }, + + // Speller Pages Dialog + 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 : 'تکایه‌ بیلکێنه‌ له‌ناوه‌وه‌ی ئه‌م سنوقه له‌ڕێی ته‌خته‌کلیله‌که‌ت به‌باکارهێنانی کلیلی (Ctrl/Cmd+V) دووای کلیکی باشه‌ بکه.', + securityMsg : 'به‌هۆی شێوه‌پێدانی پارێزی وێبگه‌ڕه‌که‌ت، سه‌رنووسه‌که‌ ناتوانێت ده‌ستبگه‌یه‌نێت به‌هه‌ڵگیراوه‌که ڕاسته‌وخۆ. بۆیه‌ پێویسته دووباره‌ بیلکێنیت له‌م په‌نجه‌ره‌یه‌.', + pasteArea : 'ناوچه‌ی لکاندن' + }, + + pastefromword : + { + confirmCleanup : 'ئه‌م ده‌قه‌ی به‌ته‌مای بیلکێنی پێده‌چێت له‌ word هێنرابێت. ده‌ته‌وێت پاکی بکه‌یوه‌ پێش ئه‌وه‌ی بیلکێنی؟', + toolbar : 'لکاندنی له‌ڕێی Word', + title : 'لکاندنی له‌لایه‌ن Word', + error : 'هیچ ڕێگه‌یه‌ك نه‌بوو له‌لکاندنی ده‌قه‌که‌ به‌هۆی هه‌ڵه‌کی ناوه‌خۆیی' + }, + + pasteText : + { + button : 'لکاندنی وه‌ك ده‌قی ڕوون', + title : 'لکاندنی وه‌ك ده‌قی ڕوون' + }, + + templates : + { + button : 'ڕووکار', + title : 'پێکهاته‌ی ڕووکار', + options : 'هه‌ڵبژارده‌کانی ڕووکار', + insertOption : 'له‌شوێن دانانی ئه‌م پێکهاتانه‌ی ئێستا', + selectPromptMsg : 'ڕووکارێك هه‌ڵبژێره‌ بۆ کردنه‌وه‌ی له‌ سه‌رنووسه‌ر:', + emptyListMsg : '(هیچ ڕووکارێك دیارینه‌کراوه)' + }, + + showBlocks : 'نیشاندانی بەربەستەکان', + + stylesCombo : + { + label : 'شێواز', + panelTitle : 'شێوازی ڕازاندنه‌وه', + panelTitle1 : 'شێوازی خشت', + panelTitle2 : 'شێوازی ناوهێڵ', + panelTitle3 : 'شێوازی به‌رکار' + }, + + format : + { + label : 'ڕازاندنه‌وه', + panelTitle : 'به‌شی ڕازاندنه‌وه‌', + + tag_p : 'ئاسایی', + tag_pre : 'شێوازکراو', + tag_address : 'ناونیشان', + tag_h1 : 'سه‌رنووسه‌ی Ù¡', + tag_h2 : 'سه‌رنووسه‌ی Ù¢', + tag_h3 : 'سه‌رنووسه‌ی Ù£', + tag_h4 : 'سه‌رنووسه‌ی Ù¤', + tag_h5 : 'سه‌رنووسه‌ی Ù¥', + tag_h6 : 'سه‌رنووسه‌ی Ù¦', + tag_div : '(DIV)-ی ئاسایی' + }, + + div : + { + title : 'دانانی له‌خۆگری Div', + toolbar : 'دانانی له‌خۆگری Div', + cssClassInputLabel : 'شێوازی چینی په‌ڕه', + styleSelectLabel : 'شێواز', + IdInputLabel : 'ناسنامه', + languageCodeInputLabel : 'هێمای زمان', + inlineStyleInputLabel : 'شێوازی ناوهێڵ', + advisoryTitleInputLabel : 'سه‌ردێڕ', + langDirLabel : 'ئاراسته‌ی زمان', + langDirLTRLabel : 'چه‌پ بۆ ڕاست (LTR)', + langDirRTLLabel : 'ڕاست بۆ چه‌پ (RTL)', + edit : 'چاکسازی Div', + remove : 'لابردنی Div' + }, + + iframe : + { + title : 'دیالۆگی چووارچێوه', + toolbar : 'چووارچێوه', + noUrl : 'تکایه‌ ناونیشانی به‌سته‌ر بنووسه‌ بۆ چووارچێوه‌', + scrolling : 'چالاککردنی هاتووچۆپێکردن', + border : 'نیشاندانی لاکێشه‌ به‌چووارده‌وری چووارچێوه' + }, + + 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, هه‌رچۆنێك بێت شه‌کۆرکه سنووردار کراوه له‌ قه‌باره کۆگاکردن.کاتێك فه‌رهه‌نگی به‌کارهێنه‌ر گه‌یشته‌ ئه‌م خاڵه‌ی که‌ناتوانرێت زیاتر کۆگاکردن بکرێت له‌ شه‌کرۆکه‌، ئه‌وسا فه‌رهه‌نگه‌که‌ پێویسته‌ کۆگابکرێت له‌ ڕاژه‌که‌ی ئێمه‌.‌ بۆ کۆگاکردنی زانیاری تایبه‌تی فه‌رهه‌نگه‌که‌ له‌ ڕاژه‌که‌ی ئێمه, پێویسته‌ ناوێك هه‌ڵبژێریت بۆ فه‌رهه‌نگه‌که‌. گه‌ر تۆ فه‌رهه‌نگێکی کۆگاکراوت هه‌یه‌, تکایه‌ ناوی فه‌رهه‌نگه‌که‌ بنووسه‌ وه‌ کلیکی دوگمه‌ی گه‌ڕاندنه‌وه‌ بکه.', + + aboutTab : 'ده‌رباره‌ی' + }, + + about : + { + title : 'ده‌رباره‌ی CKEditor', + dlgTitle : 'ده‌رباره‌ی CKEditor', + help : 'سه‌یری $1 بکه‌ بۆ یارمه‌تی.', + userGuide : 'ڕێپیشانده‌ری CKEditors', + moreInfo : 'بۆ زانیاری زیاتری مۆڵه‌ت, تکایه‌ سه‌ردانی ماڵپه‌ڕه‌که‌مان بکه:', + copy : 'مافی له‌به‌رگرتنه‌وه‌ی © $1. گشتی پارێزراوه.' + }, + + maximize : 'ئەوپه‌ڕی گەورەیی', + minimize : 'ئەوپەڕی بچووکی', + + fakeobjects : + { + anchor : 'له‌نگه‌ر', + flash : 'فلاش', + iframe : 'له‌چوارچێوه', + hiddenfield : 'شاردنه‌وه‌ی خانه', + unknown : 'به‌رکارێکی نه‌ناسراو' + }, + + resize : 'ڕابکێشە بۆ گۆڕینی قەبارەکەی', + + colordialog : + { + title : 'هه‌ڵبژاردنی ڕه‌نگ', + options : 'هه‌ڵبژارده‌ی ڕه‌نگه‌کان', + highlight : 'نیشانکردن', + selected : 'هه‌ڵبژاردرا', + clear : 'پاککردنه‌وه' + }, + + toolbarCollapse : 'شاردنەوی هێڵی تووڵامراز', + toolbarExpand : 'نیشاندانی هێڵی تووڵامراز', + + toolbarGroups : + { + document : 'په‌ڕه', + clipboard : 'بڕین/پووچکردنه‌وه', + editing : 'چاکسازی', + forms : 'داڕشته', + basicstyles : 'شێوازی بنچینه‌یی', + paragraph : 'بڕگه', + links : 'به‌سته‌ر', + insert : 'خستنه‌ ناو', + styles : 'شێواز', + colors : 'ڕه‌نگه‌کان', + tools : 'ئامرازه‌کان' + }, + + bidi : + { + ltr : 'ئاراسته‌ی نووسه‌ له‌چه‌پ بۆ ڕاست', + rtl : 'ئاراسته‌ی نووسه‌ له‌ڕاست بۆ چه‌پ' + }, + + docprops : + { + label : 'خاسییه‌تی په‌ڕه', + title : 'خاسییه‌تی په‌ڕه', + design : 'شێوه‌کار', + meta : 'زانیاری مێتا', + chooseColor : '‌هه‌ڵبژێره', + other : 'هیتر...', + docTitle : 'سه‌ردێڕی په‌ڕه', + charset : 'ده‌سته‌ی نووسه‌ی به‌کۆده‌که‌ر', + charsetOther : 'ده‌سته‌ی نووسه‌ی به‌کۆده‌که‌ری تر', + charsetASCII : 'ASCII', + charsetCE : 'ناوه‌ڕاست ئه‌وروپا', + charsetCT : 'چینی(Big5)', + charsetCR : 'سیریلیك', + charsetGR : 'یۆنانی', + charsetJP : 'ژاپۆن', + charsetKR : 'کۆریا', + charsetTR : 'تورکیا', + charsetUN : 'Unicode (UTF-8)', + charsetWE : 'ڕۆژئاوای ئه‌وروپا', + docType : 'سه‌رپه‌ڕه‌ی جۆری په‌ڕه', + docTypeOther : 'سه‌رپه‌ڕه‌ی جۆری په‌ڕه‌ی تر', + xhtmlDec : 'به‌یاننامه‌کانی XHTML له‌گه‌ڵدابێت', + bgColor : 'ڕه‌نگی پاشبنه‌ما', + bgImage : 'ناونیشانی به‌سته‌ری وێنه‌ی پاشبنه‌ما', + bgFixed : 'بێ هاتووچوپێکردنی (چه‌سپاو) پاشبنه‌مای وێنه', + txtColor : 'ڕه‌نگی ده‌ق', + margin : 'ته‌نیشت په‌ڕه‌', + marginTop : 'سه‌ره‌وه', + marginLeft : 'چه‌پ', + marginRight : 'ڕاست', + marginBottom : 'ژێره‌وه', + metaKeywords : 'به‌ڵگه‌نامه‌ی وشه‌ی کاریگه‌ر(به‌ کۆما لێکیان جیابکه‌وه)', + metaDescription : 'پێناسه‌ی لاپه‌ڕه', + metaAuthor : 'نووسه‌ر', + metaCopyright : 'مافی بڵاوکردنه‌وه‌ی', + previewHtml : '

ئه‌مه‌ وه‌ك نموونه‌ی ده‌قه. تۆ به‌کارده‌هێنیت CKEditor.

' + } +}; diff --git a/_source/lang/lt.js b/_source/lang/lt.js index c960625..c6307a3 100644 --- a/_source/lang/lt.js +++ b/_source/lang/lt.js @@ -31,8 +31,8 @@ CKEDITOR.lang['lt'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Pilnas redaktorius, %1', + editorHelp : 'Spauskite ALT 0 dėl pagalbos', // ARIA descriptions. toolbars : 'Redaktoriaus įrankiai', @@ -120,6 +120,7 @@ CKEDITOR.lang['lt'] = alignTop : 'Viršūnę', alignMiddle : 'Vidurį', alignBottom : 'Apačią', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Aukštis turi būti nurodytas skaičiais.', invalidWidth : 'Plotis turi būti nurodytas skaičiais.', invalidCssLength : 'Reikšmė nurodyta "%1" laukui, turi būti teigiamas skaičius su arba be tinkamo CSS matavimo vieneto (px, %, in, cm, mm, em, ex, pt arba pc).', diff --git a/_source/lang/lv.js b/_source/lang/lv.js index b2b11bf..4fcbdc3 100644 --- a/_source/lang/lv.js +++ b/_source/lang/lv.js @@ -120,6 +120,7 @@ CKEDITOR.lang['lv'] = alignTop : 'Augšā', alignMiddle : 'Vertikāli centrēts', alignBottom : 'Apakšā', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/mk.js b/_source/lang/mk.js index 9a34b2d..192cddc 100644 --- a/_source/lang/mk.js +++ b/_source/lang/mk.js @@ -119,6 +119,7 @@ CKEDITOR.lang['mk'] = alignTop : 'Top', // MISSING alignMiddle : 'Middle', // MISSING alignBottom : 'Bottom', // MISSING + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/mn.js b/_source/lang/mn.js index f690c06..8df1659 100644 --- a/_source/lang/mn.js +++ b/_source/lang/mn.js @@ -120,6 +120,7 @@ CKEDITOR.lang['mn'] = alignTop : 'Дээд талд', alignMiddle : 'Дунд талд', alignBottom : 'Доод талд', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ms.js b/_source/lang/ms.js index 99bd519..f36f468 100644 --- a/_source/lang/ms.js +++ b/_source/lang/ms.js @@ -120,6 +120,7 @@ CKEDITOR.lang['ms'] = alignTop : 'Atas', alignMiddle : 'Pertengahan', alignBottom : 'Bawah', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/nb.js b/_source/lang/nb.js index 0c16cc8..7359485 100644 --- a/_source/lang/nb.js +++ b/_source/lang/nb.js @@ -120,6 +120,7 @@ CKEDITOR.lang['nb'] = alignTop : 'Topp', alignMiddle : 'Midten', alignBottom : 'Bunn', + invalidValue : 'Ugyldig verdi.', invalidHeight : 'Høyde må være et tall.', invalidWidth : 'Bredde må være et tall.', invalidCssLength : 'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).', diff --git a/_source/lang/nl.js b/_source/lang/nl.js index fd9eb73..6c274cf 100644 --- a/_source/lang/nl.js +++ b/_source/lang/nl.js @@ -120,6 +120,7 @@ CKEDITOR.lang['nl'] = alignTop : 'Boven', alignMiddle : 'Midden', alignBottom : 'Onder', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'De hoogte moet een getal zijn.', invalidWidth : 'De breedte moet een getal zijn.', invalidCssLength : 'Waarde in veld "%1" moet een positief nummer zijn, met of zonder een geldige CSS meeteenheid (px, %, in, cm, mm, em, ex, pt of pc).', diff --git a/_source/lang/no.js b/_source/lang/no.js index 1e78aaf..efdcccb 100644 --- a/_source/lang/no.js +++ b/_source/lang/no.js @@ -120,6 +120,7 @@ CKEDITOR.lang['no'] = alignTop : 'Topp', alignMiddle : 'Midten', alignBottom : 'Bunn', + invalidValue : 'Ugyldig verdi.', invalidHeight : 'Høyde må være et tall.', invalidWidth : 'Bredde må være et tall.', invalidCssLength : 'Den angitte verdien for feltet "%1" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).', diff --git a/_source/lang/pl.js b/_source/lang/pl.js index 4354d0b..90207cf 100644 --- a/_source/lang/pl.js +++ b/_source/lang/pl.js @@ -31,8 +31,8 @@ CKEDITOR.lang['pl'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Edytor tekstu sformatowanego, %1', + editorHelp : 'W celu uzyskania pomocy naciśnij ALT 0', // ARIA descriptions. toolbars : 'Paski narzędzi edytora', @@ -120,6 +120,7 @@ CKEDITOR.lang['pl'] = alignTop : 'Do góry', alignMiddle : 'Do środka', alignBottom : 'Do dołu', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Wysokość musi być liczbą.', invalidWidth : 'Szerokość musi być liczbą.', invalidCssLength : 'Wartość podana dla pola "%1" musi być liczbą dodatnią bez jednostki lub z poprawną jednostką długości zgodną z CSS (px, %, in, cm, mm, em, ex, pt lub pc).', diff --git a/_source/lang/pt-br.js b/_source/lang/pt-br.js index 4a2b5e9..20ff391 100644 --- a/_source/lang/pt-br.js +++ b/_source/lang/pt-br.js @@ -119,6 +119,7 @@ CKEDITOR.lang['pt-br'] = alignTop : 'Superior', alignMiddle : 'Centralizado', alignBottom : 'Inferior', + invalidValue : 'Valor inválido.', invalidHeight : 'A altura tem que ser um número', invalidWidth : 'A largura tem que ser um número.', invalidCssLength : 'O valor do campo "%1" deve ser um número positivo opcionalmente seguido por uma válida unidade de medida de CSS (px, %, in, cm, mm, em, ex, pt, or pc).', diff --git a/_source/lang/pt.js b/_source/lang/pt.js index a743867..1c8ef85 100644 --- a/_source/lang/pt.js +++ b/_source/lang/pt.js @@ -120,6 +120,7 @@ CKEDITOR.lang['pt'] = alignTop : 'Topo', alignMiddle : 'Centro', alignBottom : 'Fundo', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ro.js b/_source/lang/ro.js index b37298c..60ec45e 100644 --- a/_source/lang/ro.js +++ b/_source/lang/ro.js @@ -32,7 +32,7 @@ CKEDITOR.lang['ro'] = * of reading non-English words. So be careful while translating it. */ editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorHelp : 'Apasă ALT 0 pentru ajutor', // ARIA descriptions. toolbars : 'Editează bara de unelte', @@ -120,6 +120,7 @@ CKEDITOR.lang['ro'] = alignTop : 'Sus', alignMiddle : 'Mijloc', alignBottom : 'Jos', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Înălțimea trebuie să fie un număr.', invalidWidth : 'Lățimea trebuie să fie un număr.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/ru.js b/_source/lang/ru.js index 4b1ceb0..b7a6960 100644 --- a/_source/lang/ru.js +++ b/_source/lang/ru.js @@ -31,8 +31,8 @@ CKEDITOR.lang['ru'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Визуальный редактор текста, %1', + editorHelp : 'нажмите ALT-0 для открытия справки', // ARIA descriptions. toolbars : 'Панели инструментов редактора', @@ -120,6 +120,7 @@ CKEDITOR.lang['ru'] = alignTop : 'По верху', alignMiddle : 'По середине', alignBottom : 'По низу', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Высота задается числом.', invalidWidth : 'Ширина задается числом.', invalidCssLength : 'Значение, указанное в поле "%1", должно быть положительным целым числом. Допускается указание единиц меры CSS (px, %, in, cm, mm, em, ex, pt или pc).', diff --git a/_source/lang/sk.js b/_source/lang/sk.js index e3df7bc..9b6e4ef 100644 --- a/_source/lang/sk.js +++ b/_source/lang/sk.js @@ -31,12 +31,12 @@ CKEDITOR.lang['sk'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Editor formátovaného textu, %1', + editorHelp : 'Stlačte ALT 0 pre nápovedu', // ARIA descriptions. - toolbars : 'Editor toolbars', // MISSING - editor : 'Rich Text Editor', // MISSING + toolbars : 'Lišty nástrojov editora', + editor : 'Editor formátovaného textu', // Toolbar buttons without dialogs. source : 'Zdroj', @@ -56,7 +56,7 @@ CKEDITOR.lang['sk'] = subscript : 'Dolný index', superscript : 'Horný index', horizontalrule : 'Vložiť vodorovnú čiaru', - pagebreak : 'Vložiť oddeľovač stránky', + pagebreak : 'Vložiť oddeľovač stránky pre tlač', pagebreakAlt : 'Zalomenie strany', unlink : 'Odstrániť odkaz', undo : 'Späť', @@ -68,8 +68,8 @@ CKEDITOR.lang['sk'] = browseServer : 'Prechádzať server', url : 'URL', protocol : 'Protokol', - upload : 'Odoslať', - uploadSubmit : 'Odoslať na server', + upload : 'Nahrať', + uploadSubmit : 'Odoslať to na server', image : 'Obrázok', flash : 'Flash', form : 'Formulár', @@ -89,7 +89,7 @@ CKEDITOR.lang['sk'] = langDirRtl : 'Sprava doľava (RTL)', langCode : 'Kód jazyka', longDescr : 'Dlhý popis URL', - cssClass : 'Trieda štýlu', + cssClass : 'Triedy štýlu', advisoryTitle : 'Pomocný titulok', cssStyle : 'Štýl', ok : 'OK', @@ -99,18 +99,18 @@ CKEDITOR.lang['sk'] = generalTab : 'Hlavné', advancedTab : 'Rozšírené', validateNumberFailed : 'Hodnota nieje číslo.', - confirmNewPage : 'Prajete si načítat novú stránku? Všetky neuložené zmeny budú stratené. ', + confirmNewPage : 'Všetky neuložené zmeny v tomto obsahu budú stratené. Ste si istý, že chcete načítať novú stránku?', confirmCancel : 'Niektore možnosti boli zmenené. Naozaj chcete zavrieť okno?', - options : 'Options', // MISSING - target : 'Target', // MISSING - targetNew : 'New Window (_blank)', // MISSING - targetTop : 'Topmost Window (_top)', // MISSING - targetSelf : 'Same Window (_self)', // MISSING - targetParent : 'Parent Window (_parent)', // MISSING - langDirLTR : 'Left to Right (LTR)', // MISSING - langDirRTL : 'Right to Left (RTL)', // MISSING - styles : 'Style', // MISSING - cssClasses : 'Stylesheet Classes', // MISSING + options : 'Možnosti', + target : 'Cieľ', + targetNew : 'Nové okno (_blank)', + targetTop : 'Najvrchnejšie okno (_top)', + targetSelf : 'To isté okno (_self)', + targetParent : 'Rodičovské okno (_parent)', + langDirLTR : 'Zľava doprava (LTR)', + langDirRTL : 'Sprava doľava (RTL)', + styles : 'Štýl', + cssClasses : 'Triedy štýlu', width : 'Šírka', height : 'Výška', align : 'Zarovnanie', @@ -120,81 +120,82 @@ CKEDITOR.lang['sk'] = alignTop : 'Nahor', alignMiddle : 'Na stred', alignBottom : 'Dole', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Výška musí byť číslo.', invalidWidth : 'Šírka musí byť číslo.', - invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING - invalidHtmlLength : 'Value specified for the "%1" field must be a positive number with or without a valid HTML measurement unit (px or %).', // MISSING - invalidInlineStyle : 'Value specified for the inline style must consist of one or more tuples with the format of "name : value", separated by semi-colons.', // MISSING - cssLengthTooltip : 'Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING + invalidCssLength : 'Špecifikovaná hodnota pre pole "%1" musí byť kladné číslo s alebo bez platnej CSS mernej jednotky (px, %, in, cm, mm, em, ex, pt alebo pc).', + invalidHtmlLength : 'Špecifikovaná hodnota pre pole "%1" musí byť kladné číslo s alebo bez platnej HTML mernej jednotky (px alebo %).', + invalidInlineStyle : 'Zadaná hodnota pre inline štýl musí pozostávať s jedného, alebo viac dvojíc formátu "názov: hodnota", oddelených bodkočiarkou.', + cssLengthTooltip : 'Vložte číslo pre hodnotu v pixeloch alebo číslo so správnou CSS jednotou (px, %, in, cm, mm, em, ex, pt, or pc).', // Put the voice-only part of the label in the span. - unavailable : '%1, unavailable' // MISSING + unavailable : '%1, nedostupný' }, contextmenu : { - options : 'Context Menu Options' // MISSING + options : 'Možnosti kontextového menu' }, // Special char dialog. specialChar : { - toolbar : 'Vložiť špeciálne znaky', + toolbar : 'Vložiť špeciálny znak', title : 'Výber špeciálneho znaku', - options : 'Možnosti špecíalneho znaku' + options : 'Možnosti špeciálneho znaku' }, // Link dialog. link : { - toolbar : 'Vložiť/zmeniť odkaz', + toolbar : 'Odkaz', other : '', - menu : 'Zmeniť odkaz', + menu : 'Upraviť odkaz', title : 'Odkaz', info : 'Informácie o odkaze', target : 'Cieľ', - upload : 'Odoslať', + upload : 'Nahrať', advanced : 'Rozšírené', type : 'Typ odkazu', - toUrl : 'URL', // MISSING - toAnchor : 'Kotva v tejto stránke', - toEmail : 'E-Mail', + toUrl : 'URL', + toAnchor : 'Odkaz na kotvu v texte', + toEmail : 'E-mail', targetFrame : '', targetPopup : '', - targetFrameName : 'Meno rámu cieľa', + targetFrameName : 'Názov rámu cieľa', targetPopupName : 'Názov vyskakovacieho okna', popupFeatures : 'Vlastnosti vyskakovacieho okna', - popupResizable : 'Meniteľná veľkosť', - popupStatusBar : 'Stavový riadok', - popupLocationBar: 'Panel umiestnenia', - popupToolbar : 'Panel nástrojov', - popupMenuBar : 'Panel ponuky', + popupResizable : 'Meniteľná veľkosť (resizable)', + popupStatusBar : 'Stavový riadok (status bar)', + popupLocationBar: 'Panel umiestnenia (location bar)', + popupToolbar : 'Panel nástrojov (toolbar)', + popupMenuBar : 'Panel ponuky (menu bar)', popupFullScreen : 'Celá obrazovka (IE)', - popupScrollBars : 'Posuvníky', + popupScrollBars : 'Posuvníky (scroll bars)', popupDependent : 'Závislosť (Netscape)', popupLeft : 'Ľavý okraj', popupTop : 'Horný okraj', - id : 'Id', // MISSING + id : 'Id', langDir : 'Orientácia jazyka', langDirLTR : 'Zľava doprava (LTR)', langDirRTL : 'Sprava doľava (RTL)', acccessKey : 'Prístupový kľúč', - name : 'Meno', + name : 'Názov', langCode : 'Orientácia jazyka', - tabIndex : 'Poradie prvku', + tabIndex : 'Poradie prvku (tab index)', advisoryTitle : 'Pomocný titulok', advisoryContentType : 'Pomocný typ obsahu', - cssClasses : 'Trieda štýlu', + cssClasses : 'Triedy štýlu', charset : 'Priradená znaková sada', styles : 'Štýl', - rel : 'Relationship', // MISSING + rel : 'Vzťah (rel)', selectAnchor : 'Vybrať kotvu', anchorName : 'Podľa mena kotvy', anchorId : 'Podľa Id objektu', emailAddress : 'E-Mailová adresa', emailSubject : 'Predmet správy', emailBody : 'Telo správy', - noAnchors : '(V stránke nie je definovaná žiadna kotva)', + noAnchors : '(V dokumente nie sú dostupné žiadne kotvy)', noUrl : 'Zadajte prosím URL odkazu', noEmail : 'Zadajte prosím e-mailovú adresu' }, @@ -202,36 +203,36 @@ CKEDITOR.lang['sk'] = // Anchor dialog anchor : { - toolbar : 'Vložiť/zmeniť kotvu', - menu : 'Vlastnosti kotvy', + toolbar : 'Kotva', + menu : 'Upraviť kotvu', title : 'Vlastnosti kotvy', - name : 'Meno kotvy', - errorName : 'Zadajte prosím meno kotvy', - remove : 'Remove Anchor' // MISSING + name : 'Názov kotvy', + errorName : 'Zadajte prosím názov kotvy', + remove : 'Odstrániť kotvu' }, // List style dialog list: { numberedTitle : 'Vlastnosti číselného zoznamu', - bulletedTitle : 'Bulleted List Properties', // MISSING - type : 'Druh', + bulletedTitle : 'Vlastnosti odrážkového zoznamu', + type : 'Typ', start : 'Začiatok', validateStartNumber :'Začiatočné číslo číselného zoznamu musí byť celé číslo.', - circle : 'Circle', // MISSING - disc : 'Disc', // MISSING - square : 'Square', // MISSING - none : 'None', // MISSING - notset : '', // MISSING - armenian : 'Armenian numbering', // MISSING - georgian : 'Georgian numbering (an, ban, gan, etc.)', // MISSING - lowerRoman : 'Lower Roman (i, ii, iii, iv, v, etc.)', // MISSING - upperRoman : 'Upper Roman (I, II, III, IV, V, etc.)', // MISSING - lowerAlpha : 'Lower Alpha (a, b, c, d, e, etc.)', // MISSING - upperAlpha : 'Upper Alpha (A, B, C, D, E, etc.)', // MISSING - lowerGreek : 'Lower Greek (alpha, beta, gamma, etc.)', // MISSING - decimal : 'Decimal (1, 2, 3, etc.)', // MISSING - decimalLeadingZero : 'Decimal leading zero (01, 02, 03, etc.)' // MISSING + circle : 'Kruh', + disc : 'Disk', + square : 'Štvorec', + none : 'Nič', + notset : '', + armenian : 'Arménske číslovanie', + georgian : 'Gregoriánske číslovanie (an, ban, gan, atď.)', + lowerRoman : 'Malé rímske (i, ii, iii, iv, v, atď.)', + upperRoman : 'Veľké rímske (I, II, III, IV, V, atď.)', + lowerAlpha : 'Malé latinské (a, b, c, d, e, atď.)', + upperAlpha : 'Veľké latinské (A, B, C, D, E, atď.)', + lowerGreek : 'Malé grécke (alfa, beta, gama, atď.)', + decimal : 'Číselné (1, 2, 3, atď.)', + decimalLeadingZero : 'Číselné s nulou (01, 02, 03, atď.)' }, // Find And Replace Dialog @@ -243,10 +244,10 @@ CKEDITOR.lang['sk'] = findWhat : 'Čo hľadať:', replaceWith : 'Čím nahradiť:', notFoundMsg : 'Hľadaný text nebol nájdený.', - findOptions : 'Find Options', // MISSING - matchCase : 'Rozlišovať malé/veľké písmená', + findOptions : 'Nájsť možnosti', + matchCase : 'Rozlišovať malé a veľké písmená', matchWord : 'Len celé slová', - matchCyclic : 'Match cyclic', // MISSING + matchCyclic : 'Cykliť zhodu', replaceAll : 'Nahradiť všetko', replaceSuccessMsg : '%1 výskyt(ov) nahradených.' }, @@ -260,12 +261,12 @@ CKEDITOR.lang['sk'] = deleteTable : 'Vymazať tabuľku', rows : 'Riadky', columns : 'Stĺpce', - border : 'Ohraničenie', + border : 'Šírka rámu (border)', widthPx : 'pixelov', widthPc : 'percent', - widthUnit : 'width unit', // MISSING - cellSpace : 'Vzdialenosť buniek', - cellPad : 'Odsadenie obsahu', + widthUnit : 'jednotka šírky', + cellSpace : 'Vzdialenosť buniek (cell spacing)', + cellPad : 'Odsadenie obsahu (cell padding)', caption : 'Popis', summary : 'Prehľad', headers : 'Hlavička', @@ -275,11 +276,11 @@ CKEDITOR.lang['sk'] = headersBoth : 'Obe', invalidRows : 'Počet riadkov musí byť číslo väčšie ako 0.', invalidCols : 'Počet stĺpcov musí byť číslo väčšie ako 0.', - invalidBorder : 'Širka rámu musí byť celé číslo.', + invalidBorder : 'Širka rámu musí byť číslo.', invalidWidth : 'Širka tabuľky musí byť číslo.', invalidHeight : 'Výška tabuľky musí byť číslo.', - invalidCellSpacing : 'Medzera mädzi bunkami (spacing) musí byť číslo.', - invalidCellPadding : 'Odsadenie v bunkách (padding) musí byť číslo.', + invalidCellSpacing : 'Medzera mädzi bunkami (cell spacing) musí byť kladné číslo.', + invalidCellPadding : 'Odsadenie v bunkách (cell padding) musí byť kladné číslo.', cell : { @@ -292,41 +293,41 @@ CKEDITOR.lang['sk'] = mergeDown : 'Zlúčiť dole', splitHorizontal : 'Rozdeliť bunky horizontálne', splitVertical : 'Rozdeliť bunky vertikálne', - title : 'Cell Properties', // MISSING - cellType : 'Cell Type', // MISSING - rowSpan : 'Rows Span', // MISSING - colSpan : 'Columns Span', // MISSING - wordWrap : 'Word Wrap', // MISSING - hAlign : 'Horizontal Alignment', // MISSING - vAlign : 'Vertical Alignment', // MISSING - alignBaseline : 'Baseline', // MISSING - bgColor : 'Background Color', // MISSING - borderColor : 'Border Color', // MISSING - data : 'Data', // MISSING - header : 'Header', // MISSING - yes : 'Yes', // MISSING - no : 'No', // MISSING - invalidWidth : 'Cell width must be a number.', // MISSING - invalidHeight : 'Cell height must be a number.', // MISSING - invalidRowSpan : 'Rows span must be a whole number.', // MISSING - invalidColSpan : 'Columns span must be a whole number.', // MISSING - chooseColor : 'Choose' // MISSING + title : 'Vlastnosti bunky', + cellType : 'Typ bunky', + rowSpan : 'Rozsah riadkov', + colSpan : 'Rozsah stĺpcov', + wordWrap : 'Zalomovanie riadkov', + hAlign : 'Horizontálne zarovnanie', + vAlign : 'Vertikálne zarovnanie', + alignBaseline : 'Základná čiara (baseline)', + bgColor : 'Farba pozadia', + borderColor : 'Farba rámu', + data : 'Dáta', + header : 'Hlavička', + yes : 'Áno', + no : 'Nie', + invalidWidth : 'Šírka bunky musí byť číslo.', + invalidHeight : 'Výška bunky musí byť číslo.', + invalidRowSpan : 'Rozsah riadkov musí byť celé číslo.', + invalidColSpan : 'Rozsah stĺpcov musí byť celé číslo.', + chooseColor : 'Vybrať' }, row : { menu : 'Riadok', - insertBefore : 'Vložiť riadok za', - insertAfter : 'Vložiť riadok pred', - deleteRow : 'Vymazať riadok' + insertBefore : 'Vložiť riadok pred', + insertAfter : 'Vložiť riadok po', + deleteRow : 'Vymazať riadky' }, column : { menu : 'Stĺpec', - insertBefore : 'Vložiť stĺpec za', - insertAfter : 'Vložiť stĺpec pred', - deleteColumn : 'Zmazať stĺpec' + insertBefore : 'Vložiť stĺpec pred', + insertAfter : 'Vložiť stĺpec po', + deleteColumn : 'Zmazať stĺpce' } }, @@ -334,20 +335,20 @@ CKEDITOR.lang['sk'] = button : { title : 'Vlastnosti tlačidla', - text : 'Text', + text : 'Text (Hodnota)', type : 'Typ', typeBtn : 'Tlačidlo', typeSbm : 'Odoslať', - typeRst : 'Vymazať' + typeRst : 'Resetovať' }, // Checkbox and Radio Button Dialogs. checkboxAndRadio : { checkboxTitle : 'Vlastnosti zaškrtávacieho políčka', - radioTitle : 'Vlastnosti prepínača', + radioTitle : 'Vlastnosti prepínača (radio button)', value : 'Hodnota', - selected : 'Vybrané' + selected : 'Vybrané (selected)' }, // Form Dialog. @@ -355,16 +356,16 @@ CKEDITOR.lang['sk'] = { title : 'Vlastnosti formulára', menu : 'Vlastnosti formulára', - action : 'Akcie', - method : 'Metóda', - encoding : 'Kódovanie' + action : 'Akcia (action)', + method : 'Metóda (method)', + encoding : 'Kódovanie (encoding)' }, // Select Field Dialog. select : { title : 'Vlastnosti rozbaľovacieho zoznamu', - selectInfo : 'Info', + selectInfo : 'Informácie o výbere', opAvail : 'Dostupné možnosti', value : 'Hodnota', size : 'Veľkosť', @@ -373,28 +374,28 @@ CKEDITOR.lang['sk'] = opText : 'Text', opValue : 'Hodnota', btnAdd : 'Pridať', - btnModify : 'Zmeniť', + btnModify : 'Upraviť', btnUp : 'Hore', btnDown : 'Dole', btnSetValue : 'Nastaviť ako vybranú hodnotu', - btnDelete : 'Zmazať' + btnDelete : 'Vymazať' }, // Textarea Dialog. textarea : { - title : 'Vlastnosti textovej oblasti', - cols : 'Stĺpce', - rows : 'Riadky' + title : 'Vlastnosti textovej oblasti (textarea)', + cols : 'Stĺpcov', + rows : 'Riadkov' }, // Text Field Dialog. textfield : { title : 'Vlastnosti textového poľa', - name : 'Názov', + name : 'Názov (name)', value : 'Hodnota', - charWidth : 'Šírka pola (znakov)', + charWidth : 'Šírka poľa (podľa znakov)', maxChars : 'Maximálny počet znakov', type : 'Typ', typeText : 'Text', @@ -405,83 +406,83 @@ CKEDITOR.lang['sk'] = hidden : { title : 'Vlastnosti skrytého poľa', - name : 'Názov', + name : 'Názov (name)', value : 'Hodnota' }, // Image Dialog. image : { - title : 'Vlastnosti obrázku', + title : 'Vlastnosti obrázka', titleButton : 'Vlastnosti obrázkového tlačidla', - menu : 'Vlastnosti obrázku', + menu : 'Vlastnosti obrázka', infoTab : 'Informácie o obrázku', - btnUpload : 'Odoslať na server', - upload : 'Odoslať', + btnUpload : 'Odoslať to na server', + upload : 'Nahrať', alt : 'Alternatívny text', - lockRatio : 'Zámok', + lockRatio : 'Pomer zámky', resetSize : 'Pôvodná veľkosť', - border : 'Okraje', + border : 'Rám (border)', hSpace : 'H-medzera', vSpace : 'V-medzera', - alertUrl : 'Zadajte prosím URL obrázku', + alertUrl : 'Zadajte prosím URL obrázka', linkTab : 'Odkaz', - button2Img : 'Do you want to transform the selected image button on a simple image?', // MISSING - img2Button : 'Do you want to transform the selected image on a image button?', // MISSING - urlMissing : 'Image source URL is missing.', // MISSING - validateBorder : 'Border must be a whole number.', // MISSING - validateHSpace : 'HSpace must be a whole number.', // MISSING - validateVSpace : 'VSpace must be a whole number.' // MISSING + button2Img : 'Chcete zmeniť vybrané obrázkové tlačidlo na jednoduchý obrázok?', + img2Button : 'Chcete zmeniť vybraný obrázok na obrázkové tlačidlo?', + urlMissing : 'Chýba URL zdroja obrázka.', + validateBorder : 'Rám (border) musí byť celé číslo.', + validateHSpace : 'H-medzera musí byť celé číslo.', + validateVSpace : 'V-medzera musí byť celé číslo.' }, // Flash Dialog flash : { properties : 'Vlastnosti Flashu', - propertiesTab : 'Properties', // MISSING + propertiesTab : 'Vlastnosti', title : 'Vlastnosti Flashu', chkPlay : 'Automatické prehrávanie', chkLoop : 'Opakovanie', chkMenu : 'Povoliť Flash Menu', - chkFull : 'Allow Fullscreen', // MISSING + chkFull : 'Povoliť zobrazenie na celú obrazovku (fullscreen)', scale : 'Mierka', - scaleAll : 'Zobraziť mierku', + scaleAll : 'Zobraziť všetko', scaleNoBorder : 'Bez okrajov', - scaleFit : 'Roztiahnuť na celé', - access : 'Script Access', // MISSING - accessAlways : 'Always', // MISSING - accessSameDomain: 'Same domain', // MISSING - accessNever : 'Never', // MISSING + scaleFit : 'Roztiahnuť, aby sedelo presne', + access : 'Prístup skriptu', + accessAlways : 'Vždy', + accessSameDomain: 'Rovnaká doména', + accessNever : 'Nikdy', alignAbsBottom : 'Úplne dole', alignAbsMiddle : 'Do stredu', - alignBaseline : 'Na základňu', + alignBaseline : 'Na základnú čiaru', alignTextTop : 'Na horný okraj textu', - quality : 'Quality', // MISSING - qualityBest : 'Best', // MISSING - qualityHigh : 'High', // MISSING - qualityAutoHigh : 'Auto High', // MISSING - qualityMedium : 'Medium', // MISSING - qualityAutoLow : 'Auto Low', // MISSING - qualityLow : 'Low', // MISSING - windowModeWindow: 'Window', // MISSING - windowModeOpaque: 'Opaque', // MISSING - windowModeTransparent : 'Transparent', // MISSING - windowMode : 'Window mode', // MISSING - flashvars : 'Variables for Flash', // MISSING + quality : 'Kvalita', + qualityBest : 'Najlepšia', + qualityHigh : 'Vysoká', + qualityAutoHigh : 'Automaticky vysoká', + qualityMedium : 'Stredná', + qualityAutoLow : 'Automaticky nízka', + qualityLow : 'Nízka', + windowModeWindow: 'Okno', + windowModeOpaque: 'Nepriehľadný', + windowModeTransparent : 'Priehľadný', + windowMode : 'Mód okna', + flashvars : 'Premenné pre Flash', bgcolor : 'Farba pozadia', hSpace : 'H-medzera', vSpace : 'V-medzera', - validateSrc : 'Zadajte prosím URL odkazu', - validateHSpace : 'HSpace must be a number.', // MISSING - validateVSpace : 'VSpace must be a number.' // MISSING + validateSrc : 'URL nesmie byť prázdne.', + validateHSpace : 'H-medzera musí byť číslo.', + validateVSpace : 'V-medzera musí byť číslo' }, // Speller Pages Dialog spellCheck : { toolbar : 'Kontrola pravopisu', - title : 'Spell Check', // MISSING - notAvailable : 'Služba práve nieje dostupná.', + title : 'Skontrolovať pravopis', + notAvailable : 'Prepáčte, ale služba je momentálne nedostupná.', errorLoading : 'Chyba pri načítaní slovníka z adresy: %s.', notInDic : 'Nie je v slovníku', changeTo : 'Zmeniť na', @@ -492,28 +493,28 @@ CKEDITOR.lang['sk'] = btnUndo : 'Späť', noSuggestions : '- Žiadny návrh -', progress : 'Prebieha kontrola pravopisu...', - noMispell : 'Kontrola pravopisu dokončená: bez chýb', - noChanges : 'Kontrola pravopisu dokončená: žiadne slová nezmenené', - oneChange : 'Kontrola pravopisu dokončená: zmenené jedno slovo', - manyChanges : 'Kontrola pravopisu dokončená: zmenených %1 slov', - ieSpellDownload : 'Kontrola pravopisu nie je naištalovaná. Chcete ju hneď stiahnuť?' + noMispell : 'Kontrola pravopisu dokončená: Neboli nájdené žiadne chyby pravopisu', + noChanges : 'Kontrola pravopisu dokončená: Neboli zmenené žiadne slová', + oneChange : 'Kontrola pravopisu dokončená: Bolo zmenené jedno slovo', + manyChanges : 'Kontrola pravopisu dokončená: Bolo zmenených %1 slov', + ieSpellDownload : 'Kontrola pravopisu nie je naištalovaná. Chcete ju teraz stiahnuť?' }, smiley : { toolbar : 'Smajlíky', - title : 'Vkladanie smajlíkov', + title : 'Vložiť smajlíka', options : 'Možnosti smajlíkov' }, elementsPath : { - eleLabel : 'Elements path', // MISSING - eleTitle : '%1 element' // MISSING + eleLabel : 'Cesta prvkov', + eleTitle : '%1 prvok' }, - numberedlist : 'Číslovanie', - bulletedlist : 'Odrážky', + numberedlist : 'Vložiť/Odstrániť číslovaný zoznam', + bulletedlist : 'Vložiť/Odstrániť zoznam s odrážkami', indent : 'Zväčšiť odsadenie', outdent : 'Zmenšiť odsadenie', @@ -530,11 +531,11 @@ CKEDITOR.lang['sk'] = clipboard : { title : 'Vložiť', - cutError : 'Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru spustiť funkciu pre vystrihnutie zvoleného textu do schránky. Prosím vystrihnite zvolený text do schránky pomocou klávesnice (Ctrl/Cmd+X).', - copyError : 'Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru spustiť funkciu pre kopírovanie zvoleného textu do schránky. Prosím skopírujte zvolený text do schránky pomocou klávesnice (Ctrl/Cmd+C).', - pasteMsg : 'Prosím vložte nasledovný rámček použitím klávesnice (Ctrl/Cmd+V) a stlačte OK.', - securityMsg : 'Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru pristupovať priamo k datám v schránke. Musíte ich vložiť znovu do tohto okna.', - pasteArea : 'Vložiť pole' + cutError : 'Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu vystrihnutia. Prosím, použite na to klávesnicu (Ctrl/Cmd+X).', + copyError : 'Bezpečnostné nastavenia Vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu kopírovania. Prosím, použite na to klávesnicu (Ctrl/Cmd+C).', + pasteMsg : 'Prosím, vložte nasledovný rámček použitím klávesnice (Ctrl/Cmd+V) a stlačte OK.', + securityMsg : 'Kvôli vašim bezpečnostným nastaveniam prehliadača editor nie je schopný pristupovať k vašej schránke na kopírovanie priamo. Vložte to preto do tohto okna.', + pasteArea : 'Miesto pre vloženie' }, pastefromword : @@ -542,7 +543,7 @@ CKEDITOR.lang['sk'] = confirmCleanup : 'Vkladaný text vyzerá byť skopírovaný z Wordu. Chcete ho automaticky vyčistiť pred vkladaním?', toolbar : 'Vložiť z Wordu', title : 'Vložiť z Wordu', - error : 'Nastala chyba pri čistení údajov. Nie je možné vyčistiť vložené údaje.' + error : 'Nebolo možné vyčistiť vložené dáta kvôli internej chybe' }, pasteText : @@ -555,21 +556,21 @@ CKEDITOR.lang['sk'] = { button : 'Šablóny', title : 'Šablóny obsahu', - options : 'Vlastnosti šablóny', + options : 'Možnosti šablóny', insertOption : 'Nahradiť aktuálny obsah', - selectPromptMsg : 'Prosím vyberte šablóny na otvorenie v editore
(súšasný obsah bude stratený):', - emptyListMsg : '(žiadne Å¡ablóny nenájdené)' + selectPromptMsg : 'Prosím vyberte Å¡ablónu na otvorenie v editore', + emptyListMsg : '(Žiadne Å¡ablóny nedefinované)' }, showBlocks : 'UkázaÅ¥ bloky', stylesCombo : { - label : 'Å týl', - panelTitle : 'Formatting Styles', // MISSING - panelTitle1 : 'Block Styles', // MISSING - panelTitle2 : 'Inline Styles', // MISSING - panelTitle3 : 'Object Styles' // MISSING + label : 'Å týly', + panelTitle : 'Formátovanie Å¡týlov', + panelTitle1 : 'Å týly bloku', + panelTitle2 : 'Vnútroriadkové (inline) Å¡týly', + panelTitle3 : 'Å týly objeku' }, format : @@ -586,47 +587,47 @@ CKEDITOR.lang['sk'] = tag_h4 : 'Nadpis 4', tag_h5 : 'Nadpis 5', tag_h6 : 'Nadpis 6', - tag_div : 'Odsek (DIV)' + tag_div : 'Normálny (DIV)' }, div : { - title : 'Create Div Container', // MISSING - toolbar : 'Create Div Container', // MISSING - cssClassInputLabel : 'Stylesheet Classes', // MISSING - styleSelectLabel : 'Style', // MISSING - IdInputLabel : 'Id', // MISSING - languageCodeInputLabel : ' Language Code', // MISSING - inlineStyleInputLabel : 'Inline Style', // MISSING - advisoryTitleInputLabel : 'Advisory Title', // MISSING - langDirLabel : 'Language Direction', // MISSING - langDirLTRLabel : 'Left to Right (LTR)', // MISSING - langDirRTLLabel : 'Right to Left (RTL)', // MISSING - edit : 'Edit Div', // MISSING - remove : 'Remove Div' // MISSING + title : 'VytvoriÅ¥ Div kontajner', + toolbar : 'VytvoriÅ¥ Div kontajner', + cssClassInputLabel : 'Triedy Å¡týlu', + styleSelectLabel : 'Å týl', + IdInputLabel : 'Id', + languageCodeInputLabel : 'Kód jazyka', + inlineStyleInputLabel : 'Inline Å¡týl', + advisoryTitleInputLabel : 'Pomocný titulok', + langDirLabel : 'Smer jazyka', + langDirLTRLabel : 'Zľava doprava (LTR)', + langDirRTLLabel : 'Zprava doľava (RTL)', + edit : 'UpraviÅ¥ Div', + remove : 'OdstrániÅ¥ Div' }, iframe : { - title : 'IFrame - vlastnosti', - toolbar : 'IFrame', // MISSING - noUrl : 'Vložte URL pre iframe', + title : 'Vlastnosti IFrame', + toolbar : 'IFrame', + noUrl : 'Prosím, vložte URL iframe', scrolling : 'PovoliÅ¥ skrolovanie', - border : 'ZobraziÅ¥ orámovanie' + border : 'ZobraziÅ¥ rám frame-u' }, font : { - label : 'Písmo', - voiceLabel : 'Font', // MISSING - panelTitle : 'Písmo' + label : 'Font', + voiceLabel : 'Font', + panelTitle : 'Názov fontu' }, fontSize : { label : 'VeľkosÅ¥', voiceLabel : 'VeľkosÅ¥ písma', - panelTitle : 'VeľkosÅ¥' + panelTitle : 'VeľkosÅ¥ písma' }, colorButton : @@ -640,91 +641,91 @@ CKEDITOR.lang['sk'] = colors : { - '000' : 'Black', // MISSING - '800000' : 'Maroon', // MISSING - '8B4513' : 'Saddle Brown', // MISSING - '2F4F4F' : 'Dark Slate Gray', // MISSING - '008080' : 'Teal', // MISSING - '000080' : 'Navy', // MISSING - '4B0082' : 'Indigo', // MISSING - '696969' : 'Dark Gray', // MISSING - 'B22222' : 'Fire Brick', // MISSING - 'A52A2A' : 'Brown', // MISSING - 'DAA520' : 'Golden Rod', // MISSING - '006400' : 'Dark Green', // MISSING - '40E0D0' : 'Turquoise', // MISSING - '0000CD' : 'Medium Blue', // MISSING - '800080' : 'Purple', // MISSING - '808080' : 'Gray', // MISSING - 'F00' : 'Red', // MISSING - 'FF8C00' : 'Dark Orange', // MISSING - 'FFD700' : 'Gold', // MISSING - '008000' : 'Green', // MISSING - '0FF' : 'Cyan', // MISSING - '00F' : 'Blue', // MISSING - 'EE82EE' : 'Violet', // MISSING - 'A9A9A9' : 'Dim Gray', // MISSING - 'FFA07A' : 'Light Salmon', // MISSING - 'FFA500' : 'Orange', // MISSING - 'FFFF00' : 'Yellow', // MISSING - '00FF00' : 'Lime', // MISSING - 'AFEEEE' : 'Pale Turquoise', // MISSING - 'ADD8E6' : 'Light Blue', // MISSING - 'DDA0DD' : 'Plum', // MISSING - 'D3D3D3' : 'Light Grey', // MISSING - 'FFF0F5' : 'Lavender Blush', // MISSING - 'FAEBD7' : 'Antique White', // MISSING - 'FFFFE0' : 'Light Yellow', // MISSING - 'F0FFF0' : 'Honeydew', // MISSING - 'F0FFFF' : 'Azure', // MISSING - 'F0F8FF' : 'Alice Blue', // MISSING - 'E6E6FA' : 'Lavender', // MISSING - 'FFF' : 'White' // MISSING + '000' : 'Čierna', + '800000' : 'Maroon', + '8B4513' : 'Sedlová hnedá', + '2F4F4F' : 'Tmavo bridlicovo sivá', + '008080' : 'Modrozelená', + '000080' : 'Tmavomodrá', + '4B0082' : 'Indigo', + '696969' : 'Tmavá sivá', + 'B22222' : 'Ohňová tehlová', + 'A52A2A' : 'Hnedá', + 'DAA520' : 'Zlatobyľ', + '006400' : 'Tmavá zelená', + '40E0D0' : 'Tyrkysová', + '0000CD' : 'Stredná modrá', + '800080' : 'Purpurová', + '808080' : 'Sivá', + 'F00' : 'Červená', + 'FF8C00' : 'Tmavá oranžová', + 'FFD700' : 'Zlatá', + '008000' : 'Zelená', + '0FF' : 'Azúrová', + '00F' : 'Modrá', + 'EE82EE' : 'Fialová', + 'A9A9A9' : 'Tmavá sivá', + 'FFA07A' : 'Svetlo lososová', + 'FFA500' : 'Oranžová', + 'FFFF00' : 'Žltá', + '00FF00' : 'Vápenná', + 'AFEEEE' : 'Svetlo tyrkysová', + 'ADD8E6' : 'Svetlo modrá', + 'DDA0DD' : 'Slivková', + 'D3D3D3' : 'Svetlo sivá', + 'FFF0F5' : 'Levanduľovo červená', + 'FAEBD7' : 'Antická biela', + 'FFFFE0' : 'Svetlo žltá', + 'F0FFF0' : 'Medová', + 'F0FFFF' : 'Azúrová', + 'F0F8FF' : 'Alicovo modrá', + 'E6E6FA' : 'Levanduľová', + 'FFF' : 'Biela' }, scayt : { - title : 'Spell Check As You Type', // MISSING - opera_title : 'Not supported by Opera', // MISSING - enable : 'Enable SCAYT', // MISSING - disable : 'Disable SCAYT', // MISSING - about : 'About SCAYT', // MISSING - toggle : 'Toggle SCAYT', // MISSING - options : 'Options', // MISSING - langs : 'Languages', // MISSING - moreSuggestions : 'More suggestions', // MISSING - ignore : 'Ignore', // MISSING - ignoreAll : 'Ignore All', // MISSING - addWord : 'Add Word', // MISSING - emptyDic : 'Dictionary name should not be empty.', // MISSING - - optionsTab : 'Options', // MISSING - allCaps : 'Ignore All-Caps Words', // MISSING - ignoreDomainNames : 'Ignore Domain Names', // MISSING - mixedCase : 'Ignore Words with Mixed Case', // MISSING - mixedWithDigits : 'Ignore Words with Numbers', // MISSING - - languagesTab : 'Languages', // MISSING - - dictionariesTab : 'Dictionaries', // MISSING - dic_field_name : 'Dictionary name', // MISSING - dic_create : 'Create', // MISSING - dic_restore : 'Restore', // MISSING - dic_delete : 'Delete', // MISSING - dic_rename : 'Rename', // MISSING - 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 - - aboutTab : 'About' // MISSING + title : 'Kontrola pravopisu počas písania', + opera_title : 'Nepodporované Operou', + enable : 'PovoliÅ¥ KPPP (Kontrola pravopisu počas písania)', + disable : 'ZakázaÅ¥ KPPP (Kontrola pravopisu počas písania)', + about : 'O KPPP (Kontrola pravopisu počas písania)', + toggle : 'Prepnúť KPPP (Kontrola pravopisu počas písania)', + options : 'Možnosti', + langs : 'Jazyky', + moreSuggestions : 'Viac návrhov', + ignore : 'IgnorovaÅ¥', + ignoreAll : 'IgnorovaÅ¥ vÅ¡etko', + addWord : 'PridaÅ¥ slovo', + emptyDic : 'Názov slovníka by nemal byÅ¥ prázdny.', + + optionsTab : 'Možnosti', + allCaps : 'IgnorovaÅ¥ slová písané veľkými písmenami', + ignoreDomainNames : 'IznorovaÅ¥ názvy domén', + mixedCase : 'IgnorovaÅ¥ slová so smieÅ¡anými veľkými a malými písmenami', + mixedWithDigits : 'IgnorovaÅ¥ slová s číslami', + + languagesTab : 'Jazyky', + + dictionariesTab : 'Slovníky', + dic_field_name : 'Názov slovníka', + dic_create : 'VytvoriÅ¥', + dic_restore : 'ObnoviÅ¥', + dic_delete : 'VymazaÅ¥', + dic_rename : 'PremenovaÅ¥', + dic_info : 'Spočiatku je užívateľský slovník uložený v cookie. Cookie vÅ¡ak majú obmedzenú veľkosÅ¥. Keď užívateľský slovník narastie do bodu, kedy nemôže byÅ¥ uložený v cookie, potom musí byÅ¥ slovník uložený na naÅ¡om serveri. Pre uloženie vášho osobného slovníka na náš server by ste mali zadaÅ¥ názov pre váš slovník. Ak už máte uložený slovník, prosíme, napíšte jeho názov a kliknite tlačidlo ObnoviÅ¥.', + + aboutTab : 'O' }, about : { - title : 'About CKEditor', // MISSING - dlgTitle : 'About CKEditor', // MISSING - help : 'Check $1 for help.', // MISSING - userGuide : 'CKEditor User\'s Guide', // MISSING - moreInfo : 'For licensing information please visit our web site:', // MISSING - copy : 'Copyright © $1. All rights reserved.' // MISSING + title : 'O CKEditor-e', + dlgTitle : 'O CKEditor-e', + help : 'ZaÅ¡krtnite $1 pre pomoc.', + userGuide : 'Používateľská príručka KCEditor-a', + moreInfo : 'Pre informácie o licenciách, prosíme, navÅ¡tívte naÅ¡u web stránku:', + copy : 'Copyright © $1. VÅ¡etky práva vyhradené.' }, maximize : 'MaximalizovaÅ¥', @@ -732,85 +733,85 @@ CKEDITOR.lang['sk'] = fakeobjects : { - anchor : 'Anchor', // MISSING - flash : 'Flash Animation', // MISSING - iframe : 'IFrame', // MISSING - hiddenfield : 'Hidden Field', // MISSING - unknown : 'Unknown Object' // MISSING + anchor : 'Kotva', + flash : 'Flash animácia', + iframe : 'IFrame', + hiddenfield : 'Skryté pole', + unknown : 'Neznámy objekt' }, - resize : 'Drag to resize', // MISSING + resize : 'Potiahnite pre zmenu veľkosti', colordialog : { - title : 'Select color', // MISSING - options : 'Color Options', // MISSING - highlight : 'Highlight', // MISSING - selected : 'Selected Color', // MISSING - clear : 'Clear' // MISSING + title : 'Vyberte farbu', + options : 'Možnosti farby', + highlight : 'ZvýrazniÅ¥', + selected : 'Vybraná farba', + clear : 'VyčistiÅ¥' }, - toolbarCollapse : 'Collapse Toolbar', // MISSING - toolbarExpand : 'Expand Toolbar', // MISSING + toolbarCollapse : 'ZbaliÅ¥ liÅ¡tu nástrojov', + toolbarExpand : 'RozbaliÅ¥ liÅ¡tu nástrojov', toolbarGroups : { - document : 'Document', // MISSING - clipboard : 'Clipboard/Undo', // MISSING - editing : 'Editing', // MISSING - forms : 'Forms', // MISSING - basicstyles : 'Basic Styles', // MISSING - paragraph : 'Paragraph', // MISSING - links : 'Links', // MISSING - insert : 'Insert', // MISSING - styles : 'Styles', // MISSING - colors : 'Colors', // MISSING - tools : 'Tools' // MISSING + document : 'Dokument', + clipboard : 'Schránka pre kopírovanie/Späť', + editing : 'Upravovanie', + forms : 'Formuláre', + basicstyles : 'Základné Å¡týly', + paragraph : 'Odstavec', + links : 'Odkazy', + insert : 'VložiÅ¥', + styles : 'Å týly', + colors : 'Farby', + tools : 'Nástroje' }, bidi : { - ltr : 'Text direction from left to right', // MISSING - rtl : 'Text direction from right to left' // MISSING + ltr : 'Smer textu zľava doprava', + rtl : 'Smer textu sprava doľava' }, docprops : { label : 'Vlastnosti dokumentu', title : 'Vlastnosti dokumentu', - design : 'Design', // MISSING - meta : 'Meta Data', - chooseColor : 'Choose', // MISSING - other : '', - docTitle : 'Titulok', - charset : 'Kódová stránka', - charsetOther : 'Iná kódová stránka', - charsetASCII : 'ASCII', // MISSING - charsetCE : 'Stredoeurópske', + design : 'Design', + meta : 'Meta značky', + chooseColor : 'VybraÅ¥', + other : 'Iný...', + docTitle : 'Titulok stránky', + charset : 'Znaková sada', + charsetOther : 'Iná znaková sada', + charsetASCII : 'ASCII', + charsetCE : 'Stredoeurópska', charsetCT : 'ČínÅ¡tina tradičná (Big5)', charsetCR : 'Cyrillika', charsetGR : 'Gréčtina', charsetJP : 'Japončina', charsetKR : 'Korejčina', charsetTR : 'Turečtina', - charsetUN : 'Unicode (UTF-8)', // MISSING + charsetUN : 'Unicode (UTF-8)', charsetWE : 'Západná európa', docType : 'Typ záhlavia dokumentu', docTypeOther : 'Iný typ záhlavia dokumentu', - xhtmlDec : 'Obsahuje deklarácie XHTML', + xhtmlDec : 'VložiÅ¥ deklarácie XHTML', bgColor : 'Farba pozadia', - bgImage : 'URL adresa obrázku na pozadí', + bgImage : 'URL obrázka na pozadí', bgFixed : 'Fixné pozadie', txtColor : 'Farba textu', - margin : 'Okraje stránky', + margin : 'Okraje stránky (margins)', marginTop : 'Horný', marginLeft : 'Ľavý', marginRight : 'Pravý', marginBottom : 'Dolný', - metaKeywords : 'Kľúčové slová pre indexovanie (oddelené čiarkou)', - metaDescription : 'Popis stránky', + metaKeywords : 'Indexované kľúčové slová dokumentu (oddelené čiarkou)', + metaDescription : 'Popis dokumentu', metaAuthor : 'Autor', - metaCopyright : 'Autorské práva', - previewHtml : '

This is some sample text. You are using CKEditor.

' // MISSING + metaCopyright : 'Autorské práva (copyright)', + previewHtml : '

Toto je nejaký ukážkový text. Používate CKEditor.

' } }; diff --git a/_source/lang/sl.js b/_source/lang/sl.js index f9ee711..00a3236 100644 --- a/_source/lang/sl.js +++ b/_source/lang/sl.js @@ -120,6 +120,7 @@ CKEDITOR.lang['sl'] = alignTop : 'Na vrh', alignMiddle : 'V sredino', alignBottom : 'Na dno', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Višina mora biti število.', invalidWidth : 'Širina mora biti število.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/sr-latn.js b/_source/lang/sr-latn.js index 93c5d53..b06366f 100644 --- a/_source/lang/sr-latn.js +++ b/_source/lang/sr-latn.js @@ -120,6 +120,7 @@ CKEDITOR.lang['sr-latn'] = alignTop : 'Vrh', alignMiddle : 'Sredina', alignBottom : 'Dole', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/sr.js b/_source/lang/sr.js index 4c13de7..ef005a6 100644 --- a/_source/lang/sr.js +++ b/_source/lang/sr.js @@ -120,6 +120,7 @@ CKEDITOR.lang['sr'] = alignTop : 'Врх', alignMiddle : 'Средина', alignBottom : 'Доле', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/sv.js b/_source/lang/sv.js index 2956480..4eb74b8 100644 --- a/_source/lang/sv.js +++ b/_source/lang/sv.js @@ -31,7 +31,7 @@ CKEDITOR.lang['sv'] = * of reading non-English words. So be careful while translating it. */ editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorHelp : 'Tryck ALT 0 för hjälp', // ARIA descriptions. toolbars : 'Editor toolbars', // MISSING @@ -119,6 +119,7 @@ CKEDITOR.lang['sv'] = alignTop : 'Överkant', alignMiddle : 'Mitten', alignBottom : 'Nederkant', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Höjd måste vara ett nummer.', invalidWidth : 'Bredd måste vara ett nummer.', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/th.js b/_source/lang/th.js index 5ca33a1..130e7cb 100644 --- a/_source/lang/th.js +++ b/_source/lang/th.js @@ -120,6 +120,7 @@ CKEDITOR.lang['th'] = alignTop : 'บนสุด', alignMiddle : 'กึ่งกลางแนวตั้ง', alignBottom : 'ชิดด้านล่าง', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Height must be a number.', // MISSING invalidWidth : 'Width must be a number.', // MISSING invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/lang/tr.js b/_source/lang/tr.js index 0db6a1d..122b07e 100644 --- a/_source/lang/tr.js +++ b/_source/lang/tr.js @@ -30,8 +30,8 @@ CKEDITOR.lang['tr'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Zengin metin editörü, %1', + editorHelp : 'Yardım için ALT 0 tuşuna basın', // ARIA descriptions. toolbars : 'Araç çubukları Editörü', @@ -119,6 +119,7 @@ CKEDITOR.lang['tr'] = alignTop : 'Tepe', alignMiddle : 'Orta', alignBottom : 'Alt', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Yükseklik sayı olmalıdır.', invalidWidth : 'Genişlik bir sayı olmalıdır.', invalidCssLength : 'Belirttiğiniz sayı "%1" alanı için pozitif bir sayı CSS birim değeri olmalıdır (px, %, in, cm, mm, em, ex, pt, veya pc).', diff --git a/_source/lang/ug.js b/_source/lang/ug.js index b2f9119..d72113c 100644 --- a/_source/lang/ug.js +++ b/_source/lang/ug.js @@ -30,8 +30,8 @@ CKEDITOR.lang['ug'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'كۆرۈنۈشچان تەھرىرلىگۈچ، %1', + editorHelp : 'ALT+0 نى بېسىپ ياردەمنى كۆرۈڭ', // ARIA descriptions. toolbars : 'قورال بالداق', @@ -119,6 +119,7 @@ CKEDITOR.lang['ug'] = alignTop : 'ئۈستى', alignMiddle : 'ئوتتۇرا', alignBottom : 'ئاستى', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'ئېگىزلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر', invalidWidth : 'كەڭلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر', invalidCssLength : 'بۇ سۆز بۆلىكى چوقۇم مۇۋاپىق بولغان CSS ئۇزۇنلۇق قىممىتى بولۇشى زۆرۈر، بىرلىكى (px, %, in, cm, mm, em, ex, pt ياكى pc)', diff --git a/_source/lang/uk.js b/_source/lang/uk.js index 6684523..3703c09 100644 --- a/_source/lang/uk.js +++ b/_source/lang/uk.js @@ -31,8 +31,8 @@ CKEDITOR.lang['uk'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : 'Текстовий редактор, %1', + editorHelp : 'натисніть ALT 0 для довідки', // ARIA descriptions. toolbars : 'Панель інструментів редактора', @@ -120,6 +120,7 @@ CKEDITOR.lang['uk'] = alignTop : 'По верхньому краю', alignMiddle : 'По середині', alignBottom : 'По нижньому краю', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Висота повинна бути цілим числом.', invalidWidth : 'Ширина повинна бути цілим числом.', invalidCssLength : 'Значення, вказане для "%1" в полі повинно бути позитивним числом або без дійсного виміру CSS блоку (px, %, in, cm, mm, em, ex, pt, or pc).', diff --git a/_source/lang/vi.js b/_source/lang/vi.js index f712bef..3749d35 100644 --- a/_source/lang/vi.js +++ b/_source/lang/vi.js @@ -25,7 +25,7 @@ CKEDITOR.lang['vi'] = * languages (like English). * @default 'ltr' */ - dir : 'trái-qua-phải', + dir : 'ltr', /* * Screenreader titles. Please note that screenreaders are not always capable @@ -120,6 +120,7 @@ CKEDITOR.lang['vi'] = alignTop : 'Trên', alignMiddle : 'Giữa', alignBottom : 'Dưới', + invalidValue : 'Invalid value.', // MISSING invalidHeight : 'Chiều cao phải là số nguyên.', invalidWidth : 'Chiều rộng phải là số nguyên.', invalidCssLength : 'Giá trị quy định cho trường "%1" phải là một số dương có hoặc không có một đơn vị đo CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).', diff --git a/_source/lang/zh-cn.js b/_source/lang/zh-cn.js index d396e96..d640518 100644 --- a/_source/lang/zh-cn.js +++ b/_source/lang/zh-cn.js @@ -120,6 +120,7 @@ CKEDITOR.lang['zh-cn'] = alignTop : '顶端', alignMiddle : '居中', alignBottom : '底部', + invalidValue : 'Invalid value.', // MISSING invalidHeight : '高度必须为数字格式', invalidWidth : '宽度必须为数字格式', invalidCssLength : '该字段必须为合式的CSS长度值,包括单位(px, %, in, cm, mm, em, ex, pt 或 pc)', @@ -496,7 +497,7 @@ CKEDITOR.lang['zh-cn'] = noChanges : '拼写检查完成: 没有更改任何单词', oneChange : '拼写检查完成: 更改了一个单词', manyChanges : '拼写检查完成: 更改了 %1 个单词', - ieSpellDownload : '拼写检查插件还没安装, 你是否想现在就下载?' + ieSpellDownload : '拼写检查插件还没安装, 您是否想现在就下载?' }, smiley : @@ -533,7 +534,7 @@ CKEDITOR.lang['zh-cn'] = cutError : '您的浏览器安全设置不允许编辑器自动执行剪切操作, 请使用键盘快捷键(Ctrl/Cmd+X)来完成', copyError : '您的浏览器安全设置不允许编辑器自动执行复制操作, 请使用键盘快捷键(Ctrl/Cmd+C)来完成', pasteMsg : '请使用键盘快捷键(Ctrl/Cmd+V)把内容粘贴到下面的方框里,再按 确定', - securityMsg : '因为你的浏览器的安全设置原因, 本编辑器不能直接访问你的剪贴板内容, 你需要在本窗口重新粘贴一次', + securityMsg : '因为您的浏览器的安全设置原因, 本编辑器不能直接访问您的剪贴板内容, 你需要在本窗口重新粘贴一次。', pasteArea : '粘贴区域' }, @@ -811,6 +812,6 @@ CKEDITOR.lang['zh-cn'] = metaDescription : '页面说明', metaAuthor : '作者', metaCopyright : '版权', - previewHtml : '

这是一些演示用文字。你当前正在使用CKEditor。

' + previewHtml : '

这是一些演示用文字。您当前正在使用CKEditor。

' } }; diff --git a/_source/lang/zh.js b/_source/lang/zh.js index 569aefc..5568d20 100644 --- a/_source/lang/zh.js +++ b/_source/lang/zh.js @@ -31,8 +31,8 @@ CKEDITOR.lang['zh'] = * Screenreader titles. Please note that screenreaders are not always capable * of reading non-English words. So be careful while translating it. */ - editorTitle : 'Rich text editor, %1', // MISSING - editorHelp : 'Press ALT 0 for help', // MISSING + editorTitle : '富文本編輯器,%1', + editorHelp : '按 ALT+0 以獲得幫助', // ARIA descriptions. toolbars : '編輯器工具欄', @@ -120,6 +120,7 @@ CKEDITOR.lang['zh'] = alignTop : '靠上對齊', alignMiddle : '置中對齊', alignBottom : '靠下對齊', + invalidValue : 'Invalid value.', // MISSING invalidHeight : '高度必須為數字格式', invalidWidth : '寬度必須為數字格式', invalidCssLength : 'Value specified for the "%1" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).', // MISSING diff --git a/_source/plugins/a11yhelp/lang/_translationstatus.txt b/_source/plugins/a11yhelp/lang/_translationstatus.txt index 7a490f9..e824808 100644 --- a/_source/plugins/a11yhelp/lang/_translationstatus.txt +++ b/_source/plugins/a11yhelp/lang/_translationstatus.txt @@ -13,12 +13,14 @@ fr.js Found: 30 Missing: 0 gu.js Found: 12 Missing: 18 he.js Found: 30 Missing: 0 it.js Found: 30 Missing: 0 +ku.js Found: 30 Missing: 0 mk.js Found: 5 Missing: 25 nb.js Found: 30 Missing: 0 nl.js Found: 30 Missing: 0 no.js Found: 30 Missing: 0 pt-br.js Found: 30 Missing: 0 ro.js Found: 6 Missing: 24 +sk.js Found: 30 Missing: 0 tr.js Found: 30 Missing: 0 ug.js Found: 27 Missing: 3 vi.js Found: 6 Missing: 24 diff --git a/_source/plugins/a11yhelp/lang/fa.js b/_source/plugins/a11yhelp/lang/fa.js index bbec6bf..3ec7250 100644 --- a/_source/plugins/a11yhelp/lang/fa.js +++ b/_source/plugins/a11yhelp/lang/fa.js @@ -7,8 +7,8 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', { accessibilityHelp : { - title : 'دستورالعملهای دسترسی', - contents : 'راهنمای فهرست مطالب. برای بستن این کادر محاورهای ESC را فشار دهید.', + title : 'دستورالعمل‌های دسترسی', + contents : 'راهنمای فهرست مطالب. برای بستن این کادر محاوره‌ای ESC را فشار دهید.', legend : [ { @@ -18,19 +18,19 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', { name : 'نوار ابزار ویرایشگر', legend: - '${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shif-Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهتنمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید.' + '${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shif-Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهت‌نمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید.' }, { - name : 'پنجره محاورهای ویرایشگر', + name : 'پنجره محاوره‌ای ویرایشگر', legend : - 'در داخل یک پنجره محاورهای، کلید Tab را بفشارید تا به پنجرهی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره، فشردن Esc برای لغو پنجره محاورهای و برای پنجرههایی که چندین برگه دارند، فشردن Alt+F10 جهت رفتن به Tab-List. در نهایت حرکت به برگه بعدی با Tab یا کلید جهتنمای راست. حرکت به برگه قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک برگه.' + 'در داخل یک پنجره محاوره‌ای، کلید Tab را بفشارید تا به پنجره‌ی بعدی بروید، Shift+Tab برای حرکت به فیلد قبلی، فشردن Enter برای ثبت اطلاعات پنجره‌، فشردن Esc برای لغو پنجره محاوره‌ای و برای پنجره‌هایی که چندین برگه دارند، فشردن Alt+F10 جهت رفتن به Tab-List. در نهایت حرکت به برگه بعدی با Tab یا کلید جهت‌نمای راست. حرکت به برگه قبلی با Shift+Tab یا کلید جهت‌نمای چپ. فشردن Space یا Enter برای انتخاب یک برگه.' }, { name : 'منوی متنی ویرایشگر', legend : - '${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc.' + '${contextMenu} یا کلید برنامه‌های کاربردی را برای باز کردن منوی متن را بفشارید. سپس می‌توانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهت‌نمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهت‌نمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهت‌نمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهت‌نمای چپ. بستن منوی متن با Esc.' }, { @@ -42,12 +42,12 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', { name : 'ویرایشگر عنصر نوار راه', legend : - 'برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهتنمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهتنمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر.' + 'برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهت‌نمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهت‌نمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر.' } ] }, { - name : 'فرمانها', + name : 'فرمان‌ها', items : [ { @@ -67,7 +67,7 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'fa', legend : 'فشردن ${italic}' }, { - name : 'فرمان متن زیرخطدار', + name : 'فرمان متن زیرخط‌دار', legend : 'فشردن ${underline}' }, { diff --git a/_source/plugins/a11yhelp/lang/ku.js b/_source/plugins/a11yhelp/lang/ku.js new file mode 100644 index 0000000..c5d85ed --- /dev/null +++ b/_source/plugins/a11yhelp/lang/ku.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'ku', +{ + accessibilityHelp : + { + title : 'ڕێنمای لەبەردەستدابوون', + contents : 'پێکهاتەی یارمەتی. کلیك ESC بۆ داخستنی ئەم دیالۆگه.', + legend : + [ + { + name : 'گشتی', + items : + [ + { + name : 'تووڵامرازی ده‌ستكاریكه‌ر', + legend: + 'کلیك ${toolbarFocus} بۆ ڕابەری تووڵامراز. بۆ گواستنەوەی پێشوو داهاتووی گرووپی تووڵامرازی داگرتنی کلیلی TAB له‌گه‌ڵ‌ SHIFT-TAB. بۆ گواستنەوەی پێشوو داهاتووی دووگمەی تووڵامرازی لەڕێی کلیلی تیری دەستی ڕاست یان کلیلی تیری دەستی چەپ. کلیکی کلیلی SPACE یان ENTER بۆ چالاککردنی دووگمەی تووڵامراز.' + }, + + { + name : 'دیالۆگی ده‌ستكاریكه‌ر', + legend : + 'لەهەمانکاتدا کەتۆ لەدیالۆگی, کلیکی کلیلی TAB بۆ ڕابەری خانەی دیالۆگێکی تر, داگرتنی کلیلی SHIFT + TAB بۆ گواستنەوەی بۆ خانەی پێشووتر, کلیكی کلیلی ENTER بۆ ڕازیکردنی دیالۆگەکە, کلیكی کلیلی ESC بۆ هەڵوەشاندنەوەی دیالۆگەکە. بۆ دیالۆگی لەبازدەری (تابی) زیاتر, کلیكی کلیلی ALT + F10 بۆ ڕابه‌ری لیستی بازده‌ره‌کان. بۆ چوونه‌ بازده‌ری تابی داهاتوو کلیكی کلیلی TAB یان کلیلی تیری ده‌ستی ڕاست. بۆچوونه‌ بازده‌ری تابی پێشوو داگرتنی کلیلی SHIFT + TAB یان کلیلی تیری ده‌ستی چه‌پ. کلیی کلیلی SPACE یان ENTER بۆ هه‌ڵبژاردنی بازده‌ر (تاب).' + }, + + { + name : 'پێڕستی سه‌رنووسه‌ر', + legend : + 'کلیك ${contextMenu} یان دوگمه‌ی لیسته‌(Menu) بۆ کردنه‌وه‌ی لیسته‌ی ده‌ق. بۆ چوونه‌ هه‌ڵبژارده‌یه‌کی تر له‌ لیسته‌ کلیکی کلیلی TAB یان کلیلی تیری ڕوو له‌خواره‌وه‌ بۆ چوون بۆ هه‌ڵبژارده‌ی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو له‌ سه‌ره‌وه. داگرتنی کلیلی SPACE یان ENTER بۆ هه‌ڵبژاردنی هه‌ڵبژارده‌ی لیسته‌. بۆ کردنه‌وه‌ی لقی ژێر لیسته‌ له‌هه‌ڵبژارده‌ی لیسته‌ کلیکی کلیلی SPACE یان ENTER یان کلیلی تیری ده‌ستی ڕاست. بۆ گه‌ڕانه‌وه بۆ سه‌ره‌وه‌ی لیسته‌ کلیکی کلیلی ESC یان کلیلی تیری ده‌ستی چه‌پ. بۆ داخستنی لیسته‌ کلیكی کلیلی ESC بکه.' + }, + + { + name : 'لیستی سنووقی سه‌رنووسه‌ر', + legend : + 'له‌ناو سنوقی لیست, چۆن بۆ هه‌ڵنبژارده‌ی لیستێکی تر کلیکی کلیلی TAB یان کلیلی تیری ڕوو له‌خوار. چوون بۆ هه‌ڵبژارده‌ی لیستی پێشوو کلیکی کلیلی SHIFT + TAB یان کلیلی تیری ڕوو له‌سه‌ره‌وه‌. کلیکی کلیلی SPACE یان ENTER بۆ دیاریکردنی ‌هه‌ڵبژارده‌ی لیست. کلیکی کلیلی ESC بۆ داخستنی سنوقی لیست.' + }, + + { + name : 'تووڵامرازی توخم', + legend : + 'کلیك ${elementsPathFocus} بۆ ڕابه‌ری تووڵامرازی توخمه‌کان. چوون بۆ دوگمه‌ی توخمێکی تر کلیکی کلیلی TAB یان کلیلی تیری ده‌ستی ڕاست. چوون بۆ دوگمه‌ی توخمی پێشوو کلیلی SHIFT+TAB یان کلیکی کلیلی تیری ده‌ستی چه‌پ. داگرتنی کلیلی SPACE یان ENTER بۆ دیاریکردنی توخمه‌که‌ له‌سه‌رنووسه.' + } + ] + }, + { + name : 'فه‌رمانه‌کان', + items : + [ + { + name : 'فه‌رمانی پووچکردنه‌وه', + legend : 'کلیك ${undo}' + }, + { + name : 'فه‌رمانی هه‌ڵگه‌ڕانه‌وه', + legend : 'کلیك ${redo}' + }, + { + name : 'فه‌رمانی ده‌قی قه‌ڵه‌و', + legend : 'کلیك ${bold}' + }, + { + name : 'فه‌رمانی ده‌قی لار', + legend : 'کلیك ${italic}' + }, + { + name : 'فه‌رمانی ژێرهێڵ', + legend : 'کلیك ${underline}' + }, + { + name : 'فه‌رمانی به‌سته‌ر', + legend : 'کلیك ${link}' + }, + { + name : 'شارده‌نه‌وه‌ی تووڵامراز', + legend : 'کلیك ${toolbarCollapse}' + }, + { + name : 'ده‌ستپێگه‌یشتنی یارمه‌تی', + legend : 'کلیك ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/sk.js b/_source/plugins/a11yhelp/lang/sk.js new file mode 100644 index 0000000..4935973 --- /dev/null +++ b/_source/plugins/a11yhelp/lang/sk.js @@ -0,0 +1,89 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'a11yhelp', 'sk', +{ + accessibilityHelp : + { + title : 'Inštrukcie prístupnosti', + contents : 'Pomocný obsah. Pre zatvorenie tohto okna, stlačte ESC.', + legend : + [ + { + name : 'Všeobecne', + items : + [ + { + name : 'Lišta nástrojov editora', + legend: + 'Stlačte ${toolbarFocus} pre navigáciu na lištu nástrojov. Medzi ďalšou a predchádzajúcou lištou nástrojov sa pohybujete s TAB a SHIFT-TAB. Medzi ďalším a predchádzajúcim tlačidlom na lište nástrojov sa pohybujete s pravou šípkou a ľavou šípkou. Stlačte medzerník alebo ENTER pre aktiváciu tlačidla lišty nástrojov.' + }, + + { + name : 'Editorový dialóg', + legend : + 'V dialogu, stlačte TAB pre navigáciu na ďalšie dialógové pole, stlačte STIFT + TAB pre presun na predchádzajúce pole, stlačte ENTER pre odoslanie dialógu, stlačte ESC pre zrušenie dialógu. Pre dialógy, ktoré majú viac záložiek, stlačte ALT + F10 pre navigácou do zoznamu záložiek. Potom sa posúvajte k ďalšej žáložke pomocou TAB alebo pravou šípkou. Pre presun k predchádzajúcej záložke, stlačte SHIFT + TAB alebo ľavú šípku. Stlačte medzerník alebo ENTER pre vybranie záložky.' + }, + + { + name : 'Editorové kontextové menu', + legend : + 'Stlačte ${contextMenu} alebo APPLICATION KEY pre otvorenie kontextového menu. Potom sa presúvajte na ďalšie možnosti menu s TAB alebo dolnou šípkou. Presunte sa k predchádzajúcej možnosti s SHIFT + TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti menu. Otvorte pod-menu danej možnosti s medzerníkom, alebo ENTER, alebo pravou šípkou. Vráťte sa späť do položky rodičovského menu s ESC alebo ľavou šípkou. Zatvorte kontextové menu s ESC.' + }, + + { + name : 'Editorov box zoznamu', + legend : + 'V boxe zoznamu, presuňte sa na ďalšiu položku v zozname s TAB alebo dolnou šípkou. Presuňte sa k predchádzajúcej položke v zozname so SHIFT + TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti zoznamu. Stlačte ESC pre zatvorenie boxu zoznamu.' + }, + + { + name : 'Editorove pásmo cesty prvku', + legend : + 'Stlačte ${elementsPathFocus} pre navigovanie na pásmo cesty elementu. Presuňte sa na tlačidlo ďalšieho prvku s TAB alebo pravou šípkou. Presuňte sa k predchádzajúcemu tlačidlu s SHIFT + TAB alebo ľavou šípkou. Stlačte medzerník alebo ENTER pre výber prvku v editore.' + } + ] + }, + { + name : 'Príkazy', + items : + [ + { + name : 'Vrátiť príkazy', + legend : 'Stlačte ${undo}' + }, + { + name : 'Nanovo vrátiť príkaz', + legend : 'Stlačte ${redo}' + }, + { + name : 'Príkaz na stučnenie', + legend : 'Stlačte ${bold}' + }, + { + name : 'Príkaz na kurzívu', + legend : 'Stlačte ${italic}' + }, + { + name : 'Príkaz na podčiarknutie', + legend : 'Stlačte ${underline}' + }, + { + name : 'Príkaz na odkaz', + legend : 'Stlačte ${link}' + }, + { + name : 'Príkaz na zbalenie lišty nástrojov', + legend : 'Stlačte ${toolbarCollapse}' + }, + { + name : 'Pomoc prístupnosti', + legend : 'Stlačte ${a11yHelp}' + } + ] + } + ] + } +}); diff --git a/_source/plugins/a11yhelp/lang/zh-cn.js b/_source/plugins/a11yhelp/lang/zh-cn.js index a595f6f..716e199 100644 --- a/_source/plugins/a11yhelp/lang/zh-cn.js +++ b/_source/plugins/a11yhelp/lang/zh-cn.js @@ -18,25 +18,25 @@ CKEDITOR.plugins.setLang( 'a11yhelp', 'zh-cn', { name : '编辑器工具栏', legend: - '按 ${toolbarFocus} 以导航到工具栏,使用 TAB 键或 SHIFT+TAB 组合键以选择工具栏组,使用左右箭头键以选择按钮,按空格键或回车键以应用选中的按钮。' + '按 ${toolbarFocus} 导航到工具栏,使用 TAB 键或 SHIFT+TAB 组合键选择工具栏组,使用左右箭头键选择按钮,按空格键或回车键以应用选中的按钮。' }, { name : '编辑器对话框', legend : - '在对话框内,TAB键移动到下一个字段,SHIFT + TAB 移动到上一个字段,ENTER键提交对话框,ESC键取消对话框。对于有多标签的对话框,用ALT + F10来移到标签列表。然后用TAB键或者向右箭头来移动到下一个标签;SHIFT + TAB或者向左箭头移动到上一个标签。用SPACE或者ENTER选择标签。' + '在对话框内,TAB 键移动到下一个字段,SHIFT + TAB 组合键移动到上一个字段,ENTER 键提交对话框,ESC 键取消对话框。对于有多标签的对话框,用ALT + F10来移到标签列表。然后用 TAB 键或者向右箭头来移动到下一个标签;SHIFT + TAB 组合键或者向左箭头移动到上一个标签。用 SPACE 键或者 ENTER 键选择标签。' }, { name : '编辑器上下文菜单', legend : - '用 ${contextMenu}或者 应用程序键 打开上下文菜单。然后用TAB键或者向下箭头来移动到下一个菜单项;SHIFT + TAB或者向上箭头移动到上一个菜单项。用SPACE或者ENTER选择菜单项。用SPACE,ENTER或者向右箭头打开子菜单。返回菜单用ESC键或者向左箭头。用ESC关闭上下文菜单。' + '用 ${contextMenu}或者 应用程序键 打开上下文菜单。然后用 TAB 键或者下箭头键来移动到下一个菜单项;SHIFT + TAB 组合键或者上箭头键移动到上一个菜单项。用 SPACE 键或者 ENTER 键选择菜单项。用 SPACE 键,ENTER 键或者右箭头键打开子菜单。返回菜单用 ESC 键或者左箭头键。用 ESC 键关闭上下文菜单。' }, { name : '编辑器列表框', legend : - '在列表框中,移到下一列表项用TAB键或者向下箭头。移到上一列表项用SHIFT + TAB或者向上箭头,用SPACE或者ENTER选择列表项。用ESC收起列表框。' + '在列表框中,移到下一列表项用 TAB 键或者下箭头键。移到上一列表项用SHIFT + TAB 组合键或者上箭头键,用 SPACE 键或者 ENTER 键选择列表项。用 ESC 键收起列表框。' }, { diff --git a/_source/plugins/a11yhelp/plugin.js b/_source/plugins/a11yhelp/plugin.js index be3377d..020223f 100644 --- a/_source/plugins/a11yhelp/plugin.js +++ b/_source/plugins/a11yhelp/plugin.js @@ -18,7 +18,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license requires: [ 'dialog' ], // List of available localizations. - availableLangs : { cs:1, cy:1, da:1, de:1, el:1, en:1, eo:1, fa:1, fi:1, fr:1, gu:1, he:1, it:1, mk:1, nb:1, nl:1, no:1, 'pt-br':1, ro:1, tr:1, ug:1, vi:1, 'zh-cn':1 }, + availableLangs : { cs:1, cy:1, da:1, de:1, el:1, en:1, eo:1, fa:1, fi:1, fr:1, gu:1, he:1, it:1, ku:1, mk:1, nb:1, nl:1, no:1, 'pt-br':1, ro:1, tr:1, ug:1, vi:1, 'zh-cn':1 }, init : function( editor ) { diff --git a/_source/plugins/autogrow/plugin.js b/_source/plugins/autogrow/plugin.js index fdbb578..6ffef63 100644 --- a/_source/plugins/autogrow/plugin.js +++ b/_source/plugins/autogrow/plugin.js @@ -24,18 +24,23 @@ For licensing, see LICENSE.html or http://ckeditor.com/license return height; } + function getScrollable( editor ) + { + var doc = editor.document, + body = doc.getBody(), + htmlElement = doc.getDocumentElement(); + + // Quirks mode overflows body, standards overflows document element + return doc.$.compatMode == 'BackCompat' ? body : htmlElement; + } + var resizeEditor = function( editor ) { if ( !editor.window ) return; - var doc = editor.document, - iframe = new CKEDITOR.dom.element( doc.getWindow().$.frameElement ), - body = doc.getBody(), - htmlElement = doc.getDocumentElement(), + var scrollable = getScrollable( editor ), currentHeight = editor.window.getViewPaneSize().height, - // Quirks mode overflows body, standards overflows document element - scrollable = doc.$.compatMode == 'BackCompat' ? body : htmlElement, newHeight = contentHeight( scrollable ); // Additional space specified by user. @@ -89,6 +94,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license } }); } + + // Coordinate with the "maximize" plugin. (#9311) + editor.on( 'beforeCommandExec', function( evt ) + { + if ( evt.data.name == 'maximize' && evt.editor.mode == 'wysiwyg' ) + { + if ( evt.data.command.state == CKEDITOR.TRISTATE_OFF ) + { + var scrollable = getScrollable( editor ); + scrollable.removeStyle( 'overflow' ); + } + else + resizeEditor( editor ); + } + }); } }); })(); diff --git a/_source/plugins/bbcode/plugin.js b/_source/plugins/bbcode/plugin.js index fa8bc1a..e403d11 100644 --- a/_source/plugins/bbcode/plugin.js +++ b/_source/plugins/bbcode/plugin.js @@ -566,19 +566,33 @@ For licensing, see LICENSE.html or http://ckeditor.com/license this.lineBreak( 1 ); this.write( '[', tag ); - var option = attributes.option; - option && this.write( '=', option ); - this.write( ']' ); + } + }, + openTagClose : function( tag ) + { + + if ( tag == 'br' ) + this._.output.push( '\n' ); + else if ( tag in bbcodeMap ) + { + this.write( ']' ); if ( this.getRule( tag, 'breakAfterOpen' ) ) this.lineBreak( 1 ); } - else if ( tag == 'br' ) - this._.output.push( '\n' ); }, - openTagClose : function() { }, - attribute : function() { }, + attribute : function( name, val ) + { + if ( name == 'option' ) + { + // Force simply ampersand in attributes. + if ( typeof val == 'string' ) + val = val.replace( /&/g, '&' ); + + this.write( '=', val ); + } + }, closeTag : function( tag ) { diff --git a/_source/plugins/devtools/lang/_translationstatus.txt b/_source/plugins/devtools/lang/_translationstatus.txt index abb9832..1da3e8f 100644 --- a/_source/plugins/devtools/lang/_translationstatus.txt +++ b/_source/plugins/devtools/lang/_translationstatus.txt @@ -16,11 +16,13 @@ gu.js Found: 5 Missing: 0 he.js Found: 5 Missing: 0 hr.js Found: 5 Missing: 0 it.js Found: 5 Missing: 0 +ku.js Found: 5 Missing: 0 nb.js Found: 5 Missing: 0 nl.js Found: 5 Missing: 0 no.js Found: 5 Missing: 0 pl.js Found: 5 Missing: 0 pt-br.js Found: 5 Missing: 0 +sk.js Found: 5 Missing: 0 tr.js Found: 5 Missing: 0 ug.js Found: 5 Missing: 0 uk.js Found: 5 Missing: 0 diff --git a/_source/plugins/devtools/lang/fa.js b/_source/plugins/devtools/lang/fa.js index 4184d14..52d5109 100644 --- a/_source/plugins/devtools/lang/fa.js +++ b/_source/plugins/devtools/lang/fa.js @@ -8,7 +8,7 @@ CKEDITOR.plugins.setLang( 'devtools', 'fa', devTools : { title : 'اطلاعات عنصر', - dialogName : 'نام پنجره محاورهای', + dialogName : 'نام پنجره محاوره‌ای', tabName : 'نام برگه', elementId : 'ID عنصر', elementType : 'نوع عنصر' diff --git a/_source/plugins/devtools/lang/ku.js b/_source/plugins/devtools/lang/ku.js new file mode 100644 index 0000000..84872e7 --- /dev/null +++ b/_source/plugins/devtools/lang/ku.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'ku', +{ + devTools : + { + title : 'زانیاری توخم', + dialogName : 'ناوی په‌نجه‌ره‌ی دیالۆگ', + tabName : 'ناوی بازده‌ر تاب', + elementId : 'ناسنامه‌ی توخم', + elementType : 'جۆری توخم' + } +}); diff --git a/_source/plugins/devtools/lang/sk.js b/_source/plugins/devtools/lang/sk.js new file mode 100644 index 0000000..4a393cf --- /dev/null +++ b/_source/plugins/devtools/lang/sk.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'devtools', 'sk', +{ + devTools : + { + title : 'Informácie o prvku', + dialogName : 'Názov okna dialógu', + tabName : 'Názov záložky', + elementId : 'ID prvku', + elementType : 'Typ prvku' + } +}); diff --git a/_source/plugins/devtools/plugin.js b/_source/plugins/devtools/plugin.js index 074503a..29d6609 100644 --- a/_source/plugins/devtools/plugin.js +++ b/_source/plugins/devtools/plugin.js @@ -5,7 +5,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'devtools', { - lang : [ 'en', 'bg', 'cs', 'cy', 'da', 'de', 'el', 'eo', 'et', 'fa', 'fi', 'fr', 'gu', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'pt-br', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], + lang : [ 'en', 'bg', 'cs', 'cy', 'da', 'de', 'el', 'eo', 'et', 'fa', 'fi', 'fr', 'gu', 'he', 'hr', 'it', 'ku', 'nb', 'nl', 'no', 'pl', 'pt-br', 'sk', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { diff --git a/_source/plugins/dialog/plugin.js b/_source/plugins/dialog/plugin.js index db371c4..e21f5d1 100644 --- a/_source/plugins/dialog/plugin.js +++ b/_source/plugins/dialog/plugin.js @@ -457,7 +457,7 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; { // Don't do that for a target that handles ENTER. var target = evt.data.getTarget(); - if ( !target.is( 'a', 'button', 'select' ) && ( !target.is( 'input' ) || target.$.type != 'button' ) ) + if ( !target.is( 'a', 'button', 'select', 'textarea' ) && ( !target.is( 'input' ) || target.$.type != 'button' ) ) { button = this.getButton( 'ok' ); button && CKEDITOR.tools.setTimeout( button.click, 0, button ); @@ -665,6 +665,15 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; } ); } + // Re-layout the dialog on window resize. + function resizeWithWindow( dialog ) + { + var win = CKEDITOR.document.getWindow(); + function resizeHandler() { dialog.layout(); } + win.on( 'resize', resizeHandler ); + dialog.on( 'hide', function() { win.removeListener( 'resize', resizeHandler ); } ); + } + CKEDITOR.dialog.prototype = { destroy : function() @@ -733,49 +742,44 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; * @example * dialogObj.move( 10, 40 ); */ - move : (function() + move : function( x, y, save ) { - var isFixed; - return function( x, y, save ) - { - // The dialog may be fixed positioned or absolute positioned. Ask the - // browser what is the current situation first. - var element = this._.element.getFirst(), - rtl = this._.editor.lang.dir == 'rtl'; + // The dialog may be fixed positioned or absolute positioned. Ask the + // browser what is the current situation first. + var element = this._.element.getFirst(), + rtl = this._.editor.lang.dir == 'rtl'; - if ( isFixed === undefined ) - isFixed = element.getComputedStyle( 'position' ) == 'fixed'; + var isFixed = element.getComputedStyle( 'position' ) == 'fixed'; - if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y ) - return; + if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y ) + return; - // Save the current position. - this._.position = { x : x, y : y }; + // Save the current position. + this._.position = { x : x, y : y }; - // If not fixed positioned, add scroll position to the coordinates. - if ( !isFixed ) - { - var scrollPosition = CKEDITOR.document.getWindow().getScrollPosition(); - x += scrollPosition.x; - y += scrollPosition.y; - } + // If not fixed positioned, add scroll position to the coordinates. + if ( !isFixed ) + { + var scrollPosition = CKEDITOR.document.getWindow().getScrollPosition(); + x += scrollPosition.x; + y += scrollPosition.y; + } - // Translate coordinate for RTL. - if ( rtl ) - { - var dialogSize = this.getSize(), - viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(); - x = viewPaneSize.width - dialogSize.width - x; - } + // Translate coordinate for RTL. + if ( rtl ) + { + var dialogSize = this.getSize(), + viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(); + x = viewPaneSize.width - dialogSize.width - x; + } - var styles = { 'top' : ( y > 0 ? y : 0 ) + 'px' }; - styles[ rtl ? 'right' : 'left' ] = ( x > 0 ? x : 0 ) + 'px'; + var styles = { 'top' : ( y > 0 ? y : 0 ) + 'px' }; + styles[ rtl ? 'right' : 'left' ] = ( x > 0 ? x : 0 ) + 'px'; - element.setStyles( styles ); + element.setStyles( styles ); - save && ( this._.moved = 1 ); - }; - })(), + save && ( this._.moved = 1 ); + }, /** * Gets the dialog's position in the window. @@ -852,6 +856,8 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; CKEDITOR.tools.setTimeout( function() { this.layout(); + resizeWithWindow( this ); + this.parts.dialog.setStyle( 'visibility', '' ); // Execute onLoad for the first show. @@ -874,11 +880,26 @@ CKEDITOR.DIALOG_RESIZE_BOTH = 3; */ layout : function() { - var viewSize = CKEDITOR.document.getWindow().getViewPaneSize(), - dialogSize = this.getSize(); + var el = this.parts.dialog; + var dialogSize = this.getSize(); + var win = CKEDITOR.document.getWindow(), + viewSize = win.getViewPaneSize(); + + var posX = ( viewSize.width - dialogSize.width ) / 2, + posY = ( viewSize.height - dialogSize.height ) / 2; + + // Switch to absolute position when viewport is smaller than dialog size. + if ( !CKEDITOR.env.ie6Compat ) + { + if ( dialogSize.height + ( posY > 0 ? posY : 0 ) > viewSize.height || + dialogSize.width + ( posX > 0 ? posX : 0 ) > viewSize.width ) + el.setStyle( 'position', 'absolute' ); + else + el.setStyle( 'position', 'fixed' ); + } - this.move( this._.moved ? this._.position.x : ( viewSize.width - dialogSize.width ) / 2, - this._.moved ? this._.position.y : ( viewSize.height - dialogSize.height ) / 2 ); + this.move( this._.moved ? this._.position.x : posX, + this._.moved ? this._.position.y : posY ); }, /** diff --git a/_source/plugins/dialogadvtab/plugin.js b/_source/plugins/dialogadvtab/plugin.js index d369be7..39f2b80 100644 --- a/_source/plugins/dialogadvtab/plugin.js +++ b/_source/plugins/dialogadvtab/plugin.js @@ -145,23 +145,12 @@ CKEDITOR.plugins.add( 'dialogadvtab', { var styles = this.getValue(); - // Remove the current value. - if ( styles ) - { - styles = styles - .replace( new RegExp( '\\s*' + name + '\s*:[^;]*(?:$|;\s*)', 'i' ), '' ) - .replace( /^[;\s]+/, '' ) - .replace( /\s+$/, '' ); - } - - if ( value ) - { - styles && !(/;\s*$/).test( styles ) && ( styles += '; ' ); - styles += name + ': ' + value; - } + var tmp = editor.document.createElement( 'span' ); + tmp.setAttribute( 'style', styles ); + tmp.setStyle( name, value ); + styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) ); this.setValue( styles, 1 ); - }, setup : setupAdvParams, diff --git a/_source/plugins/htmldataprocessor/plugin.js b/_source/plugins/htmldataprocessor/plugin.js index ecf87ed..a55480c 100644 --- a/_source/plugins/htmldataprocessor/plugin.js +++ b/_source/plugins/htmldataprocessor/plugin.js @@ -21,6 +21,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license return last; } + function getNodeIndex( node ) { + var parent = node.parent; + return parent ? CKEDITOR.tools.indexOf( parent.children, node ) : -1; + } + function trimFillers( block, fromSource ) { // If the current node is a block, and if we're converting from source or @@ -159,12 +164,29 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // The contents of table should be in correct order (#4809). table : function( element ) { - var children = element.children; + // Clone the array as it would become empty during the sort call. + var children = element.children.slice( 0 ); children.sort( function ( node1, node2 ) { - return node1.type == CKEDITOR.NODE_ELEMENT && node2.type == node1.type ? - CKEDITOR.tools.indexOf( tableOrder, node1.name ) > CKEDITOR.tools.indexOf( tableOrder, node2.name ) ? 1 : -1 : 0; - } ); + var index1, index2; + + // Compare in the predefined order. + if ( node1.type == CKEDITOR.NODE_ELEMENT && + node2.type == node1.type ) + { + index1 = CKEDITOR.tools.indexOf( tableOrder, node1.name ); + index2 = CKEDITOR.tools.indexOf( tableOrder, node2.name ); + } + + // Make sure the sort is stable, if no order can be established above. + if ( !( index1 > -1 && index2 > -1 && index1 != index2 ) ) + { + index1 = getNodeIndex( node1 ); + index2 = getNodeIndex( node2 ); + } + + return index1 > index2 ? 1 : -1; + } ); }, embed : function( element ) @@ -288,7 +310,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license defaultHtmlFilterRules.elements[ i ] = unprotectReadyOnly; } - var protectElementRegex = /<(a|area|img|input)\b([^>]*)>/gi, + var protectElementRegex = /<(a|area|img|input|source)\b([^>]*)>/gi, protectAttributeRegex = /\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi; var protectElementsRegex = /(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi, diff --git a/_source/plugins/image/dialogs/image.js b/_source/plugins/image/dialogs/image.js index 992d700..496827b 100644 --- a/_source/plugins/image/dialogs/image.js +++ b/_source/plugins/image/dialogs/image.js @@ -846,11 +846,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license element.setStyle( 'border-style', 'solid' ); } else if ( !value && this.isChanged() ) - { - element.removeStyle( 'border-width' ); - element.removeStyle( 'border-style' ); - element.removeStyle( 'border-color' ); - } + element.removeStyle( 'border' ); if ( !internalCommit && type == IMAGE ) element.removeAttribute( 'border' ); diff --git a/_source/plugins/link/dialogs/anchor.js b/_source/plugins/link/dialogs/anchor.js index c9b54c5..c99cd5d 100644 --- a/_source/plugins/link/dialogs/anchor.js +++ b/_source/plugins/link/dialogs/anchor.js @@ -28,6 +28,7 @@ CKEDITOR.dialog.add( 'anchor', function( editor ) var name = CKEDITOR.tools.trim( this.getValueOf( 'info', 'txtName' ) ); var attributes = { + id : name, name : name, 'data-cke-saved-name' : name }; diff --git a/_source/plugins/link/dialogs/link.js b/_source/plugins/link/dialogs/link.js index 238113a..9cabfea 100644 --- a/_source/plugins/link/dialogs/link.js +++ b/_source/plugins/link/dialogs/link.js @@ -503,6 +503,11 @@ CKEDITOR.dialog.add( 'link', function( editor ) dialog.getValueOf( 'info', 'linkType' ) != 'url' ) return true; + if ( (/javascript\:/).test( this.getValue() ) ) { + alert( commonLang.invalidValue ); + return false; + } + if ( this.getDialog().fakeObj ) // Edit Anchor. return true; diff --git a/_source/plugins/list/plugin.js b/_source/plugins/list/plugin.js index 373f914..dfc24b1 100644 --- a/_source/plugins/list/plugin.js +++ b/_source/plugins/list/plugin.js @@ -784,7 +784,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.dtd[ node.getName() ][ '#' ]; } - // Merge the visual line content at the cursor range into the block. + // Join visually two block lines. function joinNextLineToCursor( editor, cursor, nextCursor ) { editor.fire( 'saveSnapshot' ); @@ -797,14 +797,29 @@ For licensing, see LICENSE.html or http://ckeditor.com/license var bm = cursor.createBookmark(); // Kill original bogus; - var currentPath = new CKEDITOR.dom.elementPath( cursor.startContainer ); - var currentLi = currentPath.lastElement.getAscendant( 'li', 1 ); - - var bogus = currentPath.block.getBogus(); - bogus && bogus.remove(); + var currentPath = new CKEDITOR.dom.elementPath( cursor.startContainer ), + pathBlock = currentPath.block, + currentBlock = currentPath.lastElement.getAscendant( 'li', 1 ) || pathBlock, + nextPath = new CKEDITOR.dom.elementPath( nextCursor.startContainer ), + nextLi = nextPath.contains( CKEDITOR.dtd.$listItem ), + nextList = nextPath.contains( CKEDITOR.dtd.$list ), + last; + + // Remove bogus node the current block/pseudo block. + if ( pathBlock ) + { + var bogus = pathBlock.getBogus(); + bogus && bogus.remove(); + } + else if ( nextList ) + { + last = nextList.getPrevious( nonEmpty ); + if ( last && blockBogus( last ) ) + last.remove(); + } // Kill the tail br in extracted. - var last = frag.getLast(); + last = frag.getLast(); if ( last && last.type == CKEDITOR.NODE_ELEMENT && last.is( 'br' ) ) last.remove(); @@ -815,9 +830,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license else cursor.startContainer.append( frag ); - var nextPath = new CKEDITOR.dom.elementPath( nextCursor.startContainer ); - var nextLi = nextCursor.startContainer.getAscendant( 'li', 1 ); - // Move the sub list nested in the next list item. if ( nextLi ) { @@ -825,14 +837,14 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( sublist ) { // If next line is in the sub list of the current list item. - if ( currentLi.contains( nextLi ) ) + if ( currentBlock.contains( nextLi ) ) { mergeChildren( sublist, nextLi.getParent(), nextLi ); sublist.remove(); } // Migrate the sub list to current list item. else - currentLi.append( sublist ); + currentBlock.append( sublist ); } } @@ -918,19 +930,21 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( !range.collapsed ) return; + var path = new CKEDITOR.dom.elementPath( range.startContainer ); var isBackspace = key == 8; var body = editor.document.getBody(); var walker = new CKEDITOR.dom.walker( range.clone() ); walker.evaluator = function( node ) { return nonEmpty( node ) && !blockBogus( node ); }; + // Backspace/Del behavior at the start/end of table is handled in core. + walker.guard = function( node, isOut ) { return !( isOut && node.type == CKEDITOR.NODE_ELEMENT && node.is( 'table' ) ); }; + var cursor = range.clone(); if ( isBackspace ) { var previous, joinWith; - var path = new CKEDITOR.dom.elementPath( range.startContainer ); - // Join a sub list's first line, with the previous visual line in parent. if ( ( previous = path.contains( listNodeNames ) ) && range.checkBoundaryOfElement( previous, CKEDITOR.START ) && @@ -973,10 +987,43 @@ For licensing, see LICENSE.html or http://ckeditor.com/license joinNextLineToCursor( editor, cursor, range ); evt.cancel(); } + else + { + var list = path.contains( listNodeNames ), li; + // Backspace pressed at the start of list outdents the first list item. (#9129) + if ( list && range.checkBoundaryOfElement( list, CKEDITOR.START ) ) + { + li = list.getFirst( nonEmpty ); + + if ( range.checkBoundaryOfElement( li, CKEDITOR.START ) ) + { + previous = list.getPrevious( nonEmpty ); + + // Only if the list item contains a sub list, do nothing but + // simply move cursor backward one character. + if ( getSubList( li ) ) + { + if ( previous ) { + range.moveToElementEditEnd( previous ); + range.select(); + } + + evt.cancel(); + } + else + { + editor.execCommand( 'outdent' ); + evt.cancel(); + } + } + } + } } else { - var li = range.startContainer.getAscendant( 'li', 1 ); + var next, nextLine; + li = range.startContainer.getAscendant( 'li', 1 ); + if ( li ) { walker.range.setEndAt( body, CKEDITOR.POSITION_BEFORE_END ); @@ -987,7 +1034,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license // Indicate cursor at the visual end of an list item. var isAtEnd = 0; - var next = walker.next(); + next = walker.next(); // When list item contains a sub list. if ( next && next.type == CKEDITOR.NODE_ELEMENT && @@ -1007,13 +1054,56 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( isAtEnd && next ) { // Put cursor range there. - var nextLine = range.clone(); + nextLine = range.clone(); nextLine.moveToElementEditStart( next ); joinNextLineToCursor( editor, cursor, nextLine ); evt.cancel(); } } + else + { + // Handle Del key pressed before the list. + walker.range.setEndAt( body, CKEDITOR.POSITION_BEFORE_END ); + next = walker.next(); + + if ( next && next.type == CKEDITOR.NODE_ELEMENT && + next.getName() in listNodeNames ) + { + // The start
  • + next = next.getFirst( nonEmpty ); + + // Simply remove the current empty block, move cursor to the + // subsequent list. + if ( path.block && + range.checkStartOfBlock() && + range.checkEndOfBlock() ) + { + path.block.remove(); + range.moveToElementEditStart( next ); + range.select(); + evt.cancel(); + } + + // Preventing the default (merge behavior), but simply move + // the cursor one character forward if subsequent list item + // contains sub list. + else if ( getSubList( next ) ) + { + range.moveToElementEditStart( next ); + range.select(); + evt.cancel(); + } + // Merge the first list item with the current line. + else + { + nextLine = range.clone(); + nextLine.moveToElementEditStart( next ); + joinNextLineToCursor( editor, cursor, nextLine ); + evt.cancel(); + } + } + } } // The backspace/del could potentially put cursor at a bad position, diff --git a/_source/plugins/placeholder/lang/_translationstatus.txt b/_source/plugins/placeholder/lang/_translationstatus.txt index 0485f8e..10d9f05 100644 --- a/_source/plugins/placeholder/lang/_translationstatus.txt +++ b/_source/plugins/placeholder/lang/_translationstatus.txt @@ -15,11 +15,13 @@ fr.js Found: 5 Missing: 0 he.js Found: 5 Missing: 0 hr.js Found: 5 Missing: 0 it.js Found: 5 Missing: 0 +ku.js Found: 5 Missing: 0 nb.js Found: 5 Missing: 0 nl.js Found: 5 Missing: 0 no.js Found: 5 Missing: 0 pl.js Found: 5 Missing: 0 pt-br.js Found: 5 Missing: 0 +sk.js Found: 5 Missing: 0 tr.js Found: 5 Missing: 0 ug.js Found: 5 Missing: 0 uk.js Found: 5 Missing: 0 diff --git a/_source/plugins/placeholder/lang/fa.js b/_source/plugins/placeholder/lang/fa.js index 6154598..27db502 100644 --- a/_source/plugins/placeholder/lang/fa.js +++ b/_source/plugins/placeholder/lang/fa.js @@ -7,7 +7,7 @@ CKEDITOR.plugins.setLang( 'placeholder', 'fa', { placeholder : { - title : 'ویژگیهای محل نگهداری', + title : 'ویژگی‌های محل نگهداری', toolbar : 'ایجاد یک محل نگهداری', text : 'متن محل نگهداری', edit : 'ویرایش محل نگهداری', diff --git a/_source/plugins/placeholder/lang/ku.js b/_source/plugins/placeholder/lang/ku.js new file mode 100644 index 0000000..8cd49bc --- /dev/null +++ b/_source/plugins/placeholder/lang/ku.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'ku', +{ + placeholder : + { + title : 'خاسیه‌تی شوێن هه‌ڵگر', + toolbar : 'درووستکردنی شوێن هه‌ڵگر', + text : 'ده‌ق بۆ شوێن هه‌ڵگڕ', + edit : 'چاکسازی شوێن هه‌ڵگڕ', + textMissing : 'شوێن هه‌ڵگڕ ده‌بێت له‌ده‌ق پێکهاتبێت.' + } +}); diff --git a/_source/plugins/placeholder/lang/sk.js b/_source/plugins/placeholder/lang/sk.js new file mode 100644 index 0000000..6ffd580 --- /dev/null +++ b/_source/plugins/placeholder/lang/sk.js @@ -0,0 +1,16 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'placeholder', 'sk', +{ + placeholder : + { + title : 'Vlastnosti placeholdera', + toolbar : 'VytvoriÅ¥ placeholder', + text : 'Text placeholdera', + edit : 'UpraviÅ¥ placeholder', + textMissing : 'Placeholder musí obsahovaÅ¥ text.' + } +}); diff --git a/_source/plugins/placeholder/lang/zh-cn.js b/_source/plugins/placeholder/lang/zh-cn.js index adf7219..8e09fc2 100644 --- a/_source/plugins/placeholder/lang/zh-cn.js +++ b/_source/plugins/placeholder/lang/zh-cn.js @@ -11,6 +11,6 @@ CKEDITOR.plugins.setLang( 'placeholder', 'zh-cn', toolbar : '创建占位符', text : '占位符文字', edit : '编辑占位符', - textMissing : '占位符必需包含有文字' + textMissing : '占位符必须包含文字。' } }); diff --git a/_source/plugins/placeholder/plugin.js b/_source/plugins/placeholder/plugin.js index 1d5df8c..8b04368 100644 --- a/_source/plugins/placeholder/plugin.js +++ b/_source/plugins/placeholder/plugin.js @@ -14,7 +14,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'placeholder', { requires : [ 'dialog' ], - lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'nb', 'nl', 'no', 'pl', 'pt-br', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], + lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'ku', 'nb', 'nl', 'no', 'pl', 'pt-br', 'sk', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { var lang = editor.lang.placeholder; diff --git a/_source/plugins/selection/plugin.js b/_source/plugins/selection/plugin.js index 3a0a181..4c77c43 100644 --- a/_source/plugins/selection/plugin.js +++ b/_source/plugins/selection/plugin.js @@ -72,29 +72,32 @@ For licensing, see LICENSE.html or http://ckeditor.com/license function rangeRequiresFix( range ) { - function isInlineCt( node ) + function isTextCt( node, isAtEnd ) { - return node && node.type == CKEDITOR.NODE_ELEMENT - && node.getName() in CKEDITOR.dtd.$removeEmpty; - } + if ( !node || node.type == CKEDITOR.NODE_TEXT ) + return false; - function singletonBlock( node ) - { - var body = range.document.getBody(); - return !node.is( 'body' ) && body.getChildCount() == 1; + var testRng = range.clone(); + return testRng[ 'moveToElementEdit' + ( isAtEnd ? 'End' : 'Start' ) ]( node ); } - var start = range.startContainer, - offset = range.startOffset; + var ct = range.startContainer; + + var previous = range.getPreviousNode( isVisible, null, ct ), + next = range.getNextNode( isVisible, null, ct ); - if ( start.type == CKEDITOR.NODE_TEXT ) - return false; + // Any adjacent text container may absorb the cursor, e.g. + //

    text^foo

    + //

    foo^text

    + //
    ^

    foo

    + if ( isTextCt( previous ) || isTextCt( next, 1 ) ) + return true; - // 1. Empty inline element. ^ - // 2. Adjoin to inline element.

    text^

    - // 3. The only empty block in document.

    ^

    (#7222) - return !CKEDITOR.tools.trim( start.getHtml() ) ? isInlineCt( start ) || singletonBlock( start ) - : isInlineCt( start.getChild( offset - 1 ) ) || isInlineCt( start.getChild( offset ) ); + // Empty block/inline element is also affected. ^,

    ^

    (#7222) + if ( !( previous || next ) && !( ct.type == CKEDITOR.NODE_ELEMENT && ct.isBlockBoundary() && ct.getBogus() ) ) + return true; + + return false; } var selectAllCmd = @@ -269,6 +272,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.on( 'contentDom', function() { var doc = editor.document, + outerDoc = CKEDITOR.document, body = doc.getBody(), html = doc.getDocumentElement(); @@ -408,88 +412,117 @@ For licensing, see LICENSE.html or http://ckeditor.com/license saveSelection(); }); - // When content doc is in standards mode, IE doesn't focus the editor when - // clicking at the region below body (on html element) content, we emulate - // the normal behavior on old IEs. (#1659, #7932) - if ( ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) - && doc.$.compatMode != 'BackCompat' ) + // When content doc is in standards mode, IE doesn't produce text selection + // when click on the region outside of body, we emulate + // the correct behavior here. (#1659, #7932, # 9097) + if ( doc.$.compatMode != 'BackCompat' ) { - function moveRangeToPoint( range, x, y ) + if ( CKEDITOR.env.ie7Compat || CKEDITOR.env.ie6Compat ) { - // Error prune in IE7. (#9034, #9110) - try { range.moveToPoint( x, y ); } catch ( e ) {} - } + function moveRangeToPoint( range, x, y ) + { + // Error prune in IE7. (#9034, #9110) + try { range.moveToPoint( x, y ); } catch ( e ) {} + } - html.on( 'mousedown', function( evt ) - { - // Expand the text range along with mouse move. - function onHover( evt ) + html.on( 'mousedown', function( evt ) { - evt = evt.data.$; - if ( textRng ) + // Expand the text range along with mouse move. + function onHover( evt ) { - // Read the current cursor. - var rngEnd = body.$.createTextRange(); + evt = evt.data.$; + if ( textRng ) + { + // Read the current cursor. + var rngEnd = body.$.createTextRange(); + + moveRangeToPoint( rngEnd, evt.x, evt.y ); + + // Handle drag directions. + textRng.setEndPoint( + startRng.compareEndPoints( 'StartToStart', rngEnd ) < 0 ? + 'EndToEnd' : + 'StartToStart', + rngEnd ); + + // Update selection with new range. + textRng.select(); + } + } - moveRangeToPoint( rngEnd, evt.x, evt.y ); + function removeListeners() + { + outerDoc.removeListener( 'mouseup', onSelectEnd ); + html.removeListener( 'mouseup', onSelectEnd ); + } - // Handle drag directions. - textRng.setEndPoint( - textRng.compareEndPoints( 'StartToStart', rngEnd ) < 0 ? - 'EndToEnd' : - 'StartToStart', - rngEnd ); + function onSelectEnd() + { - // Update selection with new range. + html.removeListener( 'mousemove', onHover ); + removeListeners(); + + // Make it in effect on mouse up. (#9022) textRng.select(); } - } - - evt = evt.data.$; - // We're sure that the click happens at the region - // below body, but not on scrollbar. - if ( evt.y < html.$.clientHeight - && evt.y > body.$.offsetTop + body.$.clientHeight - && evt.x < html.$.clientWidth ) - { - // Start to build the text range. - var textRng = body.$.createTextRange(); - moveRangeToPoint( textRng, evt.x, evt.y ); + evt = evt.data; - html.on( 'mousemove', onHover ); + // We're sure that the click happens at the region + // outside body, but not on scrollbar. + if ( evt.getTarget().is( 'html' ) && + evt.$.x < html.$.clientWidth && + evt.$.y < html.$.clientHeight ) + { + // Start to build the text range. + var textRng = body.$.createTextRange(); + moveRangeToPoint( textRng, evt.$.x, evt.$.y ); + // Records the dragging start of the above text range. + var startRng = textRng.duplicate(); + + html.on( 'mousemove', onHover ); + outerDoc.on( 'mouseup', onSelectEnd ); + html.on( 'mouseup', onSelectEnd ); + } + }); + } - html.on( 'mouseup', function( evt ) + // It's much simpler for IE > 8, we just need to reselect the reported range. + if ( CKEDITOR.env.ie8 ) + { + html.on( 'mousedown', function( evt ) + { + if ( evt.data.getTarget().is( 'html' ) ) { - html.removeListener( 'mousemove', onHover ); - evt.removeListener(); + // Limit the text selection mouse move inside of editable. (#9715) + outerDoc.on( 'mouseup', onSelectEnd ); + html.on( 'mouseup', onSelectEnd ); + } - // Make it in effect on mouse up. (#9022) - textRng.select(); - } ); + }); + + function removeListeners() + { + outerDoc.removeListener( 'mouseup', onSelectEnd ); + html.removeListener( 'mouseup', onSelectEnd ); } - }); - } - // It's much simpler for IE8, we just need to reselect the reported range. - if ( CKEDITOR.env.ie8 ) - { - html.on( 'mouseup', function( evt ) - { - // The event is not fired when clicking on the scrollbars, - // so we can safely check the following to understand - // whether the empty space following has been clicked. - if ( evt.data.getTarget().getName() == 'html' ) + function onSelectEnd() { - var sel = CKEDITOR.document.$.selection, - range = sel.createRange(); - // The selection range is reported on host, but actually it should applies to the content doc. - if ( sel.type != 'None' && range.parentElement().ownerDocument == doc.$ ) - range.select(); + removeListeners(); + + // The event is not fired when clicking on the scrollbars, + // so we can safely check the following to understand + // whether the empty space following has been clicked. + var sel = CKEDITOR.document.$.selection, + range = sel.createRange(); + // The selection range is reported on host, but actually it should applies to the content doc. + if ( sel.type != 'None' && range.parentElement().ownerDocument == doc.$ ) + range.select(); } - } ); - } + } + } // IE is the only to provide the "selectionchange" // event. doc.on( 'selectionchange', saveSelection ); @@ -539,7 +572,8 @@ For licensing, see LICENSE.html or http://ckeditor.com/license return; } - savedRange = nativeSel && sel.getRanges()[ 0 ]; + // Not break because of this. (#9132) + try{ savedRange = nativeSel && sel.getRanges()[ 0 ]; } catch( er ) {} checkSelectionChangeTimeout.call( editor ); } @@ -558,6 +592,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( CKEDITOR.env.webkit ) { + // Before keystroke is handled by editor, check to remove the filling char. doc.on( 'keydown', function( evt ) { var key = evt.data.getKey(); @@ -578,7 +613,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license removeFillingChar( editor.document ); } - }, null, null, 10 ); + }, null, null, -1 ); } }); @@ -1735,11 +1770,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license start.scrollIntoView(); } }; -})(); -( function() -{ var notWhitespaces = CKEDITOR.dom.walker.whitespaces( true ), + isVisible = CKEDITOR.dom.walker.invisible( 1 ), fillerTextRegex = /\ufeff|\u00a0/, nonCells = { table:1,tbody:1,tr:1 }; diff --git a/_source/plugins/smiley/dialogs/smiley.js b/_source/plugins/smiley/dialogs/smiley.js index eec2732..2e9cd75 100644 --- a/_source/plugins/smiley/dialogs/smiley.js +++ b/_source/plugins/smiley/dialogs/smiley.js @@ -88,8 +88,6 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) // RIGHT-ARROW case rtl ? 37 : 39 : - // TAB - case 9 : // relative is TD if ( ( relative = element.getParent().getNext() ) ) { @@ -109,8 +107,6 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) // LEFT-ARROW case rtl ? 39 : 37 : - // SHIFT + TAB - case CKEDITOR.SHIFT + 9 : // relative is TD if ( ( relative = element.getParent().getPrevious() ) ) { @@ -147,11 +143,11 @@ CKEDITOR.dialog.add( 'smiley', function( editor ) for ( i = 0 ; i < size ; i++ ) { if ( i % columns === 0 ) - html.push( '' ); + html.push( '' ); var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); html.push( - '' + + '' + '' ) ; + html.push( '' ) ; for ( var j = 0 ; j < columns ; j++, i++ ) { diff --git a/_source/plugins/specialchar/lang/_translationstatus.txt b/_source/plugins/specialchar/lang/_translationstatus.txt index 82369b2..76dfba4 100644 --- a/_source/plugins/specialchar/lang/_translationstatus.txt +++ b/_source/plugins/specialchar/lang/_translationstatus.txt @@ -13,6 +13,7 @@ fr.js Found: 118 Missing: 0 he.js Found: 1 Missing: 117 hr.js Found: 23 Missing: 95 it.js Found: 118 Missing: 0 +ku.js Found: 118 Missing: 0 nb.js Found: 118 Missing: 0 nl.js Found: 118 Missing: 0 no.js Found: 118 Missing: 0 diff --git a/_source/plugins/specialchar/lang/fa.js b/_source/plugins/specialchar/lang/fa.js index a97a23e..d517a29 100644 --- a/_source/plugins/specialchar/lang/fa.js +++ b/_source/plugins/specialchar/lang/fa.js @@ -36,7 +36,7 @@ CKEDITOR.plugins.setLang( 'specialchar', 'fa', cedil: 'Cedilla', // MISSING sup1: 'Superscript one', // MISSING ordm: 'Masculine ordinal indicator', // MISSING - raquo: 'نشان زاویهدار دوتایی نقل قول راست چین', + raquo: 'نشان زاویه‌دار دوتایی نقل قول راست چین', frac14: 'Vulgar fraction one quarter', // MISSING frac12: 'Vulgar fraction one half', // MISSING frac34: 'Vulgar fraction three quarters', // MISSING @@ -120,7 +120,7 @@ CKEDITOR.plugins.setLang( 'specialchar', 'fa', bull: 'Bullet', // MISSING rarr: 'Rightwards arrow', // MISSING rArr: 'Rightwards double arrow', // MISSING - hArr: 'جهتنمای دوتایی چپ به راست', + hArr: 'جهت‌نمای دوتایی چپ به راست', diams: 'Black diamond suit', // MISSING asymp: 'تقریبا برابر با' }); diff --git a/_source/plugins/specialchar/lang/ku.js b/_source/plugins/specialchar/lang/ku.js new file mode 100644 index 0000000..6868d85 --- /dev/null +++ b/_source/plugins/specialchar/lang/ku.js @@ -0,0 +1,126 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'specialchar', 'ku', +{ + euro: 'نیشانه‌ی یۆرۆ', + lsquo: 'نیشانه‌ی فاریزه‌ی سه‌رووژێری تاکی چه‌پ', + rsquo: 'نیشانه‌ی فاریزه‌ی سه‌رووژێری تاکی ڕاست', + ldquo: 'نیشانه‌ی فاریزه‌ی سه‌رووژێری دووهێنده‌ی چه‌پ', + rdquo: 'نیشانه‌ی فاریزه‌ی سه‌رووژێری دووهێنده‌ی ڕاست', + ndash: 'ته‌قه‌ڵی کورت', + mdash: 'ته‌قه‌ڵی درێژ', + iexcl: 'نیشانه‌ی هه‌ڵه‌وگێڕی سه‌رسوڕمێنه‌ر', + cent: 'نیشانه‌ی سه‌نت', + pound: 'نیشانه‌ی پاوه‌ند', + curren: 'نیشانه‌ی دراو', + yen: 'نیشانه‌ی یه‌نی ژاپۆنی', + brvbar: 'شریتی ئه‌ستوونی پچڕاو', + sect: 'نیشانه‌ی دوو s له‌سه‌ریه‌ك', + uml: 'خاڵ', + copy: 'نیشانه‌ی مافی چاپ', + ordf: 'هێڵ له‌سه‌ر پیتی a', + laquo: 'دوو تیری به‌دووایه‌کی چه‌پ', + not: 'نیشانه‌ی نه‌خێر', + reg: 'نیشانه‌ی R له‌ناو بازنه‌دا', + macr: 'ماکڕوون', + deg: 'نیشانه‌ی پله', + sup2: 'سه‌رنووسی دوو', + sup3: 'سه‌رنووسی سێ', + acute: 'لاری تیژ', + micro: 'نیشانه‌ی u لق درێژی چه‌پی خواروو', + para: 'نیشانه‌یپه‌ڕه‌گراف', + middot: 'ناوه‌ڕاستی خاڵ', + cedil: 'نیشانه‌ی c ژێر چووکره‌', + sup1: 'سه‌رنووسی یه‌ك', + ordm: 'هێڵ له‌ژێر پیتی o', + raquo: 'دوو تیری به‌دووایه‌کی ڕاست', + frac14: 'یه‌ك له‌سه‌ر چووار', + frac12: 'یه‌ك له‌سه‌ر دوو', + frac34: 'سێ له‌سه‌ر چووار', + iquest: 'هێمای هه‌ڵه‌وگێری پرسیار', + Agrave: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار', + Aacute: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ', + Acirc: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Atilde: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ زه‌ڕه‌', + Auml: 'پیتی لاتینی A-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Aring: 'پیتی لاتینی گه‌وره‌ی Å', + AElig: 'پیتی لاتینی گه‌وره‌ی Æ', + Ccedil: 'پیتی لاتینی C-ی گه‌وره‌ له‌گه‌ڵ ژێر چووکره‌', + Egrave: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار', + Eacute: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ', + Ecirc: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Euml: 'پیتی لاتینی E-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Igrave: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار', + Iacute: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ', + Icirc: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Iuml: 'پیتی لاتینی I-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + ETH: 'پیتی لاتینی E-ی گه‌وره‌ی', + Ntilde: 'پیتی لاتینی N-ی گه‌وره‌ له‌گه‌ڵ زه‌ڕه‌', + Ograve: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار', + Oacute: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ', + Ocirc: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Otilde: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ زه‌ڕه‌', + Ouml: 'پیتی لاتینی O-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + times: 'نیشانه‌ی لێکدان', + Oslash: 'پیتی لاتینی گه‌وره‌ی Ø له‌گه‌ڵ هێمای دڵ وه‌ستان', + Ugrave: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری لار', + Uacute: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ', + Ucirc: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Uuml: 'پیتی لاتینی U-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + Yacute: 'پیتی لاتینی Y-ی گه‌وره‌ له‌گه‌ڵ ڕوومه‌تداری تیژ', + THORN: 'پیتی لاتینی دڕکی گه‌وره', + szlig: 'پیتی لاتنی نووك تیژی s', + agrave: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار', + aacute: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ', + acirc: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + atilde: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ زه‌ڕه‌', + auml: 'پیتی لاتینی a-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + aring: 'پیتی لاتینی å-ی بچووك', + aelig: 'پیتی لاتینی æ-ی بچووك', + ccedil: 'پیتی لاتینی c-ی بچووك له‌گه‌ڵ ژێر چووکره‌', + egrave: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار', + eacute: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ', + ecirc: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + euml: 'پیتی لاتینی e-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + igrave: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار', + iacute: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ', + icirc: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + iuml: 'پیتی لاتینی i-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + eth: 'پیتی لاتینی e-ی بچووك', + ntilde: 'پیتی لاتینی n-ی بچووك له‌گه‌ڵ زه‌ڕه‌', + ograve: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار', + oacute: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ', + ocirc: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + otilde: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ زه‌ڕه‌', + ouml: 'پیتی لاتینی o-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + divide: 'نیشانه‌ی دابه‌ش', + oslash: 'پیتی لاتینی گه‌وره‌ی ø له‌گه‌ڵ هێمای دڵ وه‌ستان', + ugrave: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ ڕوومه‌تداری لار', + uacute: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ', + ucirc: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + uuml: 'پیتی لاتینی u-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + yacute: 'پیتی لاتینی y-ی بچووك له‌گه‌ڵ ڕوومه‌تداری تیژ', + thorn: 'پیتی لاتینی دڕکی بچووك', + yuml: 'پیتی لاتینی y-ی بچووك له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + OElig: 'پیتی لاتینی گه‌وره‌ی پێکه‌وه‌نووسراوی OE', + oelig: 'پیتی لاتینی بچووکی پێکه‌وه‌نووسراوی oe', + '372': 'پیتی لاتینی W-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + '374': 'پیتی لاتینی Y-ی گه‌وره‌ له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + '373': 'پیتی لاتینی w-ی بچووکی له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + '375': 'پیتی لاتینی y-ی بچووکی له‌گه‌ڵ نیشانه‌ له‌سه‌ری', + sbquo: 'نیشانه‌ی فاریزه‌ی نزم', + '8219': 'نیشانه‌ی فاریزه‌ی به‌رزی پێچه‌وانه', + bdquo: 'دوو فاریزه‌ی ته‌نیش یه‌ك', + hellip: 'ئاسۆیی بازنه', + trade: 'نیشانه‌ی بازرگانی', + '9658': 'ئاراسته‌ی ڕه‌شی ده‌ستی ڕاست', + bull: 'فیشه‌ك', + rarr: 'تیری ده‌ستی ڕاست', + rArr: 'دووتیری ده‌ستی ڕاست', + hArr: 'دوو تیری ڕاست و چه‌پ', + diams: 'ڕه‌شی پاقڵاوه‌یی', + asymp: 'نیشانه‌ی یه‌کسانه' +}); diff --git a/_source/plugins/styles/plugin.js b/_source/plugins/styles/plugin.js index 26519c6..b0dab59 100644 --- a/_source/plugins/styles/plugin.js +++ b/_source/plugins/styles/plugin.js @@ -90,6 +90,16 @@ CKEDITOR.STYLE_OBJECT = 3; CKEDITOR.style = function( styleDefinition, variablesValues ) { + // Inline style text as attribute should be converted + // to styles object. + var attrs = styleDefinition.attributes; + if ( attrs && attrs.style ) + { + styleDefinition.styles = CKEDITOR.tools.extend( {}, + styleDefinition.styles, parseStyleText( attrs.style ) ); + delete attrs.style; + } + if ( variablesValues ) { styleDefinition = CKEDITOR.tools.clone( styleDefinition ); diff --git a/_source/plugins/tableresize/plugin.js b/_source/plugins/tableresize/plugin.js index a28ab12..d7d52ea 100644 --- a/_source/plugins/tableresize/plugin.js +++ b/_source/plugins/tableresize/plugin.js @@ -287,7 +287,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license function onMouseMove( evt ) { - move( evt.data.$.clientX ); + move( evt.data.getPageOffset().x ); } document = editor.document; @@ -403,9 +403,11 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { evt = evt.data; + var pageX = evt.getPageOffset().x; + // If we're already attached to a pillar, simply move the // resizer. - if ( resizer && resizer.move( evt.$.clientX ) ) + if ( resizer && resizer.move( pageX ) ) { cancel( evt ); return; @@ -429,7 +431,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license table.on( 'mousedown', clearPillarsCache ); } - var pillar = getPillarAtPosition( pillars, evt.$.clientX ); + var pillar = getPillarAtPosition( pillars, pageX ); if ( pillar ) { !resizer && ( resizer = new columnResizer( editor ) ); diff --git a/_source/plugins/tabletools/plugin.js b/_source/plugins/tabletools/plugin.js index 3c4fd01..520e11d 100644 --- a/_source/plugins/tabletools/plugin.js +++ b/_source/plugins/tabletools/plugin.js @@ -275,15 +275,18 @@ For licensing, see LICENSE.html or http://ckeditor.com/license { cloneCol.push( map[ i ][ colIndex ] ); var nextCell = insertBefore ? map[ i ][ colIndex - 1 ] : map[ i ][ colIndex + 1 ]; - nextCell && nextCol.push( nextCell ); + nextCol.push( nextCell ); } for ( i = 0; i < height; i++ ) { var cell; + + if ( !cloneCol[ i ] ) + continue; + // Check whether there's a spanning column here, do not break it. if ( cloneCol[ i ].colSpan > 1 - && nextCol.length && nextCol[ i ] == cloneCol[ i ] ) { cell = cloneCol[ i ]; @@ -771,7 +774,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.tabletools = { - requires : [ 'table', 'dialog', 'contextmenu' ], + requires : [ 'table', 'dialog' ], init : function( editor ) { diff --git a/_source/plugins/uicolor/lang/_translationstatus.txt b/_source/plugins/uicolor/lang/_translationstatus.txt index f268477..524dcaf 100644 --- a/_source/plugins/uicolor/lang/_translationstatus.txt +++ b/_source/plugins/uicolor/lang/_translationstatus.txt @@ -15,12 +15,14 @@ fr.js Found: 4 Missing: 0 he.js Found: 4 Missing: 0 hr.js Found: 4 Missing: 0 it.js Found: 4 Missing: 0 +ku.js Found: 4 Missing: 0 mk.js Found: 4 Missing: 0 nb.js Found: 4 Missing: 0 nl.js Found: 4 Missing: 0 no.js Found: 4 Missing: 0 pl.js Found: 4 Missing: 0 pt-br.js Found: 4 Missing: 0 +sk.js Found: 4 Missing: 0 tr.js Found: 4 Missing: 0 ug.js Found: 4 Missing: 0 uk.js Found: 4 Missing: 0 diff --git a/_source/plugins/uicolor/lang/fa.js b/_source/plugins/uicolor/lang/fa.js index 223fc2c..46052dc 100644 --- a/_source/plugins/uicolor/lang/fa.js +++ b/_source/plugins/uicolor/lang/fa.js @@ -8,7 +8,7 @@ CKEDITOR.plugins.setLang( 'uicolor', 'fa', uicolor : { title : 'انتخاب رنگ UI', - preview : 'پیشنمایش زنده', + preview : 'پیش‌نمایش زنده', config : 'این رشته را در فایل config.js خود بچسبانید.', predefined : 'مجموعه رنگ از پیش تعریف شده' } diff --git a/_source/plugins/uicolor/lang/ku.js b/_source/plugins/uicolor/lang/ku.js new file mode 100644 index 0000000..336ec89 --- /dev/null +++ b/_source/plugins/uicolor/lang/ku.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'uicolor', 'ku', +{ + uicolor : + { + title : 'هه‌ڵگری ڕه‌نگ بۆ ڕووکاری به‌کارهێنه‌ر', + preview : 'پێشبینین به‌ زیندوویی', + config : 'ئه‌م ده‌قانه‌ بلکێنه‌ به‌ په‌ڕگه‌ی config.js-fil', + predefined : 'کۆمه‌ڵه‌ ڕه‌نگه‌ دیاریکراوه‌کانی پێشوو' + } +}); diff --git a/_source/plugins/uicolor/lang/sk.js b/_source/plugins/uicolor/lang/sk.js new file mode 100644 index 0000000..cd4a8d4 --- /dev/null +++ b/_source/plugins/uicolor/lang/sk.js @@ -0,0 +1,15 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.plugins.setLang( 'uicolor', 'sk', +{ + uicolor : + { + title : 'UI výber farby', + preview : 'Živý náhľad', + config : 'Vložte tento reťazec do vášho config.js súboru', + predefined : 'Preddefinované sady farieb' + } +}); diff --git a/_source/plugins/uicolor/lang/zh-cn.js b/_source/plugins/uicolor/lang/zh-cn.js index 0365ebb..dd61589 100644 --- a/_source/plugins/uicolor/lang/zh-cn.js +++ b/_source/plugins/uicolor/lang/zh-cn.js @@ -9,7 +9,7 @@ CKEDITOR.plugins.setLang( 'uicolor', 'zh-cn', { title : '用户界面颜色选择器', preview : '即时预览', - config : '粘贴此字符串到你的 config.js 文件', + config : '粘贴此字符串到您的 config.js 文件', predefined : '预定义颜色集' } }); diff --git a/_source/plugins/uicolor/plugin.js b/_source/plugins/uicolor/plugin.js index 6aa02b2..9472274 100644 --- a/_source/plugins/uicolor/plugin.js +++ b/_source/plugins/uicolor/plugin.js @@ -6,7 +6,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license CKEDITOR.plugins.add( 'uicolor', { requires : [ 'dialog' ], - lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'mk', 'nb', 'nl', 'no', 'pl', 'pt-br', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], + lang : [ 'bg', 'cs', 'cy', 'da', 'de', 'el', 'en', 'eo', 'et', 'fa', 'fi', 'fr', 'he', 'hr', 'it', 'ku', 'mk', 'nb', 'nl', 'no', 'pl', 'pt-br', 'sk', 'tr', 'ug', 'uk', 'vi', 'zh-cn' ], init : function( editor ) { diff --git a/_source/plugins/wysiwygarea/plugin.js b/_source/plugins/wysiwygarea/plugin.js index 1b81be2..4c1b01f 100644 --- a/_source/plugins/wysiwygarea/plugin.js +++ b/_source/plugins/wysiwygarea/plugin.js @@ -46,14 +46,17 @@ For licensing, see LICENSE.html or http://ckeditor.com/license selIsLocked && this.getSelection().lock(); + var that = this; // Save snaps after the whole execution completed. // This's a workaround for make DOM modification's happened after // 'insertElement' to be included either, e.g. Form-based dialogs' 'commitContents' // call. - CKEDITOR.tools.setTimeout( function() + setTimeout( function() { - this.fire( 'saveSnapshot' ); - }, 0, this ); + try { that.fire( 'saveSnapshot' ); } + // IEs < 9 may requires a further delay to save snapshot, after pasting. (#9132) + catch ( e ) { setTimeout( function(){ that.fire( 'saveSnapshot' ); }, 200 ); } + }, 0 ); } }; } @@ -338,7 +341,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license isNotWhitespace = CKEDITOR.dom.walker.whitespaces( true ); // Gecko need a key event to 'wake up' the editing - // ability when document is empty.(#3864, #5781) + // ability when document is empty.(#3864) function activateEditing( editor ) { var win = editor.window, @@ -394,8 +397,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license if ( CKEDITOR.env.gecko ) { - activateEditing( editor ); - // Ensure bogus br could help to move cursor (out of styles) to the end of block. (#7041) var pathBlock = path.block || path.blockLimit, lastNode = pathBlock && pathBlock.getLast( isNotEmpty ); @@ -767,9 +768,12 @@ For licensing, see LICENSE.html or http://ckeditor.com/license domDocument.getDocumentElement().addClass( domDocument.$.compatMode ); // Override keystroke behaviors. - editable && domDocument.on( 'keydown', function( evt ) + editor.on( 'key', function( evt ) { - var keyCode = evt.data.getKeystroke(); + if ( editor.mode != 'wysiwyg' ) + return; + + var keyCode = evt.data.keyCode; // Backspace OR Delete. if ( keyCode in { 8 : 1, 46 : 1 } ) @@ -799,9 +803,9 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.fire( 'saveSnapshot' ); - evt.data.preventDefault(); + evt.cancel(); } - else + else if ( range.collapsed ) { // Handle the following special cases: (#6217) // 1. Del/Backspace key before/after table; @@ -823,7 +827,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.fire( 'saveSnapshot' ); - evt.data.preventDefault(); + evt.cancel(); } else if ( path.blockLimit.is( 'td' ) && ( parent = path.blockLimit.getAscendant( 'table' ) ) && @@ -843,7 +847,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.fire( 'saveSnapshot' ); - evt.data.preventDefault(); + evt.cancel(); } } @@ -865,7 +869,7 @@ For licensing, see LICENSE.html or http://ckeditor.com/license range = new CKEDITOR.dom.range( domDocument ); range[ keyCode == 33 ? 'moveToElementEditStart' : 'moveToElementEditEnd']( body ); range.select(); - evt.data.preventDefault(); + evt.cancel(); } } @@ -1267,9 +1271,6 @@ For licensing, see LICENSE.html or http://ckeditor.com/license editor.addCss( 'html { height: 100% !important; }' ); editor.addCss( 'img:-moz-broken { -moz-force-broken-image-icon : 1; min-width : 24px; min-height : 24px; }' ); } - // Remove the margin to avoid mouse confusion. (#8835) - else if ( CKEDITOR.env.ie && CKEDITOR.env.version < 8 && editor.config.contentsLangDirection == 'ltr' ) - editor.addCss( 'body{margin-right:0;}' ); /* #3658: [IE6] Editor document has horizontal scrollbar on long lines To prevent this misbehavior, we show the scrollbar always */ diff --git a/ckeditor.asp b/ckeditor.asp index 094e727..8500aba 100644 --- a/ckeditor.asp +++ b/ckeditor.asp @@ -91,9 +91,9 @@ Class CKEditor Private Sub Class_Initialize() - version = "3.6.4" - timeStamp = "C6HH5UF" - mTimeStamp = "C6HH5UF" + version = "3.6.5" + timeStamp = "C9A85WF" + mTimeStamp = "C9A85WF" Set oInstanceConfig = CreateObject("Scripting.Dictionary") Set oAllInstancesConfig = CreateObject("Scripting.Dictionary") diff --git a/ckeditor.js b/ckeditor.js index f3758ea..55e585e 100644 --- a/ckeditor.js +++ b/ckeditor.js @@ -3,150 +3,151 @@ Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. For licensing, see LICENSE.html or http://ckeditor.com/license */ -(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;if(!window.CKEDITOR)window.CKEDITOR=(function(){var a={timestamp:'C6HH5UF',version:'3.6.4',revision:'7575',rnd:Math.floor(Math.random()*900)+100,_:{},status:'unloaded',basePath:(function(){var d=window.CKEDITOR_BASEPATH||'';if(!d){var e=document.getElementsByTagName('script');for(var f=0;f=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=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=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=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=0)f.listeners.splice(g,1);}},hasListeners:function(d){var e=b(this)[d];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&&d.tagName.toLowerCase() in {style:1,script:1,base:1,link:1,meta:1,title:1})d=null;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,iOS:/(ipad|iphone|ipod)/.test(b),isCustomDomain:function(){if(!this.ie)return false;var g=document.domain,h=window.location.hostname;return g!=h&&g!='['+h+']';},secure:location.protocol=='https:'};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.ie9Compat=document.documentMode==9;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.iOS&&e>=534||!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.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';}if(d.gecko&&e<10900)d.cssClass+=' cke_browser_gecko18';if(d.air)d.cssClass+=' cke_browser_air';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'+g+'');else h.push('');}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()=='
    '?function(k){return g(k).replace(/
    /gi,'\n');}:g,i=g('>')=='>'?function(k){return h(k).replace(/>/g,'>');}:h,j=g(' ')=='  '?function(k){return i(k).replace(/ /g,' ');}:i;this.htmlEncode=j;return this.htmlEncode(f);},htmlEncodeAttr:function(f){return f.replace(/"/g,'"').replace(//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',a.document);a.document.getBody().append(f);}if(!/%$/.test(g)){f.setStyle('width',g);return f.$.clientWidth;}return g;};})(),repeat:function(f,g){return new Array(g+1).join(f);},tryThese:function(){var f;for(var g=0,h=arguments.length;g',a.document);a.document.getBody().append(f);}if(!/%$/.test(g)){f.setStyle('width',g);return f.$.clientWidth;}return g;};})(),repeat:function(f,g){return new Array(g+1).join(f);},tryThese:function(){var f;for(var g=0,h=arguments.length;g8))&&i)h=i+':'+h;return new d.nodeList(this.$.getElementsByTagName(h));},getHead:function(){var h=this.$.getElementsByTagName('head')[0];if(!h)h=this.getDocumentElement().append(new d.element('head'),true);else 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;})();},write:function(h){var i=this;i.$.open('text/html','replace');b.isCustomDomain()&&(i.$.domain=document.domain);i.$.write(h);i.$.close();}});d.node=function(h){if(h){var i=h.nodeType==9?'document':h.nodeType==1?'element':h.nodeType==3?'text':h.nodeType==8?'comment':'domObject';return new d[i](h);}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),k=function(l){if(l.nodeType!=1)return;if(!i)l.removeAttribute('id',false);l.removeAttribute('data-cke-expando',false);if(h){var m=l.childNodes;for(var n=0;n]*>/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 'http-equiv':j='httpEquiv';break;case 'name':return n.$.name;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':case 'value':return n.$[j];case 'style':return n.$.style.cssText;case 'contenteditable':case 'contentEditable':return n.$.attributes.getNamedItem('contentEditable').specified?n.$.getAttribute('contentEditable'):null;}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&&!(document.documentMode>8)){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)];},is:function(){var i=this.getName();for(var j=0;j0&&(j>2||!k[i[0].nodeName]||j==2&&!k[i[1].nodeName]);},hasAttribute:(function(){function i(j){var k=this.$.attributes.getNamedItem(j);return!!(k&&k.specified);};return c&&b.version<8?function(j){if(j=='name')return!!this.$.name;return i.call(this,j);}:i;})(),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.data('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(j){var k=this;if(!(j===false||f.$removeEmpty[k.getName()]||k.is('a')))return;i(k,k.getNext(),true);i(k,k.getPrevious());};})(),show:function(){this.setStyles({display:'',visibility:''});},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 if(j=='contenteditable')i.call(l,'contentEditable',k);else i.apply(l,arguments);return l;};else if(b.ie8Compat&&b.secure)return function(j,k){if(j=='src'&&k.match(/^http:\/\//))try{i.apply(this,arguments);}catch(l){}else i.apply(this,arguments);return this;};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';else if(j=='contenteditable')j='contentEditable';i.call(this,j);};else return i;})(),removeAttributes:function(i){if(e.isArray(i))for(var j=0;j=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=i.getElementsByTagName('*'),k,l=0;i.unselectable='on';while(k=j[l++])switch(k.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break; -default:k.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(),m=l.getBody(),n=l.$.compatMode=='BackCompat';if(document.documentElement.getBoundingClientRect){var o=D.$.getBoundingClientRect(),p=l.$,q=p.documentElement,r=q.clientTop||m.$.clientTop||0,s=q.clientLeft||m.$.clientLeft||0,t=true;if(c){var u=l.getDocumentElement().contains(D),v=l.getBody().contains(D);t=n&&v||!n&&u;}if(t){j=o.left+(!n&&q.scrollLeft||m.$.scrollLeft);j-=s;k=o.top+(!n&&q.scrollTop||m.$.scrollTop);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&&!n){j+=D.$.clientLeft?1:0;k+=D.$.clientTop?1:0;}return{x:j,y:k};},scrollIntoView:function(i){var j=this.getParent();if(!j)return;do{var k=j.$.clientWidth&&j.$.clientWidth0)n(0,j===true?x.y:j===false?y.y:x.y<0?x.y:y.y); -if(k&&(x.x<0||y.x>0))n(x.x<0?x.x:y.x,0);},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("")');}return i&&new g(i.contentWindow.document);},copyAttributes:function(i,j){var p=this;var k=p.$.attributes;j=j||{};for(var l=0;l0&&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();});},getDirection:function(i){var j=this;return i?j.getComputedStyle('direction')||j.getDirection()||j.getDocument().$.dir||j.getDocument().getBody().getDirection(1):j.getStyle('direction')||j.getAttribute('dir');},data:function(i,j){i='data-'+i;if(j===undefined)return this.getAttribute(i);else if(j===false)this.removeAttribute(i);else this.setAttribute(i,j);return null;}});(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']};function j(k){var l=0;for(var m=0,n=i[k].length;m',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,iframe,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,showblocks,showborders,smiley,sourcearea,specialchar,stylescombo,tab,table,tabletools,templates,toolbar,undo,wsc,wysiwygarea',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; -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,ka: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||k;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){var p=typeof l=='string';if(p)l=[l];if(!n)n=a;var q=l.length,r=[],s=[],t=function(y){if(m)if(p)m.call(n,y);else m.call(n,r,s);};if(q===0){t(true);return;}var u=function(y,z){(z?r:s).push(y);if(--q<=0){o&&a.document.getDocumentElement().removeStyle('cursor');t(z);}},v=function(y,z){j[y]=1;var A=k[y];delete k[y];for(var B=0;B1)return;var A=new h('script');A.setAttributes({type:'text/javascript',src:y});if(m)if(c)A.$.onreadystatechange=function(){if(A.$.readyState=='loaded'||A.$.readyState=='complete'){A.$.onreadystatechange=null;v(y,true);}};else{A.$.onload=function(){setTimeout(function(){v(y,true);},0);};A.$.onerror=function(){v(y,false);};}A.appendTo(a.document.getHead());};o&&a.document.getDocumentElement().setStyle('cursor','wait');for(var x=0;x1)return;var w=!p.css||!p.css.length,x=!p.js||!p.js.length,y=function(){if(w&&x){p._isLoaded=1;for(var B=0;B=0?x.langCode:J[0];if(!I.langEntries||!I.langEntries[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.langEntries[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit']; -for(var N=0;N]+)>)|(?:!--([\\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]||'';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(){a.htmlParser.text=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(l,m){var n=this.value;if(m&&!(n=m.onText(n,this)))return;l.text(n);}};})();(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=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),m=c&&b.version<8?{dd:1,dt:1}:{},n={ol:1,ul:1},o=e.extend({},{html:1},f.html,f.body,f.head,{style:1,script:1});function p(q){return q.name=='a'&&q.attributes.href||f.$removeEmpty[q.name];};a.htmlParser.fragment.fromHtml=function(q,r,s){var t=new a.htmlParser(),u=s||new a.htmlParser.fragment(),v=[],w=[],x=u,y=false,z=false;function A(D){var E;if(v.length>0)for(var F=0;F=0;E--){if(D==v[E].name){v.splice(E,1);return;}}var F=[],G=[],H=x;while(H!=u&&H.name!=D){if(!H._.isBlockLike)G.unshift(H);F.push(H);H=H.returnPoint||H.parent;}if(H!=u){for(E=0;E0?t.children[r-1]:null;if(s){if(q._.isBlockLike&&s.type==3){s.value=e.rtrim(s.value);if(s.value.length===0){t.children.pop();t.add(q);return;}}s.next=q;}q.previous=s;q.parent=t;t.children.splice(r,0,q);t._.hasInlineStarted=q.type==3||q.type==1&&!q._.isBlockLike;},writeHtml:function(q,r){var s;this.filterChildren=function(){var t=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,t,r,true);var u=t.getHtml();this.children=new a.htmlParser.fragment.fromHtml(u).children;s=1;};!this.name&&r&&r.onFragment(this);this.writeChildrenHtml(q,s?null:r);},writeChildrenHtml:function(q,r){for(var s=0;sn?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 B=new a.htmlParser.basicWriter();a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,B,n);p.children=new a.htmlParser.fragment.fromHtml(B.getHtml(),0,p.clone()).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){for(var v=0,w=this.children.length;v=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');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('');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('');},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=function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);d.domObject.call(this,l);};d.comment.prototype=new d.node();e.extend(d.comment.prototype,{type:8,getOuterHtml:function(){return '';}});(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,legend:1,caption:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,form:1,fieldset:1},n=function(o){var p=o.getChildren();for(var q=0,r=p.count();q0)v=v.getChild(z-1);else v=A(v,true)===false?null:v.getPreviousSourceNode(true,C,A);}else{v=w;if(v.type==1)if(!(v=v.getChild(y)))v=A(w,true)===false?null:w.getNextSourceNode(true,C,A);}if(v&&A(v)===false)v=null;}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!t)return v;}else if(t&&this.evaluator)return false;v=v[D](false,C,A);}this.end();return this.current=null;};function m(s){var t,u=null;while(t=l.call(this,s))u=t;return u;};d.walker=e.createClass({$:function(s){this.range=s;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};h.prototype.isBlockBoundary=function(s){var t=s?e.extend({},f.$block,s||{}):f.$block;return this.getComputedStyle('float')=='none'&&n[this.getComputedStyle('display')]||t[this.getName()];};d.walker.blockBoundary=function(s){return function(t,u){return!(t.type==1&&t.isBlockBoundary(s));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(s,t){function u(v){return v&&v.getName&&v.getName()=='span'&&v.data('cke-bookmark');};return function(v){var w,x;w=v&&!v.getName&&(x=v.getParent())&&u(x);w=s?w:w||u(v);return!!(t^w);};};d.walker.whitespaces=function(s){return function(t){var u=t&&t.type==3&&!e.trim(t.getText()); -return!!(s^u);};};d.walker.invisible=function(s){var t=d.walker.whitespaces();return function(u){var v=t(u)||u.is&&!u.$.offsetHeight;return!!(s^v);};};d.walker.nodeType=function(s,t){return function(u){return!!(t^u.type==s);};};d.walker.bogus=function(s){function t(u){return!p(u)&&!q(u);};return function(u){var v=!c?u.is&&u.is('br'):u.getText&&o.test(u.getText());if(v){var w=u.getParent(),x=u.getNext(t);v=w.isBlockBoundary()&&(!x||x.type==1&&x.isBlockBoundary());}return!!(s^v);};};var o=/^[\t\r\n ]*(?: |\xa0)$/,p=d.walker.whitespaces(),q=d.walker.bookmark(),r=function(s){return q(s)||p(s)||s.type==1&&s.getName() in f.$inline&&!(s.getName() in f.$empty);};h.prototype.getBogus=function(){var s=this;do s=s.getPreviousSourceNode();while(r(s));if(s&&(!c?s.is&&s.is('br'):s.getText&&o.test(s.getText())))return s;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(u){u.collapsed=u.startContainer&&u.endContainer&&u.startContainer.equals(u.endContainer)&&u.startOffset==u.endOffset;},m=function(u,v,w,x){u.optimizeBookmark();var y=u.startContainer,z=u.endContainer,A=u.startOffset,B=u.endOffset,C,D;if(z.type==3)z=z.split(B);else if(z.getChildCount()>0)if(B>=z.getChildCount()){z=z.append(u.document.createText(''));D=true;}else z=z.getChild(B);if(y.type==3){y.split(A);if(y.equals(z))z=y.getNext();}else if(!A){y=y.getFirst().insertBeforeMe(u.document.createText(''));C=true;}else if(A>=y.getChildCount()){y=y.append(u.document.createText(''));C=true;}else y=y.getChild(A).getPrevious();var E=y.getParents(),F=z.getParents(),G,H,I;for(G=0;G0&&!K.equals(z))L=J.append(K.clone());if(!E[P]||K.$.parentNode!=E[P].$.parentNode){M=K.getPrevious();while(M){if(M.equals(E[P])||M.equals(y))break;N=M.getPrevious();if(v==2)J.$.insertBefore(M.$.cloneNode(true),J.$.firstChild);else{M.remove();if(v==1)J.$.insertBefore(M.$,J.$.firstChild);}M=N;}}if(J)J=L;}if(v==2){var Q=u.startContainer;if(Q.type==3){Q.$.data+=Q.$.nextSibling.data;Q.$.parentNode.removeChild(Q.$.nextSibling);}var R=u.endContainer;if(R.type==3&&R.$.nextSibling){R.$.data+=R.$.nextSibling.data; -R.$.parentNode.removeChild(R.$.nextSibling);}}else{if(H&&I&&(y.$.parentNode!=H.$.parentNode||z.$.parentNode!=I.$.parentNode)){var S=I.getIndex();if(C&&I.$.parentNode==y.$.parentNode)S--;if(x&&H.type==1){var T=h.createFromHtml(' ',u.document);T.insertAfter(H);H.mergeSiblings(false);u.moveToBookmark({startNode:T});}else u.setStart(I.getParent(),S);}u.collapse(true);}if(C)y.remove();if(D&&z.$.parentNode)z.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(u){var v=false,w=d.walker.bookmark(true),x=/^[\t\r\n ]*(?: |\xa0)$/;return function(y){if(w(y))return true;if(y.type==3){if(c&&x.test(y.getText())&&!v&&!(u&&y.getNext()))v=true;else if(y.hasAscendant('pre')||e.trim(y.getText()).length)return false;}else if(y.type==1)if(!n[y.getName()])if(!c&&y.is('br')&&!v&&!(u&&y.getNext()))v=true;else return false;return true;};};var p=d.walker.bogus();function q(u){return function(v){return!u&&p(v)||(v.type==3?!e.trim(v.getText())||!!v.getParent().data('cke-bookmark'):v.getName() in f.$removeEmpty);};};var r=new d.walker.whitespaces(),s=new d.walker.bookmark();function t(u){return!r(u)&&!s(u);};d.range.prototype={clone:function(){var v=this;var u=new d.range(v.document);u.startContainer=v.startContainer;u.startOffset=v.startOffset;u.endContainer=v.endContainer;u.endOffset=v.endOffset;u.collapsed=v.collapsed;return u;},collapse:function(u){var v=this;if(u){v.endContainer=v.startContainer;v.endOffset=v.startOffset;}else{v.startContainer=v.endContainer;v.startOffset=v.endOffset;}v.collapsed=true;},cloneContents:function(){var u=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,u);return u;},deleteContents:function(u){if(this.collapsed)return;m(this,0,null,u);},extractContents:function(u){var v=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,v,u);return v;},createBookmark:function(u){var A=this;var v,w,x,y,z=A.collapsed;v=A.document.createElement('span');v.data('cke-bookmark',1);v.setStyle('display','none');v.setHtml(' ');if(u){x='cke_bm_'+e.getNextNumber();v.setAttribute('id',x+(z?'C':'S'));}if(!z){w=v.clone();w.setHtml(' ');if(u)w.setAttribute('id',x+'E');y=A.clone();y.collapse();y.insertNode(w);}y=A.clone();y.collapse(true);y.insertNode(v);if(w){A.setStartAfter(v);A.setEndBefore(w);}else A.moveToPosition(v,4);return{startNode:u?x+(z?'C':'S'):v,endNode:u?x+'E':w,serializable:u,collapsed:z}; -},createBookmark2:function(u){var C=this;var v=C.startContainer,w=C.endContainer,x=C.startOffset,y=C.endOffset,z=C.collapsed,A,B;if(!v||!w)return{start:0,end:0};if(u){if(v.type==1){A=v.getChild(x);if(A&&A.type==3&&x>0&&A.getPrevious().type==3){v=A;x=0;}if(A&&A.type==1)x=A.getIndex(1);}while(v.type==3&&(B=v.getPrevious())&&B.type==3){v=B;x+=B.getLength();}if(!z){if(w.type==1){A=w.getChild(y);if(A&&A.type==3&&y>0&&A.getPrevious().type==3){w=A;y=0;}if(A&&A.type==1)y=A.getIndex(1);}while(w.type==3&&(B=w.getPrevious())&&B.type==3){w=B;y+=B.getLength();}}}return{start:v.getAddress(u),end:z?null:w.getAddress(u),startOffset:x,endOffset:y,normalized:u,collapsed:z,is2:true};},moveToBookmark:function(u){var C=this;if(u.is2){var v=C.document.getByAddress(u.start,u.normalized),w=u.startOffset,x=u.end&&C.document.getByAddress(u.end,u.normalized),y=u.endOffset;C.setStart(v,w);if(x)C.setEnd(x,y);else C.collapse(true);}else{var z=u.serializable,A=z?C.document.getById(u.startNode):u.startNode,B=z?C.document.getById(u.endNode):u.endNode;C.setStartBefore(A);A.remove();if(B){C.setEndBefore(B);B.remove();}else C.collapse(true);}},getBoundaryNodes:function(){var z=this;var u=z.startContainer,v=z.endContainer,w=z.startOffset,x=z.endOffset,y;if(u.type==1){y=u.getChildCount();if(y>w)u=u.getChild(w);else if(y<1)u=u.getPreviousSourceNode();else{u=u.$;while(u.lastChild)u=u.lastChild;u=new d.node(u);u=u.getNextSourceNode()||u;}}if(v.type==1){y=v.getChildCount();if(y>x)v=v.getChild(x).getPreviousSourceNode(true);else if(y<1)v=v.getPreviousSourceNode();else{v=v.$;while(v.lastChild)v=v.lastChild;v=new d.node(v);}}if(u.getPosition(v)&2)u=v;return{startNode:u,endNode:v};},getCommonAncestor:function(u,v){var z=this;var w=z.startContainer,x=z.endContainer,y;if(w.equals(x)){if(u&&w.type==1&&z.startOffset==z.endOffset-1)y=w.getChild(z.startOffset);else y=w;}else y=w.getCommonAncestor(x);return v&&!y.is?y.getParent():y;},optimize:function(){var w=this;var u=w.startContainer,v=w.startOffset;if(u.type!=1)if(!v)w.setStartBefore(u);else if(v>=u.getLength())w.setStartAfter(u);u=w.endContainer;v=w.endOffset;if(u.type!=1)if(!v)w.setEndBefore(u);else if(v>=u.getLength())w.setEndAfter(u);},optimizeBookmark:function(){var w=this;var u=w.startContainer,v=w.endContainer;if(u.is&&u.is('span')&&u.data('cke-bookmark'))w.setStartAt(u,3);if(v&&v.is&&v.is('span')&&v.data('cke-bookmark'))w.setEndAt(v,4);},trim:function(u,v){var C=this;var w=C.startContainer,x=C.startOffset,y=C.collapsed;if((!u||y)&&w&&w.type==3){if(!x){x=w.getIndex(); -w=w.getParent();}else if(x>=w.getLength()){x=w.getIndex()+1;w=w.getParent();}else{var z=w.split(x);x=w.getIndex()+1;w=w.getParent();if(C.startContainer.equals(C.endContainer))C.setEnd(z,C.endOffset-C.startOffset);else if(w.equals(C.endContainer))C.endOffset+=1;}C.setStart(w,x);if(y){C.collapse(true);return;}}var A=C.endContainer,B=C.endOffset;if(!(v||y)&&A&&A.type==3){if(!B){B=A.getIndex();A=A.getParent();}else if(B>=A.getLength()){B=A.getIndex()+1;A=A.getParent();}else{A.split(B);B=A.getIndex()+1;A=A.getParent();}C.setEnd(A,B);}},enlarge:function(u,v){switch(u){case 1:if(this.collapsed)return;var w=this.getCommonAncestor(),x=this.document.getBody(),y,z,A,B,C,D=false,E,F,G=this.startContainer,H=this.startOffset;if(G.type==3){if(H){G=!e.trim(G.substring(0,H)).length&&G;D=!!G;}if(G)if(!(B=G.getPrevious()))A=G.getParent();}else{if(H)B=G.getChild(H-1)||G.getLast();if(!B)A=G;}while(A||B){if(A&&!B){if(!C&&A.equals(w))C=true;if(!x.contains(A))break;if(!D||A.getComputedStyle('display')!='inline'){D=false;if(C)y=A;else this.setStartBefore(A);}B=A.getPrevious();}while(B){E=false;if(B.type==8){B=B.getPrevious();continue;}else if(B.type==3){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;E=/[\s\ufeff]$/.test(F);}else if((B.$.offsetWidth>0||v&&B.is('br'))&&!B.data('cke-bookmark'))if(D&&f.$removeEmpty[B.getName()]){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;else{var I=B.$.getElementsByTagName('*');for(var J=0,K;K=I[J++];){if(!f.$removeEmpty[K.nodeName.toLowerCase()]){B=null;break;}}}if(B)E=!!F.length;}else B=null;if(E)if(D){if(C)y=A;else if(A)this.setStartBefore(A);}else D=true;if(B){var L=B.getPrevious();if(!A&&!L){A=B;B=null;break;}B=L;}else A=null;}if(A)A=A.getParent();}G=this.endContainer;H=this.endOffset;A=B=null;C=D=false;if(G.type==3){G=!e.trim(G.substring(H)).length&&G;D=!(G&&G.getLength());if(G)if(!(B=G.getNext()))A=G.getParent();}else{B=G.getChild(H);if(!B)A=G;}while(A||B){if(A&&!B){if(!C&&A.equals(w))C=true;if(!x.contains(A))break;if(!D||A.getComputedStyle('display')!='inline'){D=false;if(C)z=A;else if(A)this.setEndAfter(A);}B=A.getNext();}while(B){E=false;if(B.type==3){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;E=/^[\s\ufeff]/.test(F);}else if(B.type==1){if((B.$.offsetWidth>0||v&&B.is('br'))&&!B.data('cke-bookmark'))if(D&&f.$removeEmpty[B.getName()]){F=B.getText();if(/[^\s\ufeff]/.test(F))B=null;else{I=B.$.getElementsByTagName('*');for(J=0;K=I[J++];){if(!f.$removeEmpty[K.nodeName.toLowerCase()]){B=null;break;}}}if(B)E=!!F.length;}else B=null;}else E=1;if(E)if(D)if(C)z=A; -else this.setEndAfter(A);if(B){L=B.getNext();if(!A&&!L){A=B;B=null;break;}B=L;}else A=null;}if(A)A=A.getParent();}if(y&&z){w=y.contains(z)?z:y;this.setStartBefore(w);this.setEndAfter(w);}break;case 2:case 3:var M=new d.range(this.document);x=this.document.getBody();M.setStartAt(x,1);M.setEnd(this.startContainer,this.startOffset);var N=new d.walker(M),O,P,Q=d.walker.blockBoundary(u==3?{br:1}:null),R=function(X){var Y=Q(X);if(!Y)O=X;return Y;},S=function(X){var Y=R(X);if(!Y&&X.is&&X.is('br'))P=X;return Y;};N.guard=R;A=N.lastBackward();O=O||x;this.setStartAt(O,!O.is('br')&&(!A&&this.checkStartOfBlock()||A&&O.contains(A))?1:4);if(u==3){var T=this.clone();N=new d.walker(T);var U=d.walker.whitespaces(),V=d.walker.bookmark();N.evaluator=function(X){return!U(X)&&!V(X);};var W=N.previous();if(W&&W.type==1&&W.is('br'))return;}M=this.clone();M.collapse();M.setEndAt(x,2);N=new d.walker(M);N.guard=u==3?S:R;O=null;A=N.lastForward();O=O||x;this.setEndAt(O,!A&&this.checkEndOfBlock()||A&&O.contains(A)?2:3);if(P)this.setEndAfter(P);}},shrink:function(u,v){if(!this.collapsed){u=u||2;var w=this.clone(),x=this.startContainer,y=this.endContainer,z=this.startOffset,A=this.endOffset,B=this.collapsed,C=1,D=1;if(x&&x.type==3)if(!z)w.setStartBefore(x);else if(z>=x.getLength())w.setStartAfter(x);else{w.setStartBefore(x);C=0;}if(y&&y.type==3)if(!A)w.setEndBefore(y);else if(A>=y.getLength())w.setEndAfter(y);else{w.setEndAfter(y);D=0;}var E=new d.walker(w),F=d.walker.bookmark();E.evaluator=function(J){return J.type==(u==1?1:3);};var G;E.guard=function(J,K){if(F(J))return true;if(u==1&&J.type==3)return false;if(K&&J.equals(G))return false;if(!K&&J.type==1)G=J;return true;};if(C){var H=E[u==1?'lastForward':'next']();H&&this.setStartAt(H,v?1:3);}if(D){E.reset();var I=E[u==1?'lastBackward':'previous']();I&&this.setEndAt(I,v?2:4);}return!!(C||D);}},insertNode:function(u){var y=this;y.optimizeBookmark();y.trim(false,true);var v=y.startContainer,w=y.startOffset,x=v.getChild(w);if(x)u.insertBefore(x);else v.append(u);if(u.getParent().equals(y.endContainer))y.endOffset++;y.setStartBefore(u);},moveToPosition:function(u,v){this.setStartAt(u,v);this.collapse(true);},selectNodeContents:function(u){this.setStart(u,0);this.setEnd(u,u.type==3?u.getLength():u.getChildCount());},setStart:function(u,v){var w=this;if(u.type==1&&f.$empty[u.getName()])v=u.getIndex(),u=u.getParent();w.startContainer=u;w.startOffset=v;if(!w.endContainer){w.endContainer=u;w.endOffset=v;}l(w);},setEnd:function(u,v){var w=this;if(u.type==1&&f.$empty[u.getName()])v=u.getIndex()+1,u=u.getParent(); -w.endContainer=u;w.endOffset=v;if(!w.startContainer){w.startContainer=u;w.startOffset=v;}l(w);},setStartAfter:function(u){this.setStart(u.getParent(),u.getIndex()+1);},setStartBefore:function(u){this.setStart(u.getParent(),u.getIndex());},setEndAfter:function(u){this.setEnd(u.getParent(),u.getIndex()+1);},setEndBefore:function(u){this.setEnd(u.getParent(),u.getIndex());},setStartAt:function(u,v){var w=this;switch(v){case 1:w.setStart(u,0);break;case 2:if(u.type==3)w.setStart(u,u.getLength());else w.setStart(u,u.getChildCount());break;case 3:w.setStartBefore(u);break;case 4:w.setStartAfter(u);}l(w);},setEndAt:function(u,v){var w=this;switch(v){case 1:w.setEnd(u,0);break;case 2:if(u.type==3)w.setEnd(u,u.getLength());else w.setEnd(u,u.getChildCount());break;case 3:w.setEndBefore(u);break;case 4:w.setEndAfter(u);}l(w);},fixBlock:function(u,v){var y=this;var w=y.createBookmark(),x=y.document.createElement(v);y.collapse(u);y.enlarge(2);y.extractContents().appendTo(x);x.trim();if(!c)x.appendBogus();y.insertNode(x);y.moveToBookmark(w);return x;},splitBlock:function(u){var E=this;var v=new d.elementPath(E.startContainer),w=new d.elementPath(E.endContainer),x=v.blockLimit,y=w.blockLimit,z=v.block,A=w.block,B=null;if(!x.equals(y))return null;if(u!='br'){if(!z){z=E.fixBlock(true,u);A=new d.elementPath(E.endContainer).block;}if(!A)A=E.fixBlock(false,u);}var C=z&&E.checkStartOfBlock(),D=A&&E.checkEndOfBlock();E.deleteContents();if(z&&z.equals(A))if(D){B=new d.elementPath(E.startContainer);E.moveToPosition(A,4);A=null;}else if(C){B=new d.elementPath(E.startContainer);E.moveToPosition(z,3);z=null;}else{A=E.splitElement(z);if(!c&&!z.is('ul','ol'))z.appendBogus();}return{previousBlock:z,nextBlock:A,wasStartOfBlock:C,wasEndOfBlock:D,elementPath:B};},splitElement:function(u){var x=this;if(!x.collapsed)return null;x.setEndAt(u,2);var v=x.extractContents(),w=u.clone(false);v.appendTo(w);w.insertAfter(u);x.moveToPosition(u,4);return w;},checkBoundaryOfElement:function(u,v){var w=v==1,x=this.clone();x.collapse(w);x[w?'setStartAt':'setEndAt'](u,w?1:2);var y=new d.walker(x);y.evaluator=q(w);return y[w?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var A=this;var u=A.startContainer,v=A.startOffset;if(v&&u.type==3){var w=e.ltrim(u.substring(0,v));if(w.length)return false;}var x=new d.elementPath(A.startContainer),y=A.clone();y.collapse(true);y.setStartAt(x.block||x.blockLimit,1);var z=new d.walker(y);z.evaluator=o(true);return z.checkBackward();},checkEndOfBlock:function(){var A=this; -var u=A.endContainer,v=A.endOffset;if(u.type==3){var w=e.rtrim(u.substring(v));if(w.length)return false;}var x=new d.elementPath(A.endContainer),y=A.clone();y.collapse(false);y.setEndAt(x.block||x.blockLimit,2);var z=new d.walker(y);z.evaluator=o(false);return z.checkForward();},checkReadOnly:(function(){function u(v,w){while(v){if(v.type==1)if(v.getAttribute('contentEditable')=='false'&&!v.data('cke-editable'))return 0;else if(v.is('html')||v.getAttribute('contentEditable')=='true'&&(v.contains(w)||v.equals(w)))break;v=v.getParent();}return 1;};return function(){var v=this.startContainer,w=this.endContainer;return!(u(v,w)&&u(w,v));};})(),moveToElementEditablePosition:function(u,v){var w=/^[\t\r\n ]*(?: |\xa0)$/;function x(z,A){var B;if(z.type==1&&z.isEditable(false))B=z[v?'getLast':'getFirst'](t);if(!A&&!B)B=z[v?'getPrevious':'getNext'](t);return B;};if(u.type==1&&!u.isEditable(false)){this.moveToPosition(u,v?4:3);return true;}var y=0;while(u){if(u.type==3){if(v&&this.checkEndOfBlock()&&w.test(u.getText()))this.moveToPosition(u,3);else this.moveToPosition(u,v?4:3);y=1;break;}if(u.type==1)if(u.isEditable()){this.moveToPosition(u,v?2:1);y=1;}else if(v&&u.is('br')&&this.checkEndOfBlock())this.moveToPosition(u,3);u=x(u,y);}return!!y;},moveToElementEditStart:function(u){return this.moveToElementEditablePosition(u);},moveToElementEditEnd:function(u){return this.moveToElementEditablePosition(u,true);},getEnclosedNode:function(){var u=this.clone();u.optimize();if(u.startContainer.type!=1||u.endContainer.type!=1)return null;var v=new d.walker(u),w=d.walker.bookmark(true),x=d.walker.whitespaces(true),y=function(A){return x(A)&&w(A);};u.evaluator=y;var z=v.next();v.reset();return z&&z.equals(v.previous())?z:null;},getTouchedStartNode:function(){var u=this.startContainer;if(this.collapsed||u.type!=1)return u;return u.getChild(this.startOffset)||u;},getTouchedEndNode:function(){var u=this.endContainer;if(this.collapsed||u.type!=1)return u;return u.getChild(this.endOffset-1)||u;}};})();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);};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());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',a.document);l.appendTo(a.document.getHead());try{b.hc=l.getComputedStyle('border-top-color')==l.getComputedStyle('border-right-color');}catch(m){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';l.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;m0){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);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('button',k.button.handler); -}});a.UI_BUTTON='button';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);}};(function(){k.button.prototype={render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s;this._.editor=m;var t={id:p,button:this,editor:m,focus:function(){var z=a.document.getById(p);z.focus();},execute:function(){if(c&&b.version<7)e.setTimeout(function(){this.button.click(m);},0,this);else this.button.click(m);}},u=e.addFunction(function(z){if(t.onkey){z=new d.event(z);return t.onkey(t,z.getKeystroke())!==false;}}),v=e.addFunction(function(z){var A;if(t.onfocus)A=t.onfocus(t,new d.event(z))!==false;if(b.gecko&&b.version<10900)z.preventBubble();return A;});t.clickFn=s=e.addFunction(t.execute,t);if(this.modes){var w={};function x(){var z=m.mode;if(z){var A=this.modes[z]?w[z]!=undefined?w[z]:2:0;this.setState(m.readOnly&&!this.readOnly?0:A);}};m.on('beforeModeUnload',function(){if(m.mode&&this._.state!=0)w[m.mode]=this._.state;},this);m.on('mode',x,this);!this.readOnly&&m.on('readOnly',x,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('','
    =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;"');if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.tools.callFunction(',u,', event);" onfocus="return CKEDITOR.tools.callFunction(',v,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',s,', this); return false;"> ',this.label,'');if(this.hasArrow)n.push(''+(b.hc?'▼':' ')+''); -n.push('','');if(this.onRender)this.onRender();return t;},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.prototype.addButton=function(m,n){this.add(m,'button',n);};(function(){var m=function(y,z){var A=y.document,B=A.getBody(),C=false,D=function(){C=true;};B.on(z,D);(b.version>7?A.$:A.$.selection.createRange()).execCommand(z);B.removeListener(z,D);return C;},n=c?function(y,z){return m(y,z);}:function(y,z){try{return y.document.$.execCommand(z,false,null);}catch(A){return false;}},o=function(y){var z=this;z.type=y;z.canUndo=z.type=='cut';z.startDisabled=true;};o.prototype={exec:function(y,z){this.type=='cut'&&t(y);var A=n(y,this.type);if(!A)alert(y.lang.clipboard[this.type+'Error']);return A;}};var p={canUndo:false,exec:c?function(y){y.focus();if(!y.document.getBody().fire('beforepaste')&&!m(y,'paste')){y.fire('pasteDialog');return false;}}:function(y){try{if(!y.document.getBody().fire('beforepaste')&&!y.document.$.execCommand('Paste',false,null))throw 0;}catch(z){setTimeout(function(){y.fire('pasteDialog');},0);return false;}}},q=function(y){if(this.mode!='wysiwyg')return;switch(y.data.keyCode){case 1114112+86:case 2228224+45:var z=this.document.getBody();if(b.opera||b.gecko)z.fire('paste');return;case 1114112+88:case 2228224+46:var A=this;this.fire('saveSnapshot');setTimeout(function(){A.fire('saveSnapshot');},0);}};function r(y){y.cancel();};function s(y,z,A){var B=this.document;if(B.getById('cke_pastebin'))return;if(z=='text'&&y.data&&y.data.$.clipboardData){var C=y.data.$.clipboardData.getData('text/plain');if(C){y.data.preventDefault();A(C);return;}}var D=this.getSelection(),E=new d.range(B),F=new h(z=='text'?'textarea':b.webkit?'body':'div',B);F.setAttribute('id','cke_pastebin');b.webkit&&F.append(B.createText('\xa0'));B.getBody().append(F);F.setStyles({position:'absolute',top:D.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});F.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var G=D.createBookmarks();this.on('selectionChange',r,null,null,0);if(z=='text')F.$.focus();else{E.setStartAt(F,1);E.setEndAt(F,2);E.select(true);}var H=this;window.setTimeout(function(){H.document.getBody().focus();H.removeListener('selectionChange',r); -if(b.ie7Compat){D.selectBookmarks(G);F.remove();}else{F.remove();D.selectBookmarks(G);}var I;F=b.webkit&&(I=F.getFirst())&&I.is&&I.hasClass('Apple-style-span')?I:F;A(F['get'+(z=='text'?'Value':'Html')]());},0);};function t(y){if(!c||b.quirks)return;var z=y.getSelection(),A;if(z.getType()==3&&(A=z.getSelectedElement())){var B=z.getRanges()[0],C=y.document.createText('');C.insertBefore(A);B.setStartBefore(C);B.setEndAfter(A);z.selectRanges([B]);setTimeout(function(){if(A.getParent()){C.remove();z.selectElement(A);}},0);}};var u,v;function w(y,z){var A;if(v&&y in {Paste:1,Cut:1})return 0;if(y=='Paste'){c&&(u=1);try{A=z.document.$.queryCommandEnabled(y)||b.webkit;}catch(D){}u=0;}else{var B=z.getSelection(),C=B&&B.getRanges();A=B&&!(C.length==1&&C[0].collapsed);}return A?2:0;};function x(){var z=this;if(z.mode!='wysiwyg')return;var y=w('Paste',z);z.getCommand('cut').setState(w('Cut',z));z.getCommand('copy').setState(w('Copy',z));z.getCommand('paste').setState(y);z.fire('pasteState',y);};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(y){y.on('paste',function(A){var B=A.data;if(B.html)y.insertHtml(B.html);else if(B.text)y.insertText(B.text);setTimeout(function(){y.fire('afterPaste');},0);},null,null,1000);y.on('pasteDialog',function(A){setTimeout(function(){y.openDialog('paste');},0);});y.on('pasteState',function(A){y.getCommand('paste').setState(A.data);});function z(A,B,C,D){var E=y.lang[B];y.addCommand(B,C);y.ui.addButton(A,{label:E,command:B});if(y.addMenuItems)y.addMenuItem(B,{label:E,command:B,group:'clipboard',order:D});};z('Cut','cut',new o('cut'),1);z('Copy','copy',new o('copy'),4);z('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));y.on('key',q,y);y.on('contentDom',function(){var A=y.document.getBody();A.on(!c?'paste':'beforepaste',function(B){if(u)return;var C=B.data&&B.data.$;if(c&&C&&!C.ctrlKey)return;var D={mode:'html'};y.fire('beforePaste',D);s.call(y,B,D.mode,function(E){if(!(E=e.trim(E.replace(/]+data-cke-bookmark[^<]*?<\/span>/ig,''))))return;var F={};F[D.mode]=E;y.fire('paste',F);});});if(c){A.on('contextmenu',function(){u=1;setTimeout(function(){u=0;},0);});A.on('paste',function(B){if(!y.document.getById('cke_pastebin')){B.data.preventDefault();u=0;p.exec(y);}});}A.on('beforecut',function(){!u&&t(y);});A.on('mouseup',function(){setTimeout(function(){x.call(y);},0);},y);A.on('keyup',x,y);});y.on('selectionChange',function(A){v=A.data.selection.getRanges()[0].checkReadOnly();x.call(y); -});if(y.contextMenu)y.contextMenu.addListener(function(A,B){var C=B.getRanges()[0].checkReadOnly();return{cut:w('Cut',y),copy:w('Copy',y),paste:w('Paste',y)};});}});})();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(t,u,v){var w=e.getNextId()+'_colorBox';m.ui.add(t,'panelbutton',{label:v,title:v,className:'cke_button_'+t.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(x,y){y.autoSize=true;y.element.addClass('cke_colorblock');y.element.setHtml(r(x,u,w));y.element.getDocument().getBody().setStyle('overflow','hidden');k.fire('ready',this);var z=y.keys,A=m.lang.dir=='rtl';z[A?37:39]='next';z[40]='next';z[9]='next';z[A?39:37]='prev';z[38]='prev';z[2228224+9]='prev';z[32]='click';},onOpen:function(){var x=m.getSelection(),y=x&&x.getStartElement(),z=new d.elementPath(y),A;y=z.block||z.blockLimit||m.document.getBody();do A=y&&y.getComputedStyle(u=='back'?'background-color':'color')||'transparent';while(u=='back'&&A=='transparent'&&y&&(y=y.getParent()));if(!A||A=='transparent')A='#ffffff';this._.panel._.iframe.getFrameDocument().getById(w).setStyle('background-color',A);}});};function r(t,u,v){var w=[],x=n.colorButton_colors.split(','),y=e.addFunction(function(E,F){if(E=='?'){var G=arguments.callee;function H(J){this.removeListener('ok',H);this.removeListener('cancel',H);J.name=='ok'&&G(this.getContentElement('picker','selectedColor').getValue(),F);};m.openDialog('colordialog',function(){this.on('ok',H);this.on('cancel',H);});return;}m.focus();t.hide(false);m.fire('saveSnapshot');new a.style(n['colorButton_'+F+'Style'],{color:'inherit'}).remove(m.document);if(E){var I=n['colorButton_'+F+'Style'];I.childRule=F=='back'?function(J){return s(J);}:function(J){return!(J.is('a')||J.getElementsByTag('a').count())||s(J);};new a.style(I,{color:E}).apply(m.document);}m.fire('saveSnapshot');});w.push('
    ',o.auto,'
    '); -for(var z=0;z');var A=x[z].split('/'),B=A[0],C=A[1]||B;if(!A[1])B='#'+B.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var D=m.lang.colors[C]||C;w.push('');}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)w.push('');w.push('
    ',o.more,'
    ');return w.join('');};function s(t){return t.getAttribute('contentEditable')=='false'||t.getAttribute('data-nostyle');};}});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)'}};j.colordialog={requires:['dialog'],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'],onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});},proto:{addTarget:function(m,n){if(b.opera&&!('oncontextmenu' in document.body)){var o;m.on('mousedown',function(s){s=s.data;if(s.$.button!=2){if(s.getKeystroke()==1114112+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.open(u,null,v,w);},c?200: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);}},open:function(m,n,o,p){this.editor.focus();m=m||a.document.getDocumentElement();this.show(m,n,o,p);}}});},beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.open(m.document.getBody());}});}});(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 ';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(x){if(x.data.space=='bottom')x.data.html+=''+o.lang.elementsPath.eleLabel+''+'
    '+n+'
    ';});function t(x){o.focus();var y=o._.elementsPath.list[x];if(y.is('body')){var z=new d.range(o.document);z.selectNodeContents(y);z.select();}else o.getSelection().selectElement(y);};var u=e.addFunction(t),v=e.addFunction(function(x,y){var z=o._.elementsPath.idBase,A;y=new d.event(y);var B=o.lang.dir=='rtl';switch(y.getKeystroke()){case B?39:37:case 9:A=a.document.getById(z+(x+1));if(!A)A=a.document.getById(z+'0');A.focus();return false;case B?37:39:case 2228224+9:A=a.document.getById(z+(x-1));if(!A)A=a.document.getById(z+(o._.elementsPath.list.length-1));A.focus();return false;case 27:o.focus();return false;case 13:case 32:t(x);return false;}return true;});o.on('selectionChange',function(x){var y=b,z=x.data.selection,A=z.getStartElement(),B=[],C=x.editor,D=C._.elementsPath.list=[],E=C._.elementsPath.filters; -while(A){var F=0,G;if(A.data('cke-display-name'))G=A.data('cke-display-name');else if(A.data('cke-real-element-type'))G=A.data('cke-real-element-type');else G=A.getName();for(var H=0;H',G,''+L+'','');}if(G=='body')break;A=A.getParent();}var M=r();M.setHtml(B.join('')+n);C.fire('elementsPathUpdate',{space:M});});function w(){q&&q.setHtml(n);delete o._.elementsPath.list;};o.on('readOnly',w);o.on('contentDomUnload',w);o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){t.addCommand('enter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){r(v);}});t.addCommand('shiftEnter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){q(v);}});var u=t.keystrokeHandler.keystrokes;u[13]='enter';u[2228224+13]='shiftEnter';}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=v.checkStartOfBlock(),z=v.checkEndOfBlock(),A=new d.elementPath(v.startContainer),B=A.block;if(y&&z){if(B&&(B.is('li')||B.getParent().is('li'))){t.execCommand('outdent');return;}if(B&&B.getParent().is('blockquote')){B.breakParent(B.getParent());if(!B.getPrevious().getFirst(d.walker.invisible(1)))B.getPrevious().remove();if(!B.getNext().getFirst(d.walker.invisible(1)))B.getNext().remove();v.moveToElementEditStart(B);v.select();return;}}else if(B&&B.is('pre')){if(!z){n(t,u,v,w);return;}}else if(B&&f.$captionBlock[B.getName()]){n(t,u,v,w);return;}var C=u==3?'div':'p',D=v.splitBlock(C);if(!D)return;var E=D.previousBlock,F=D.nextBlock,G=D.wasStartOfBlock,H=D.wasEndOfBlock,I;if(F){I=F.getParent();if(I.is('li')){F.breakParent(I);F.move(F.getNext(),1);}}else if(E&&(I=E.getParent())&&I.is('li')){E.breakParent(I);I=E.getNext();v.moveToElementEditStart(I);E.move(E.getPrevious());}if(!G&&!H){if(F.is('li')&&(I=F.getFirst(d.walker.invisible(true)))&&I.is&&I.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(I); -if(F)v.moveToElementEditStart(F);}else{var J,K;if(E){if(E.is('li')||!(p.test(E.getName())||E.is('pre')))J=E.clone();}else if(F)J=F.clone();if(!J){if(I&&I.is('li'))J=I;else{J=x.createElement(C);if(E&&(K=E.getDirection()))J.setAttribute('dir',K);}}else if(w&&!J.is('li'))J.renameNode(C);var L=D.elementPath;if(L)for(var M=0,N=L.elements.length;M0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt,amp',n='quot,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'; +},getTarget:function(){var g=this.$.target||this.$.srcElement;return g?new d.node(g):null;},getPageOffset:function(){var j=this;var g=j.getTarget().getDocument().$,h=j.$.pageX||j.$.clientX+(g.documentElement.scrollLeft||g.body.scrollLeft),i=j.$.pageY||j.$.clientY+(g.documentElement.scrollTop||g.body.scrollTop);return{x:h,y:i};}};a.CTRL=1114112;a.SHIFT=2228224;a.ALT=4456448;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.$.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.$['data-cke-expando'],k=j&&h[j];return k&&k[i];};g.removeCustomData=function(i){var j=this.$['data-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.$['data-cke-expando'];i&&delete h[i];};g.getUniqueId=function(){return this.$['data-cke-expando']||(this.$['data-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();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&&k8))&&i)h=i+':'+h;return new d.nodeList(this.$.getElementsByTagName(h));},getHead:function(){var h=this.$.getElementsByTagName('head')[0];if(!h)h=this.getDocumentElement().append(new d.element('head'),true);else 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;})();},write:function(h){var i=this;i.$.open('text/html','replace');b.isCustomDomain()&&(i.$.domain=document.domain);i.$.write(h);i.$.close();}});d.node=function(h){if(h){var i=h.nodeType==9?'document':h.nodeType==1?'element':h.nodeType==3?'text':h.nodeType==8?'comment':'domObject';return new d[i](h);}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),k=function(l){if(l.nodeType!=1)return;if(!i)l.removeAttribute('id',false);l['data-cke-expando']=undefined;if(h){var m=l.childNodes;for(var n=0;n]*>/g,''):l;},getOuterHtml:function(){var m=this;if(m.$.outerHTML)return m.$.outerHTML.replace(/<\?[^>]*>/,'');var l=m.$.ownerDocument.createElement('div');l.appendChild(m.$.cloneNode(true));return l.innerHTML;},setHtml:function(l){return this.$.innerHTML=l;},setText:function(l){h.prototype.setText=this.$.innerText!=undefined?function(m){return this.$.innerText=m;}:function(m){return this.$.textContent=m;};return this.setText(l);},getAttribute:(function(){var l=function(m){return this.$.getAttribute(m,2);};if(c&&(b.ie7Compat||b.ie6Compat))return function(m){var q=this;switch(m){case 'class':m='className';break;case 'http-equiv':m='httpEquiv';break;case 'name':return q.$.name;case 'tabindex':var n=l.call(q,m);if(n!==0&&q.$.tabIndex===0)n=null;return n;break;case 'checked':var o=q.$.attributes.getNamedItem(m),p=o.specified?o.nodeValue:q.$.checked;return p?'checked':null;case 'hspace':case 'value':return q.$[m];case 'style':return q.$.style.cssText;case 'contenteditable':case 'contentEditable':return q.$.attributes.getNamedItem('contentEditable').specified?q.$.getAttribute('contentEditable'):null;}return l.call(q,m);};else return l;})(),getChildren:function(){return new d.nodeList(this.$.childNodes);},getComputedStyle:c?function(l){return this.$.currentStyle[e.cssStyleToDomStyle(l)];}:function(l){var m=this.getWindow().$.getComputedStyle(this.$,null);return m?m.getPropertyValue(l):'';},getDtd:function(){var l=f[this.getName()];this.getDtd=function(){return l;};return l;},getElementsByTag:g.prototype.getElementsByTag,getTabIndex:c?function(){var l=this.$.tabIndex;if(l===0&&!f.$tabIndex[this.getName()]&&parseInt(this.getAttribute('tabindex'),10)!==0)l=-1;return l;}:b.webkit?function(){var l=this.$.tabIndex;if(l==undefined){l=parseInt(this.getAttribute('tabindex'),10);if(isNaN(l))l=-1;}return l;}: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 l=this.$.nodeName.toLowerCase();if(c&&!(document.documentMode>8)){var m=this.$.scopeName;if(m!='HTML')l=m.toLowerCase()+':'+l;}return(this.getName=function(){return l; +})();},getValue:function(){return this.$.value;},getFirst:function(l){var m=this.$.firstChild,n=m&&new d.node(m);if(n&&l&&!l(n))n=n.getNext(l);return n;},getLast:function(l){var m=this.$.lastChild,n=m&&new d.node(m);if(n&&l&&!l(n))n=n.getPrevious(l);return n;},getStyle:function(l){return this.$.style[e.cssStyleToDomStyle(l)];},is:function(){var l=this.getName();for(var m=0;m0&&(m>2||!n[l[0].nodeName]||m==2&&!n[l[1].nodeName]);},hasAttribute:(function(){function l(m){var n=this.$.attributes.getNamedItem(m);return!!(n&&n.specified);};return c&&b.version<8?function(m){if(m=='name')return!!this.$.name;return l.call(this,m);}:l;})(),hide:function(){this.setStyle('display','none');},moveChildren:function(l,m){var n=this.$; +l=l.$;if(n==l)return;var o;if(m)while(o=n.lastChild)l.insertBefore(n.removeChild(o),l.firstChild);else while(o=n.firstChild)l.appendChild(n.removeChild(o));},mergeSiblings:(function(){function l(m,n,o){if(n&&n.type==1){var p=[];while(n.data('cke-bookmark')||n.isEmptyInlineRemoveable()){p.push(n);n=o?n.getNext():n.getPrevious();if(!n||n.type!=1)return;}if(m.isIdentical(n)){var q=o?m.getLast():m.getFirst();while(p.length)p.shift().move(m,!o);n.moveChildren(m,!o);n.remove();if(q&&q.type==1)q.mergeSiblings();}}};return function(m){var n=this;if(!(m===false||f.$removeEmpty[n.getName()]||n.is('a')))return;l(n,n.getNext(),true);l(n,n.getPrevious());};})(),show:function(){this.setStyles({display:'',visibility:''});},setAttribute:(function(){var l=function(m,n){this.$.setAttribute(m,n);return this;};if(c&&(b.ie7Compat||b.ie6Compat))return function(m,n){var o=this;if(m=='class')o.$.className=n;else if(m=='style')o.$.style.cssText=n;else if(m=='tabindex')o.$.tabIndex=n;else if(m=='checked')o.$.checked=n;else if(m=='contenteditable')l.call(o,'contentEditable',n);else l.apply(o,arguments);return o;};else if(b.ie8Compat&&b.secure)return function(m,n){if(m=='src'&&n.match(/^http:\/\//))try{l.apply(this,arguments);}catch(o){}else l.apply(this,arguments);return this;};else return l;})(),setAttributes:function(l){for(var m in l)this.setAttribute(m,l[m]);return this;},setValue:function(l){this.$.value=l;return this;},removeAttribute:(function(){var l=function(m){this.$.removeAttribute(m);};if(c&&(b.ie7Compat||b.ie6Compat))return function(m){if(m=='class')m='className';else if(m=='tabindex')m='tabIndex';else if(m=='contenteditable')m='contentEditable';l.call(this,m);};else return l;})(),removeAttributes:function(l){if(e.isArray(l))for(var m=0;m=100?'':'progid:DXImageTransform.Microsoft.Alpha(opacity='+l+')');}else this.setStyle('opacity',l); +},unselectable:b.gecko?function(){this.$.style.MozUserSelect='none';this.on('dragstart',function(l){l.data.preventDefault();});}:b.webkit?function(){this.$.style.KhtmlUserSelect='none';this.on('dragstart',function(l){l.data.preventDefault();});}:function(){if(c||b.opera){var l=this.$,m=l.getElementsByTagName('*'),n,o=0;l.unselectable='on';while(n=m[o++])switch(n.tagName.toLowerCase()){case 'iframe':case 'textarea':case 'input':case 'select':break;default:n.unselectable='on';}}},getPositionedAncestor:function(){var l=this;while(l.getName()!='html'){if(l.getComputedStyle('position')!='static')return l;l=l.getParent();}return null;},getDocumentPosition:function(l){var G=this;var m=0,n=0,o=G.getDocument(),p=o.getBody(),q=o.$.compatMode=='BackCompat';if(document.documentElement.getBoundingClientRect){var r=G.$.getBoundingClientRect(),s=o.$,t=s.documentElement,u=t.clientTop||p.$.clientTop||0,v=t.clientLeft||p.$.clientLeft||0,w=true;if(c){var x=o.getDocumentElement().contains(G),y=o.getBody().contains(G);w=q&&y||!q&&x;}if(w){m=r.left+(!q&&t.scrollLeft||p.$.scrollLeft);m-=v;n=r.top+(!q&&t.scrollTop||p.$.scrollTop);n-=u;}}else{var z=G,A=null,B;while(z&&!(z.getName()=='body'||z.getName()=='html')){m+=z.$.offsetLeft-z.$.scrollLeft;n+=z.$.offsetTop-z.$.scrollTop;if(!z.equals(G)){m+=z.$.clientLeft||0;n+=z.$.clientTop||0;}var C=A;while(C&&!C.equals(z)){m-=C.$.scrollLeft;n-=C.$.scrollTop;C=C.getParent();}A=z;z=(B=z.$.offsetParent)?new h(B):null;}}if(l){var D=G.getWindow(),E=l.getWindow();if(!D.equals(E)&&D.$.frameElement){var F=new h(D.$.frameElement).getDocumentPosition(l);m+=F.x;n+=F.y;}}if(!document.documentElement.getBoundingClientRect)if(b.gecko&&!q){m+=G.$.clientLeft?1:0;n+=G.$.clientTop?1:0;}return{x:m,y:n};},scrollIntoView:function(l){var m=this.getParent();if(!m)return;do{var n=m.$.clientWidth&&m.$.clientWidth0)q(0,m===true?A.y:m===false?B.y:A.y<0?A.y:B.y);if(n&&(A.x<0||B.x>0))q(A.x<0?A.x:B.x,0);},setState:function(l){var m=this;switch(l){case 1:m.addClass('cke_on');m.removeClass('cke_off');m.removeClass('cke_disabled');break;case 0:m.addClass('cke_disabled');m.removeClass('cke_off');m.removeClass('cke_on');break;default:m.addClass('cke_off');m.removeClass('cke_on');m.removeClass('cke_disabled');break;}},getFrameDocument:function(){var l=this.$;try{l.contentWindow.document;}catch(m){l.src=l.src;if(c&&b.version<7)window.showModalDialog('javascript:document.write("")');}return l&&new g(l.contentWindow.document);},copyAttributes:function(l,m){var s=this;var n=s.$.attributes;m=m||{};for(var o=0;o0&&m)m=m.childNodes[l.shift()];return m?new d.node(m):null;},getChildCount:function(){return this.$.childNodes.length;},disableContextMenu:function(){this.on('contextmenu',function(l){if(!l.data.getTarget().hasClass('cke_enable_context_menu'))l.data.preventDefault();});},getDirection:function(l){var m=this;return l?m.getComputedStyle('direction')||m.getDirection()||m.getDocument().$.dir||m.getDocument().getBody().getDirection(1):m.getStyle('direction')||m.getAttribute('dir');},data:function(l,m){l='data-'+l;if(m===undefined)return this.getAttribute(l);else if(m===false)this.removeAttribute(l);else this.setAttribute(l,m);return null;}});var i={width:['border-left-width','border-right-width','padding-left','padding-right'],height:['border-top-width','border-bottom-width','padding-top','padding-bottom']}; +function j(l){var m=['top','left','right','bottom'],n;if(l=='border')n=['color','style','width'];var o=[];for(var p=0;p',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,iframe,image,indent,justify,keystrokes,link,list,liststyle,maximize,newpage,pagebreak,pastefromword,pastetext,popup,preview,print,removeformat,resize,save,scayt,showblocks,showborders,smiley,sourcearea,specialchar,stylescombo,tab,table,tabletools,templates,toolbar,undo,wsc,wysiwygarea',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;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,ka:1,km:1,ko:1,ku: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,ug: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||k;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){var p=typeof l=='string';if(p)l=[l];if(!n)n=a;var q=l.length,r=[],s=[],t=function(y){if(m)if(p)m.call(n,y);else m.call(n,r,s);};if(q===0){t(true);return;}var u=function(y,z){(z?r:s).push(y);if(--q<=0){o&&a.document.getDocumentElement().removeStyle('cursor');t(z);}},v=function(y,z){j[y]=1;var A=k[y];delete k[y];for(var B=0;B1)return;var A=new h('script');A.setAttributes({type:'text/javascript',src:y});if(m)if(c)A.$.onreadystatechange=function(){if(A.$.readyState=='loaded'||A.$.readyState=='complete'){A.$.onreadystatechange=null;v(y,true);}};else{A.$.onload=function(){setTimeout(function(){v(y,true);},0);};A.$.onerror=function(){v(y,false);};}A.appendTo(a.document.getHead());};o&&a.document.getDocumentElement().setStyle('cursor','wait');for(var x=0;x1)return;var w=!p.css||!p.css.length,x=!p.js||!p.js.length,y=function(){if(w&&x){p._isLoaded=1;for(var B=0;B=0?x.langCode:J[0];if(!I.langEntries||!I.langEntries[L])G.push(a.getUrl(K+'lang/'+L+'.js'));else{e.extend(x.lang,I.langEntries[L]);L=null;}}F.push(L);E.push(I);}a.scriptLoader.load(G,function(){var M=['beforeInit','init','afterInit'];for(var N=0;N]+)>)|(?:!--([\\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]||'';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(){a.htmlParser.text=function(l){this.value=l;this._={isBlockLike:false};};a.htmlParser.text.prototype={type:3,writeHtml:function(l,m){var n=this.value;if(m&&!(n=m.onText(n,this)))return;l.text(n);}};})();(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=e.extend({table:1,ul:1,ol:1,dl:1},f.table,f.ul,f.ol,f.dl),m=c&&b.version<8?{dd:1,dt:1}:{},n={ol:1,ul:1},o=e.extend({},{html:1},f.html,f.body,f.head,{style:1,script:1});function p(q){return q.name=='a'&&q.attributes.href||f.$removeEmpty[q.name];};a.htmlParser.fragment.fromHtml=function(q,r,s){var t=new a.htmlParser(),u=s||new a.htmlParser.fragment(),v=[],w=[],x=u,y=false,z=false;function A(D){var E;if(v.length>0)for(var F=0;F=0;E--){if(D==v[E].name){v.splice(E,1);return;}}var F=[],G=[],H=x;while(H!=u&&H.name!=D){if(!H._.isBlockLike)G.unshift(H);F.push(H);H=H.returnPoint||H.parent;}if(H!=u){for(E=0;E0?t.children[r-1]:null;if(s){if(q._.isBlockLike&&s.type==3){s.value=e.rtrim(s.value);if(s.value.length===0){t.children.pop();t.add(q);return;}}s.next=q;}q.previous=s;q.parent=t;t.children.splice(r,0,q);t._.hasInlineStarted=q.type==3||q.type==1&&!q._.isBlockLike;},writeHtml:function(q,r){var s;this.filterChildren=function(){var t=new a.htmlParser.basicWriter();this.writeChildrenHtml.call(this,t,r,true);var u=t.getHtml();this.children=new a.htmlParser.fragment.fromHtml(u).children;s=1;};!this.name&&r&&r.onFragment(this);this.writeChildrenHtml(q,s?null:r);},writeChildrenHtml:function(q,r){for(var s=0;sn?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 B=new a.htmlParser.basicWriter();a.htmlParser.fragment.prototype.writeChildrenHtml.call(p,B,n);p.children=new a.htmlParser.fragment.fromHtml(B.getHtml(),0,p.clone()).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){for(var v=0,w=this.children.length;v=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');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('');},text:function(l){this._.output.push(l);},comment:function(l){this._.output.push('');},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=function(l,m){if(typeof l=='string')l=(m?m.$:document).createComment(l);d.domObject.call(this,l);};d.comment.prototype=new d.node();e.extend(d.comment.prototype,{type:8,getOuterHtml:function(){return '';}});(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,legend:1,caption:1},m={body:1,div:1,table:1,tbody:1,tr:1,td:1,th:1,form:1,fieldset:1},n=function(o){var p=o.getChildren();for(var q=0,r=p.count();q0)v=v.getChild(z-1);else v=A(v,true)===false?null:v.getPreviousSourceNode(true,C,A);}else{v=w;if(v.type==1)if(!(v=v.getChild(y)))v=A(w,true)===false?null:w.getNextSourceNode(true,C,A);}if(v&&A(v)===false)v=null;}while(v&&!this._.end){this.current=v;if(!this.evaluator||this.evaluator(v)!==false){if(!t)return v;}else if(t&&this.evaluator)return false;v=v[D](false,C,A);}this.end();return this.current=null;};function m(s){var t,u=null;while(t=l.call(this,s))u=t;return u;};d.walker=e.createClass({$:function(s){this.range=s;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};h.prototype.isBlockBoundary=function(s){var t=s?e.extend({},f.$block,s||{}):f.$block; +return this.getComputedStyle('float')=='none'&&n[this.getComputedStyle('display')]||t[this.getName()];};d.walker.blockBoundary=function(s){return function(t,u){return!(t.type==1&&t.isBlockBoundary(s));};};d.walker.listItemBoundary=function(){return this.blockBoundary({br:1});};d.walker.bookmark=function(s,t){function u(v){return v&&v.getName&&v.getName()=='span'&&v.data('cke-bookmark');};return function(v){var w,x;w=v&&!v.getName&&(x=v.getParent())&&u(x);w=s?w:w||u(v);return!!(t^w);};};d.walker.whitespaces=function(s){return function(t){var u;if(t&&t.type==3)u=!e.trim(t.getText())||b.webkit&&t.getText()=='​';return!!(s^u);};};d.walker.invisible=function(s){var t=d.walker.whitespaces();return function(u){var v;if(t(u))v=1;else{if(u.type==3)u=u.getParent();v=!u.$.offsetHeight;}return!!(s^v);};};d.walker.nodeType=function(s,t){return function(u){return!!(t^u.type==s);};};d.walker.bogus=function(s){function t(u){return!p(u)&&!q(u);};return function(u){var v=!c?u.is&&u.is('br'):u.getText&&o.test(u.getText());if(v){var w=u.getParent(),x=u.getNext(t);v=w.isBlockBoundary()&&(!x||x.type==1&&x.isBlockBoundary());}return!!(s^v);};};var o=/^[\t\r\n ]*(?: |\xa0)$/,p=d.walker.whitespaces(),q=d.walker.bookmark(),r=function(s){return q(s)||p(s)||s.type==1&&s.getName() in f.$inline&&!(s.getName() in f.$empty);};h.prototype.getBogus=function(){var s=this;do s=s.getPreviousSourceNode();while(r(s));if(s&&(!c?s.is&&s.is('br'):s.getText&&o.test(s.getText())))return s;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(v){v.collapsed=v.startContainer&&v.endContainer&&v.startContainer.equals(v.endContainer)&&v.startOffset==v.endOffset;},m=function(v,w,x,y){v.optimizeBookmark();var z=v.startContainer,A=v.endContainer,B=v.startOffset,C=v.endOffset,D,E;if(A.type==3)A=A.split(C);else if(A.getChildCount()>0)if(C>=A.getChildCount()){A=A.append(v.document.createText(''));E=true;}else A=A.getChild(C);if(z.type==3){z.split(B);if(z.equals(A))A=z.getNext();}else if(!B){z=z.getFirst().insertBeforeMe(v.document.createText(''));D=true;}else if(B>=z.getChildCount()){z=z.append(v.document.createText(''));D=true;}else z=z.getChild(B).getPrevious();var F=z.getParents(),G=A.getParents(),H,I,J;for(H=0;H0&&!L.equals(A))M=K.append(L.clone());if(!F[Q]||L.$.parentNode!=F[Q].$.parentNode){N=L.getPrevious();while(N){if(N.equals(F[Q])||N.equals(z))break;O=N.getPrevious();if(w==2)K.$.insertBefore(N.$.cloneNode(true),K.$.firstChild);else{N.remove();if(w==1)K.$.insertBefore(N.$,K.$.firstChild);}N=O;}}if(K)K=M;}if(w==2){var R=v.startContainer;if(R.type==3){R.$.data+=R.$.nextSibling.data;R.$.parentNode.removeChild(R.$.nextSibling);}var S=v.endContainer;if(S.type==3&&S.$.nextSibling){S.$.data+=S.$.nextSibling.data;S.$.parentNode.removeChild(S.$.nextSibling);}}else{if(I&&J&&(z.$.parentNode!=I.$.parentNode||A.$.parentNode!=J.$.parentNode)){var T=J.getIndex();if(D&&J.$.parentNode==z.$.parentNode)T--;if(y&&I.type==1){var U=h.createFromHtml(' ',v.document);U.insertAfter(I);I.mergeSiblings(false);v.moveToBookmark({startNode:U});}else v.setStart(J.getParent(),T);}v.collapse(true);}if(D)z.remove();if(E&&A.$.parentNode)A.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(){var v=false,w=d.walker.whitespaces(),x=d.walker.bookmark(true),y=d.walker.bogus();return function(z){if(x(z)||w(z))return true;if(y(z)&&!v){v=true;return true;}if(z.type==3&&(z.hasAscendant('pre')||e.trim(z.getText()).length))return false;if(z.type==1&&!n[z.getName()])return false;return true;};};var p=d.walker.bogus();function q(v){var w=d.walker.whitespaces(),x=d.walker.bookmark(1);return function(y){if(x(y)||w(y))return true;return!v&&p(y)||y.type==1&&y.getName() in f.$removeEmpty;};};var r=new d.walker.whitespaces(),s=new d.walker.bookmark(),t=/^[\t\r\n ]*(?: |\xa0)$/;function u(v){return!r(v)&&!s(v);};d.range.prototype={clone:function(){var w=this;var v=new d.range(w.document);v.startContainer=w.startContainer;v.startOffset=w.startOffset;v.endContainer=w.endContainer;v.endOffset=w.endOffset;v.collapsed=w.collapsed;return v;},collapse:function(v){var w=this;if(v){w.endContainer=w.startContainer;w.endOffset=w.startOffset;}else{w.startContainer=w.endContainer;w.startOffset=w.endOffset;}w.collapsed=true;},cloneContents:function(){var v=new d.documentFragment(this.document);if(!this.collapsed)m(this,2,v);return v;},deleteContents:function(v){if(this.collapsed)return; +m(this,0,null,v);},extractContents:function(v){var w=new d.documentFragment(this.document);if(!this.collapsed)m(this,1,w,v);return w;},createBookmark:function(v){var B=this;var w,x,y,z,A=B.collapsed;w=B.document.createElement('span');w.data('cke-bookmark',1);w.setStyle('display','none');w.setHtml(' ');if(v){y='cke_bm_'+e.getNextNumber();w.setAttribute('id',y+(A?'C':'S'));}if(!A){x=w.clone();x.setHtml(' ');if(v)x.setAttribute('id',y+'E');z=B.clone();z.collapse();z.insertNode(x);}z=B.clone();z.collapse(true);z.insertNode(w);if(x){B.setStartAfter(w);B.setEndBefore(x);}else B.moveToPosition(w,4);return{startNode:v?y+(A?'C':'S'):w,endNode:v?y+'E':x,serializable:v,collapsed:A};},createBookmark2:function(v){var D=this;var w=D.startContainer,x=D.endContainer,y=D.startOffset,z=D.endOffset,A=D.collapsed,B,C;if(!w||!x)return{start:0,end:0};if(v){if(w.type==1){B=w.getChild(y);if(B&&B.type==3&&y>0&&B.getPrevious().type==3){w=B;y=0;}if(B&&B.type==1)y=B.getIndex(1);}while(w.type==3&&(C=w.getPrevious())&&C.type==3){w=C;y+=C.getLength();}if(!A){if(x.type==1){B=x.getChild(z);if(B&&B.type==3&&z>0&&B.getPrevious().type==3){x=B;z=0;}if(B&&B.type==1)z=B.getIndex(1);}while(x.type==3&&(C=x.getPrevious())&&C.type==3){x=C;z+=C.getLength();}}}return{start:w.getAddress(v),end:A?null:x.getAddress(v),startOffset:y,endOffset:z,normalized:v,collapsed:A,is2:true};},moveToBookmark:function(v){var D=this;if(v.is2){var w=D.document.getByAddress(v.start,v.normalized),x=v.startOffset,y=v.end&&D.document.getByAddress(v.end,v.normalized),z=v.endOffset;D.setStart(w,x);if(y)D.setEnd(y,z);else D.collapse(true);}else{var A=v.serializable,B=A?D.document.getById(v.startNode):v.startNode,C=A?D.document.getById(v.endNode):v.endNode;D.setStartBefore(B);B.remove();if(C){D.setEndBefore(C);C.remove();}else D.collapse(true);}},getBoundaryNodes:function(){var A=this;var v=A.startContainer,w=A.endContainer,x=A.startOffset,y=A.endOffset,z;if(v.type==1){z=v.getChildCount();if(z>x)v=v.getChild(x);else if(z<1)v=v.getPreviousSourceNode();else{v=v.$;while(v.lastChild)v=v.lastChild;v=new d.node(v);v=v.getNextSourceNode()||v;}}if(w.type==1){z=w.getChildCount();if(z>y)w=w.getChild(y).getPreviousSourceNode(true);else if(z<1)w=w.getPreviousSourceNode();else{w=w.$;while(w.lastChild)w=w.lastChild;w=new d.node(w);}}if(v.getPosition(w)&2)v=w;return{startNode:v,endNode:w};},getCommonAncestor:function(v,w){var A=this;var x=A.startContainer,y=A.endContainer,z;if(x.equals(y)){if(v&&x.type==1&&A.startOffset==A.endOffset-1)z=x.getChild(A.startOffset); +else z=x;}else z=x.getCommonAncestor(y);return w&&!z.is?z.getParent():z;},optimize:function(){var x=this;var v=x.startContainer,w=x.startOffset;if(v.type!=1)if(!w)x.setStartBefore(v);else if(w>=v.getLength())x.setStartAfter(v);v=x.endContainer;w=x.endOffset;if(v.type!=1)if(!w)x.setEndBefore(v);else if(w>=v.getLength())x.setEndAfter(v);},optimizeBookmark:function(){var x=this;var v=x.startContainer,w=x.endContainer;if(v.is&&v.is('span')&&v.data('cke-bookmark'))x.setStartAt(v,3);if(w&&w.is&&w.is('span')&&w.data('cke-bookmark'))x.setEndAt(w,4);},trim:function(v,w){var D=this;var x=D.startContainer,y=D.startOffset,z=D.collapsed;if((!v||z)&&x&&x.type==3){if(!y){y=x.getIndex();x=x.getParent();}else if(y>=x.getLength()){y=x.getIndex()+1;x=x.getParent();}else{var A=x.split(y);y=x.getIndex()+1;x=x.getParent();if(D.startContainer.equals(D.endContainer))D.setEnd(A,D.endOffset-D.startOffset);else if(x.equals(D.endContainer))D.endOffset+=1;}D.setStart(x,y);if(z){D.collapse(true);return;}}var B=D.endContainer,C=D.endOffset;if(!(w||z)&&B&&B.type==3){if(!C){C=B.getIndex();B=B.getParent();}else if(C>=B.getLength()){C=B.getIndex()+1;B=B.getParent();}else{B.split(C);C=B.getIndex()+1;B=B.getParent();}D.setEnd(B,C);}},enlarge:function(v,w){switch(v){case 1:if(this.collapsed)return;var x=this.getCommonAncestor(),y=this.document.getBody(),z,A,B,C,D,E=false,F,G,H=this.startContainer,I=this.startOffset;if(H.type==3){if(I){H=!e.trim(H.substring(0,I)).length&&H;E=!!H;}if(H)if(!(C=H.getPrevious()))B=H.getParent();}else{if(I)C=H.getChild(I-1)||H.getLast();if(!C)B=H;}while(B||C){if(B&&!C){if(!D&&B.equals(x))D=true;if(!y.contains(B))break;if(!E||B.getComputedStyle('display')!='inline'){E=false;if(D)z=B;else this.setStartBefore(B);}C=B.getPrevious();}while(C){F=false;if(C.type==8){C=C.getPrevious();continue;}else if(C.type==3){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;F=/[\s\ufeff]$/.test(G);}else if((C.$.offsetWidth>0||w&&C.is('br'))&&!C.data('cke-bookmark'))if(E&&f.$removeEmpty[C.getName()]){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;else{var J=C.$.getElementsByTagName('*');for(var K=0,L;L=J[K++];){if(!f.$removeEmpty[L.nodeName.toLowerCase()]){C=null;break;}}}if(C)F=!!G.length;}else C=null;if(F)if(E){if(D)z=B;else if(B)this.setStartBefore(B);}else E=true;if(C){var M=C.getPrevious();if(!B&&!M){B=C;C=null;break;}C=M;}else B=null;}if(B)B=B.getParent();}H=this.endContainer;I=this.endOffset;B=C=null;D=E=false;if(H.type==3){H=!e.trim(H.substring(I)).length&&H;E=!(H&&H.getLength());if(H)if(!(C=H.getNext()))B=H.getParent(); +}else{C=H.getChild(I);if(!C)B=H;}while(B||C){if(B&&!C){if(!D&&B.equals(x))D=true;if(!y.contains(B))break;if(!E||B.getComputedStyle('display')!='inline'){E=false;if(D)A=B;else if(B)this.setEndAfter(B);}C=B.getNext();}while(C){F=false;if(C.type==3){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;F=/^[\s\ufeff]/.test(G);}else if(C.type==1){if((C.$.offsetWidth>0||w&&C.is('br'))&&!C.data('cke-bookmark'))if(E&&f.$removeEmpty[C.getName()]){G=C.getText();if(/[^\s\ufeff]/.test(G))C=null;else{J=C.$.getElementsByTagName('*');for(K=0;L=J[K++];){if(!f.$removeEmpty[L.nodeName.toLowerCase()]){C=null;break;}}}if(C)F=!!G.length;}else C=null;}else F=1;if(F)if(E)if(D)A=B;else this.setEndAfter(B);if(C){M=C.getNext();if(!B&&!M){B=C;C=null;break;}C=M;}else B=null;}if(B)B=B.getParent();}if(z&&A){x=z.contains(A)?A:z;this.setStartBefore(x);this.setEndAfter(x);}break;case 2:case 3:var N=new d.range(this.document);y=this.document.getBody();N.setStartAt(y,1);N.setEnd(this.startContainer,this.startOffset);var O=new d.walker(N),P,Q,R=d.walker.blockBoundary(v==3?{br:1}:null),S=function(Y){var Z=R(Y);if(!Z)P=Y;return Z;},T=function(Y){var Z=S(Y);if(!Z&&Y.is&&Y.is('br'))Q=Y;return Z;};O.guard=S;B=O.lastBackward();P=P||y;this.setStartAt(P,!P.is('br')&&(!B&&this.checkStartOfBlock()||B&&P.contains(B))?1:4);if(v==3){var U=this.clone();O=new d.walker(U);var V=d.walker.whitespaces(),W=d.walker.bookmark();O.evaluator=function(Y){return!V(Y)&&!W(Y);};var X=O.previous();if(X&&X.type==1&&X.is('br'))return;}N=this.clone();N.collapse();N.setEndAt(y,2);O=new d.walker(N);O.guard=v==3?T:S;P=null;B=O.lastForward();P=P||y;this.setEndAt(P,!B&&this.checkEndOfBlock()||B&&P.contains(B)?2:3);if(Q)this.setEndAfter(Q);}},shrink:function(v,w){if(!this.collapsed){v=v||2;var x=this.clone(),y=this.startContainer,z=this.endContainer,A=this.startOffset,B=this.endOffset,C=this.collapsed,D=1,E=1;if(y&&y.type==3)if(!A)x.setStartBefore(y);else if(A>=y.getLength())x.setStartAfter(y);else{x.setStartBefore(y);D=0;}if(z&&z.type==3)if(!B)x.setEndBefore(z);else if(B>=z.getLength())x.setEndAfter(z);else{x.setEndAfter(z);E=0;}var F=new d.walker(x),G=d.walker.bookmark();F.evaluator=function(K){return K.type==(v==1?1:3);};var H;F.guard=function(K,L){if(G(K))return true;if(v==1&&K.type==3)return false;if(L&&K.equals(H))return false;if(!L&&K.type==1)H=K;return true;};if(D){var I=F[v==1?'lastForward':'next']();I&&this.setStartAt(I,w?1:3);}if(E){F.reset();var J=F[v==1?'lastBackward':'previous']();J&&this.setEndAt(J,w?2:4);}return!!(D||E); +}},insertNode:function(v){var z=this;z.optimizeBookmark();z.trim(false,true);var w=z.startContainer,x=z.startOffset,y=w.getChild(x);if(y)v.insertBefore(y);else w.append(v);if(v.getParent().equals(z.endContainer))z.endOffset++;z.setStartBefore(v);},moveToPosition:function(v,w){this.setStartAt(v,w);this.collapse(true);},selectNodeContents:function(v){this.setStart(v,0);this.setEnd(v,v.type==3?v.getLength():v.getChildCount());},setStart:function(v,w){var x=this;if(v.type==1&&f.$empty[v.getName()])w=v.getIndex(),v=v.getParent();x.startContainer=v;x.startOffset=w;if(!x.endContainer){x.endContainer=v;x.endOffset=w;}l(x);},setEnd:function(v,w){var x=this;if(v.type==1&&f.$empty[v.getName()])w=v.getIndex()+1,v=v.getParent();x.endContainer=v;x.endOffset=w;if(!x.startContainer){x.startContainer=v;x.startOffset=w;}l(x);},setStartAfter:function(v){this.setStart(v.getParent(),v.getIndex()+1);},setStartBefore:function(v){this.setStart(v.getParent(),v.getIndex());},setEndAfter:function(v){this.setEnd(v.getParent(),v.getIndex()+1);},setEndBefore:function(v){this.setEnd(v.getParent(),v.getIndex());},setStartAt:function(v,w){var x=this;switch(w){case 1:x.setStart(v,0);break;case 2:if(v.type==3)x.setStart(v,v.getLength());else x.setStart(v,v.getChildCount());break;case 3:x.setStartBefore(v);break;case 4:x.setStartAfter(v);}l(x);},setEndAt:function(v,w){var x=this;switch(w){case 1:x.setEnd(v,0);break;case 2:if(v.type==3)x.setEnd(v,v.getLength());else x.setEnd(v,v.getChildCount());break;case 3:x.setEndBefore(v);break;case 4:x.setEndAfter(v);}l(x);},fixBlock:function(v,w){var z=this;var x=z.createBookmark(),y=z.document.createElement(w);z.collapse(v);z.enlarge(2);z.extractContents().appendTo(y);y.trim();if(!c)y.appendBogus();z.insertNode(y);z.moveToBookmark(x);return y;},splitBlock:function(v){var F=this;var w=new d.elementPath(F.startContainer),x=new d.elementPath(F.endContainer),y=w.blockLimit,z=x.blockLimit,A=w.block,B=x.block,C=null;if(!y.equals(z))return null;if(v!='br'){if(!A){A=F.fixBlock(true,v);B=new d.elementPath(F.endContainer).block;}if(!B)B=F.fixBlock(false,v);}var D=A&&F.checkStartOfBlock(),E=B&&F.checkEndOfBlock();F.deleteContents();if(A&&A.equals(B))if(E){C=new d.elementPath(F.startContainer);F.moveToPosition(B,4);B=null;}else if(D){C=new d.elementPath(F.startContainer);F.moveToPosition(A,3);A=null;}else{B=F.splitElement(A);if(!c&&!A.is('ul','ol'))A.appendBogus();}return{previousBlock:A,nextBlock:B,wasStartOfBlock:D,wasEndOfBlock:E,elementPath:C};},splitElement:function(v){var y=this; +if(!y.collapsed)return null;y.setEndAt(v,2);var w=y.extractContents(),x=v.clone(false);w.appendTo(x);x.insertAfter(v);y.moveToPosition(v,4);return x;},checkBoundaryOfElement:function(v,w){var x=w==1,y=this.clone();y.collapse(x);y[x?'setStartAt':'setEndAt'](v,x?1:2);var z=new d.walker(y);z.evaluator=q(x);return z[x?'checkBackward':'checkForward']();},checkStartOfBlock:function(){var B=this;var v=B.startContainer,w=B.startOffset;if(c&&w&&v.type==3){var x=e.ltrim(v.substring(0,w));if(t.test(x))B.trim(0,1);}var y=new d.elementPath(B.startContainer),z=B.clone();z.collapse(true);z.setStartAt(y.block||y.blockLimit,1);var A=new d.walker(z);A.evaluator=o();return A.checkBackward();},checkEndOfBlock:function(){var B=this;var v=B.endContainer,w=B.endOffset;if(c&&v.type==3){var x=e.rtrim(v.substring(w));if(t.test(x))B.trim(1,0);}var y=new d.elementPath(B.endContainer),z=B.clone();z.collapse(false);z.setEndAt(y.block||y.blockLimit,2);var A=new d.walker(z);A.evaluator=o();return A.checkForward();},getPreviousNode:function(v,w,x){var y=this.clone();y.collapse(1);y.setStartAt(x||this.document.getBody(),1);var z=new d.walker(y);z.evaluator=v;z.guard=w;return z.previous();},getNextNode:function(v,w,x){var y=this.clone();y.collapse();y.setEndAt(x||this.document.getBody(),2);var z=new d.walker(y);z.evaluator=v;z.guard=w;return z.next();},checkReadOnly:(function(){function v(w,x){while(w){if(w.type==1)if(w.getAttribute('contentEditable')=='false'&&!w.data('cke-editable'))return 0;else if(w.is('html')||w.getAttribute('contentEditable')=='true'&&(w.contains(x)||w.equals(x)))break;w=w.getParent();}return 1;};return function(){var w=this.startContainer,x=this.endContainer;return!(v(w,x)&&v(x,w));};})(),moveToElementEditablePosition:function(v,w){function x(z,A){var B;if(z.type==1&&z.isEditable(false))B=z[w?'getLast':'getFirst'](u);if(!A&&!B)B=z[w?'getPrevious':'getNext'](u);return B;};if(v.type==1&&!v.isEditable(false)){this.moveToPosition(v,w?4:3);return true;}var y=0;while(v){if(v.type==3){if(w&&this.checkEndOfBlock()&&t.test(v.getText()))this.moveToPosition(v,3);else this.moveToPosition(v,w?4:3);y=1;break;}if(v.type==1)if(v.isEditable()){this.moveToPosition(v,w?2:1);y=1;}else if(w&&v.is('br')&&this.checkEndOfBlock())this.moveToPosition(v,3);v=x(v,y);}return!!y;},moveToElementEditStart:function(v){return this.moveToElementEditablePosition(v);},moveToElementEditEnd:function(v){return this.moveToElementEditablePosition(v,true);},getEnclosedNode:function(){var v=this.clone();v.optimize(); +if(v.startContainer.type!=1||v.endContainer.type!=1)return null;var w=new d.walker(v),x=d.walker.bookmark(true),y=d.walker.whitespaces(true),z=function(B){return y(B)&&x(B);};v.evaluator=z;var A=w.next();w.reset();return A&&A.equals(w.previous())?A:null;},getTouchedStartNode:function(){var v=this.startContainer;if(this.collapsed||v.type!=1)return v;return v.getChild(this.startOffset)||v;},getTouchedEndNode:function(){var v=this.endContainer;if(this.collapsed||v.type!=1)return v;return v.getChild(this.endOffset-1)||v;}};})();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);};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());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',a.document);l.appendTo(a.document.getHead());try{b.hc=l.getComputedStyle('border-top-color')==l.getComputedStyle('border-right-color');}catch(m){b.hc=false;}if(b.hc)b.cssClass+=' cke_hc';l.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;m0){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);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('button',k.button.handler);}});a.UI_BUTTON='button';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);}};(function(){k.button.prototype={render:function(m,n){var o=b,p=this._.id=e.getNextId(),q='',r=this.command,s;this._.editor=m;var t={id:p,button:this,editor:m,focus:function(){var z=a.document.getById(p);z.focus();},execute:function(){if(c&&b.version<7)e.setTimeout(function(){this.button.click(m);},0,this);else this.button.click(m);}},u=e.addFunction(function(z){if(t.onkey){z=new d.event(z);return t.onkey(t,z.getKeystroke())!==false;}}),v=e.addFunction(function(z){var A;if(t.onfocus)A=t.onfocus(t,new d.event(z))!==false;if(b.gecko&&b.version<10900)z.preventBubble();return A;});t.clickFn=s=e.addFunction(t.execute,t);if(this.modes){var w={};function x(){var z=m.mode;if(z){var A=this.modes[z]?w[z]!=undefined?w[z]:2:0;this.setState(m.readOnly&&!this.readOnly?0:A);}};m.on('beforeModeUnload',function(){if(m.mode&&this._.state!=0)w[m.mode]=this._.state;},this);m.on('mode',x,this);!this.readOnly&&m.on('readOnly',x,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('','=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;"');if(o.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="return CKEDITOR.tools.callFunction(',u,', event);" onfocus="return CKEDITOR.tools.callFunction(',v,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',s,', this); return false;"> ',this.label,'');if(this.hasArrow)n.push(''+(b.hc?'▼':' ')+'');n.push('','');if(this.onRender)this.onRender();return t;},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.prototype.addButton=function(m,n){this.add(m,'button',n);};(function(){var m=function(y,z){var A=y.document,B=A.getBody(),C=false,D=function(){C=true;};B.on(z,D);(b.version>7?A.$:A.$.selection.createRange()).execCommand(z);B.removeListener(z,D);return C;},n=c?function(y,z){return m(y,z);}:function(y,z){try{return y.document.$.execCommand(z,false,null);}catch(A){return false;}},o=function(y){var z=this;z.type=y;z.canUndo=z.type=='cut';z.startDisabled=true;};o.prototype={exec:function(y,z){this.type=='cut'&&t(y);var A=n(y,this.type);if(!A)alert(y.lang.clipboard[this.type+'Error']);return A;}};var p={canUndo:false,exec:c?function(y){y.focus();if(!y.document.getBody().fire('beforepaste')&&!m(y,'paste')){y.fire('pasteDialog');return false;}}:function(y){try{if(!y.document.getBody().fire('beforepaste')&&!y.document.$.execCommand('Paste',false,null))throw 0;}catch(z){setTimeout(function(){y.fire('pasteDialog');},0);return false;}}},q=function(y){if(this.mode!='wysiwyg')return;switch(y.data.keyCode){case 1114112+86:case 2228224+45:var z=this.document.getBody();if(b.opera||b.gecko)z.fire('paste');return;case 1114112+88:case 2228224+46:var A=this;this.fire('saveSnapshot');setTimeout(function(){A.fire('saveSnapshot');},0);}};function r(y){y.cancel();};function s(y,z,A){var B=this.document;if(B.getById('cke_pastebin'))return;if(z=='text'&&y.data&&y.data.$.clipboardData){var C=y.data.$.clipboardData.getData('text/plain');if(C){y.data.preventDefault();A(C);return;}}var D=this.getSelection(),E=new d.range(B),F=new h(z=='text'?'textarea':b.webkit?'body':'div',B);F.setAttribute('id','cke_pastebin');b.webkit&&F.append(B.createText('\xa0'));B.getBody().append(F);F.setStyles({position:'absolute',top:D.getStartElement().getDocumentPosition().y+'px',width:'1px',height:'1px',overflow:'hidden'});F.setStyle(this.config.contentsLangDirection=='ltr'?'left':'right','-1000px');var G=D.createBookmarks();this.on('selectionChange',r,null,null,0);if(z=='text')F.$.focus();else{E.setStartAt(F,1);E.setEndAt(F,2);E.select(true);}var H=this;window.setTimeout(function(){H.document.getBody().focus();H.removeListener('selectionChange',r);if(b.ie7Compat){D.selectBookmarks(G);F.remove();}else{F.remove();D.selectBookmarks(G);}var I;F=b.webkit&&(I=F.getFirst())&&I.is&&I.hasClass('Apple-style-span')?I:F;A(F['get'+(z=='text'?'Value':'Html')]()); +},0);};function t(y){if(!c||b.quirks)return;var z=y.getSelection(),A;if(z.getType()==3&&(A=z.getSelectedElement())){var B=z.getRanges()[0],C=y.document.createText('');C.insertBefore(A);B.setStartBefore(C);B.setEndAfter(A);z.selectRanges([B]);setTimeout(function(){if(A.getParent()){C.remove();z.selectElement(A);}},0);}};var u,v;function w(y,z){var A;if(v&&y in {Paste:1,Cut:1})return 0;if(y=='Paste'){c&&(u=1);try{A=z.document.$.queryCommandEnabled(y)||b.webkit;}catch(D){}u=0;}else{var B=z.getSelection(),C=B&&B.getRanges();A=B&&!(C.length==1&&C[0].collapsed);}return A?2:0;};function x(){var z=this;if(z.mode!='wysiwyg')return;var y=w('Paste',z);z.getCommand('cut').setState(w('Cut',z));z.getCommand('copy').setState(w('Copy',z));z.getCommand('paste').setState(y);z.fire('pasteState',y);};j.add('clipboard',{requires:['dialog','htmldataprocessor'],init:function(y){y.on('paste',function(A){var B=A.data;if(B.html)y.insertHtml(B.html);else if(B.text)y.insertText(B.text);setTimeout(function(){y.fire('afterPaste');},0);},null,null,1000);y.on('pasteDialog',function(A){setTimeout(function(){y.openDialog('paste');},0);});y.on('pasteState',function(A){y.getCommand('paste').setState(A.data);});function z(A,B,C,D){var E=y.lang[B];y.addCommand(B,C);y.ui.addButton(A,{label:E,command:B});if(y.addMenuItems)y.addMenuItem(B,{label:E,command:B,group:'clipboard',order:D});};z('Cut','cut',new o('cut'),1);z('Copy','copy',new o('copy'),4);z('Paste','paste',p,8);a.dialog.add('paste',a.getUrl(this.path+'dialogs/paste.js'));y.on('key',q,y);y.on('contentDom',function(){var A=y.document.getBody();A.on(!c?'paste':'beforepaste',function(B){if(u)return;var C=B.data&&B.data.$;if(c&&C&&!C.ctrlKey)return;var D={mode:'html'};y.fire('beforePaste',D);s.call(y,B,D.mode,function(E){if(!(E=e.trim(E.replace(/]+data-cke-bookmark[^<]*?<\/span>/ig,''))))return;var F={};F[D.mode]=E;y.fire('paste',F);});});if(c){A.on('contextmenu',function(){u=1;setTimeout(function(){u=0;},0);});A.on('paste',function(B){if(!y.document.getById('cke_pastebin')){B.data.preventDefault();u=0;p.exec(y);}});}A.on('beforecut',function(){!u&&t(y);});A.on('mouseup',function(){setTimeout(function(){x.call(y);},0);},y);A.on('keyup',x,y);});y.on('selectionChange',function(A){v=A.data.selection.getRanges()[0].checkReadOnly();x.call(y);});if(y.contextMenu)y.contextMenu.addListener(function(A,B){var C=B.getRanges()[0].checkReadOnly();return{cut:w('Cut',y),copy:w('Copy',y),paste:w('Paste',y)};});}});})();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(t,u,v){var w=e.getNextId()+'_colorBox';m.ui.add(t,'panelbutton',{label:v,title:v,className:'cke_button_'+t.toLowerCase(),modes:{wysiwyg:1},panel:{css:m.skin.editor.css,attributes:{role:'listbox','aria-label':o.panelTitle}},onBlock:function(x,y){y.autoSize=true;y.element.addClass('cke_colorblock');y.element.setHtml(r(x,u,w));y.element.getDocument().getBody().setStyle('overflow','hidden');k.fire('ready',this);var z=y.keys,A=m.lang.dir=='rtl';z[A?37:39]='next';z[40]='next';z[9]='next';z[A?39:37]='prev';z[38]='prev';z[2228224+9]='prev';z[32]='click';},onOpen:function(){var x=m.getSelection(),y=x&&x.getStartElement(),z=new d.elementPath(y),A;y=z.block||z.blockLimit||m.document.getBody();do A=y&&y.getComputedStyle(u=='back'?'background-color':'color')||'transparent';while(u=='back'&&A=='transparent'&&y&&(y=y.getParent()));if(!A||A=='transparent')A='#ffffff';this._.panel._.iframe.getFrameDocument().getById(w).setStyle('background-color',A);}});};function r(t,u,v){var w=[],x=n.colorButton_colors.split(','),y=e.addFunction(function(E,F){if(E=='?'){var G=arguments.callee;function H(J){this.removeListener('ok',H);this.removeListener('cancel',H);J.name=='ok'&&G(this.getContentElement('picker','selectedColor').getValue(),F);};m.openDialog('colordialog',function(){this.on('ok',H);this.on('cancel',H);});return;}m.focus();t.hide(false);m.fire('saveSnapshot');new a.style(n['colorButton_'+F+'Style'],{color:'inherit'}).remove(m.document);if(E){var I=n['colorButton_'+F+'Style'];I.childRule=F=='back'?function(J){return s(J);}:function(J){return!(J.is('a')||J.getElementsByTag('a').count())||s(J);};new a.style(I,{color:E}).apply(m.document);}m.fire('saveSnapshot');});w.push('
    ',o.auto,'
    ');for(var z=0;z');var A=x[z].split('/'),B=A[0],C=A[1]||B;if(!A[1])B='#'+B.replace(/^(.)(.)(.)$/,'$1$1$2$2$3$3');var D=m.lang.colors[C]||C;w.push(''); +}if(n.colorButton_enableMore===undefined||n.colorButton_enableMore)w.push('');w.push('
    ',o.more,'
    ');return w.join('');};function s(t){return t.getAttribute('contentEditable')=='false'||t.getAttribute('data-nostyle');};}});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)'}};j.colordialog={requires:['dialog'],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'],onLoad:function(){j.contextMenu=e.createClass({base:a.menu,$:function(m){this.base.call(this,m,{panel:{className:m.skinClass+' cke_contextmenu',attributes:{'aria-label':m.lang.contextmenu.options}}});},proto:{addTarget:function(m,n){if(b.opera&&!('oncontextmenu' in document.body)){var o;m.on('mousedown',function(s){s=s.data;if(s.$.button!=2){if(s.getKeystroke()==1114112+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.open(u,null,v,w);},c?200: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);}},open:function(m,n,o,p){this.editor.focus();m=m||a.document.getDocumentElement();this.show(m,n,o,p);}}});},beforeInit:function(m){m.contextMenu=new j.contextMenu(m);m.addCommand('contextMenu',{exec:function(){m.contextMenu.open(m.document.getBody());}});}});(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 ';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(x){if(x.data.space=='bottom')x.data.html+=''+o.lang.elementsPath.eleLabel+''+'
    '+n+'
    ';});function t(x){o.focus();var y=o._.elementsPath.list[x];if(y.is('body')){var z=new d.range(o.document);z.selectNodeContents(y);z.select();}else o.getSelection().selectElement(y);};var u=e.addFunction(t),v=e.addFunction(function(x,y){var z=o._.elementsPath.idBase,A;y=new d.event(y);var B=o.lang.dir=='rtl';switch(y.getKeystroke()){case B?39:37:case 9:A=a.document.getById(z+(x+1));if(!A)A=a.document.getById(z+'0');A.focus();return false;case B?37:39:case 2228224+9:A=a.document.getById(z+(x-1));if(!A)A=a.document.getById(z+(o._.elementsPath.list.length-1));A.focus();return false;case 27:o.focus();return false;case 13:case 32:t(x);return false;}return true;});o.on('selectionChange',function(x){var y=b,z=x.data.selection,A=z.getStartElement(),B=[],C=x.editor,D=C._.elementsPath.list=[],E=C._.elementsPath.filters;while(A){var F=0,G;if(A.data('cke-display-name'))G=A.data('cke-display-name');else if(A.data('cke-real-element-type'))G=A.data('cke-real-element-type');else G=A.getName();for(var H=0;H',G,''+L+'','');}if(G=='body')break;A=A.getParent();}var M=r();M.setHtml(B.join('')+n);C.fire('elementsPathUpdate',{space:M});});function w(){q&&q.setHtml(n);delete o._.elementsPath.list;};o.on('readOnly',w);o.on('contentDomUnload',w);o.addCommand('elementsPathFocus',m.toolbarFocus);}});})();(function(){j.add('enterkey',{requires:['keystrokes','indent'],init:function(t){t.addCommand('enter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){r(v);}});t.addCommand('shiftEnter',{modes:{wysiwyg:1},editorFocus:false,exec:function(v){q(v);}});var u=t.keystrokeHandler.keystrokes;u[13]='enter';u[2228224+13]='shiftEnter';}});j.enterkey={enterBlock:function(t,u,v,w){v=v||s(t);if(!v)return;var x=v.document,y=v.checkStartOfBlock(),z=v.checkEndOfBlock(),A=new d.elementPath(v.startContainer),B=A.block;if(y&&z){if(B&&(B.is('li')||B.getParent().is('li'))){t.execCommand('outdent');return;}if(B&&B.getParent().is('blockquote')){B.breakParent(B.getParent());if(!B.getPrevious().getFirst(d.walker.invisible(1)))B.getPrevious().remove();if(!B.getNext().getFirst(d.walker.invisible(1)))B.getNext().remove();v.moveToElementEditStart(B);v.select();return;}}else if(B&&B.is('pre')){if(!z){n(t,u,v,w);return;}}else if(B&&f.$captionBlock[B.getName()]){n(t,u,v,w);return;}var C=u==3?'div':'p',D=v.splitBlock(C);if(!D)return;var E=D.previousBlock,F=D.nextBlock,G=D.wasStartOfBlock,H=D.wasEndOfBlock,I;if(F){I=F.getParent();if(I.is('li')){F.breakParent(I);F.move(F.getNext(),1);}}else if(E&&(I=E.getParent())&&I.is('li')){E.breakParent(I);I=E.getNext();v.moveToElementEditStart(I);E.move(E.getPrevious());}if(!G&&!H){if(F.is('li')&&(I=F.getFirst(d.walker.invisible(true)))&&I.is&&I.is('ul','ol'))(c?x.createText('\xa0'):x.createElement('br')).insertBefore(I);if(F)v.moveToElementEditStart(F);}else{var J,K;if(E){if(E.is('li')||!(p.test(E.getName())||E.is('pre')))J=E.clone();}else if(F)J=F.clone();if(!J){if(I&&I.is('li'))J=I;else{J=x.createElement(C);if(E&&(K=E.getDirection()))J.setAttribute('dir',K); +}}else if(w&&!J.is('li'))J.renameNode(C);var L=D.elementPath;if(L)for(var M=0,N=L.elements.length;M0;v--)u[v].deleteContents();return u[0];};})();(function(){var m='nbsp,gt,lt,amp',n='quot,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'; function q(r,s){var t={},u=[],v={nbsp:'\xa0',shy:'­',gt:'>',lt:'<',amp:'&',apos:"'",quot:'"'};r=r.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/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=r.split(',');var w=document.createElement('div'),x;w.innerHTML='&'+r.join(';&')+';';x=w.innerHTML;w=null;for(var y=0;y0;case 'checked':return!!q.$.checked;case 'value':var p=q.getAttribute('type');return p=='checkbox'||p=='radio'?q.$.value!='on':q.$.value;}return m.apply(q,arguments);};});(function(){var m={canUndo:false,exec:function(o){var p=o.document.createElement('hr');o.insertElement(p);}},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 ]*(?: |\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,U,V){if(!U&&(!V||typeof V=='function'&&V(T)===false))return false;if(U&&c&&(document.documentMode>7||T.name in f.tr||T.name in f.$listItem))return false;var W=o(T);return!W||W&&(W.type==1&&W.name=='br'||T.name=='form'&&W.name=='input');};function r(T,U){return function(V){p(V,!T);if(q(V,!T,U))if(T||c)V.add(new a.htmlParser.text('\xa0'));else V.add(new a.htmlParser.element('br',{}));};};var s=f,t=['caption','colgroup','col','thead','tfoot','tbody'],u=e.extend({},s.$block,s.$listItem,s.$tableContent);for(var v in u){if(!('br' in s[v]))delete u[v];}delete u.pre;var w={elements:{},attributeNames:[[/^on/,'data-cke-pa-on']]},x={elements:{}};for(v in u)x.elements[v]=r();var y={elementNames:[[/^cke:/,''],[/^\?xml:namespace$/,'']],attributeNames:[[/^data-cke-(saved|pa)-/,''],[/^data-cke-.*/,''],['hidefocus','']],elements:{$:function(T){var U=T.attributes;if(U){if(U['data-cke-temp'])return false;var V=['name','href','src'],W; -for(var X=0;Xe.indexOf(t,W.name)?1:-1:0;});},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['data-cke-saved-name']))return false;},span:function(T){if(T.attributes['class']=='Apple-style-span')delete T.name;},pre:function(T){c&&p(T);},html:function(T){delete T.attributes.contenteditable;delete T.attributes['class'];},body:function(T){delete T.attributes.spellcheck;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['data-cke-title']||'');}},attributes:{'class':function(T,U){return e.ltrim(T.replace(/(?:^|\s+)cke_[^\s]*/g,''))||false;}}};if(c)y.attributes.style=function(T,U){return T.replace(/(^|;)([^\:]+)/g,function(V){return V.toLowerCase();});};function z(T){var U=T.attributes;if(U.contenteditable!='false')U['data-cke-editable']=U.contenteditable?'true':1;U.contenteditable='false';};function A(T){var U=T.attributes;switch(U['data-cke-editable']){case 'true':U.contenteditable='true';break;case '1':delete U.contenteditable;break;}};for(v in {input:1,textarea:1}){w.elements[v]=z;y.elements[v]=A;}var B=/<(a|area|img|input)\b([^>]*)>/gi,C=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,D=/(?:])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,E=/([^<]*)<\/cke:encoded>/gi,F=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,G=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,H=/]*?)\/?>(?!\s*<\/cke:\1)/gi;function I(T){return T.replace(B,function(U,V,W){return '<'+V+W.replace(C,function(X,Y){if(!/^on/.test(Y)&&W.indexOf('data-cke-saved-'+Y)==-1)return ' data-cke-saved-'+X+' data-cke-'+a.rnd+'-'+X;return X;})+'>';});};function J(T){return T.replace(D,function(U){return ''+encodeURIComponent(U)+'';});};function K(T){return T.replace(E,function(U,V){return decodeURIComponent(V);});};function L(T){return T.replace(F,'$1cke:$2');};function M(T){return T.replace(G,'$1$2'); -};function N(T){return T.replace(H,'');};function O(T){return T.replace(/(]*>)(\r\n|\n)/g,'$1$2$2');};function P(T){return T.replace(//g,function(U){return '';});};function Q(T){return T.replace(//g,function(U,V){return decodeURIComponent(V);});};function R(T,U){var V=U._.dataStore;return T.replace(//g,function(W,X){return decodeURIComponent(X);}).replace(/\{cke_protected_(\d+)\}/g,function(W,X){return V&&V[X]||'';});};function S(T,U){var V=[],W=U.config.protectedSource,X=U._.dataStore||(U._.dataStore={id:1}),Y=/<\!--\{cke_temp(comment)?\}(\d*?)-->/g,Z=[//gi,//gi].concat(W);T=T.replace(//g,function(ab){return '';});for(var aa=0;aa';});T=T.replace(Y,function(ab,ac,ad){return '';});return T.replace(/(['"]).*?\1/g,function(ab){return ab.replace(//g,function(ac,ad){X[X.id]=decodeURIComponent(ad);return '{cke_protected_'+X.id++ +'}';});});};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);var V={elements:{}};for(v in u)V.elements[v]=r(true,T.config.fillEmptyBlocks);U.htmlFilter.addRules(V);},onLoad:function(){!('fillEmptyBlocks' in i)&&(i.fillEmptyBlocks=1);}});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);T=I(T);T=J(T);T=L(T);T=N(T);T=O(T);var V=new h('div');V.setHtml('a'+T);T=V.getHtml().substr(1);T=T.replace(new RegExp(' data-cke-'+a.rnd+'-','ig'),' ');T=M(T);T=K(T);T=Q(T);var W=a.htmlParser.fragment.fromHtml(T,U),X=new a.htmlParser.basicWriter();W.writeHtml(X,this.dataFilter);T=X.getHtml(true);T=P(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);var X=V.getHtml(true);X=Q(X);X=R(X,this.editor);return X;}};})();(function(){j.add('iframe',{requires:['dialog','fakeobjects'],init:function(m){var n='iframe',o=m.lang.iframe;a.dialog.add(n,this.path+'dialogs/iframe.js');m.addCommand(n,new a.dialogCommand(n));m.addCss('img.cke_iframe{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;'+'}');m.ui.addButton('Iframe',{label:o.toolbar,command:n});m.on('doubleclick',function(p){var q=p.data.element;if(q.is('img')&&q.data('cke-real-element-type')=='iframe')p.data.dialog='iframe';});if(m.addMenuItems)m.addMenuItems({iframe:{label:o.title,command:'iframe',group:'image'}});if(m.contextMenu)m.contextMenu.addListener(function(p,q){if(p&&p.is('img')&&p.data('cke-real-element-type')=='iframe')return{iframe:2};});},afterInit:function(m){var n=m.dataProcessor,o=n&&n.dataFilter;if(o)o.addRules({elements:{iframe:function(p){return m.createFakeParserElement(p,'cke_iframe','iframe',true);}}});}});})();(function(){j.add('image',{requires:['dialog'],init:function(o){var p='image';a.dialog.add(p,this.path+'dialogs/image.js');o.addCommand(p,new a.dialogCommand(p));o.ui.addButton('Image',{label:o.lang.common.image,command:p});o.on('doubleclick',function(q){var r=q.data.element;if(r.is('img')&&!r.data('cke-realelement')&&!r.isReadOnly())q.data.dialog='image';});if(o.addMenuItems)o.addMenuItems({image:{label:o.lang.image.menu,command:'image',group:'image'}});if(o.contextMenu)o.contextMenu.addListener(function(q,r){if(m(o,q))return{image:2};});},afterInit:function(o){p('left');p('right');p('center');p('block');function p(q){var r=o.getCommand('justify'+q);if(r){if(q=='left'||q=='right')r.on('exec',function(s){var t=m(o),u;if(t){u=n(t);if(u==q){t.removeStyle('float');if(q==n(t))t.removeAttribute('align');}else t.setStyle('float',q);s.cancel();}});r.on('refresh',function(s){var t=m(o),u;if(t){u=n(t);this.setState(u==q?1:q=='right'||q=='left'?2:0);s.cancel();}});}};}});function m(o,p){if(!p){var q=o.getSelection();p=q.getType()==3&&q.getSelectedElement();}if(p&&p.is('img')&&!p.data('cke-realelement')&&!p.isReadOnly())return p;};function n(o){var p=o.getStyle('float');if(p=='inherit'||p=='none')p=0;if(!p)p=o.getAttribute('align');return p;};})();i.image_removeLinkByEmptyURL=true;(function(){var m={ol:1,ul:1},n=d.walker.whitespaces(true),o=d.walker.bookmark(false,true); -function p(t){var B=this;if(t.editor.readOnly)return null;var u=t.editor,v=t.data.path,w=v&&v.contains(m),x=v.block||v.blockLimit;if(w)return B.setState(2);if(!B.useIndentClasses&&B.name=='indent')return B.setState(2);if(!x)return B.setState(0);if(B.useIndentClasses){var y=x.$.className.match(B.classNameRegex),z=0;if(y){y=y[1];z=B.indentClassMap[y];}if(B.name=='outdent'&&!z||B.name=='indent'&&z==u.config.indentClasses.length)return B.setState(0);return B.setState(2);}else{var A=parseInt(x.getStyle(r(x)),10);if(isNaN(A))A=0;if(A<=0)return B.setState(0);return B.setState(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)');w.indentClassMap={};for(var v=0;v0){var Z=X[T].parent;X[T].parent=new h(Z.getName(),Z.getDocument());}}for(T=W.getCustomData('listarray_index')+1;TY;T++)X[T].indent+=U;var aa=j.list.arrayToList(X,v,null,t.config.enterMode,M.getDirection());if(u.name=='outdent'){var ab;if((ab=M.getParent())&&ab.is('li')){var ac=aa.listNode.getChildren(),ad=[],ae=ac.count(),af;for(T=ae-1;T>=0;T--){if((af=ac.getItem(T))&&af.is&&af.is('li'))ad.push(af);}}}if(aa)aa.listNode.replace(M);if(ad&&ad.length)for(T=0;T0)M.addClass(t.config.indentClasses[P-1]);}else{var Q=r(M,N),R=parseInt(M.getStyle(Q),10);if(isNaN(R))R=0;var S=t.config.indentOffset||40;R+=(u.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+(t.config.indentUnit||'px'):'');if(M.getAttribute('style')==='')M.removeAttribute('style');}h.setMarker(v,M,'indent_processed',1);return true;};var z=t.getSelection(),A=z.createBookmarks(1),B=z&&z.getRanges(1),C,D=B.createIterator();while(C=D.getNextRange()){var E=C.getCommonAncestor(),F=E;while(F&&!(F.type==1&&m[F.getName()]))F=F.getParent();if(!F){var G=C.getEnclosedNode();if(G&&G.type==1&&G.getName() in m){C.setStartAt(G,1);C.setEndAt(G,2);F=G;}}if(F&&C.startContainer.type==1&&C.startContainer.getName() in m){var H=new d.walker(C);H.evaluator=s;C.startContainer=H.next();}if(F&&C.endContainer.type==1&&C.endContainer.getName() in m){H=new d.walker(C);H.evaluator=s;C.endContainer=H.previous();}if(F){var I=F.getFirst(s),J=!!I.getNext(s),K=C.startContainer,L=I.equals(K)||I.contains(K);if(!(L&&(u.name=='indent'||u.useIndentClasses||parseInt(F.getStyle(r(F)),10))&&y(F,!J&&I.getDirection())))w(F);}else x();}h.clearAllMarkers(v);t.forceNextSelectionCheck();z.selectBookmarks(A);}};j.add('indent',{init:function(t){var u=t.addCommand('indent',new q(t,'indent')),v=t.addCommand('outdent',new q(t,'outdent'));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;}');t.on('dirChanged',function(w){var x=new d.range(t.document);x.setStartBefore(w.data.node);x.setEndAfter(w.data.node);var y=new d.walker(x),z;while(z=y.next()){if(z.type==1){if(!z.equals(w.data.node)&&z.getDirection()){x.setStartAfter(z);y=new d.walker(x);continue;}var A=t.config.indentClasses;if(A){var B=w.data.dir=='ltr'?['_rtl','']:['','_rtl'];for(var C=0;C=0;z--){w=u[z].createIterator();w.enlargeBr=s!=2;while(x=w.getNextParagraph(s==1?'p':'div')){x.removeAttribute('align');x.removeStyle('text-align');var A=v&&(x.$.className=e.ltrim(x.$.className.replace(C.cssClassRegex,''))),B=C.state==2&&(!y||m(x,true)!=C.value);if(v){if(B)x.addClass(v);else if(!A)x.removeAttribute('class');}else if(B)x.setStyle('text-align',C.value);}}q.focus();q.forceNextSelectionCheck();r.selectBookmarks(t);},refresh:function(q){var r=q.block||q.blockLimit;this.setState(r.getName()!='body'&&m(r,this.editor.config.useComputedState)==this.value?1:2);}};j.add('justify',{init:function(q){var r=new o(q,'justifyleft','left'),s=new o(q,'justifycenter','center'),t=new o(q,'justifyright','right'),u=new o(q,'justifyblock','justify'); -q.addCommand('justifyleft',r);q.addCommand('justifycenter',s);q.addCommand('justifyright',t);q.addCommand('justifyblock',u);q.ui.addButton('JustifyLeft',{label:q.lang.justify.left,command:'justifyleft'});q.ui.addButton('JustifyCenter',{label:q.lang.justify.center,command:'justifycenter'});q.ui.addButton('JustifyRight',{label:q.lang.justify.right,command:'justifyright'});q.ui.addButton('JustifyBlock',{label:q.lang.justify.block,command:'justifyblock'});q.on('selectionChange',e.bind(n,r));q.on('selectionChange',e.bind(n,t));q.on('selectionChange',e.bind(n,s));q.on('selectionChange',e.bind(n,u));q.on('dirChanged',p);},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;r7))Y.append(T.createText('\xa0'));Y.append(af.listNode);W=af.nextIndex;}else if(ac.indent==-1&&!P&&ad){if(m[ad.getName()]){Y=ac.element.clone(false,true);if(Z!=ad.getDirection(1))Y.setAttribute('dir',Z);}else Y=new d.documentFragment(T);var ag=ad.getDirection(1)!=Z,ah=ac.element,ai=ah.getAttribute('class'),aj=ah.getAttribute('style'),ak=Y.type==11&&(Q!=2||ag||aj||ai),al,am=ac.contents.length;for(S=0;SQ[S-1].indent+1){var W=Q[S-1].indent+1-Q[S].indent,X=Q[S].indent;while(Q[S]&&Q[S].indent>=X){Q[S].indent+=W;S++;}S--;}}var Y=j.list.arrayToList(Q,P,null,N.config.enterMode,O.root.getAttribute('dir')),Z=Y.listNode,aa,ab;function ac(ad){if((aa=Z[ad?'getFirst':'getLast']())&&!(aa.is&&aa.isBlockBoundary())&&(ab=O.root[ad?'getPrevious':'getNext'](d.walker.whitespaces(true)))&&!(ab.is&&ab.isBlockBoundary({br:1})))N.document.createElement('br')[ad?'insertBefore':'insertAfter'](aa);};ac(true);ac();Z.replace(O.root);};function z(N,O){this.name=N;this.type=O;};var A=d.walker.nodeType(1);function B(N,O,P,Q){var R,S; -while(R=N[Q?'getLast':'getFirst'](A)){if((S=R.getDirection(1))!==O.getDirection(1))R.setAttribute('dir',S);R.remove();P?R[Q?'insertBefore':'insertAfter'](P):O.append(R,Q);}};z.prototype={exec:function(N){var aq=this;var O=N.document,P=N.config,Q=N.getSelection(),R=Q&&Q.getRanges(true);if(!R||R.length<1)return;if(aq.state==2){var S=O.getBody();if(!S.getFirst(q)){P.enterMode==2?S.appendBogus():R[0].fixBlock(1,P.enterMode==1?'p':'div');Q.selectRanges(R);}else{var T=R.length==1&&R[0],U=T&&T.getEnclosedNode();if(U&&U.is&&aq.type==U.getName())aq.setState(1);}}var V=Q.createBookmarks(true),W=[],X={},Y=R.createIterator(),Z=0;while((T=Y.getNextRange())&&++Z){var aa=T.getBoundaryNodes(),ab=aa.startNode,ac=aa.endNode;if(ab.type==1&&ab.getName()=='td')T.setStartAt(aa.startNode,1);if(ac.type==1&&ac.getName()=='td')T.setEndAt(aa.endNode,2);var ad=T.createIterator(),ae;ad.forceBrBreak=aq.state==2;while(ae=ad.getNextParagraph()){if(ae.getCustomData('list_block'))continue;else h.setMarker(X,ae,'list_block',1);var af=new d.elementPath(ae),ag=af.elements,ah=ag.length,ai=null,aj=0,ak=af.blockLimit,al;for(var am=ah-1;am>=0&&(al=ag[am]);am--){if(m[al.getName()]&&ak.contains(al)){ak.removeCustomData('list_group_object_'+Z);var an=al.getCustomData('list_group_object');if(an)an.contents.push(ae);else{an={root:al,contents:[ae]};W.push(an);h.setMarker(X,al,'list_group_object',an);}aj=1;break;}}if(aj)continue;var ao=ak;if(ao.getCustomData('list_group_object_'+Z))ao.getCustomData('list_group_object_'+Z).contents.push(ae);else{an={root:ao,contents:[ae]};h.setMarker(X,ao,'list_group_object_'+Z,an);W.push(an);}}}var ap=[];while(W.length>0){an=W.shift();if(aq.state==2){if(m[an.root.getName()])v.call(aq,N,an,X,ap);else x.call(aq,N,an,ap);}else if(aq.state==1&&m[an.root.getName()])y.call(aq,N,an,X);}for(am=0;am0)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'&&!v.readOnly){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(''); -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:!b.iOS,source:!b.iOS},readOnly: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));var H={overflow:b.webkit?'':'hidden',width:0,height:0};u.getDocumentElement().setStyles(H);!b.gecko&&u.getDocumentElement().setStyle('position','fixed');!(b.gecko&&b.quirks)&&u.getBody().setStyles(H);c?setTimeout(function(){v.$.scrollTo(0,0);},0):v.$.scrollTo(0,0);C.setStyle('position',b.gecko&&b.quirks?'fixed':'absolute');C.$.offsetLeft;C.setStyles({'z-index':s.config.baseFloatZIndex-1,left:'0px',top:'0px'});z=r(C);C.addClass('cke_maximized');A();var I=C.getDocumentPosition();C.setStyles({left:-1*I.x+'px',top:-1*I.y+'px'});b.gecko&&q(s);}else if(this.state==1){v.removeListener('resize',A);var J=[D,C];for(var K=0;K ');s.children.length=0;s.add(u);var v=s.attributes;delete v['aria-label'];delete v.contenteditable;delete v.title;}return t;}}},5);if(p)p.addRules({elements:{div:function(r){var s=r.attributes,t=s&&s.style,u=t&&r.children.length==1&&r.children[0],v=u&&u.name=='span'&&u.attributes.style;if(v&&/page-break-after\s*:\s*always/i.test(t)&&/display\s*:\s*none/i.test(v)){s.contenteditable='false';s['class']='cke_pagebreak';s['data-cke-display-name']='pagebreak';s['aria-label']=n;s.title=n;r.children.length=0;}}}});},requires:['fakeobjects']});j.pagebreakCmd={exec:function(m){var n=m.lang.pagebreakAlt,o=h.createFromHtml('
    '+'
    ',m.document),p=m.getSelection().getRanges(true);m.fire('saveSnapshot');for(var q,r=p.length-1;r>=0;r--){q=p[r];if(r1&&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{var t=navigator.userAgent.toLowerCase();if(t.indexOf(' chrome/')==-1){s.moveTo(r,q);s.resizeTo(n,o);}s.focus();s.location.href=m;}catch(u){s=window.open(m,null,p,true);}return true;}});(function(){var m,n={modes:{wysiwyg:1,source:1},canUndo:false,readOnly:1,exec:function(p){var q,r=p.config,s=r.baseHref?'':'',t=b.isCustomDomain();if(r.fullPage)q=p.getData().replace(//,'$&'+s).replace(/[^>]*(?=<\/title>)/,'$& — '+p.lang.preview);else{var u=''+''+s+''+p.lang.preview+''+e.buildStyleHtml(p.config.contentsCss)+''+u+p.getData()+'';}var w=640,x=420,y=80;try{var z=window.screen;w=Math.round(z.width*0.8);x=Math.round(z.height*0.7);y=Math.round(z.width*0.1);}catch(D){}var A='';if(t){window._cke_htmlToLoad=q;A='javascript:void( (function(){document.open();document.domain="'+document.domain+'";'+'document.write( window.opener._cke_htmlToLoad );'+'document.close();'+'window.opener._cke_htmlToLoad = null;'+'})() )';}if(b.gecko){window._cke_htmlToLoad=q;A=m+'preview.html';}var B=window.open(A,null,'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width='+w+',height='+x+',left='+y);if(!t&&!b.gecko){var C=B.document;C.open();C.write(q);C.close();b.webkit&&setTimeout(function(){C.body.innerHTML+='';},0);}}},o='preview';j.add(o,{init:function(p){m=this.path;p.addCommand(o,n);p.ui.addButton('Preview',{label:p.lang.preview,command:o});}});})();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,readOnly:1,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)s.enlarge(1);var t=s.createBookmark(),u=t.startNode,v=t.endNode,w,x=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);}};x(u);if(v){x(v);w=u.getNextSourceNode(true,1);while(w){if(w.equals(v))break;var y=w.getNextSourceNode(false,1);if(!(w.getName()=='img'&&w.data('cke-realelement'))&&p(m,w))if(n.test(w.getName()))w.remove(1);else{w.removeAttributes(o);m.fire('removeFormatCleanup',w);}w=y;}}s.moveToBookmark(t);}m.getSelection().selectRanges(q);}}},filter:function(m,n){var o=m._.removeFormat.filters;for(var p=0;pr.width&&(n.resize_minWidth=r.width);n.resize_minHeight>r.height&&(n.resize_minHeight=r.height);a.document.on('mousemove',u);a.document.on('mouseup',v);if(m.document){m.document.on('mousemove',u);m.document.on('mouseup',v);}});m.on('destroy',function(){e.removeFunction(w);});m.on('themeSpace',function(x){if(x.data.space=='bottom'){var y=''; -if(s&&!t)y=' cke_resizer_horizontal';if(!s&&t)y=' cke_resizer_vertical';var z='
    ';o=='ltr'&&y=='ltr'?x.data.html+=z:x.data.html=z+x.data.html;}},m,null,100);}}});(function(){var m={modes:{wysiwyg:1,source:1},readOnly: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();},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(E){new h(E,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;try{C.setDisabled(q.isPaused(t)===false);}catch(E){}t.fire('showScaytState');};t.on('contentDom',u);t.on('contentDomUnload',function(){var y=a.document.getElementsByTag('script'),z=/^dojoIoScript(\d+)$/i,A=/^https?:\/\/svc\.webspellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i;for(var B=0;B=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='';u=u.split('|');if(u&&u.length)for(var w=0;w 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,readOnly:1,exec:function(q){this.toggleState();this.refresh(q);},refresh:function(q){if(q.document){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)&&(!w||w.indexOf(m)==-1))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);};});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');m.readOnly&&p.setAttribute('readOnly','readonly');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);}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',{previousMode:m._.previousMode});},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.on('readOnly',function(){if(m.mode=='source')if(m.readOnly)m.textarea.setAttribute('readOnly','readonly');else m.textarea.removeAttribute('readOnly');});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,readOnly:1,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=[],s;function t(u){n.getStylesSet(function(v){if(!r.length){var w,x;for(var y=0,z=v.length;y0)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;L1&&V&&U[Y]==V[Y]){Z=U[Y];Z.rowSpan+=1;}else{Z=new h(U[Y]).clone();Z.removeAttribute('rowSpan');!c&&Z.appendBogus();X.append(Z);Z=Z.$;}Y+=Z.colSpan-1;}H?X.insertBefore(S):X.insertAfter(S);};function q(G){if(G instanceof d.selection){var H=n(G),I=H[0],J=I.getAscendant('table'),K=e.buildTableMap(J),L=H[0].getParent(),M=L.$.rowIndex,N=H[H.length-1],O=N.getParent().$.rowIndex+N.$.rowSpan-1,P=[];for(var Q=M;Q<=O;Q++){var R=K[Q],S=new h(J.$.rows[Q]);for(var T=0;T0?X[M-1]:null)||J.$.parentNode);for(Q=P.length;Q>=0;Q--)q(P[Q]);return Y;}else if(G instanceof h){J=G.getAscendant('table');if(J.$.rows.length==1)J.remove();else G.remove();}return null;};function r(G,H){var I=G.getParent(),J=I.$.cells,K=0;for(var L=0;LI)I=K;}return I;};function t(G,H){var I=n(G),J=I[0],K=J.getAscendant('table'),L=s(I,1),M=s(I),N=H?L:M,O=e.buildTableMap(K),P=[],Q=[],R=O.length;for(var S=0;S1&&Q.length&&Q[S]==P[S]){U=P[S];U.colSpan+=1;}else{U=new h(P[S]).clone();U.removeAttribute('colSpan');!c&&U.appendBogus();U[H?'insertBefore':'insertAfter'].call(U,new h(P[S]));U=U.$;}S+=U.rowSpan-1;}};function u(G){var H=n(G),I=H[0],J=H[H.length-1],K=I.getAscendant('table'),L=e.buildTableMap(K),M,N,O=[];for(var P=0,Q=L.length;P1){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=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&&K1)J+=K[H].rowSpan-1;}return I;};function C(G,H,I){var J=n(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{var U=parseInt(M.getAttribute('rowspan'),10)||1,V=parseInt(M.getAttribute('colspan'),10)||1;T=O[H=='up'?R-U:H=='down'?R+U:R][H=='left'?S-V:H=='right'?S+V:S];}catch(an){return false;}if(!T||M.$==T)return false;J[H=='up'||H=='left'?'unshift':'push'](new h(T));}var W=M.getDocument(),X=R,Y=0,Z=0,aa=!I&&new d.documentFragment(W),ab=0;for(var ac=0;ac=Q)M.removeAttribute('rowSpan');else M.$.rowSpan=Y;if(Y>=P)M.removeAttribute('colSpan');else M.$.colSpan=Z;var ak=new d.nodeList(N.$.rows),al=ak.count();for(ac=al-1;ac>=0;ac--){var am=ak.getItem(ac);if(!am.$.cells.length){am.remove();al++;continue;}}return M;}else return Y*Z==ab;};function D(G,H){var I=n(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;XO){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;Z1)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;U0?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}; -}},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:n};j.add('tabletools',j.tabletools);})();e.buildTableMap=function(m){var n=m.$.rows,o=-1,p=[];for(var q=0;qp&&(!s||!t||vt){s=v;t=u;}}else{if(q&&u==p){s=v;break;}if(ut)){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':' style="display:none">');t.push('',o.lang.toolbars,'');var w=o.toolbox.toolbars,x=o.config.toolbar instanceof Array?o.config.toolbar:o.config['toolbar_'+o.config.toolbar];for(var y=0;y');v=0;}if(C==='/'){t.push('
    ');continue;}D=C.items||C;for(var E=0;E');B&&t.push('',B,'');t.push('');var I=w.push(A)-1;if(I>0){A.previous=w[I-1];A.previous.next=A;}}if(H){if(!v){t.push('');v=1;}}else if(v){t.push('');v=0;}var J=F.render(o,t);I=A.items.push(J)-1;if(I>0){J.previous=A.items[I-1];J.previous.next=J;}J.toolbar=A;J.onkey=q;J.onfocus=function(){if(!o.toolbox.focusCommandExecuted)o.focus();};}}if(v){t.push('');v=0;}if(A)t.push('');}t.push('');if(o.config.toolbarCanCollapse){var K=e.addFunction(function(){o.execCommand('toolbarCollapse');});o.on('destroy',function(){e.removeFunction(K);});var L=e.getNextId();o.addCommand('toolbarCollapse',{readOnly:1,exec:function(M){var N=a.document.getById(L),O=N.getPrevious(),P=M.getThemeSpace('contents'),Q=O.getParent(),R=parseInt(P.$.style.height,10),S=Q.$.offsetHeight,T=!O.isVisible();if(!T){O.hide();N.addClass('cke_toolbox_collapser_min');N.setAttribute('title',M.lang.toolbarExpand);}else{O.show();N.removeClass('cke_toolbox_collapser_min');N.setAttribute('title',M.lang.toolbarCollapse);}N.getFirst().setText(T?'▲':'◀');var U=Q.$.offsetHeight-S;P.setStyle('height',R-U+'px');M.fire('resize');},modes:{wysiwyg:1,source:1}});t.push('','','');}r.data.html+=t.join('');}});o.on('destroy',function(){var r,s=0,t,u,v;r=this.toolbox.toolbars;for(;s');return{};}};}});}});})();a.UI_SEPARATOR='separator';i.toolbarLocation='top';i.toolbar_Basic=[['Bold','Italic','-','NumberedList','BulletedList','-','Link','Unlink','-','About']];i.toolbar_Full=[{name:'document',items:['Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates']},{name:'clipboard',items:['Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo']},{name:'editing',items:['Find','Replace','-','SelectAll','-','SpellChecker','Scayt']},{name:'forms',items:['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField']},'/',{name:'basicstyles',items:['Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat']},{name:'paragraph',items:['NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl']},{name:'links',items:['Link','Unlink','Anchor']},{name:'insert',items:['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe']},'/',{name:'styles',items:['Styles','Format','Font','FontSize']},{name:'colors',items:['TextColor','BGColor']},{name:'tools',items:['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(x){t.save(x.data&&x.data.contentOnly);});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.readOnly?false:s.mode=='wysiwyg';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)t.update();});}});j.undo={};var m=j.undo.Image=function(s){this.editor=s;s.fire('beforeUndoImage');var t=s.getSnapshot(),u=t&&s.getSelection();c&&t&&(t=t.replace(/\s+data-cke-expando=".*?"/g,''));this.contents=t;this.bookmarks=u&&u.createBookmarks2(true);s.fire('afterUndoImage');},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;y25){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;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 w=this;var t=w.editor,u;if(s.bookmarks){t.focus();u=t.getSelection();}w.editor.loadSnapshot(s.contents);if(s.bookmarks)u.selectBookmarks(s.bookmarks);else if(c){var v=w.editor.document.getBody().$.createTextRange();v.collapse(true);v.select();}w.index=s.index;w.update();w.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]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:]*>| |\u00A0| )?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi,n=d.walker.whitespaces(true),o=d.walker.bogus(true),p=function(E){return n(E)&&o(E);};function q(E){return E.isBlockBoundary()&&f.$empty[E.getName()];};function r(E){return function(F){if(this.mode=='wysiwyg'){this.focus();var G=this.getSelection(),H=G.isLocked;H&&G.unlock();this.fire('saveSnapshot');E.call(this,F.data);H&&this.getSelection().lock();e.setTimeout(function(){this.fire('saveSnapshot');},0,this);}};};function s(E){var N=this;if(N.dataProcessor)E=N.dataProcessor.toHtml(E);if(!E)return;var F=N.getSelection(),G=F.getRanges()[0];if(G.checkReadOnly())return;if(b.opera){var H=new d.elementPath(G.startContainer);if(H.block){var I=a.htmlParser.fragment.fromHtml(E,false).children;for(var J=0,K=I.length;J'+Q+'';});I=I.replace(/\n/g,'
    ');if(!(H||c))I=I.replace(new RegExp('
    (?=)'),function(O){return e.repeat(O,2);});if(b.gecko||b.webkit){var K=new d.elementPath(F.getStartElement()),L=[];for(var M=0;M/));else if(N in f.$block)break;}I=L.join('')+I;}s.call(this,I);};function u(E){var F=this.getSelection(),G=F.getRanges(),H=E.getName(),I=f.$block[H],J=F.isLocked;if(J)F.unlock();var K,L,M,N;for(var O=G.length-1;O>=0;O--){K=G[O];if(!K.checkReadOnly()){K.deleteContents(1);L=!O&&E||E.clone(1);var P,Q;if(I)while((P=K.getCommonAncestor(0,1))&&(Q=f[P.getName()])&&!(Q&&Q[H])){if(P.getName() in f.span)K.splitElement(P);else if(K.checkStartOfBlock()&&K.checkEndOfBlock()){K.setStartBefore(P);K.collapse(true);P.remove();}else K.splitBlock();}K.insertNode(L);if(!M)M=L;}}if(M){K.moveToPosition(M,4);if(I){var R=M.getNext(p),S=R&&R.type==1&&R.getName();if(S&&f.$block[S]){if(f[S]['#'])K.moveToElementEditStart(R);else K.moveToElementEditEnd(M);}else if(!R){R=K.fixBlock(true,this.config.enterMode==3?'div':'p');K.moveToElementEditStart(R);}}}F.selectRanges([K]);if(J)this.getSelection().lock();};function v(E){if(!E.checkDirty())setTimeout(function(){E.resetDirty();},0);};var w=d.walker.whitespaces(true),x=d.walker.bookmark(false,true);function y(E){return w(E)&&x(E);};function z(E){return E.type==3&&e.trim(E.getText()).match(/^(?: |\xa0)$/);};function A(E){if(E.isLocked){E.unlock();setTimeout(function(){E.lock();},0);}};function B(E){return E.getOuterHtml().match(m);};w=d.walker.whitespaces(true);function C(E){var F=E.window,G=E.document,H=E.document.getBody(),I=H.getFirst(),J=H.getChildren().count();if(!J||J==1&&I.type==1&&I.hasAttribute('_moz_editor_bogus_node')){v(E);var K=E.element.getDocument(),L=K.getDocumentElement(),M=L.$.scrollTop,N=L.$.scrollLeft,O=G.$.createEvent('KeyEvents'); -O.initKeyEvent('keypress',true,true,F.$,false,false,false,false,0,32);G.$.dispatchEvent(O);if(M!=L.$.scrollTop||N!=L.$.scrollLeft)K.getWindow().$.scrollTo(N,M);J&&H.getFirst().remove();G.getBody().appendBogus();var P=new d.range(G);P.setStartAt(H,1);P.select();}};function D(E){var F=E.editor,G=E.data.path,H=G.blockLimit,I=E.data.selection,J=I.getRanges()[0],K=F.document.getBody(),L=F.config.enterMode;if(b.gecko){C(F);var M=G.block||G.blockLimit,N=M&&M.getLast(y);if(M&&M.isBlockBoundary()&&!(N&&N.type==1&&N.isBlockBoundary())&&!M.is('pre')&&!M.getBogus())M.appendBogus();}if(F.config.autoParagraph!==false&&L!=2&&J.collapsed&&H.getName()=='body'&&!G.block){var O=J.fixBlock(true,F.config.enterMode==3?'div':'p');if(c){var P=O.getFirst(y);P&&z(P)&&P.remove();}if(B(O)){var Q=O.getNext(w);if(Q&&Q.type==1&&!q(Q)){J.moveToElementEditStart(Q);O.remove();}else{Q=O.getPrevious(w);if(Q&&Q.type==1&&!q(Q)){J.moveToElementEditEnd(Q);O.remove();}}}J.select();E.cancel();}var R=new d.range(F.document);R.moveToElementEditEnd(F.document.getBody());var S=new d.elementPath(R.startContainer);if(!S.blockLimit.is('body')){var T;if(L!=2)T=K.append(F.document.createElement(L==1?'p':'div'));else T=K;if(!c)T.appendBogus();}};j.add('wysiwygarea',{requires:['editingblock'],init:function(E){var F=E.config.enterMode!=2&&E.config.autoParagraph!==false?E.config.enterMode==3?'div':'p':false,G=E.lang.editorTitle.replace('%1',E.name),H=E.lang.editorHelp;if(c)G+=', '+H;var I=a.document.getWindow(),J;E.on('editingBlockReady',function(){var M,N,O,P,Q,R,S,T=b.isCustomDomain(),U=function(X){if(N)N.remove();var Y='document.open();'+(T?'document.domain="'+document.domain+'";':'')+'document.close();';Y=b.air?'javascript:void(0)':c?'javascript:void(function(){'+encodeURIComponent(Y)+'}())':'';var Z=e.getNextId();N=h.createFromHtml('');if(document.location.protocol=='chrome:')a.event.useCapture=true;N.on('load',function(aa){Q=1;aa.removeListener();var ab=N.getFrameDocument();ab.write(X);b.air&&W(ab.getWindow().$);});if(document.location.protocol=='chrome:')a.event.useCapture=false;M.append(h.createFromHtml(''+H+''));M.append(N);if(b.webkit){S=function(){M.setStyle('width','100%');N.hide();N.setSize('width',M.getSize('width'));M.removeStyle('width');N.show();};I.on('resize',S); -}};J=e.addFunction(W);var V='';function W(X){if(!Q)return;Q=0;E.fire('ariaWidget',N);var Y=X.document,Z=Y.body,aa=Y.getElementById('cke_actscrpt');aa&&aa.parentNode.removeChild(aa);Z.spellcheck=!E.config.disableNativeSpellChecker;var ab=!E.readOnly;if(c){Z.hideFocus=true;Z.disabled=true;Z.contentEditable=ab;Z.removeAttribute('disabled');}else setTimeout(function(){if(b.gecko&&b.version>=10900||b.opera)Y.$.body.contentEditable=ab;else if(b.webkit)Y.$.body.parentNode.contentEditable=ab;else Y.$.designMode=ab?'off':'on';},0);ab&&b.gecko&&e.setTimeout(C,0,null,E);X=E.window=new d.window(X);Y=E.document=new g(Y);ab&&Y.on('dblclick',function(ag){var ah=ag.data.getTarget(),ai={element:ah,dialog:''};E.fire('doubleclick',ai);ai.dialog&&E.openDialog(ai.dialog);});c&&Y.on('click',function(ag){var ah=ag.data.getTarget();if(ah.is('input')){var ai=ah.getAttribute('type');if(ai=='submit'||ai=='reset')ag.data.preventDefault();}});if(!(c||b.opera))Y.on('mousedown',function(ag){var ah=ag.data.getTarget();if(ah.is('img','hr','input','textarea','select'))E.getSelection().selectElement(ah);});if(b.gecko)Y.on('mouseup',function(ag){if(ag.data.$.button==2){var ah=ag.data.getTarget();if(!ah.getOuterHtml().replace(m,'')){var ai=new d.range(Y);ai.moveToElementEditStart(ah);ai.select(true);}}});Y.on('click',function(ag){ag=ag.data;if(ag.getTarget().is('a')&&ag.$.button!=2)ag.preventDefault();});if(b.webkit){Y.on('mousedown',function(){ad=1;});Y.on('click',function(ag){if(ag.data.getTarget().is('input','select'))ag.data.preventDefault();});Y.on('mouseup',function(ag){if(ag.data.getTarget().is('input','textarea'))ag.data.preventDefault();});}var ac=c?N:X;ac.on('blur',function(){E.focusManager.blur();});var ad;ac.on('focus',function(){var ag=E.document;if(b.gecko||b.opera)ag.getBody().focus();else if(b.webkit)if(!ad){E.document.getDocumentElement().focus();ad=1;}E.focusManager.focus();});var ae=E.keystrokeHandler;ae.blockedKeystrokes[8]=!ab;ae.attach(Y);Y.getDocumentElement().addClass(Y.$.compatMode);ab&&Y.on('keydown',function(ag){var ah=ag.data.getKeystroke();if(ah in {8:1,46:1}){var ai=E.getSelection(),aj=ai.getSelectedElement(),ak=ai.getRanges()[0],al=new d.elementPath(ak.startContainer),am,an,ao,ap=ah==8;if(aj){E.fire('saveSnapshot');ak.moveToPosition(aj,3);aj.remove();ak.select();E.fire('saveSnapshot'); -ag.data.preventDefault();}else if((am=al.block)&&ak[ap?'checkStartOfBlock':'checkEndOfBlock']()&&(ao=am[ap?'getPrevious':'getNext'](n))&&ao.is('table')){E.fire('saveSnapshot');if(ak[ap?'checkEndOfBlock':'checkStartOfBlock']())am.remove();ak['moveToElementEdit'+(ap?'End':'Start')](ao);ak.select();E.fire('saveSnapshot');ag.data.preventDefault();}else if(al.blockLimit.is('td')&&(an=al.blockLimit.getAscendant('table'))&&ak.checkBoundaryOfElement(an,ap?1:2)&&(ao=an[ap?'getPrevious':'getNext'](n))){E.fire('saveSnapshot');ak['moveToElementEdit'+(ap?'End':'Start')](ao);if(ak.checkStartOfBlock()&&ak.checkEndOfBlock())ao.remove();else ak.select();E.fire('saveSnapshot');ag.data.preventDefault();}}if(ah==33||ah==34)if(b.gecko){var aq=Y.getBody();if(X.$.innerHeight>aq.$.offsetHeight){ak=new d.range(Y);ak[ah==33?'moveToElementEditStart':'moveToElementEditEnd'](aq);ak.select();ag.data.preventDefault();}}});if(c&&Y.$.compatMode=='CSS1Compat'){var af={33:1,34:1};Y.on('keydown',function(ag){if(ag.data.getKeystroke() in af)setTimeout(function(){E.getSelection().scrollIntoView();},0);});}if(c&&E.config.enterMode!=1)Y.on('selectionchange',function(){var ag=Y.getBody(),ah=E.getSelection(),ai=ah&&ah.getRanges()[0];if(ai&&ag.getHtml().match(/^

     <\/p>$/i)&&ai.startContainer.equals(ag))setTimeout(function(){ai=E.getSelection().getRanges()[0];if(!ai.startContainer.equals('body')){ag.getFirst().remove(1);ai.moveToElementEditEnd(ag);ai.select(1);}},0);});if(E.contextMenu)E.contextMenu.addTarget(Y,E.config.browserContextMenuOnCtrl!==false);setTimeout(function(){E.fire('contentDom');if(R){E.mode='wysiwyg';E.fire('mode',{previousMode:E._.previousMode});R=false;}O=false;if(P){E.focus();P=false;}setTimeout(function(){E.fire('dataReady');},0);try{E.document.$.execCommand('2D-position',false,true);}catch(ag){}try{E.document.$.execCommand('enableInlineTableEditing',false,!E.config.disableNativeTableHandles);}catch(ah){}if(E.config.disableObjectResizing)try{E.document.$.execCommand('enableObjectResizing',false,false);}catch(ai){E.document.getBody().on(c?'resizestart':'resize',function(aj){aj.data.preventDefault();});}if(c)setTimeout(function(){if(E.document){var aj=E.document.$.body;aj.runtimeStyle.marginBottom='0px';aj.runtimeStyle.marginBottom='';}},1000);},0);};E.addMode('wysiwyg',{load:function(X,Y,Z){M=X;if(c&&b.quirks)X.setStyle('position','relative');E.mayBeDirty=true;R=true;if(Z)this.loadSnapshotData(Y);else this.loadData(Y);},loadData:function(X){O=true;E._.dataStore={id:1};var Y=E.config,Z=Y.fullPage,aa=Y.docType,ab=''; -!Z&&(ab=e.buildStyleHtml(E.config.contentsCss)+ab);var ac=Y.baseHref?'':'';if(Z)X=X.replace(/]*>/i,function(ad){E.docType=aa=ad;return '';}).replace(/<\?xml\s[^\?]*\?>/i,function(ad){E.xmlDeclaration=ad;return '';});if(E.dataProcessor)X=E.dataProcessor.toHtml(X,F);if(Z){if(!/]/.test(X))X=''+X;if(!/]/.test(X))X=''+X+'';if(!/]/.test(X))X=X.replace(/]*>/,'$&');else if(!/]/.test(X))X=X.replace(/]*>/,'$&');ac&&(X=X.replace(//,'$&'+ac));X=X.replace(/<\/head\s*>/,ab+'$&');X=aa+X;}else X=Y.docType+''+''+''+G+''+ac+ab+''+''+X+'';if(b.gecko)X=X.replace(/
    (?=\s*<\/(:?html|body)>)/,'$&
    ');X+=V;this.onDispose();U(X);},getData:function(){var X=E.config,Y=X.fullPage,Z=Y&&E.docType,aa=Y&&E.xmlDeclaration,ab=N.getFrameDocument(),ac=Y?ab.getDocumentElement().getOuterHtml():ab.getBody().getHtml();if(b.gecko)ac=ac.replace(/
    (?=\s*(:?$|<\/body>))/,'');if(E.dataProcessor)ac=E.dataProcessor.toDataFormat(ac,F);if(X.ignoreEmptyParagraph)ac=ac.replace(m,function(ad,ae){return ae;});if(aa)ac=aa+'\n'+ac;if(Z)ac=Z+'\n'+ac;return ac;},getSnapshotData:function(){return N.getFrameDocument().getBody().getHtml();},loadSnapshotData:function(X){N.getFrameDocument().getBody().setHtml(X);},onDispose:function(){if(!E.document)return;E.document.getDocumentElement().clearCustomData();E.document.getBody().clearCustomData();E.window.clearCustomData();E.document.clearCustomData();N.clearCustomData();N.remove();},unload:function(X){this.onDispose();if(S)I.removeListener('resize',S);E.window=E.document=N=M=P=null;E.fire('contentDomUnload');},focus:function(){var X=E.window;if(O)P=true;else if(X){var Y=E.getSelection(),Z=Y&&Y.getNative();if(Z&&Z.type=='Control')return;b.air?setTimeout(function(){X.focus();},0):X.focus();E.selectionChange();}}});E.on('insertHtml',r(s),null,null,20);E.on('insertElement',r(u),null,null,20);E.on('insertText',r(t),null,null,20);E.on('selectionChange',function(X){if(E.readOnly)return;var Y=E.getSelection();if(Y&&!Y.isLocked){var Z=E.checkDirty();E.fire('saveSnapshot',{contentOnly:1});D.call(this,X);E.fire('updateSnapshot');!Z&&E.resetDirty();}},null,null,1);});E.on('contentDom',function(){var M=E.document.getElementsByTag('title').getItem(0); -M.data('cke-title',E.document.$.title);c&&(E.document.$.title=G);});E.on('readOnly',function(){if(E.mode=='wysiwyg'){var M=E.getMode();M.loadData(M.getData());}});if(a.document.$.documentMode>=8){E.addCss('html.CSS1Compat [contenteditable=false]{ min-height:0 !important;}');var K=[];for(var L in f.$removeEmpty)K.push('html.CSS1Compat '+L+'[contenteditable=false]');E.addCss(K.join(',')+'{ display:inline-block;}');}else if(b.gecko){E.addCss('html { height: 100% !important; }');E.addCss('img:-moz-broken { -moz-force-broken-image-icon : 1;\tmin-width : 24px; min-height : 24px; }');}else if(c&&b.version<8&&E.config.contentsLangDirection=='ltr')E.addCss('body{margin-right:0;}');E.addCss('html {\t_overflow-y: scroll; cursor: text;\t*cursor:auto;}');E.addCss('img, input, textarea { cursor: default;}');E.on('insertElement',function(M){var N=M.data;if(N.type==1&&(N.is('input')||N.is('textarea'))){var O=N.getAttribute('contenteditable')=='false';if(!O){N.data('cke-editable',N.hasAttribute('contenteditable')?'true':'1');N.setAttribute('contenteditable',false);}}});}});if(b.gecko)(function(){var E=document.body;if(!E)window.addEventListener('load',arguments.callee,false);else{var F=E.getAttribute('onpageshow');E.setAttribute('onpageshow',(F?F+';':'')+'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&&!b.air&&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(Q){return!!this._.tabs[Q][0].$.offsetHeight;};function o(){var U=this;var Q=U._.currentTabId,R=U._.tabIdList.length,S=e.indexOf(U._.tabIdList,Q)+R;for(var T=S-1;T>S-R;T--){if(n.call(U,U._.tabIdList[T%R]))return U._.tabIdList[T%R]; -}return null;};function p(){var U=this;var Q=U._.currentTabId,R=U._.tabIdList.length,S=e.indexOf(U._.tabIdList,Q);for(var T=S+1;T1){ag._.tabBarMode=true;ag._.tabs[ag._.currentTabId][0].focus();Y=1;}else if((ar==37||ar==39)&&ag._.tabBarMode){av=ar==(as?39:37)?o.call(ag):p.call(ag);ag.selectPage(av);ag._.tabs[av][0].focus();Y=1;}else if((ar==13||ar==32)&&ag._.tabBarMode){ax.selectPage(ax._.currentTabId);ax._.tabBarMode=false;ax._.currentFocusIndex=-1;aj(1);Y=1;}else if(ar==13){var aw=aq.data.getTarget();if(!aw.is('a','button','select')&&(!aw.is('input')||aw.$.type!='button')){at=ax.getButton('ok');at&&e.setTimeout(at.click,0,at);Y=1;}Z=1;}else if(ar==27){at=ax.getButton('cancel');if(at)e.setTimeout(at.click,0,at);else if(ax.fire('cancel',{hide:true}).hide!==false)ax.hide();Z=1;}else return;al(aq);};function al(aq){if(Y)aq.data.preventDefault(1);else if(Z)aq.data.stopPropagation();};var am=this._.element;this.on('show',function(){am.on('keydown',ak,this);if(b.opera||b.gecko)am.on('keypress',al,this);});this.on('hide',function(){am.removeListener('keydown',ak); -if(b.opera||b.gecko)am.removeListener('keypress',al);ah(function(aq){s.apply(aq);});});this.on('iframeAdded',function(aq){var ar=new g(aq.data.iframe.$.contentWindow.document);ar.on('keydown',ak,this,null,0);});this.on('show',function(){var au=this;ai();if(Q.config.dialog_startupFocusTab&&ag._.pageCount>1){ag._.tabBarMode=true;ag._.tabs[ag._.currentTabId][0].focus();}else if(!au._.hasFocus){au._.currentFocusIndex=-1;if(S.onFocus){var aq=S.onFocus.call(au);aq&&aq.focus();}else aj(1);if(au._.editor.mode=='wysiwyg'&&c){var ar=Q.document.$.selection,as=ar.createRange();if(as)if(as.parentElement&&as.parentElement().ownerDocument==Q.document.$||as.item&&as.item(0).ownerDocument==Q.document.$){var at=document.body.createTextRange();at.moveToElementText(au.getElement().getFirst().$);at.collapse(true);at.select();}}}},this,null,4294967295);if(b.ie6Compat)this.on('load',function(aq){var ar=this.getElement(),as=ar.getFirst();as.remove();as.appendTo(ar);},this);A(this);B(this);new d.text(S.title,a.document).appendTo(this.parts.title);for(X=0;X0?S:0)+'px'};Z[V?'right':'left']=(R>0?R:0)+'px';U.setStyles(Z);T&&(aa._.moved=1);};})(),getPosition:function(){return e.extend({},this._.position);},show:function(){var Q=this._.element,R=this.definition;if(!(Q.getParent()&&Q.getParent().equals(a.document.getBody())))Q.appendTo(a.document.getBody());else Q.setStyle('display','block');if(b.gecko&&b.version<10900){var S=this.parts.dialog;S.setStyle('position','absolute');setTimeout(function(){S.setStyle('position','fixed');},0);}this.resize(this._.contentSize&&this._.contentSize.width||R.width||R.minWidth,this._.contentSize&&this._.contentSize.height||R.height||R.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;G(this._.editor);}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;}Q.on('keydown',K);Q.on(b.opera?'keypress':'keyup',L);this._.hasFocus=false;e.setTimeout(function(){this.layout();this.parts.dialog.setStyle('visibility','');this.fireOnce('load',{});k.fire('ready',this);this.fire('show',{});this._.editor.fire('dialogShow',this);this.foreach(function(U){U.setInitValue&&U.setInitValue();});},100,this);},layout:function(){var S=this;var Q=a.document.getWindow().getViewPaneSize(),R=S.getSize();S.move(S._.moved?S._.position.x:(Q.width-R.width)/2,S._.moved?S._.position.y:(Q.height-R.height)/2);},foreach:function(Q){var T=this;for(var R in T._.contents)for(var S in T._.contents[R])Q.call(T,T._.contents[R][S]);return T;},reset:(function(){var Q=function(R){if(R.reset)R.reset(1);};return function(){this.foreach(Q); -return this;};})(),setupContent:function(){var Q=arguments;this.foreach(function(R){if(R.setup)R.setup.apply(R,Q);});},commitContent:function(){var Q=arguments;this.foreach(function(R){if(c&&this._.currentFocusIndex==R.focusIndex)R.getInputElement().$.blur();if(R.commit)R.commit.apply(R,Q);});},hide:function(){if(!this.parts.dialog.isVisible())return;this.fire('hide',{});this._.editor.fire('dialogHide',this);this.selectPage(this._.tabIdList[0]);var Q=this._.element;Q.setStyle('display','none');this.parts.dialog.setStyle('visibility','hidden');N(this);while(a.dialog._.currentTop!=this)a.dialog._.currentTop.hide();if(!this._.parentDialog)H();else{var R=this._.parentDialog.getElement().getFirst();R.setStyle('z-index',parseInt(R.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2));}a.dialog._.currentTop=this._.parentDialog;if(!this._.parentDialog){a.dialog._.currentZIndex=null;Q.removeListener('keydown',K);Q.removeListener(b.opera?'keypress':'keyup',L);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(Q){var ac=this;var R=[],S=Q.label?' title="'+e.htmlEncode(Q.label)+'"':'',T=Q.elements,U=a.dialog._.uiElementBuilders.vbox.build(ac,{type:'vbox',className:'cke_dialog_page_contents',children:Q.elements,expand:!!Q.expand,padding:Q.padding,style:Q.style||'width: 100%;height:100%'},R),V=h.createFromHtml(R.join(''));V.setAttribute('role','tabpanel');var W=b,X='cke_'+Q.id+'_'+e.getNextNumber(),Y=h.createFromHtml(['0?' cke_last':'cke_first',S,!!Q.hidden?' style="display:none"':'',' id="',X,'"',W.gecko&&W.version>=10900&&!W.hc?'':' href="javascript:void(0)"',' tabIndex="-1"',' hidefocus="true"',' role="tab">',Q.label,''].join(''));V.setAttribute('aria-labelledby',X);ac._.tabs[Q.id]=[Y,V];ac._.tabIdList.push(Q.id);!Q.hidden&&ac._.pageCount++;ac._.lastTab=Y;ac.updateStyle();var Z=ac._.contents[Q.id]={},aa,ab=U.getChild();while(aa=ab.shift()){Z[aa.id]=aa;if(typeof aa.getChild=='function')ab.push.apply(ab,aa.getChild());}V.setAttribute('name',Q.id);V.appendTo(ac.parts.contents);Y.unselectable();ac.parts.tabs.append(Y);if(Q.accessKey){M(ac,ac,'CTRL+'+Q.accessKey,P,O);ac._.accessKeyMap['CTRL+'+Q.accessKey]=Q.id;}},selectPage:function(Q){if(this._.currentTabId==Q)return;if(this.fire('selectPage',{page:Q,currentPage:this._.currentTabId})===true)return; -for(var R in this._.tabs){var S=this._.tabs[R][0],T=this._.tabs[R][1];if(R!=Q){S.removeClass('cke_dialog_tab_selected');T.hide();}T.setAttribute('aria-hidden',R!=Q);}var U=this._.tabs[Q];U[0].addClass('cke_dialog_tab_selected');if(b.ie6Compat||b.ie7Compat){q(U[1]);U[1].show();setTimeout(function(){q(U[1],1);},0);}else U[1].show();this._.currentTabId=Q;this._.currentTabIndex=e.indexOf(this._.tabIdList,Q);},updateStyle:function(){this.parts.dialog[(this._.pageCount===1?'add':'remove')+'Class']('cke_single_page');},hidePage:function(Q){var S=this;var R=S._.tabs[Q]&&S._.tabs[Q][0];if(!R||S._.pageCount==1||!R.isVisible())return;else if(Q==S._.currentTabId)S.selectPage(o.call(S));R.hide();S._.pageCount--;S.updateStyle();},showPage:function(Q){var S=this;var R=S._.tabs[Q]&&S._.tabs[Q][0];if(!R)return;R.show();S._.pageCount++;S.updateStyle();},getElement:function(){return this._.element;},getName:function(){return this._.name;},getContentElement:function(Q,R){var S=this._.contents[Q];return S&&S[R];},getValueOf:function(Q,R){return this.getContentElement(Q,R).getValue();},setValueOf:function(Q,R,S){return this.getContentElement(Q,R).setValue(S);},getButton:function(Q){return this._.buttons[Q];},click:function(Q){return this._.buttons[Q].click();},disableButton:function(Q){return this._.buttons[Q].disable();},enableButton:function(Q){return this._.buttons[Q].enable();},getPageCount:function(){return this._.pageCount;},getParentEditor:function(){return this._.editor;},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement();},addFocusable:function(Q,R){var T=this;if(typeof R=='undefined'){R=T._.focusList.length;T._.focusList.push(new t(T,Q,R));}else{T._.focusList.splice(R,0,new t(T,Q,R));for(var S=R+1;Sab.width-aa.width-V)ag=ab.width-aa.width+(U.lang.dir=='rtl'?0:W[1]);else ag=S.x;if(S.y+W[0]ab.height-aa.height-V)ah=ab.height-aa.height+W[2];else ah=S.y;Q.move(ag,ah,1);Z.data.preventDefault();};function Y(Z){a.document.removeListener('mousemove',X);a.document.removeListener('mouseup',Y);if(b.ie6Compat){var aa=E.getChild(0).getFrameDocument();aa.removeListener('mousemove',X);aa.removeListener('mouseup',Y);}};Q.parts.title.on('mousedown',function(Z){R={x:Z.data.$.screenX,y:Z.data.$.screenY}; -a.document.on('mousemove',X);a.document.on('mouseup',Y);S=Q.getPosition();if(b.ie6Compat){var aa=E.getChild(0).getFrameDocument();aa.on('mousemove',X);aa.on('mouseup',Y);}Z.data.preventDefault();},Q);};function B(Q){var R=Q.definition,S=R.resizable;if(S==0)return;var T=Q.getParentEditor(),U,V,W,X,Y,Z,aa=e.addFunction(function(ad){Y=Q.getSize();var ae=Q.parts.contents,af=ae.$.getElementsByTagName('iframe').length;if(af){Z=h.createFromHtml('

    ');ae.append(Z);}V=Y.height-Q.parts.contents.getSize('height',!(b.gecko||b.opera||c&&b.quirks));U=Y.width-Q.parts.contents.getSize('width',1);X={x:ad.screenX,y:ad.screenY};W=a.document.getWindow().getViewPaneSize();a.document.on('mousemove',ab);a.document.on('mouseup',ac);if(b.ie6Compat){var ag=E.getChild(0).getFrameDocument();ag.on('mousemove',ab);ag.on('mouseup',ac);}ad.preventDefault&&ad.preventDefault();});Q.on('load',function(){var ad='';if(S==1)ad=' cke_resizer_horizontal';else if(S==2)ad=' cke_resizer_vertical';var ae=h.createFromHtml('
    ');Q.parts.footer.append(ae,1);});T.on('destroy',function(){e.removeFunction(aa);});function ab(ad){var ae=T.lang.dir=='rtl',af=(ad.data.$.screenX-X.x)*(ae?-1:1),ag=ad.data.$.screenY-X.y,ah=Y.width,ai=Y.height,aj=ah+af*(Q._.moved?1:2),ak=ai+ag*(Q._.moved?1:2),al=Q._.element.getFirst(),am=ae&&al.getComputedStyle('right'),an=Q.getPosition();if(an.y+ak>W.height)ak=W.height-an.y;if((ae?am:an.x)+aj>W.width)aj=W.width-(ae?am:an.x);if(S==1||S==3)ah=Math.max(R.minWidth||0,aj-U);if(S==2||S==3)ai=Math.max(R.minHeight||0,ak-V);Q.resize(ah,ai);if(!Q._.moved)Q.layout();ad.data.preventDefault();};function ac(){a.document.removeListener('mouseup',ac);a.document.removeListener('mousemove',ab);if(Z){Z.remove();Z=null;}if(b.ie6Compat){var ad=E.getChild(0).getFrameDocument();ad.removeListener('mouseup',ac);ad.removeListener('mousemove',ab);}};};var C,D={},E;function F(Q){Q.data.preventDefault(1);};function G(Q){var R=a.document.getWindow(),S=Q.config,T=S.dialog_backgroundCoverColor||'white',U=S.dialog_backgroundCoverOpacity,V=S.baseFloatZIndex,W=e.genKey(T,U,V),X=D[W];if(!X){var Y=['
    ']; -if(b.ie6Compat){var Z=b.isCustomDomain(),aa="";Y.push('');}Y.push('
    ');X=h.createFromHtml(Y.join(''));X.setOpacity(U!=undefined?U:0.5);X.on('keydown',F);X.on('keypress',F);X.on('keyup',F);X.appendTo(a.document.getBody());D[W]=X;}else X.show();E=X;var ab=function(){var ae=R.getViewPaneSize();X.setStyles({width:ae.width+'px',height:ae.height+'px'});},ac=function(){var ae=R.getScrollPosition(),af=a.dialog._.currentTop;X.setStyles({left:ae.x+'px',top:ae.y+'px'});if(af)do{var ag=af.getPosition();af.move(ag.x,ag.y);}while(af=af._.parentDialog)};C=ab;R.on('resize',ab);ab();if(!(b.mac&&b.webkit))X.focus();if(b.ie6Compat){var ad=function(){ac();arguments.callee.prevScrollHandler.apply(this,arguments);};R.$.setTimeout(function(){ad.prevScrollHandler=window.onscroll||(function(){});window.onscroll=ad;},0);ac();}};function H(){if(!E)return;var Q=a.document.getWindow();E.hide();Q.removeListener('resize',C);if(b.ie6Compat)Q.$.setTimeout(function(){var R=window.onscroll&&window.onscroll.prevScrollHandler;window.onscroll=R||null;},0);C=null;};function I(){for(var Q in D)D[Q].remove();D={};};var J={},K=function(Q){var R=Q.data.$.ctrlKey||Q.data.$.metaKey,S=Q.data.$.altKey,T=Q.data.$.shiftKey,U=String.fromCharCode(Q.data.$.keyCode),V=J[(R?'CTRL+':'')+(S?'ALT+':'')+(T?'SHIFT+':'')+U];if(!V||!V.length)return;V=V[V.length-1];V.keydown&&V.keydown.call(V.uiElement,V.dialog,V.key);Q.data.preventDefault();},L=function(Q){var R=Q.data.$.ctrlKey||Q.data.$.metaKey,S=Q.data.$.altKey,T=Q.data.$.shiftKey,U=String.fromCharCode(Q.data.$.keyCode),V=J[(R?'CTRL+':'')+(S?'ALT+':'')+(T?'SHIFT+':'')+U];if(!V||!V.length)return;V=V[V.length-1];if(V.keyup){V.keyup.call(V.uiElement,V.dialog,V.key);Q.data.preventDefault();}},M=function(Q,R,S,T,U){var V=J[S]||(J[S]=[]);V.push({uiElement:Q,dialog:R,key:S,keyup:U||Q.accessKeyUp,keydown:T||Q.accessKeyDown});},N=function(Q){for(var R in J){var S=J[R];for(var T=S.length-1;T>=0;T--){if(S[T].dialog==Q||S[T].uiElement==Q)S.splice(T,1);}if(S.length===0)delete J[R];}},O=function(Q,R){if(Q._.accessKeyMap[R])Q.selectPage(Q._.accessKeyMap[R]); -},P=function(Q,R){};(function(){k.dialog={uiElement:function(Q,R,S,T,U,V,W){if(arguments.length<4)return;var X=(T.call?T(R):T)||'div',Y=['<',X,' '],Z=(U&&U.call?U(R):U)||{},aa=(V&&V.call?V(R):V)||{},ab=(W&&W.call?W.call(this,Q,R):W)||'',ac=this.domId=aa.id||e.getNextId()+'_uiElement',ad=this.id=R.id,ae;aa.id=ac;var af={};if(R.type)af['cke_dialog_ui_'+R.type]=1;if(R.className)af[R.className]=1;if(R.disabled)af.cke_disabled=1;var ag=aa['class']&&aa['class'].split?aa['class'].split(' '):[];for(ae=0;ae=0;ae--){if(ai[ae]==='')ai.splice(ae,1);}if(ai.length>0)aa.style=(aa.style?aa.style+'; ':'')+ai.join('; ');for(ae in aa)Y.push(ae+'="'+e.htmlEncode(aa[ae])+'" ');Y.push('>',ab,'');S.push(Y.join(''));(this._||(this._={})).dialog=Q;if(typeof R.isChanged=='boolean')this.isChanged=function(){return R.isChanged;};if(typeof R.isChanged=='function')this.isChanged=R.isChanged;if(typeof R.setValue=='function')this.setValue=e.override(this.setValue,function(al){return function(am){al.call(this,R.setValue.call(this,am));};});if(typeof R.getValue=='function')this.getValue=e.override(this.getValue,function(al){return function(){return R.getValue.call(this,al.call(this));};});a.event.implementOn(this);this.registerEvents(R);if(this.accessKeyUp&&this.accessKeyDown&&R.accessKey)M(this,Q,'CTRL+'+R.accessKey);var ak=this;Q.on('load',function(){var al=ak.getInputElement();if(al){var am=ak.type in {checkbox:1,ratio:1}&&c&&b.version<8?'cke_dialog_ui_focused':'';al.on('focus',function(){Q._.tabBarMode=false;Q._.hasFocus=true;ak.fire('focus');am&&this.addClass(am);});al.on('blur',function(){ak.fire('blur');am&&this.removeClass(am);});}});if(this.keyboardFocusable){this.tabIndex=R.tabIndex||0;this.focusIndex=Q._.focusList.push(this)-1;this.on('focus',function(){Q._.currentFocusIndex=ak.focusIndex;});}e.extend(this,R);},hbox:function(Q,R,S,T,U){if(arguments.length<4)return;this._||(this._={});var V=this._.children=R,W=U&&U.widths||null,X=U&&U.height||null,Y={},Z,aa=function(){var ac=[''];for(Z=0;Z0)ac.push('style="'+ae.join('; ')+'" ');ac.push('>',S[Z],'');}ac.push('');return ac.join('');},ab={role:'presentation'};U&&U.align&&(ab.align=U.align);k.dialog.uiElement.call(this,Q,U||{type:'hbox'},T,'table',Y,ab,aa);},vbox:function(Q,R,S,T,U){if(arguments.length<3)return;this._||(this._={});var V=this._.children=R,W=U&&U.width||null,X=U&&U.heights||null,Y=function(){var Z=['');for(var aa=0;aa');}Z.push('
    0)Z.push('style="',ab.join('; '),'" ');Z.push(' class="cke_dialog_ui_vbox_child">',S[aa],'
    ');return Z.join('');};k.dialog.uiElement.call(this,Q,U||{type:'vbox'},T,'div',null,{role:'presentation'},Y);}};})();k.dialog.uiElement.prototype={getElement:function(){return a.document.getById(this.domId);},getInputElement:function(){return this.getElement();},getDialog:function(){return this._.dialog;},setValue:function(Q,R){this.getInputElement().setValue(Q);!R&&this.fire('change',{value:Q});return this;},getValue:function(){return this.getInputElement().getValue();},isChanged:function(){return false;},selectParentTab:function(){var T=this;var Q=T.getInputElement(),R=Q,S;while((R=R.getParent())&&R.$.className.search('cke_dialog_page_contents')==-1){}if(!R)return T;S=R.getAttribute('name');if(T._.dialog._.currentTabId!=S)T._.dialog.selectPage(S);return T;},focus:function(){this.selectParentTab().getInputElement().focus();return this;},registerEvents:function(Q){var R=/^on([A-Z]\w+)/,S,T=function(V,W,X,Y){W.on('load',function(){V.getInputElement().on(X,Y,V);});};for(var U in Q){if(!(S=U.match(R)))continue;if(this.eventProcessors[U])this.eventProcessors[U].call(this,this._.dialog,Q[U]); -else T(this,this._.dialog,S[1].toLowerCase(),Q[U]);}return this;},eventProcessors:{onLoad:function(Q,R){Q.on('load',R,this);},onShow:function(Q,R){Q.on('show',R,this);},onHide:function(Q,R){Q.on('hide',R,this);}},accessKeyDown:function(Q,R){this.focus();},accessKeyUp:function(Q,R){},disable:function(){var Q=this.getElement(),R=this.getInputElement();R.setAttribute('disabled','true');Q.addClass('cke_disabled');},enable:function(){var Q=this.getElement(),R=this.getInputElement();R.removeAttribute('disabled');Q.removeClass('cke_disabled');},isEnabled:function(){return!this.getElement().hasClass('cke_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(Q){var R=this;if(arguments.length<1)return R._.children.concat();if(!Q.splice)Q=[Q];if(Q.length<2)return R._.children[Q[0]];else return R._.children[Q[0]]&&R._.children[Q[0]].getChild?R._.children[Q[0]].getChild(Q.slice(1,Q.length)):null;}},true);k.dialog.vbox.prototype=new k.dialog.hbox();(function(){var Q={build:function(R,S,T){var U=S.children,V,W=[],X=[];for(var Y=0;Y',T||U.name,'');return V.join('');}};a.style.getStyleText=function(T){var U=T._ST;if(U)return U;U=T.styles;var V=T.attributes&&T.attributes.style||'',W='';if(V.length)V=V.replace(o,';');for(var X in U){var Y=U[X],Z=(X+':'+Y).replace(o,';');if(Y=='inherit')W+=Z;else V+=Z;}if(V.length)V=P(V);V+=W;return T._ST=V; -};function s(T){var U,V;while(T=T.getParent()){if(T.getName()=='body')break;if(T.getAttribute('data-nostyle'))U=T;else if(!V){var W=T.getAttribute('contentEditable');if(W=='false')U=T;else if(W=='true')V=1;}}return U;};function t(T){var ay=this;var U=T.document;if(T.collapsed){var V=J(ay,U);T.insertNode(V);T.moveToPosition(V,2);return;}var W=ay.element,X=ay._.definition,Y,Z=X.ignoreReadonly,aa=Z||X.includeReadonly;if(aa==undefined)aa=U.getCustomData('cke_includeReadonly');var ab=f[W]||(Y=true,f.span);T.enlarge(1,1);T.trim();var ac=T.createBookmark(),ad=ac.startNode,ae=ac.endNode,af=ad,ag;if(!Z){var ah=s(ad),ai=s(ae);if(ah)af=ah.getNextSourceNode(true);if(ai)ae=ai;}if(af.getPosition(ae)==2)af=0;while(af){var aj=false;if(af.equals(ae)){af=null;aj=true;}else{var ak=af.type,al=ak==1?af.getName():null,am=al&&af.getAttribute('contentEditable')=='false',an=al&&af.getAttribute('data-nostyle');if(al&&af.data('cke-bookmark')){af=af.getNextSourceNode(true);continue;}if(!al||ab[al]&&!an&&(!am||aa)&&(af.getPosition(ae)|4|0|8)==4+0+8&&(!X.childRule||X.childRule(af))){var ao=af.getParent();if(ao&&((ao.getDtd()||f.span)[W]||Y)&&(!X.parentRule||X.parentRule(ao))){if(!ag&&(!al||!f.$removeEmpty[al]||(af.getPosition(ae)|4|0|8)==4+0+8)){ag=new d.range(U);ag.setStartBefore(af);}if(ak==3||am||ak==1&&!af.getChildCount()){var ap=af,aq;while((aj=!ap.getNext(q))&&(aq=ap.getParent(),ab[aq.getName()])&&(aq.getPosition(ad)|2|0|8)==2+0+8&&(!X.childRule||X.childRule(aq)))ap=aq;ag.setEndAfter(ap);}}else aj=true;}else aj=true;af=af.getNextSourceNode(an||am);}if(aj&&ag&&!ag.collapsed){var ar=J(ay,U),as=ar.hasAttributes(),at=ag.getCommonAncestor(),au={styles:{},attrs:{},blockedStyles:{},blockedAttrs:{}},av,aw,ax;while(ar&&at){if(at.getName()==W){for(av in X.attributes){if(au.blockedAttrs[av]||!(ax=at.getAttribute(aw)))continue;if(ar.getAttribute(av)==ax)au.attrs[av]=1;else au.blockedAttrs[av]=1;}for(aw in X.styles){if(au.blockedStyles[aw]||!(ax=at.getStyle(aw)))continue;if(ar.getStyle(aw)==ax)au.styles[aw]=1;else au.blockedStyles[aw]=1;}}at=at.getParent();}for(av in au.attrs)ar.removeAttribute(av);for(aw in au.styles)ar.removeStyle(aw);if(as&&!ar.hasAttributes())ar=null;if(ar){ag.extractContents().appendTo(ar);G(ay,ar);ag.insertNode(ar);ar.mergeSiblings();if(!c)ar.$.normalize();}else{ar=new h('span');ag.extractContents().appendTo(ar);ag.insertNode(ar);G(ay,ar);ar.remove(true);}ag=null;}}T.moveToBookmark(ac);T.shrink(2);};function u(T){T.enlarge(1,1);var U=T.createBookmark(),V=U.startNode;if(T.collapsed){var W=new d.elementPath(V.getParent()),X; -for(var Y=0,Z;Y'+V+'';else T.setHtml(V);U.remove();};function B(T){var U=/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,V=T.getName(),W=C(T.getOuterHtml(),U,function(Y,Z,aa){return Z+''+aa+'
    ';}),X=[];W.replace(/([\s\S]*?)<\/pre>/gi,function(Y,Z){X.push(Z);});return X;};function C(T,U,V){var W='',X='';T=T.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(Y,Z,aa){Z&&(W=Z);aa&&(X=aa);return '';});return W+T.replace(U,V)+X;};function D(T,U){var V;if(T.length>1)V=new d.documentFragment(U.getDocument());for(var W=0;W');X=X.replace(/[ \t]{2,}/g,function(Z){return e.repeat(' ',Z.length-1)+' ';});if(V){var Y=U.clone();Y.setHtml(X);V.append(Y);}else U.setHtml(X);}return V||U;};function E(T,U){var V=T.getBogus();V&&V.remove();var W=T.getHtml();W=C(W,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');W=W.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'$1');W=W.replace(/([ \t\n\r]+| )/g,' ');W=W.replace(/]*>/gi,'\n');if(c){var X=T.getDocument().createElement('div');X.append(U);U.$.outerHTML='
    '+W+'
    ';U.copyAttributes(X.getFirst());U=X.getFirst().remove();}else U.setHtml(W);return U;};function F(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T)[U.getName()],Z=e.isEmpty(W)&&e.isEmpty(X);for(var aa in W){if((aa=='class'||T._.definition.fullMatch)&&U.getAttribute(aa)!=O(aa,W[aa]))continue;Z=U.hasAttribute(aa);U.removeAttribute(aa);}for(var ab in X){if(T._.definition.fullMatch&&U.getStyle(ab)!=O(ab,X[ab],true))continue;Z=Z||!!U.getStyle(ab);U.removeStyle(ab);}H(U,Y,m[U.getName()]);if(Z)!f.$block[U.getName()]||T._.enterMode==2&&!U.hasAttributes()?I(U):U.renameNode(T._.enterMode==1?'p':'div');};function G(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T),Z=U.getElementsByTag(T.element);for(var aa=Z.count();--aa>=0;)F(T,Z.getItem(aa));for(var ab in Y){if(ab!=T.element){Z=U.getElementsByTag(ab);for(aa=Z.count()-1;aa>=0;aa--){var ac=Z.getItem(aa);H(ac,Y[ab]);}}}};function H(T,U,V){var W=U&&U.attributes; -if(W)for(var X=0;X0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0)+3;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)+3;F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');if(A)B-=w.$.offsetWidth;w.setStyle('left',B+'px');var J=u.element,K=J.getWindow(),L=w.$.getBoundingClientRect(),M=K.getViewPaneSize(),N=L.width||L.right-L.left,O=L.height||L.bottom-L.top,P=A?L.right:M.width-L.left,Q=A?M.width-L.right:L.left;if(A){if(PN)B+=N;else if(M.width>N)B-=L.left;else B=B-L.right+M.width;}else if(PN)B-=N;else if(M.width>N)B=B-L.right+M.width;else B-=L.left;var R=M.height-L.top,S=L.top;if(RO)C-=O;else if(M.height>O)C=C-L.bottom+M.height;else C-=L.top;if(c){var T=new h(w.$.offsetParent),U=T;if(U.getName()=='html')U=U.getDocument().getBody();if(U.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=T.$.scrollWidth-T.$.clientWidth;}var V=w.getFirst(),W;if(W=V.getCustomData('activePanel'))W.onHide&&W.onHide.call(this,1);V.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);},0,this);},b.air?200:0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(p){var r=this;if(r.visible&&(!r.onHide||r.onHide.call(r)!==true)){r.hideChild();b.gecko&&r._.iframe.getFrameDocument().$.activeElement.blur();r.element.setStyle('display','none');r.visible=0;r.element.getFirst().removeCustomData('activePanel');var q=p!==false&&r._.returnFocus;if(q){if(b.webkit&&q.type)q.getWindow().$.focus();q.focus();}}},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 p._.returnFocus;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'],B=r.length,C=B&&r[0].group;for(var D=0;D');C=E.group;}E.render(this,D,A);}A.push('');u.setHtml(A.join(''));k.fire('ready',this);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]);},addListener:function(n){this._.listeners.push(n);},hide:function(n){var o=this;o._.onHide&&o._.onHide();o._.panel&&o._.panel.hide(n);}}});function m(n){n.sort(function(o,p){if(o.groupp.group)return 1;return o.orderp.order?1:0;});};a.menuItem=e.createClass({$:function(n,o,p){var q=this;e.extend(q,p,{order:0,className:'cke_button_'+o});q.group=n._.menuGroups[q.group];q.editor=n;q.name=o;},proto:{render:function(n,o,p){var w=this;var q=n.id+String(o),r=typeof w.state=='undefined'?2:w.state,s=' cke_'+(r==1?'on':r==0?'disabled':'off'),t=w.label;if(w.className)s+=' '+w.className; -var u=w.getItems;p.push(''+''+'');if(u)p.push('','&#',w.editor.lang.dir=='rtl'?'9668':'9658',';','');p.push(t,'');}}});})();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;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='
    ';});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;n.getMode().loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){if(n.mode){o();n.removeListener('mode',arguments.callee);}});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(n.getMode().getData(),null,1);m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=n.getMode().getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)n.getMode().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);});n.on('destroy',function(){var o=this;if(o.mode)o._.modes[o.mode].unload(o.getThemeSpace('contents'));});}});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){this.fire('beforeSetMode',{newMode:n});var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this._.previousMode=this.mode;this.fire('beforeModeUnload');var r=this.getMode();o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=this.getMode(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.getMode=function(n){return this._.modes&&this._.modes[n||this.mode];};a.editor.prototype.focus=function(){this.forceNextSelectionCheck();var n=this.getMode();if(n)n.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var C=this;try{var z=C.getSelection();if(!z||!z.document.getWindow().$)return;var A=z.getStartElement(),B=new d.elementPath(A);if(!B.compare(C._.selectionPreviousPath)){C._.selectionPreviousPath=B;C.fire('selectionChange',{selection:z,path:B,element:A});}}catch(D){}};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;}};function r(z){function A(E){return E&&E.type==1&&E.getName() in f.$removeEmpty;};function B(E){var F=z.document.getBody();return!E.is('body')&&F.getChildCount()==1;};var C=z.startContainer,D=z.startOffset;if(C.type==3)return false;return!e.trim(C.getHtml())?A(C)||B(C):A(C.getChild(D-1))||A(C.getChild(D));};var s={modes:{wysiwyg:1,source:1},readOnly:c||b.webkit,exec:function(z){switch(z.mode){case 'wysiwyg':z.document.$.execCommand('SelectAll',false,null);z.forceNextSelectionCheck();z.selectionChange();break;case 'source':var A=z.textarea.$;if(c)A.createTextRange().execCommand('SelectAll');else{A.selectionStart=0;A.selectionEnd=A.value.length;}A.focus();}},canUndo:false};function t(z){w(z);var A=z.createText('​');z.setCustomData('cke-fillingChar',A);return A;};function u(z){return z&&z.getCustomData('cke-fillingChar');};function v(z){var A=z&&u(z);if(A)if(A.getCustomData('ready'))w(z);else A.setCustomData('ready',1);};function w(z){var A=z&&z.removeCustomData('cke-fillingChar');if(A){var B,C=z.getSelection().getNative(),D=C&&C.type!='None'&&C.getRangeAt(0);if(A.getLength()>1&&D&&D.intersectsNode(A.$)){B=[C.anchorOffset,C.focusOffset];var E=C.anchorNode==A.$&&C.anchorOffset>0,F=C.focusNode==A.$&&C.focusOffset>0;E&&B[0]--;F&&B[1]--; -x(C)&&B.unshift(B.pop());}A.setText(A.getText().replace(/\u200B/g,''));if(B){var G=C.getRangeAt(0);G.setStart(G.startContainer,B[0]);G.setEnd(G.startContainer,B[1]);C.removeAllRanges();C.addRange(G);}}};function x(z){if(!z.isCollapsed){var A=z.getRangeAt(0);A.setStart(z.anchorNode,z.anchorOffset);A.setEnd(z.focusNode,z.focusOffset);return A.collapsed;}};j.add('selection',{init:function(z){if(b.webkit){z.on('selectionChange',function(){v(z.document);});z.on('beforeSetMode',function(){w(z.document);});var A,B;function C(){var E=z.document,F=u(E);if(F){var G=E.$.defaultView.getSelection();if(G.type=='Caret'&&G.anchorNode==F.$)B=1;A=F.getText();F.setText(A.replace(/\u200B/g,''));}};function D(){var E=z.document,F=u(E);if(F){F.setText(A);if(B){E.$.defaultView.getSelection().setPosition(F.$,F.getLength());B=0;}}};z.on('beforeUndoImage',C);z.on('afterUndoImage',D);z.on('beforeGetData',C,null,null,0);z.on('getData',D);}z.on('contentDom',function(){var E=z.document,F=E.getBody(),G=E.getDocumentElement();if(c){var H,I,J=1;F.on('focusin',function(O){if(O.data.$.srcElement.nodeName!='BODY')return;var P=E.getCustomData('cke_locked_selection');if(P){P.unlock(1);P.lock();}else if(H&&J){try{H.select();}catch(Q){}H=null;}});F.on('focus',function(){I=1;N();});F.on('beforedeactivate',function(O){if(O.data.$.toElement)return;I=0;J=1;});c&&z.on('blur',function(){try{E.$.selection.empty();}catch(O){}});G.on('mousedown',function(){J=0;});G.on('mouseup',function(){J=1;});var K;F.on('mousedown',function(O){if(O.data.$.button==2){var P=z.document.$.selection;if(P.type=='None')K=z.window.getScrollPosition();}M();});F.on('mouseup',function(O){if(O.data.$.button==2&&K){z.document.$.documentElement.scrollLeft=K.x;z.document.$.documentElement.scrollTop=K.y;}K=null;I=1;setTimeout(function(){N(true);},0);});F.on('keydown',M);F.on('keyup',function(){I=1;N();});if((b.ie7Compat||b.ie6Compat)&&E.$.compatMode!='BackCompat'){function L(O,P,Q){try{O.moveToPoint(P,Q);}catch(R){}};G.on('mousedown',function(O){function P(R){R=R.data.$;if(Q){var S=F.$.createTextRange();L(S,R.x,R.y);Q.setEndPoint(Q.compareEndPoints('StartToStart',S)<0?'EndToEnd':'StartToStart',S);Q.select();}};O=O.data.$;if(O.yF.$.offsetTop+F.$.clientHeight&&O.x0)L=M-1;else if(N<0)K=M+1;else if(b.ie9Compat&&H.tagName=='BR'){var Q=F.defaultView.getSelection();return{container:Q[D?'anchorNode':'focusNode'],offset:Q[D?'anchorOffset':'focusOffset']};}else return{container:E,offset:A(H)};}if(M==-1||M==G.length-1&&N<0){J.moveToElementText(E);J.setEndPoint('StartToStart',C);O=J.text.replace(/(\r\n|\r)/g,'\n').length;G=E.childNodes;if(!O){H=G[G.length-1];if(H.nodeType!=3)return{container:E,offset:G.length};else return{container:H,offset:H.nodeValue.length};}var R=G.length;while(O>0&&R>0){I=G[--R];if(I.nodeType==3){P=I;O-=I.nodeValue.length;}}return{container:P,offset:-O};}else{J.collapse(N>0?true:false);J.setEndPoint(N>0?'StartToStart':'EndToStart',C);O=J.text.replace(/(\r\n|\r)/g,'\n').length;if(!O)return{container:E,offset:A(H)+(N>0?0:1)};while(O>0)try{I=H[N>0?'previousSibling':'nextSibling'];if(I.nodeType==3){O-=I.nodeValue.length;P=I;}H=I;}catch(S){return{container:E,offset:A(H)};}return{container:P,offset:N>0?-O:P.nodeValue.length+O};}};return function(){var M=this;var C=M.getNative(),D=C&&C.createRange(),E=M.getType(),F;if(!C)return[];if(E==2){F=new d.range(M.document);var G=B(D,true);F.setStart(new d.node(G.container),G.offset);G=B(D);F.setEnd(new d.node(G.container),G.offset);if(F.endContainer.getPosition(F.startContainer)&4&&F.endOffset<=F.startContainer.getIndex())F.collapse();return[F];}else if(E==3){var H=[];for(var I=0;I=H.getLength())L.setStartAfter(H);else L.setStartBefore(H);if(I&&I.type==3)if(!K)L.setEndBefore(I);else L.setEndAfter(I);var M=new d.walker(L);M.evaluator=function(N){if(N.type==1&&N.isReadOnly()){var O=E.clone();E.setEndBefore(N);if(E.collapsed)C.splice(D--,1);if(!(N.getPosition(L.endContainer)&16)){O.setStartAfter(N);if(!O.collapsed)C.splice(D+1,0,O);}return true;}return false;};M.next();}}return B.ranges;};})(),getStartElement:function(){var G=this;var z=G._.cache;if(z.startElement!==undefined)return z.startElement;var A,B=G.getNative();switch(G.getType()){case 3:return G.getSelectedElement();case 2:var C=G.getRanges()[0];if(C){if(!C.collapsed){C.optimize();while(1){var D=C.startContainer,E=C.startOffset;if(E==(D.getChildCount?D.getChildCount():D.getLength())&&!D.isBlockBoundary())C.setStartAfter(D);else break;}A=C.startContainer;if(A.type!=1)return A.getParent();A=A.getChild(C.startOffset);if(!A||A.type!=1)A=C.startContainer;else{var F=A.getFirst();while(F&&F.type==1){A=F;F=F.getFirst();}}}else{A=C.startContainer;if(A.type!=1)A=A.getParent();}A=A.$;}}return z.startElement=A?new h(A):null;},getSelectedElement:function(){var z=this._.cache;if(z.selectedElement!==undefined)return z.selectedElement;var A=this,B=e.tryThese(function(){return A.getNative().createRange().item(0);},function(){var C,D,E=A.getRanges()[0],F=E.getCommonAncestor(1,1),G={table:1,ul:1,ol:1,dl:1};for(var H in G){if(C=F.getAscendant(H,1))break;}if(C){var I=new d.range(this.document);I.setStartAt(C,1);I.setEnd(E.startContainer,E.startOffset);var J=e.extend(G,f.$listItem,f.$tableContent),K=new d.walker(I),L=function(M,N){return function(O,P){if(O.type==3&&(!e.trim(O.getText())||O.getParent().data('cke-bookmark')))return true;var Q;if(O.type==1){Q=O.getName();if(Q=='br'&&N&&O.equals(O.getParent().getBogus()))return true;if(P&&Q in J||Q in f.$removeEmpty)return true;}M.halted=1;return false;};};K.guard=L(K);if(K.checkBackward()&&!K.halted){K=new d.walker(I);I.setStart(E.endContainer,E.endOffset);I.setEndAt(C,2);K.guard=L(K,1);if(K.checkForward()&&!K.halted)D=C.$; -}}if(!D)throw 0;return D;},function(){var C=A.getRanges()[0],D,E;for(var F=2;F&&!((D=C.getEnclosedNode())&&D.type==1&&y[D.getName()]&&(E=D));F--)C.shrink(1);return E.$;});return z.selectedElement=B?new h(B):null;},getSelectedText:function(){var z=this._.cache;if(z.selectedText!==undefined)return z.selectedText;var A='',B=this.getNative();if(this.getType()==2)A=c?B.createRange().text:B.toString();return z.selectedText=A;},lock:function(){var z=this;z.getRanges();z.getStartElement();z.getSelectedElement();z.getSelectedText();z._.cache.nativeSel={};z.isLocked=1;z.document.setCustomData('cke_locked_selection',z);},unlock:function(z){var E=this;var A=E.document,B=A.getCustomData('cke_locked_selection');if(B){A.setCustomData('cke_locked_selection',null);if(z){var C=B.getSelectedElement(),D=!C&&B.getRanges();E.isLocked=0;E.reset();if(C)E.selectElement(C);else E.selectRanges(D);}}if(!B||!z){E.isLocked=0;E.reset();}},reset:function(){this._.cache={};},selectElement:function(z){var B=this;if(B.isLocked){var A=new d.range(B.document);A.setStartBefore(z);A.setEndAfter(z);B._.cache.selectedElement=z;B._.cache.startElement=z;B._.cache.ranges=new d.rangeList(A);B._.cache.type=3;return;}A=new d.range(z.getDocument());A.setStartBefore(z);A.setEndAfter(z);A.select();B.document.fire('selectionchange');B.reset();},selectRanges:function(z){var N=this;if(N.isLocked){N._.cache.selectedElement=null;N._.cache.startElement=z[0]&&z[0].getTouchedStartNode();N._.cache.ranges=new d.rangeList(z);N._.cache.type=2;return;}if(c){if(z.length>1){var A=z[z.length-1];z[0].setEnd(A.endContainer,A.endOffset);z.length=1;}if(z[0])z[0].select();N.reset();}else{var B=N.getNative();if(!B)return;if(z.length){B.removeAllRanges();b.webkit&&w(N.document);}for(var C=0;C=0){I.collapse(1);J.setEnd(I.endContainer.$,I.endOffset);}else throw O;}B.addRange(J);}N.document.fire('selectionchange');N.reset();}},createBookmarks:function(z){return this.getRanges().createBookmarks(z);},createBookmarks2:function(z){return this.getRanges().createBookmarks2(z);},selectBookmarks:function(z){var A=[];for(var B=0;B','','',this.label,'','=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;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',t,', event, this );" onfocus="return CKEDITOR.tools.callFunction(',u,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',q,', this); return false;">'+this.label+''+''+''+(b.hc?'▼':b.air?' ':'')+''+''+''+'');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(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();};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(false);};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(o){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(){var m=this;if(!m._.committed){m._.list.commit();m._.committed=1;k.fire('ready',m);}m._.committed=1;},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,'richcombo',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});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(/&/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=='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('');},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','menu'],beforeInit:function(m){m.ui.addHandler('menubutton',k.menuButton.handler);}});a.UI_MENUBUTTON='menubutton';(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 a.menu(n,{panel:{className:n.skinClass+' cke_contextmenu',attributes:{'aria-label':n.lang.common.options}}});p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},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',v.label,'','');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'
    ';else T.setHtml(V);U.remove();};function B(T){var U=/(\S\s*)\n(?:\s|(]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,V=T.getName(),W=C(T.getOuterHtml(),U,function(Y,Z,aa){return Z+''+aa+'
    ';}),X=[];W.replace(/([\s\S]*?)<\/pre>/gi,function(Y,Z){X.push(Z);});return X;};function C(T,U,V){var W='',X='';T=T.replace(/(^]+data-cke-bookmark.*?\/span>)|(]+data-cke-bookmark.*?\/span>$)/gi,function(Y,Z,aa){Z&&(W=Z);aa&&(X=aa);return '';});return W+T.replace(U,V)+X;};function D(T,U){var V;if(T.length>1)V=new d.documentFragment(U.getDocument());for(var W=0;W');X=X.replace(/[ \t]{2,}/g,function(Z){return e.repeat(' ',Z.length-1)+' ';});if(V){var Y=U.clone();Y.setHtml(X);V.append(Y);}else U.setHtml(X);}return V||U;};function E(T,U){var V=T.getBogus();V&&V.remove();var W=T.getHtml();W=C(W,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,'');W=W.replace(/[ \t\r\n]*(]*>)[ \t\r\n]*/gi,'$1');W=W.replace(/([ \t\n\r]+| )/g,' ');W=W.replace(/]*>/gi,'\n');if(c){var X=T.getDocument().createElement('div');X.append(U);U.$.outerHTML='
    '+W+'
    ';U.copyAttributes(X.getFirst());U=X.getFirst().remove();}else U.setHtml(W);return U;};function F(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T)[U.getName()],Z=e.isEmpty(W)&&e.isEmpty(X);for(var aa in W){if((aa=='class'||T._.definition.fullMatch)&&U.getAttribute(aa)!=O(aa,W[aa]))continue;Z=U.hasAttribute(aa);U.removeAttribute(aa);}for(var ab in X){if(T._.definition.fullMatch&&U.getStyle(ab)!=O(ab,X[ab],true))continue;Z=Z||!!U.getStyle(ab);U.removeStyle(ab);}H(U,Y,m[U.getName()]);if(Z)!f.$block[U.getName()]||T._.enterMode==2&&!U.hasAttributes()?I(U):U.renameNode(T._.enterMode==1?'p':'div');};function G(T,U){var V=T._.definition,W=V.attributes,X=V.styles,Y=N(T),Z=U.getElementsByTag(T.element);for(var aa=Z.count();--aa>=0;)F(T,Z.getItem(aa));for(var ab in Y){if(ab!=T.element){Z=U.getElementsByTag(ab);for(aa=Z.count()-1;aa>=0;aa--){var ac=Z.getItem(aa);H(ac,Y[ab]);}}}};function H(T,U,V){var W=U&&U.attributes;if(W)for(var X=0;X0)H+=(F.$.offsetWidth||0)-(F.$.clientWidth||0)+3;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)+3;F.setStyle('height',I+'px');u._.currentBlock.element.setStyle('display','none').removeStyle('display');}else F.removeStyle('height');if(A)B-=w.$.offsetWidth;w.setStyle('left',B+'px');var J=u.element,K=J.getWindow(),L=w.$.getBoundingClientRect(),M=K.getViewPaneSize(),N=L.width||L.right-L.left,O=L.height||L.bottom-L.top,P=A?L.right:M.width-L.left,Q=A?M.width-L.right:L.left;if(A){if(PN)B+=N;else if(M.width>N)B-=L.left;else B=B-L.right+M.width;}else if(PN)B-=N;else if(M.width>N)B=B-L.right+M.width;else B-=L.left; +var R=M.height-L.top,S=L.top;if(RO)C-=O;else if(M.height>O)C=C-L.bottom+M.height;else C-=L.top;if(c){var T=new h(w.$.offsetParent),U=T;if(U.getName()=='html')U=U.getDocument().getBody();if(U.getComputedStyle('direction')=='rtl')if(b.ie8Compat)B-=w.getDocument().getDocumentElement().$.scrollLeft*2;else B-=T.$.scrollWidth-T.$.clientWidth;}var V=w.getFirst(),W;if(W=V.getCustomData('activePanel'))W.onHide&&W.onHide.call(this,1);V.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);},0,this);},b.air?200:0,this);this.visible=1;if(this.onShow)this.onShow.call(this);n=0;},hide:function(p){var r=this;if(r.visible&&(!r.onHide||r.onHide.call(r)!==true)){r.hideChild();b.gecko&&r._.iframe.getFrameDocument().$.activeElement.blur();r.element.setStyle('display','none');r.visible=0;r.element.getFirst().removeCustomData('activePanel');var q=p!==false&&r._.returnFocus;if(q){if(b.webkit&&q.type)q.getWindow().$.focus();q.focus();}}},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 p._.returnFocus;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'],B=r.length,C=B&&r[0].group;for(var D=0;D');C=E.group;}E.render(this,D,A);}A.push('');u.setHtml(A.join(''));k.fire('ready',this);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]);},addListener:function(n){this._.listeners.push(n);},hide:function(n){var o=this;o._.onHide&&o._.onHide();o._.panel&&o._.panel.hide(n);}}});function m(n){n.sort(function(o,p){if(o.groupp.group)return 1;return o.orderp.order?1:0;});};a.menuItem=e.createClass({$:function(n,o,p){var q=this;e.extend(q,p,{order:0,className:'cke_button_'+o});q.group=n._.menuGroups[q.group];q.editor=n;q.name=o;},proto:{render:function(n,o,p){var w=this;var q=n.id+String(o),r=typeof w.state=='undefined'?2:w.state,s=' cke_'+(r==1?'on':r==0?'disabled':'off'),t=w.label;if(w.className)s+=' '+w.className;var u=w.getItems;p.push(''+''+'');if(u)p.push('','&#',w.editor.lang.dir=='rtl'?'9668':'9658',';','');p.push(t,'');}}});})();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;j.add('editingblock',{init:function(n){if(!n.config.editingBlock)return;n.on('themeSpace',function(o){if(o.data.space=='contents')o.data.html+='
    ';});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;n.getMode().loadData(n.getData());m=false;};if(n.mode)o();else n.on('mode',function(){if(n.mode){o();n.removeListener('mode',arguments.callee);}});}});n.on('beforeGetData',function(){if(!m&&n.mode){m=true;n.setData(n.getMode().getData(),null,1);m=false;}});n.on('getSnapshot',function(o){if(n.mode)o.data=n.getMode().getSnapshotData();});n.on('loadSnapshot',function(o){if(n.mode)n.getMode().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);});n.on('destroy',function(){var o=this;if(o.mode)o._.modes[o.mode].unload(o.getThemeSpace('contents'));});}});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){this.fire('beforeSetMode',{newMode:n});var o,p=this.getThemeSpace('contents'),q=this.checkDirty();if(this.mode){if(n==this.mode)return;this._.previousMode=this.mode;this.fire('beforeModeUnload');var r=this.getMode();o=r.getData();r.unload(p);this.mode='';}p.setHtml('');var s=this.getMode(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.getMode=function(n){return this._.modes&&this._.modes[n||this.mode];};a.editor.prototype.focus=function(){this.forceNextSelectionCheck();var n=this.getMode();if(n)n.focus();};})();i.startupMode='wysiwyg';i.editingBlock=true;(function(){function m(){var G=this;try{var D=G.getSelection();if(!D||!D.document.getWindow().$)return;var E=D.getStartElement(),F=new d.elementPath(E);if(!F.compare(G._.selectionPreviousPath)){G._.selectionPreviousPath=F;G.fire('selectionChange',{selection:D,path:F,element:E});}}catch(H){}};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;}};function r(D){function E(I,J){if(!I||I.type==3)return false; +var K=D.clone();return K['moveToElementEdit'+(J?'End':'Start')](I);};var F=D.startContainer,G=D.getPreviousNode(A,null,F),H=D.getNextNode(A,null,F);if(E(G)||E(H,1))return true;if(!(G||H)&&!(F.type==1&&F.isBlockBoundary()&&F.getBogus()))return true;return false;};var s={modes:{wysiwyg:1,source:1},readOnly:c||b.webkit,exec:function(D){switch(D.mode){case 'wysiwyg':D.document.$.execCommand('SelectAll',false,null);D.forceNextSelectionCheck();D.selectionChange();break;case 'source':var E=D.textarea.$;if(c)E.createTextRange().execCommand('SelectAll');else{E.selectionStart=0;E.selectionEnd=E.value.length;}E.focus();}},canUndo:false};function t(D){w(D);var E=D.createText('​');D.setCustomData('cke-fillingChar',E);return E;};function u(D){return D&&D.getCustomData('cke-fillingChar');};function v(D){var E=D&&u(D);if(E)if(E.getCustomData('ready'))w(D);else E.setCustomData('ready',1);};function w(D){var E=D&&D.removeCustomData('cke-fillingChar');if(E){var F,G=D.getSelection().getNative(),H=G&&G.type!='None'&&G.getRangeAt(0);if(E.getLength()>1&&H&&H.intersectsNode(E.$)){F=[G.anchorOffset,G.focusOffset];var I=G.anchorNode==E.$&&G.anchorOffset>0,J=G.focusNode==E.$&&G.focusOffset>0;I&&F[0]--;J&&F[1]--;x(G)&&F.unshift(F.pop());}E.setText(E.getText().replace(/\u200B/g,''));if(F){var K=G.getRangeAt(0);K.setStart(K.startContainer,F[0]);K.setEnd(K.startContainer,F[1]);G.removeAllRanges();G.addRange(K);}}};function x(D){if(!D.isCollapsed){var E=D.getRangeAt(0);E.setStart(D.anchorNode,D.anchorOffset);E.setEnd(D.focusNode,D.focusOffset);return E.collapsed;}};j.add('selection',{init:function(D){if(b.webkit){D.on('selectionChange',function(){v(D.document);});D.on('beforeSetMode',function(){w(D.document);});var E,F;function G(){var I=D.document,J=u(I);if(J){var K=I.$.defaultView.getSelection();if(K.type=='Caret'&&K.anchorNode==J.$)F=1;E=J.getText();J.setText(E.replace(/\u200B/g,''));}};function H(){var I=D.document,J=u(I);if(J){J.setText(E);if(F){I.$.defaultView.getSelection().setPosition(J.$,J.getLength());F=0;}}};D.on('beforeUndoImage',G);D.on('afterUndoImage',H);D.on('beforeGetData',G,null,null,0);D.on('getData',H);}D.on('contentDom',function(){var I=D.document,J=a.document,K=I.getBody(),L=I.getDocumentElement();if(c){var M,N,O=1;K.on('focusin',function(V){if(V.data.$.srcElement.nodeName!='BODY')return;var W=I.getCustomData('cke_locked_selection');if(W){W.unlock(1);W.lock();}else if(M&&O){try{M.select();}catch(X){}M=null;}});K.on('focus',function(){N=1;U();});K.on('beforedeactivate',function(V){if(V.data.$.toElement)return; +N=0;O=1;});c&&D.on('blur',function(){try{I.$.selection.empty();}catch(V){}});L.on('mousedown',function(){O=0;});L.on('mouseup',function(){O=1;});var P;K.on('mousedown',function(V){if(V.data.$.button==2){var W=D.document.$.selection;if(W.type=='None')P=D.window.getScrollPosition();}T();});K.on('mouseup',function(V){if(V.data.$.button==2&&P){D.document.$.documentElement.scrollLeft=P.x;D.document.$.documentElement.scrollTop=P.y;}P=null;N=1;setTimeout(function(){U(true);},0);});K.on('keydown',T);K.on('keyup',function(){N=1;U();});if(I.$.compatMode!='BackCompat'){if(b.ie7Compat||b.ie6Compat){function Q(V,W,X){try{V.moveToPoint(W,X);}catch(Y){}};L.on('mousedown',function(V){function W(ab){ab=ab.data.$;if(Z){var ac=K.$.createTextRange();Q(ac,ab.x,ab.y);Z.setEndPoint(aa.compareEndPoints('StartToStart',ac)<0?'EndToEnd':'StartToStart',ac);Z.select();}};function X(){J.removeListener('mouseup',Y);L.removeListener('mouseup',Y);};function Y(){L.removeListener('mousemove',W);X();Z.select();};V=V.data;if(V.getTarget().is('html')&&V.$.x0)P=Q-1;else if(R<0)O=Q+1;else if(b.ie9Compat&&L.tagName=='BR'){var U=J.defaultView.getSelection();return{container:U[H?'anchorNode':'focusNode'],offset:U[H?'anchorOffset':'focusOffset']};}else return{container:I,offset:E(L)};}if(Q==-1||Q==K.length-1&&R<0){N.moveToElementText(I);N.setEndPoint('StartToStart',G);S=N.text.replace(/(\r\n|\r)/g,'\n').length;K=I.childNodes;if(!S){L=K[K.length-1];if(L.nodeType!=3)return{container:I,offset:K.length};else return{container:L,offset:L.nodeValue.length};}var V=K.length; +while(S>0&&V>0){M=K[--V];if(M.nodeType==3){T=M;S-=M.nodeValue.length;}}return{container:T,offset:-S};}else{N.collapse(R>0?true:false);N.setEndPoint(R>0?'StartToStart':'EndToStart',G);S=N.text.replace(/(\r\n|\r)/g,'\n').length;if(!S)return{container:I,offset:E(L)+(R>0?0:1)};while(S>0)try{M=L[R>0?'previousSibling':'nextSibling'];if(M.nodeType==3){S-=M.nodeValue.length;T=M;}L=M;}catch(W){return{container:I,offset:E(L)};}return{container:T,offset:R>0?-S:T.nodeValue.length+S};}};return function(){var Q=this;var G=Q.getNative(),H=G&&G.createRange(),I=Q.getType(),J;if(!G)return[];if(I==2){J=new d.range(Q.document);var K=F(H,true);J.setStart(new d.node(K.container),K.offset);K=F(H);J.setEnd(new d.node(K.container),K.offset);if(J.endContainer.getPosition(J.startContainer)&4&&J.endOffset<=J.startContainer.getIndex())J.collapse();return[J];}else if(I==3){var L=[];for(var M=0;M=L.getLength())P.setStartAfter(L);else P.setStartBefore(L);if(M&&M.type==3)if(!O)P.setEndBefore(M);else P.setEndAfter(M);var Q=new d.walker(P);Q.evaluator=function(R){if(R.type==1&&R.isReadOnly()){var S=I.clone();I.setEndBefore(R);if(I.collapsed)G.splice(H--,1);if(!(R.getPosition(P.endContainer)&16)){S.setStartAfter(R);if(!S.collapsed)G.splice(H+1,0,S);}return true;}return false;};Q.next();}}return F.ranges;};})(),getStartElement:function(){var K=this;var D=K._.cache;if(D.startElement!==undefined)return D.startElement; +var E,F=K.getNative();switch(K.getType()){case 3:return K.getSelectedElement();case 2:var G=K.getRanges()[0];if(G){if(!G.collapsed){G.optimize();while(1){var H=G.startContainer,I=G.startOffset;if(I==(H.getChildCount?H.getChildCount():H.getLength())&&!H.isBlockBoundary())G.setStartAfter(H);else break;}E=G.startContainer;if(E.type!=1)return E.getParent();E=E.getChild(G.startOffset);if(!E||E.type!=1)E=G.startContainer;else{var J=E.getFirst();while(J&&J.type==1){E=J;J=J.getFirst();}}}else{E=G.startContainer;if(E.type!=1)E=E.getParent();}E=E.$;}}return D.startElement=E?new h(E):null;},getSelectedElement:function(){var D=this._.cache;if(D.selectedElement!==undefined)return D.selectedElement;var E=this,F=e.tryThese(function(){return E.getNative().createRange().item(0);},function(){var G,H,I=E.getRanges()[0],J=I.getCommonAncestor(1,1),K={table:1,ul:1,ol:1,dl:1};for(var L in K){if(G=J.getAscendant(L,1))break;}if(G){var M=new d.range(this.document);M.setStartAt(G,1);M.setEnd(I.startContainer,I.startOffset);var N=e.extend(K,f.$listItem,f.$tableContent),O=new d.walker(M),P=function(Q,R){return function(S,T){if(S.type==3&&(!e.trim(S.getText())||S.getParent().data('cke-bookmark')))return true;var U;if(S.type==1){U=S.getName();if(U=='br'&&R&&S.equals(S.getParent().getBogus()))return true;if(T&&U in N||U in f.$removeEmpty)return true;}Q.halted=1;return false;};};O.guard=P(O);if(O.checkBackward()&&!O.halted){O=new d.walker(M);M.setStart(I.endContainer,I.endOffset);M.setEndAt(G,2);O.guard=P(O,1);if(O.checkForward()&&!O.halted)H=G.$;}}if(!H)throw 0;return H;},function(){var G=E.getRanges()[0],H,I;for(var J=2;J&&!((H=G.getEnclosedNode())&&H.type==1&&y[H.getName()]&&(I=H));J--)G.shrink(1);return I.$;});return D.selectedElement=F?new h(F):null;},getSelectedText:function(){var D=this._.cache;if(D.selectedText!==undefined)return D.selectedText;var E='',F=this.getNative();if(this.getType()==2)E=c?F.createRange().text:F.toString();return D.selectedText=E;},lock:function(){var D=this;D.getRanges();D.getStartElement();D.getSelectedElement();D.getSelectedText();D._.cache.nativeSel={};D.isLocked=1;D.document.setCustomData('cke_locked_selection',D);},unlock:function(D){var I=this;var E=I.document,F=E.getCustomData('cke_locked_selection');if(F){E.setCustomData('cke_locked_selection',null);if(D){var G=F.getSelectedElement(),H=!G&&F.getRanges();I.isLocked=0;I.reset();if(G)I.selectElement(G);else I.selectRanges(H);}}if(!F||!D){I.isLocked=0;I.reset();}},reset:function(){this._.cache={};},selectElement:function(D){var F=this; +if(F.isLocked){var E=new d.range(F.document);E.setStartBefore(D);E.setEndAfter(D);F._.cache.selectedElement=D;F._.cache.startElement=D;F._.cache.ranges=new d.rangeList(E);F._.cache.type=3;return;}E=new d.range(D.getDocument());E.setStartBefore(D);E.setEndAfter(D);E.select();F.document.fire('selectionchange');F.reset();},selectRanges:function(D){var R=this;if(R.isLocked){R._.cache.selectedElement=null;R._.cache.startElement=D[0]&&D[0].getTouchedStartNode();R._.cache.ranges=new d.rangeList(D);R._.cache.type=2;return;}if(c){if(D.length>1){var E=D[D.length-1];D[0].setEnd(E.endContainer,E.endOffset);D.length=1;}if(D[0])D[0].select();R.reset();}else{var F=R.getNative();if(!F)return;if(D.length){F.removeAllRanges();b.webkit&&w(R.document);}for(var G=0;G=0){M.collapse(1);N.setEnd(M.endContainer.$,M.endOffset);}else throw S;}F.addRange(N);}R.document.fire('selectionchange');R.reset();}},createBookmarks:function(D){return this.getRanges().createBookmarks(D);},createBookmarks2:function(D){return this.getRanges().createBookmarks2(D);},selectBookmarks:function(D){var E=[];for(var F=0;F','','',this.label,'','=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;"');if(b.gecko)n.push(' onblur="this.style.cssText = this.style.cssText;"');n.push(' onkeydown="CKEDITOR.tools.callFunction( ',t,', event, this );" onfocus="return CKEDITOR.tools.callFunction(',u,', event);" '+(c?'onclick="return false;" onmouseup':'onclick')+'="CKEDITOR.tools.callFunction(',q,', this); return false;">'+this.label+''+''+''+(b.hc?'▼':b.air?' ':'')+''+''+''+'');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(s.modes&&s.modes[m.mode]?2:0);s._.on=0;if(!t&&s.onClose)s.onClose();};q.onEscape=function(){q.hide();};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(false);};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(o){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(){var m=this;if(!m._.committed){m._.list.commit();m._.committed=1;k.fire('ready',m);}m._.committed=1;},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,'richcombo',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});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(/&/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=='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('');},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','menu'],beforeInit:function(m){m.ui.addHandler('menubutton',k.menuButton.handler);}});a.UI_MENUBUTTON='menubutton';(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 a.menu(n,{panel:{className:n.skinClass+' cke_contextmenu',attributes:{'aria-label':n.lang.common.options}}});p.onHide=e.bind(function(){this.setState(this.modes&&this.modes[n.mode]?o.previousState:0);},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',v.label,'','');else{var D={type:'hbox',widths:v.widths,padding:0,children:[{type:'html',html:'