tinyMCEPopup.requireLangPack(); var charmap = [ ['Ā', 'Ā', true, 'A - macron'], ['Ē', 'Ē', true, 'E - macron'], ['Ī', 'Ī', true, 'I - macron'], ['Ō', 'Ō', true, 'O - macron'], ['Ū', 'Ū', true, 'U - macron'], ['ā', 'ā', true, 'a - macron'], ['ē', 'ē', true, 'e - macron'], ['ī', 'ī', true, 'i - macron'], ['ō', 'ō', true, 'o - macron'], ['ū', 'ū', true, 'u - macron'] ]; tinyMCEPopup.onInit.add(function() { tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); }); function renderCharMapHTML() { var charsPerRow = 5, tdWidth=20, tdHeight=20, i; var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">'; var cols=-1; for (i=0; i<charmap.length; i++) { if (charmap[i][2]==true) { cols++; html += '' + '<td class="charmap">' + '<a onmouseover="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" onfocus="previewChar(\'' + charmap[i][1].substring(1,charmap[i][1].length) + '\',\'' + charmap[i][0].substring(1,charmap[i][0].length) + '\',\'' + charmap[i][3] + '\');" href="javascript:void(0)" onclick="insertChar(\'' + charmap[i][1].substring(2,charmap[i][1].length-1) + '\');" onclick="return false;" onmousedown="return false;" title="' + charmap[i][3] + '">' + charmap[i][1] + '</a></td>'; if ((cols+1) % charsPerRow == 0) html += '</tr><tr height="' + tdHeight + '">'; } } if (cols % charsPerRow > 0) { var padd = charsPerRow - (cols % charsPerRow); for (var i=0; i<padd-1; i++) html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap"> </td>'; } html += '</tr></table>'; return html; } function insertChar(chr) { tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); // Refocus in window if (tinyMCEPopup.isWindow) window.focus(); tinyMCEPopup.editor.focus(); tinyMCEPopup.close(); } function previewChar(codeA, codeB, codeN) { var elmV = document.getElementById('codeV'); var elmN = document.getElementById('codeN'); if (codeA=='#160;') { elmV.innerHTML = '__'; } else { elmV.innerHTML = '&' + codeA; } elmN.innerHTML = codeN; }