HTMLArea.CharacterMap=HTMLArea.Plugin.extend({constructor:function(editor,pluginName){this.base(editor,pluginName);},configurePlugin:function(editor){var pluginInformation={version:'2.0',developer:'Holger Hees, Bernhard Pfeifer, Stanislas Rolland',developerUrl:'http://www.sjbr.ca/',copyrightOwner:'Holger Hees, Bernhard Pfeifer, Stanislas Rolland',sponsor:'System Concept GmbH, Bernhard Pfeifer, SJBR',sponsorUrl:'http://www.sjbr.ca/',license:'GPL'};this.registerPluginInformation(pluginInformation);var buttonId='InsertCharacter';var buttonConfiguration={id:buttonId,tooltip:this.localize(buttonId+'-Tooltip'),action:'onButtonPress',dialog:true,iconCls:'htmlarea-action-character-insert-from-map'};this.registerButton(buttonConfiguration);Ext.iterate(this.maps,function(key,map,maps){for(var i=map.length;--i>=0;){maps[key][i].push(this.localize(map[i][1]));}},this);return true;},maps:{general:[[' ','nbsp'],['À','Agrave'],['à','agrave'],['Á','Aacute'],['á','aacute'],['Â','Acirc'],['â','acirc'],['Ã','Atilde'],['ã','atilde'],['Ä','Auml'],['ä','auml'],['Å','Aring'],['å','aring'],['Æ','AElig'],['æ','aelig'],['ª','ordf'],['Ç','Ccedil'],['ç','ccedil'],['Ð','ETH'],['ð','eth'],['È','Egrave'],['è','egrave'],['É','Eacute'],['é','eacute'],['Ê','Ecirc'],['ê','ecirc'],['Ë','Euml'],['ë','euml'],['Ì','Igrave'],['ì','igrave'],['Í','Iacute'],['í','iacute'],['Î','Icirc'],['î','icirc'],['Ï','Iuml'],['ï','iuml'],['Ñ','Ntilde'],['ñ','ntilde'],['Ò','Ograve'],['ò','ograve'],['Ó','Oacute'],['ó','oacute'],['Ô','Ocirc'],['ô','ocirc'],['Õ','Otilde'],['õ','otilde'],['Ö','Ouml'],['ö','ouml'],['Ø','Oslash'],['ø','oslash'],['Œ','OElig'],['œ','oelig'],['º','ordm'],['Š','Scaron'],['š','scaron'],['ß','szlig'],['Þ','THORN'],['þ','thorn'],['Ù','Ugrave'],['ù','ugrave'],['Ú','Uacute'],['ú','uacute'],['Û','Ucirc'],['û','ucirc'],['Ü','Uuml'],['ü','uuml'],['Ý','Yacute'],['ý','yacute'],['Ÿ','Yuml'],['ÿ','yuml'],['´','acute'],['ˆ','circ'],['˜','tilde'],['¨','uml'],['¸','cedil'],['','shy'],['–','ndash'],['—','mdash'],['‘','lsquo'],['’','rsquo'],['‚','sbquo'],['“','ldquo'],['”','rdquo'],['„','bdquo'],['‹','lsaquo'],['›','rsaquo'],['«','laquo'],['»','raquo'],['"','quot'],['…','hellip'],['¿','iquest'],['¡','iexcl'],['•','bull'],['†','dagger'],['‡','Dagger'],['¦','brvbar'],['¶','para'],['§','sect'],['◊','loz'],['@','#064'],['©','copy'],['®','reg'],['™','trade'],['¤','curren'],['¢','cent'],['€','euro'],['£','pound'],['¥','yen'],[' ','emsp'],[' ','ensp'],[' ','thinsp'],['','zwj'],['','zwnj']],mathematical:[['−','minus'],['±','plusmn'],['×','times'],['÷','divide'],['√','radic'],['⋅','sdot'],['⊗','otimes'],['∗','lowast'],['≥','ge'],['≤','le'],['≠','ne'],['≈','asymp'],['∼','sim'],['∝','prop'],['°','deg'],['′','prime'],['″','Prime'],['µ','micro'],['∠','ang'],['⊥','perp'],['‰','permil'],['⁄','frasl'],['¼','frac14'],['½','frac12'],['¾','frac34'],['¹','sup1'],['²','sup2'],['³','sup3'],['¬','not'],['∧','and'],['∨','or'],['∴','there4'],['≅','cong'],['∈','isin'],['∋','ni'],['∉','notin'],['⊂','sub'],['⊆','sube'],['⊄','nsub'],['⊃','sup'],['⊇','supe'],['∩','cap'],['∪','cup'],['⊕','oplus'],['∇','nabla'],['∅','empty'],['≡','equiv'],['∑','sum'],['∏','prod'],['℘','weierp'],['∃','exist'],['∀','forall'],['∞','infin'],['ℵ','alefsym'],['ℜ','real'],['ℑ','image'],['ƒ','fnof'],['∫','int'],['∂','part'],['Α','Alpha'],['α','alpha'],['Β','Beta'],['β','beta'],['Γ','Gamma'],['γ','gamma'],['Δ','Delta'],['δ','delta'],['Ε','Epsilon'],['ε','epsilon'],['Ζ','Zeta'],['ζ','zeta'],['Η','Eta'],['η','eta'],['Θ','Theta'],['θ','theta'],['ϑ','thetasym'],['Ι','Iota'],['ι','iota'],['Κ','Kappa'],['κ','kappa'],['Λ','Lambda'],['λ','lambda'],['Μ','Mu'],['μ','mu'],['Ν','Nu'],['ν','nu'],['Ξ','Xi'],['ξ','xi'],['Ο','Omicron'],['ο','omicron'],['Π','Pi'],['π','pi'],['ϖ','piv'],['Ρ','Rho'],['ρ','rho'],['Σ','Sigma'],['σ','sigma'],['ς','sigmaf'],['Τ','Tau'],['τ','tau'],['Υ','Upsilon'],['ϒ','upsih'],['υ','upsilon'],['Φ','Phi'],['φ','phi'],['Χ','Chi'],['χ','chi'],['Ψ','Psi'],['ψ','psi'],['Ω','Omega'],['ω','omega']],graphical:[['↵','crarr'],['↑','uarr'],['↓','darr'],['←','larr'],['→','rarr'],['↔','harr'],['⇑','uArr'],['⇓','dArr'],['⇐','lArr'],['⇒','rArr'],['⇔','hArr'],[' ','nbsp'],[' ','nbsp'],[' ','nbsp'],[' ','nbsp'],['♣','clubs'],['♦','diams'],['♥','hearts'],['♠','spades']]},onButtonPress:function(editor,id){var buttonId=this.translateHotKey(id);buttonId=buttonId?buttonId:id;this.openDialogue(buttonId,'Insert special character',this.getWindowDimensions({width:434,height:360},buttonId),this.buildTabItems());return false;},openDialogue:function(buttonId,title,dimensions,tabItems,handler){this.dialog=new Ext.Window({title:this.localize(title),cls:'htmlarea-window',border:false,width:dimensions.width,height:'auto',resizable:!Ext.isIE,iconCls:this.getButton(buttonId).iconCls,listeners:{close:{fn:this.onClose,scope:this}},items:{xtype:'tabpanel',activeTab:0,listeners:{activate:{fn:this.resetFocus,scope:this},tabchange:{fn:this.syncHeight,scope:this}},items:tabItems},buttons:[this.buildButtonConfig('Cancel',this.onCancel)]});this.show();},buildTabItems:function(){var tabItems=[];Ext.iterate(this.maps,function(id,map){tabItems.push({xtype:'box',cls:'character-map',title:this.localize(id),itemId:id,tpl:new Ext.XTemplate('{0}'),listeners:{render:{fn:this.renderMap,scope:this}}});},this);return tabItems;},renderMap:function(component){component.tpl.overwrite(component.el,this.maps[component.itemId]);component.mon(component.el,'click',this.insertCharacter,this,{delegate:'a'});},insertCharacter:function(event,target){event.stopEvent();this.editor.focus();this.restoreSelection();var entity=Ext.get(target).dom.innerHTML;if(Ext.isIE){this.editor.insertHTML(entity);this.saveSelection();}else{this.editor.insertNodeAtSelection(this.editor.document.createTextNode(((Ext.isGecko||Ext.isWebKit)&&entity==' ')?'\xA0':entity));}
return false;},resetFocus:function(){this.editor.focus();this.restoreSelection();}});