2 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3 For licensing, see LICENSE.html or http://ckeditor.com/license
6 CKEDITOR
.dialog
.add('specialchar',function(a
){var b
,c
=a
.lang
.specialChar
,d=function(k
){var l
=a
.getSelection(),m
=l
.getRanges(),n
,o
;a
.fire('saveSnapshot');for(var p
=0,q
=m
.length
;p
<q
;p
++){n
=m
[p
];n
.deleteContents();o
=CKEDITOR
.dom
.element
.createFromHtml(k
);n
.insertNode(o
);}n
.moveToPosition(o
,CKEDITOR
.POSITION_AFTER_END
);n
.select();a
.fire('saveSnapshot');},e=function(k
){var l
,m
;if(k
.data
)l
=k
.data
.getTarget();else l
=new CKEDITOR
.dom
.element(k
);if(l
.getName()=='a'&&(m
=l
.getChild(0).getHtml())){l
.removeClass('cke_light_background');b
.hide();if(CKEDITOR
.env
.gecko
)d(m
);else a
.insertHtml(m
);}},f
=CKEDITOR
.tools
.addFunction(e
),g
,h=function(k
,l
){var m
;l
=l
||k
.data
.getTarget();if(l
.getName()=='span')l
=l
.getParent();if(l
.getName()=='a'&&(m
=l
.getChild(0).getHtml())){if(g
)i(null,g
);var n
=b
.getContentElement('info','htmlPreview').getElement();b
.getContentElement('info','charPreview').getElement().setHtml(m
);n
.setHtml(CKEDITOR
.tools
.htmlEncode(m
));l
.getParent().addClass('cke_light_background');g
=l
;}},i=function(k
,l
){l
=l
||k
.data
.getTarget();if(l
.getName()=='span')l
=l
.getParent();if(l
.getName()=='a'){b
.getContentElement('info','charPreview').getElement().setHtml(' ');b
.getContentElement('info','htmlPreview').getElement().setHtml(' ');l
.getParent().removeClass('cke_light_background');g
=undefined;}},j
=CKEDITOR
.tools
.addFunction(function(k
){k
=new CKEDITOR
.dom
.event(k
);var l
=k
.getTarget(),m
,n
,o
=k
.getKeystroke(),p
=a
.lang
.dir
=='rtl';switch(o
){case 38:if(m
=l
.getParent().getParent().getPrevious()){n
=m
.getChild([l
.getParent().getIndex(),0]);n
.focus();i(null,l
);h(null,n
);}k
.preventDefault();break;case 40:if(m
=l
.getParent().getParent().getNext()){n
=m
.getChild([l
.getParent().getIndex(),0]);if(n
&&n
.type
==1){n
.focus();i(null,l
);h(null,n
);}}k
.preventDefault();break;case 32:e({data
:k
});k
.preventDefault();break;case p
?37:39:case 9:if(m
=l
.getParent().getNext()){n
=m
.getChild(0);if(n
.type
==1){n
.focus();i(null,l
);h(null,n
);k
.preventDefault(true);}else i(null,l
);}else if(m
=l
.getParent().getParent().getNext()){n
=m
.getChild([0,0]);if(n
&&n
.type
==1){n
.focus();i(null,l
);h(null,n
);k
.preventDefault(true);}else i(null,l
);}break;case p
?39:37:case CKEDITOR
.SHIFT
+9:if(m
=l
.getParent().getPrevious()){n
=m
.getChild(0);n
.focus();i(null,l
);h(null,n
);k
.preventDefault(true);}else if(m
=l
.getParent().getParent().getPrevious()){n
=m
.getLast().getChild(0);n
.focus();i(null,l
);h(null,n
);k
.preventDefault(true);}else i(null,l
);break;default:return;}});return{title
:c
.title
,minWidth
:430,minHeight
:280,buttons
:[CKEDITOR
.dialog
.cancelButton
],charColumns
:17,chars
:['!','"','#','$','%','&',"'",'(',')','*','+','-','.','/','0','1','2','3','4','5','6','7','8','9',':',';','<','=','>','?','@','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','[',']','^','_','`','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','{','|','}','~','€(EURO SIGN)','‘(LEFT SINGLE QUOTATION MARK)','’(RIGHT SINGLE QUOTATION MARK)','“(LEFT DOUBLE QUOTATION MARK)','”(RIGHT DOUBLE QUOTATION MARK)','–(EN DASH)','—(EM DASH)','¡(INVERTED EXCLAMATION MARK)','¢(CENT SIGN)','£(POUND SIGN)','¤(CURRENCY SIGN)','¥(YEN SIGN)','¦(BROKEN BAR)','§(SECTION SIGN)','¨(DIAERESIS)','©(COPYRIGHT SIGN)','ª(FEMININE ORDINAL INDICATOR)','«(LEFT-POINTING DOUBLE ANGLE QUOTATION MARK)','¬(NOT SIGN)','®(REGISTERED SIGN)','¯(MACRON)','°(DEGREE SIGN)','±(PLUS-MINUS SIGN)','²(SUPERSCRIPT TWO)','³(SUPERSCRIPT THREE)','´(ACUTE ACCENT)','µ(MICRO SIGN)','¶(PILCROW SIGN)','·(MIDDLE DOT)','¸(CEDILLA)','¹(SUPERSCRIPT ONE)','º(MASCULINE ORDINAL INDICATOR)','»(RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK)','¼(VULGAR FRACTION ONE QUARTER)','½(VULGAR FRACTION ONE HALF)','¾(VULGAR FRACTION THREE QUARTERS)','¿(INVERTED QUESTION MARK)','À(LATIN CAPITAL LETTER A WITH GRAVE)','Á(LATIN CAPITAL LETTER A WITH ACUTE)','Â(LATIN CAPITAL LETTER A WITH CIRCUMFLEX)','Ã(LATIN CAPITAL LETTER A WITH TILDE)','Ä(LATIN CAPITAL LETTER A WITH DIAERESIS)','Å(LATIN CAPITAL LETTER A WITH RING ABOVE)','Æ(LATIN CAPITAL LETTER AE)','Ç(LATIN CAPITAL LETTER C WITH CEDILLA)','È(LATIN CAPITAL LETTER E WITH GRAVE)','É(LATIN CAPITAL LETTER E WITH ACUTE)','Ê(LATIN CAPITAL LETTER E WITH CIRCUMFLEX)','Ë(LATIN CAPITAL LETTER E WITH DIAERESIS)','Ì(LATIN CAPITAL LETTER I WITH GRAVE)','Í(LATIN CAPITAL LETTER I WITH ACUTE)','Î(LATIN CAPITAL LETTER I WITH CIRCUMFLEX)','Ï(LATIN CAPITAL LETTER I WITH DIAERESIS)','Ð(LATIN CAPITAL LETTER ETH)','Ñ(LATIN CAPITAL LETTER N WITH TILDE)','Ò(LATIN CAPITAL LETTER O WITH GRAVE)','Ó(LATIN CAPITAL LETTER O WITH ACUTE)','Ô(LATIN CAPITAL LETTER O WITH CIRCUMFLEX)','Õ(LATIN CAPITAL LETTER O WITH TILDE)','Ö(LATIN CAPITAL LETTER O WITH DIAERESIS)','×(MULTIPLICATION SIGN)','Ø(LATIN CAPITAL LETTER O WITH STROKE)','Ù(LATIN CAPITAL LETTER U WITH GRAVE)','Ú(LATIN CAPITAL LETTER U WITH ACUTE)','Û(LATIN CAPITAL LETTER U WITH CIRCUMFLEX)','Ü(LATIN CAPITAL LETTER U WITH DIAERESIS)','Ý(LATIN CAPITAL LETTER Y WITH ACUTE)','Þ(LATIN CAPITAL LETTER THORN)','ß(LATIN SMALL LETTER SHARP S)','à(LATIN SMALL LETTER A WITH GRAVE)','á(LATIN SMALL LETTER A WITH ACUTE)','â(LATIN SMALL LETTER A WITH CIRCUMFLEX)','ã(LATIN SMALL LETTER A WITH TILDE)','ä(LATIN SMALL LETTER A WITH DIAERESIS)','å(LATIN SMALL LETTER A WITH RING ABOVE)','æ(LATIN SMALL LETTER AE)','ç(LATIN SMALL LETTER C WITH CEDILLA)','è(LATIN SMALL LETTER E WITH GRAVE)','é(LATIN SMALL LETTER E WITH ACUTE)','ê(LATIN SMALL LETTER E WITH CIRCUMFLEX)','ë(LATIN SMALL LETTER E WITH DIAERESIS)','ì(LATIN SMALL LETTER I WITH GRAVE)','í(LATIN SMALL LETTER I WITH ACUTE)','î(LATIN SMALL LETTER I WITH CIRCUMFLEX)','ï(LATIN SMALL LETTER I WITH DIAERESIS)','ð(LATIN SMALL LETTER ETH)','ñ(LATIN SMALL LETTER N WITH TILDE)','ò(LATIN SMALL LETTER O WITH GRAVE)','ó(LATIN SMALL LETTER O WITH ACUTE)','ô(LATIN SMALL LETTER O WITH CIRCUMFLEX)','õ(LATIN SMALL LETTER O WITH TILDE)','ö(LATIN SMALL LETTER O WITH DIAERESIS)','÷(DIVISION SIGN)','ø(LATIN SMALL LETTER O WITH STROKE)','ù(LATIN SMALL LETTER U WITH GRAVE)','ú(LATIN SMALL LETTER U WITH ACUTE)','û(LATIN SMALL LETTER U WITH CIRCUMFLEX)','ü(LATIN SMALL LETTER U WITH DIAERESIS)','ü(LATIN SMALL LETTER U WITH DIAERESIS)','ý(LATIN SMALL LETTER Y WITH ACUTE)','þ(LATIN SMALL LETTER THORN)','ÿ(LATIN SMALL LETTER Y WITH DIAERESIS)','Œ(LATIN CAPITAL LIGATURE OE)','œ(LATIN SMALL LIGATURE OE)','Ŵ(LATIN CAPITAL LETTER W WITH CIRCUMFLEX)','Ŷ(LATIN CAPITAL LETTER Y WITH CIRCUMFLEX)','ŵ(LATIN SMALL LETTER W WITH CIRCUMFLEX)','ŷ(LATIN SMALL LETTER Y WITH CIRCUMFLEX)','‚(SINGLE LOW-9 QUOTATION MARK)','‛(SINGLE HIGH-REVERSED-9 QUOTATION MARK)','„(DOUBLE LOW-9 QUOTATION MARK)','…(HORIZONTAL ELLIPSIS)','™(TRADE MARK SIGN)','►(BLACK RIGHT-POINTING POINTER)','•(BULLET)','→(RIGHTWARDS ARROW)','⇒(RIGHTWARDS DOUBLE ARROW)','⇔(LEFT RIGHT DOUBLE ARROW)','♦(BLACK DIAMOND SUIT)','≈(ALMOST EQUAL TO)'],onLoad:function(){var k
=this.definition
.charColumns
,l
=this.definition
.chars
,m
=['<table role="listbox" aria-labelledby="specialchar_table_label" style="width: 320px; height: 100%; border-collapse: separate;" align="center" cellspacing="2" cellpadding="2" border="0">'],n
=0,o
=l
.length
,p
,q
;
7 while(n
<o
){m
.push('<tr>');for(var r
=0;r
<k
;r
++,n
++){if(p
=l
[n
]){q
='';p
=p
.replace(/\((.*?)\)/,function(s
,t
){q
=t
;return '';});q
=q
||p
;m
.push('<td class="cke_dark_background" style="cursor: default" role="presentation"><a href="javascript: void(0);" role="option" aria-posinset="'+(n
+1)+'"',' aria-setsize="'+o
+'"',' aria-labelledby="cke_specialchar_label_'+n
+'"',' style="cursor: inherit; display: block; height: 1.25em; margin-top: 0.25em; text-align: center;" title="',CKEDITOR
.tools
.htmlEncode(q
),'" onkeydown="CKEDITOR.tools.callFunction( '+j
+', event, this )"'+' onclick="CKEDITOR.tools.callFunction('+f
+', this); return false;"'+' tabindex="-1">'+'<span style="margin: 0 auto;cursor: inherit">'+p
+'</span>'+'<span class="cke_voice_label" id="cke_specialchar_label_'+n
+'">'+q
+'</span></a>');}else m
.push('<td class="cke_dark_background"> ');m
.push('</td>');}m
.push('</tr>');}m
.push('</tbody></table>','<span id="specialchar_table_label" class="cke_voice_label">'+c
.options
+'</span>');this.getContentElement('info','charContainer').getElement().setHtml(m
.join(''));},contents
:[{id
:'info',label
:a
.lang
.common
.generalTab
,title
:a
.lang
.common
.generalTab
,padding
:0,align
:'top',elements
:[{type
:'hbox',align
:'top',widths
:['320px','90px'],children
:[{type
:'html',id
:'charContainer',html
:'',onMouseover
:h
,onMouseout
:i
,focus:function(){var k
=this.getElement().getElementsByTag('a').getItem(0);setTimeout(function(){k
.focus();h(null,k
);});},onShow:function(){var k
=this.getElement().getChild([0,0,0,0,0]);setTimeout(function(){k
.focus();h(null,k
);});},onLoad:function(k
){b
=k
.sender
;}},{type
:'hbox',align
:'top',widths
:['100%'],children
:[{type
:'vbox',align
:'top',children
:[{type
:'html',html
:'<div></div>'},{type
:'html',id
:'charPreview',className
:'cke_dark_background',style
:"border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;",html
:'<div> </div>'},{type
:'html',id
:'htmlPreview',className
:'cke_dark_background',style
:"border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;",html
:'<div> </div>'}]}]}]}]}]};});