summaryrefslogtreecommitdiff
path: root/public/javascripts/tiny_mce/themes/advanced/js
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-27 22:52:50 +0200
commit9a19a0494ef51cdac9a78e24d517ca48ba44c453 (patch)
tree8eaae12d8047a40e29d3ea7ff3116b5c869e04bd /public/javascripts/tiny_mce/themes/advanced/js
parent85a01e35274b8d4d4165a7b26bd7986e211246bb (diff)
parent1853082fcd8c067390c246f9daa01a9b47387497 (diff)
Migration from Rails 2.3.5 to Rails 8.1 successful.
Merging dev branch.
Diffstat (limited to 'public/javascripts/tiny_mce/themes/advanced/js')
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/about.js72
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/anchor.js37
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/charmap.js325
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/color_picker.js253
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/image.js245
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/link.js156
-rw-r--r--public/javascripts/tiny_mce/themes/advanced/js/source_editor.js62
7 files changed, 0 insertions, 1150 deletions
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/about.js b/public/javascripts/tiny_mce/themes/advanced/js/about.js
deleted file mode 100644
index 5cee9ed..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/about.js
+++ /dev/null
@@ -1,72 +0,0 @@
1tinyMCEPopup.requireLangPack();
2
3function init() {
4 var ed, tcont;
5
6 tinyMCEPopup.resizeToInnerSize();
7 ed = tinyMCEPopup.editor;
8
9 // Give FF some time
10 window.setTimeout(insertHelpIFrame, 10);
11
12 tcont = document.getElementById('plugintablecontainer');
13 document.getElementById('plugins_tab').style.display = 'none';
14
15 var html = "";
16 html += '<table id="plugintable">';
17 html += '<thead>';
18 html += '<tr>';
19 html += '<td>' + ed.getLang('advanced_dlg.about_plugin') + '</td>';
20 html += '<td>' + ed.getLang('advanced_dlg.about_author') + '</td>';
21 html += '<td>' + ed.getLang('advanced_dlg.about_version') + '</td>';
22 html += '</tr>';
23 html += '</thead>';
24 html += '<tbody>';
25
26 tinymce.each(ed.plugins, function(p, n) {
27 var info;
28
29 if (!p.getInfo)
30 return;
31
32 html += '<tr>';
33
34 info = p.getInfo();
35
36 if (info.infourl != null && info.infourl != '')
37 html += '<td width="50%" title="' + n + '"><a href="' + info.infourl + '" target="_blank">' + info.longname + '</a></td>';
38 else
39 html += '<td width="50%" title="' + n + '">' + info.longname + '</td>';
40
41 if (info.authorurl != null && info.authorurl != '')
42 html += '<td width="35%"><a href="' + info.authorurl + '" target="_blank">' + info.author + '</a></td>';
43 else
44 html += '<td width="35%">' + info.author + '</td>';
45
46 html += '<td width="15%">' + info.version + '</td>';
47 html += '</tr>';
48
49 document.getElementById('plugins_tab').style.display = '';
50
51 });
52
53 html += '</tbody>';
54 html += '</table>';
55
56 tcont.innerHTML = html;
57
58 tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion;
59 tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate;
60}
61
62function insertHelpIFrame() {
63 var html;
64
65 if (tinyMCEPopup.getParam('docs_url')) {
66 html = '<iframe width="100%" height="300" src="' + tinyMCEPopup.editor.baseURI.toAbsolute(tinyMCEPopup.getParam('docs_url')) + '"></iframe>';
67 document.getElementById('iframecontainer').innerHTML = html;
68 document.getElementById('help_tab').style.display = 'block';
69 }
70}
71
72tinyMCEPopup.onInit.add(init);
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/anchor.js b/public/javascripts/tiny_mce/themes/advanced/js/anchor.js
deleted file mode 100644
index b5efd1e..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/anchor.js
+++ /dev/null
@@ -1,37 +0,0 @@
1tinyMCEPopup.requireLangPack();
2
3var AnchorDialog = {
4 init : function(ed) {
5 var action, elm, f = document.forms[0];
6
7 this.editor = ed;
8 elm = ed.dom.getParent(ed.selection.getNode(), 'A,IMG');
9 v = ed.dom.getAttrib(elm, 'name');
10
11 if (v) {
12 this.action = 'update';
13 f.anchorName.value = v;
14 }
15
16 f.insert.value = ed.getLang(elm ? 'update' : 'insert');
17 },
18
19 update : function() {
20 var ed = this.editor;
21
22 tinyMCEPopup.restoreSelection();
23
24 if (this.action != 'update')
25 ed.selection.collapse(1);
26
27 // Webkit acts weird if empty inline element is inserted so we need to use a image instead
28 if (tinymce.isWebKit)
29 ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('img', {mce_name : 'a', name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}));
30 else
31 ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}, ''));
32
33 tinyMCEPopup.close();
34 }
35};
36
37tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog);
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/charmap.js b/public/javascripts/tiny_mce/themes/advanced/js/charmap.js
deleted file mode 100644
index 8467ef6..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/charmap.js
+++ /dev/null
@@ -1,325 +0,0 @@
1tinyMCEPopup.requireLangPack();
2
3var charmap = [
4 ['&nbsp;', '&#160;', true, 'no-break space'],
5 ['&amp;', '&#38;', true, 'ampersand'],
6 ['&quot;', '&#34;', true, 'quotation mark'],
7// finance
8 ['&cent;', '&#162;', true, 'cent sign'],
9 ['&euro;', '&#8364;', true, 'euro sign'],
10 ['&pound;', '&#163;', true, 'pound sign'],
11 ['&yen;', '&#165;', true, 'yen sign'],
12// signs
13 ['&copy;', '&#169;', true, 'copyright sign'],
14 ['&reg;', '&#174;', true, 'registered sign'],
15 ['&trade;', '&#8482;', true, 'trade mark sign'],
16 ['&permil;', '&#8240;', true, 'per mille sign'],
17 ['&micro;', '&#181;', true, 'micro sign'],
18 ['&middot;', '&#183;', true, 'middle dot'],
19 ['&bull;', '&#8226;', true, 'bullet'],
20 ['&hellip;', '&#8230;', true, 'three dot leader'],
21 ['&prime;', '&#8242;', true, 'minutes / feet'],
22 ['&Prime;', '&#8243;', true, 'seconds / inches'],
23 ['&sect;', '&#167;', true, 'section sign'],
24 ['&para;', '&#182;', true, 'paragraph sign'],
25 ['&szlig;', '&#223;', true, 'sharp s / ess-zed'],
26// quotations
27 ['&lsaquo;', '&#8249;', true, 'single left-pointing angle quotation mark'],
28 ['&rsaquo;', '&#8250;', true, 'single right-pointing angle quotation mark'],
29 ['&laquo;', '&#171;', true, 'left pointing guillemet'],
30 ['&raquo;', '&#187;', true, 'right pointing guillemet'],
31 ['&lsquo;', '&#8216;', true, 'left single quotation mark'],
32 ['&rsquo;', '&#8217;', true, 'right single quotation mark'],
33 ['&ldquo;', '&#8220;', true, 'left double quotation mark'],
34 ['&rdquo;', '&#8221;', true, 'right double quotation mark'],
35 ['&sbquo;', '&#8218;', true, 'single low-9 quotation mark'],
36 ['&bdquo;', '&#8222;', true, 'double low-9 quotation mark'],
37 ['&lt;', '&#60;', true, 'less-than sign'],
38 ['&gt;', '&#62;', true, 'greater-than sign'],
39 ['&le;', '&#8804;', true, 'less-than or equal to'],
40 ['&ge;', '&#8805;', true, 'greater-than or equal to'],
41 ['&ndash;', '&#8211;', true, 'en dash'],
42 ['&mdash;', '&#8212;', true, 'em dash'],
43 ['&macr;', '&#175;', true, 'macron'],
44 ['&oline;', '&#8254;', true, 'overline'],
45 ['&curren;', '&#164;', true, 'currency sign'],
46 ['&brvbar;', '&#166;', true, 'broken bar'],
47 ['&uml;', '&#168;', true, 'diaeresis'],
48 ['&iexcl;', '&#161;', true, 'inverted exclamation mark'],
49 ['&iquest;', '&#191;', true, 'turned question mark'],
50 ['&circ;', '&#710;', true, 'circumflex accent'],
51 ['&tilde;', '&#732;', true, 'small tilde'],
52 ['&deg;', '&#176;', true, 'degree sign'],
53 ['&minus;', '&#8722;', true, 'minus sign'],
54 ['&plusmn;', '&#177;', true, 'plus-minus sign'],
55 ['&divide;', '&#247;', true, 'division sign'],
56 ['&frasl;', '&#8260;', true, 'fraction slash'],
57 ['&times;', '&#215;', true, 'multiplication sign'],
58 ['&sup1;', '&#185;', true, 'superscript one'],
59 ['&sup2;', '&#178;', true, 'superscript two'],
60 ['&sup3;', '&#179;', true, 'superscript three'],
61 ['&frac14;', '&#188;', true, 'fraction one quarter'],
62 ['&frac12;', '&#189;', true, 'fraction one half'],
63 ['&frac34;', '&#190;', true, 'fraction three quarters'],
64// math / logical
65 ['&fnof;', '&#402;', true, 'function / florin'],
66 ['&int;', '&#8747;', true, 'integral'],
67 ['&sum;', '&#8721;', true, 'n-ary sumation'],
68 ['&infin;', '&#8734;', true, 'infinity'],
69 ['&radic;', '&#8730;', true, 'square root'],
70 ['&sim;', '&#8764;', false,'similar to'],
71 ['&cong;', '&#8773;', false,'approximately equal to'],
72 ['&asymp;', '&#8776;', true, 'almost equal to'],
73 ['&ne;', '&#8800;', true, 'not equal to'],
74 ['&equiv;', '&#8801;', true, 'identical to'],
75 ['&isin;', '&#8712;', false,'element of'],
76 ['&notin;', '&#8713;', false,'not an element of'],
77 ['&ni;', '&#8715;', false,'contains as member'],
78 ['&prod;', '&#8719;', true, 'n-ary product'],
79 ['&and;', '&#8743;', false,'logical and'],
80 ['&or;', '&#8744;', false,'logical or'],
81 ['&not;', '&#172;', true, 'not sign'],
82 ['&cap;', '&#8745;', true, 'intersection'],
83 ['&cup;', '&#8746;', false,'union'],
84 ['&part;', '&#8706;', true, 'partial differential'],
85 ['&forall;', '&#8704;', false,'for all'],
86 ['&exist;', '&#8707;', false,'there exists'],
87 ['&empty;', '&#8709;', false,'diameter'],
88 ['&nabla;', '&#8711;', false,'backward difference'],
89 ['&lowast;', '&#8727;', false,'asterisk operator'],
90 ['&prop;', '&#8733;', false,'proportional to'],
91 ['&ang;', '&#8736;', false,'angle'],
92// undefined
93 ['&acute;', '&#180;', true, 'acute accent'],
94 ['&cedil;', '&#184;', true, 'cedilla'],
95 ['&ordf;', '&#170;', true, 'feminine ordinal indicator'],
96 ['&ordm;', '&#186;', true, 'masculine ordinal indicator'],
97 ['&dagger;', '&#8224;', true, 'dagger'],
98 ['&Dagger;', '&#8225;', true, 'double dagger'],
99// alphabetical special chars
100 ['&Agrave;', '&#192;', true, 'A - grave'],
101 ['&Aacute;', '&#193;', true, 'A - acute'],
102 ['&Acirc;', '&#194;', true, 'A - circumflex'],
103 ['&Atilde;', '&#195;', true, 'A - tilde'],
104 ['&Auml;', '&#196;', true, 'A - diaeresis'],
105 ['&Aring;', '&#197;', true, 'A - ring above'],
106 ['&AElig;', '&#198;', true, 'ligature AE'],
107 ['&Ccedil;', '&#199;', true, 'C - cedilla'],
108 ['&Egrave;', '&#200;', true, 'E - grave'],
109 ['&Eacute;', '&#201;', true, 'E - acute'],
110 ['&Ecirc;', '&#202;', true, 'E - circumflex'],
111 ['&Euml;', '&#203;', true, 'E - diaeresis'],
112 ['&Igrave;', '&#204;', true, 'I - grave'],
113 ['&Iacute;', '&#205;', true, 'I - acute'],
114 ['&Icirc;', '&#206;', true, 'I - circumflex'],
115 ['&Iuml;', '&#207;', true, 'I - diaeresis'],
116 ['&ETH;', '&#208;', true, 'ETH'],
117 ['&Ntilde;', '&#209;', true, 'N - tilde'],
118 ['&Ograve;', '&#210;', true, 'O - grave'],
119 ['&Oacute;', '&#211;', true, 'O - acute'],
120 ['&Ocirc;', '&#212;', true, 'O - circumflex'],
121 ['&Otilde;', '&#213;', true, 'O - tilde'],
122 ['&Ouml;', '&#214;', true, 'O - diaeresis'],
123 ['&Oslash;', '&#216;', true, 'O - slash'],
124 ['&OElig;', '&#338;', true, 'ligature OE'],
125 ['&Scaron;', '&#352;', true, 'S - caron'],
126 ['&Ugrave;', '&#217;', true, 'U - grave'],
127 ['&Uacute;', '&#218;', true, 'U - acute'],
128 ['&Ucirc;', '&#219;', true, 'U - circumflex'],
129 ['&Uuml;', '&#220;', true, 'U - diaeresis'],
130 ['&Yacute;', '&#221;', true, 'Y - acute'],
131 ['&Yuml;', '&#376;', true, 'Y - diaeresis'],
132 ['&THORN;', '&#222;', true, 'THORN'],
133 ['&agrave;', '&#224;', true, 'a - grave'],
134 ['&aacute;', '&#225;', true, 'a - acute'],
135 ['&acirc;', '&#226;', true, 'a - circumflex'],
136 ['&atilde;', '&#227;', true, 'a - tilde'],
137 ['&auml;', '&#228;', true, 'a - diaeresis'],
138 ['&aring;', '&#229;', true, 'a - ring above'],
139 ['&aelig;', '&#230;', true, 'ligature ae'],
140 ['&ccedil;', '&#231;', true, 'c - cedilla'],
141 ['&egrave;', '&#232;', true, 'e - grave'],
142 ['&eacute;', '&#233;', true, 'e - acute'],
143 ['&ecirc;', '&#234;', true, 'e - circumflex'],
144 ['&euml;', '&#235;', true, 'e - diaeresis'],
145 ['&igrave;', '&#236;', true, 'i - grave'],
146 ['&iacute;', '&#237;', true, 'i - acute'],
147 ['&icirc;', '&#238;', true, 'i - circumflex'],
148 ['&iuml;', '&#239;', true, 'i - diaeresis'],
149 ['&eth;', '&#240;', true, 'eth'],
150 ['&ntilde;', '&#241;', true, 'n - tilde'],
151 ['&ograve;', '&#242;', true, 'o - grave'],
152 ['&oacute;', '&#243;', true, 'o - acute'],
153 ['&ocirc;', '&#244;', true, 'o - circumflex'],
154 ['&otilde;', '&#245;', true, 'o - tilde'],
155 ['&ouml;', '&#246;', true, 'o - diaeresis'],
156 ['&oslash;', '&#248;', true, 'o slash'],
157 ['&oelig;', '&#339;', true, 'ligature oe'],
158 ['&scaron;', '&#353;', true, 's - caron'],
159 ['&ugrave;', '&#249;', true, 'u - grave'],
160 ['&uacute;', '&#250;', true, 'u - acute'],
161 ['&ucirc;', '&#251;', true, 'u - circumflex'],
162 ['&uuml;', '&#252;', true, 'u - diaeresis'],
163 ['&yacute;', '&#253;', true, 'y - acute'],
164 ['&thorn;', '&#254;', true, 'thorn'],
165 ['&yuml;', '&#255;', true, 'y - diaeresis'],
166 ['&Alpha;', '&#913;', true, 'Alpha'],
167 ['&Beta;', '&#914;', true, 'Beta'],
168 ['&Gamma;', '&#915;', true, 'Gamma'],
169 ['&Delta;', '&#916;', true, 'Delta'],
170 ['&Epsilon;', '&#917;', true, 'Epsilon'],
171 ['&Zeta;', '&#918;', true, 'Zeta'],
172 ['&Eta;', '&#919;', true, 'Eta'],
173 ['&Theta;', '&#920;', true, 'Theta'],
174 ['&Iota;', '&#921;', true, 'Iota'],
175 ['&Kappa;', '&#922;', true, 'Kappa'],
176 ['&Lambda;', '&#923;', true, 'Lambda'],
177 ['&Mu;', '&#924;', true, 'Mu'],
178 ['&Nu;', '&#925;', true, 'Nu'],
179 ['&Xi;', '&#926;', true, 'Xi'],
180 ['&Omicron;', '&#927;', true, 'Omicron'],
181 ['&Pi;', '&#928;', true, 'Pi'],
182 ['&Rho;', '&#929;', true, 'Rho'],
183 ['&Sigma;', '&#931;', true, 'Sigma'],
184 ['&Tau;', '&#932;', true, 'Tau'],
185 ['&Upsilon;', '&#933;', true, 'Upsilon'],
186 ['&Phi;', '&#934;', true, 'Phi'],
187 ['&Chi;', '&#935;', true, 'Chi'],
188 ['&Psi;', '&#936;', true, 'Psi'],
189 ['&Omega;', '&#937;', true, 'Omega'],
190 ['&alpha;', '&#945;', true, 'alpha'],
191 ['&beta;', '&#946;', true, 'beta'],
192 ['&gamma;', '&#947;', true, 'gamma'],
193 ['&delta;', '&#948;', true, 'delta'],
194 ['&epsilon;', '&#949;', true, 'epsilon'],
195 ['&zeta;', '&#950;', true, 'zeta'],
196 ['&eta;', '&#951;', true, 'eta'],
197 ['&theta;', '&#952;', true, 'theta'],
198 ['&iota;', '&#953;', true, 'iota'],
199 ['&kappa;', '&#954;', true, 'kappa'],
200 ['&lambda;', '&#955;', true, 'lambda'],
201 ['&mu;', '&#956;', true, 'mu'],
202 ['&nu;', '&#957;', true, 'nu'],
203 ['&xi;', '&#958;', true, 'xi'],
204 ['&omicron;', '&#959;', true, 'omicron'],
205 ['&pi;', '&#960;', true, 'pi'],
206 ['&rho;', '&#961;', true, 'rho'],
207 ['&sigmaf;', '&#962;', true, 'final sigma'],
208 ['&sigma;', '&#963;', true, 'sigma'],
209 ['&tau;', '&#964;', true, 'tau'],
210 ['&upsilon;', '&#965;', true, 'upsilon'],
211 ['&phi;', '&#966;', true, 'phi'],
212 ['&chi;', '&#967;', true, 'chi'],
213 ['&psi;', '&#968;', true, 'psi'],
214 ['&omega;', '&#969;', true, 'omega'],
215// symbols
216 ['&alefsym;', '&#8501;', false,'alef symbol'],
217 ['&piv;', '&#982;', false,'pi symbol'],
218 ['&real;', '&#8476;', false,'real part symbol'],
219 ['&thetasym;','&#977;', false,'theta symbol'],
220 ['&upsih;', '&#978;', false,'upsilon - hook symbol'],
221 ['&weierp;', '&#8472;', false,'Weierstrass p'],
222 ['&image;', '&#8465;', false,'imaginary part'],
223// arrows
224 ['&larr;', '&#8592;', true, 'leftwards arrow'],
225 ['&uarr;', '&#8593;', true, 'upwards arrow'],
226 ['&rarr;', '&#8594;', true, 'rightwards arrow'],
227 ['&darr;', '&#8595;', true, 'downwards arrow'],
228 ['&harr;', '&#8596;', true, 'left right arrow'],
229 ['&crarr;', '&#8629;', false,'carriage return'],
230 ['&lArr;', '&#8656;', false,'leftwards double arrow'],
231 ['&uArr;', '&#8657;', false,'upwards double arrow'],
232 ['&rArr;', '&#8658;', false,'rightwards double arrow'],
233 ['&dArr;', '&#8659;', false,'downwards double arrow'],
234 ['&hArr;', '&#8660;', false,'left right double arrow'],
235 ['&there4;', '&#8756;', false,'therefore'],
236 ['&sub;', '&#8834;', false,'subset of'],
237 ['&sup;', '&#8835;', false,'superset of'],
238 ['&nsub;', '&#8836;', false,'not a subset of'],
239 ['&sube;', '&#8838;', false,'subset of or equal to'],
240 ['&supe;', '&#8839;', false,'superset of or equal to'],
241 ['&oplus;', '&#8853;', false,'circled plus'],
242 ['&otimes;', '&#8855;', false,'circled times'],
243 ['&perp;', '&#8869;', false,'perpendicular'],
244 ['&sdot;', '&#8901;', false,'dot operator'],
245 ['&lceil;', '&#8968;', false,'left ceiling'],
246 ['&rceil;', '&#8969;', false,'right ceiling'],
247 ['&lfloor;', '&#8970;', false,'left floor'],
248 ['&rfloor;', '&#8971;', false,'right floor'],
249 ['&lang;', '&#9001;', false,'left-pointing angle bracket'],
250 ['&rang;', '&#9002;', false,'right-pointing angle bracket'],
251 ['&loz;', '&#9674;', true,'lozenge'],
252 ['&spades;', '&#9824;', false,'black spade suit'],
253 ['&clubs;', '&#9827;', true, 'black club suit'],
254 ['&hearts;', '&#9829;', true, 'black heart suit'],
255 ['&diams;', '&#9830;', true, 'black diamond suit'],
256 ['&ensp;', '&#8194;', false,'en space'],
257 ['&emsp;', '&#8195;', false,'em space'],
258 ['&thinsp;', '&#8201;', false,'thin space'],
259 ['&zwnj;', '&#8204;', false,'zero width non-joiner'],
260 ['&zwj;', '&#8205;', false,'zero width joiner'],
261 ['&lrm;', '&#8206;', false,'left-to-right mark'],
262 ['&rlm;', '&#8207;', false,'right-to-left mark'],
263 ['&shy;', '&#173;', false,'soft hyphen']
264];
265
266tinyMCEPopup.onInit.add(function() {
267 tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML());
268});
269
270function renderCharMapHTML() {
271 var charsPerRow = 20, tdWidth=20, tdHeight=20, i;
272 var html = '<table border="0" cellspacing="1" cellpadding="0" width="' + (tdWidth*charsPerRow) + '"><tr height="' + tdHeight + '">';
273 var cols=-1;
274
275 for (i=0; i<charmap.length; i++) {
276 if (charmap[i][2]==true) {
277 cols++;
278 html += ''
279 + '<td class="charmap">'
280 + '<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] + '">'
281 + charmap[i][1]
282 + '</a></td>';
283 if ((cols+1) % charsPerRow == 0)
284 html += '</tr><tr height="' + tdHeight + '">';
285 }
286 }
287
288 if (cols % charsPerRow > 0) {
289 var padd = charsPerRow - (cols % charsPerRow);
290 for (var i=0; i<padd-1; i++)
291 html += '<td width="' + tdWidth + '" height="' + tdHeight + '" class="charmap">&nbsp;</td>';
292 }
293
294 html += '</tr></table>';
295
296 return html;
297}
298
299function insertChar(chr) {
300 tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';');
301
302 // Refocus in window
303 if (tinyMCEPopup.isWindow)
304 window.focus();
305
306 tinyMCEPopup.editor.focus();
307 tinyMCEPopup.close();
308}
309
310function previewChar(codeA, codeB, codeN) {
311 var elmA = document.getElementById('codeA');
312 var elmB = document.getElementById('codeB');
313 var elmV = document.getElementById('codeV');
314 var elmN = document.getElementById('codeN');
315
316 if (codeA=='#160;') {
317 elmV.innerHTML = '__';
318 } else {
319 elmV.innerHTML = '&' + codeA;
320 }
321
322 elmB.innerHTML = '&amp;' + codeA;
323 elmA.innerHTML = '&amp;' + codeB;
324 elmN.innerHTML = codeN;
325}
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js b/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js
deleted file mode 100644
index fd9700f..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js
+++ /dev/null
@@ -1,253 +0,0 @@
1tinyMCEPopup.requireLangPack();
2
3var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false;
4
5var colors = [
6 "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033",
7 "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099",
8 "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff",
9 "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033",
10 "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399",
11 "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff",
12 "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333",
13 "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399",
14 "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff",
15 "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633",
16 "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699",
17 "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff",
18 "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633",
19 "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999",
20 "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff",
21 "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933",
22 "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999",
23 "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff",
24 "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33",
25 "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99",
26 "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff",
27 "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33",
28 "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99",
29 "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff",
30 "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33",
31 "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99",
32 "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff"
33];
34
35var named = {
36 '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige',
37 '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown',
38 '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue',
39 '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod',
40 '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen',
41 '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue',
42 '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue',
43 '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen',
44 '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey',
45 '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory',
46 '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue',
47 '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen',
48 '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey',
49 '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon',
50 '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue',
51 '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin',
52 '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid',
53 '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff',
54 '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue',
55 '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver',
56 '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen',
57 '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet',
58 '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen'
59};
60
61function init() {
62 var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color'));
63
64 tinyMCEPopup.resizeToInnerSize();
65
66 generatePicker();
67
68 if (inputColor) {
69 changeFinalColor(inputColor);
70
71 col = convertHexToRGB(inputColor);
72
73 if (col)
74 updateLight(col.r, col.g, col.b);
75 }
76}
77
78function insertAction() {
79 var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func');
80
81 tinyMCEPopup.restoreSelection();
82
83 if (f)
84 f(color);
85
86 tinyMCEPopup.close();
87}
88
89function showColor(color, name) {
90 if (name)
91 document.getElementById("colorname").innerHTML = name;
92
93 document.getElementById("preview").style.backgroundColor = color;
94 document.getElementById("color").value = color.toLowerCase();
95}
96
97function convertRGBToHex(col) {
98 var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
99
100 if (!col)
101 return col;
102
103 var rgb = col.replace(re, "$1,$2,$3").split(',');
104 if (rgb.length == 3) {
105 r = parseInt(rgb[0]).toString(16);
106 g = parseInt(rgb[1]).toString(16);
107 b = parseInt(rgb[2]).toString(16);
108
109 r = r.length == 1 ? '0' + r : r;
110 g = g.length == 1 ? '0' + g : g;
111 b = b.length == 1 ? '0' + b : b;
112
113 return "#" + r + g + b;
114 }
115
116 return col;
117}
118
119function convertHexToRGB(col) {
120 if (col.indexOf('#') != -1) {
121 col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
122
123 r = parseInt(col.substring(0, 2), 16);
124 g = parseInt(col.substring(2, 4), 16);
125 b = parseInt(col.substring(4, 6), 16);
126
127 return {r : r, g : g, b : b};
128 }
129
130 return null;
131}
132
133function generatePicker() {
134 var el = document.getElementById('light'), h = '', i;
135
136 for (i = 0; i < detail; i++){
137 h += '<div id="gs'+i+'" style="background-color:#000000; width:15px; height:3px; border-style:none; border-width:0px;"'
138 + ' onclick="changeFinalColor(this.style.backgroundColor)"'
139 + ' onmousedown="isMouseDown = true; return false;"'
140 + ' onmouseup="isMouseDown = false;"'
141 + ' onmousemove="if (isMouseDown && isMouseOver) changeFinalColor(this.style.backgroundColor); return false;"'
142 + ' onmouseover="isMouseOver = true;"'
143 + ' onmouseout="isMouseOver = false;"'
144 + '></div>';
145 }
146
147 el.innerHTML = h;
148}
149
150function generateWebColors() {
151 var el = document.getElementById('webcolors'), h = '', i;
152
153 if (el.className == 'generated')
154 return;
155
156 h += '<table border="0" cellspacing="1" cellpadding="0">'
157 + '<tr>';
158
159 for (i=0; i<colors.length; i++) {
160 h += '<td bgcolor="' + colors[i] + '" width="10" height="10">'
161 + '<a href="javascript:insertAction();" onfocus="showColor(\'' + colors[i] + '\');" onmouseover="showColor(\'' + colors[i] + '\');" style="display:block;width:10px;height:10px;overflow:hidden;">'
162 + '</a></td>';
163 if ((i+1) % 18 == 0)
164 h += '</tr><tr>';
165 }
166
167 h += '</table>';
168
169 el.innerHTML = h;
170 el.className = 'generated';
171}
172
173function generateNamedColors() {
174 var el = document.getElementById('namedcolors'), h = '', n, v, i = 0;
175
176 if (el.className == 'generated')
177 return;
178
179 for (n in named) {
180 v = named[n];
181 h += '<a href="javascript:insertAction();" onmouseover="showColor(\'' + n + '\',\'' + v + '\');" style="background-color: ' + n + '"><!-- IE --></a>'
182 }
183
184 el.innerHTML = h;
185 el.className = 'generated';
186}
187
188function dechex(n) {
189 return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16);
190}
191
192function computeColor(e) {
193 var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB;
194
195 x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0);
196 y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0);
197
198 partWidth = document.getElementById('colors').width / 6;
199 partDetail = detail / 2;
200 imHeight = document.getElementById('colors').height;
201
202 r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255;
203 g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth);
204 b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth);
205
206 coef = (imHeight - y) / imHeight;
207 r = 128 + (r - 128) * coef;
208 g = 128 + (g - 128) * coef;
209 b = 128 + (b - 128) * coef;
210
211 changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b));
212 updateLight(r, g, b);
213}
214
215function updateLight(r, g, b) {
216 var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color;
217
218 for (i=0; i<detail; i++) {
219 if ((i>=0) && (i<partDetail)) {
220 finalCoef = i / partDetail;
221 finalR = dechex(255 - (255 - r) * finalCoef);
222 finalG = dechex(255 - (255 - g) * finalCoef);
223 finalB = dechex(255 - (255 - b) * finalCoef);
224 } else {
225 finalCoef = 2 - i / partDetail;
226 finalR = dechex(r * finalCoef);
227 finalG = dechex(g * finalCoef);
228 finalB = dechex(b * finalCoef);
229 }
230
231 color = finalR + finalG + finalB;
232
233 setCol('gs' + i, '#'+color);
234 }
235}
236
237function changeFinalColor(color) {
238 if (color.indexOf('#') == -1)
239 color = convertRGBToHex(color);
240
241 setCol('preview', color);
242 document.getElementById('color').value = color;
243}
244
245function setCol(e, c) {
246 try {
247 document.getElementById(e).style.backgroundColor = c;
248 } catch (ex) {
249 // Ignore IE warning
250 }
251}
252
253tinyMCEPopup.onInit.add(init);
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/image.js b/public/javascripts/tiny_mce/themes/advanced/js/image.js
deleted file mode 100644
index 4982ce0..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/image.js
+++ /dev/null
@@ -1,245 +0,0 @@
1var ImageDialog = {
2 preInit : function() {
3 var url;
4
5 tinyMCEPopup.requireLangPack();
6
7 if (url = tinyMCEPopup.getParam("external_image_list_url"))
8 document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
9 },
10
11 init : function() {
12 var f = document.forms[0], ed = tinyMCEPopup.editor;
13
14 // Setup browse button
15 document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
16 if (isVisible('srcbrowser'))
17 document.getElementById('src').style.width = '180px';
18
19 e = ed.selection.getNode();
20
21 this.fillFileList('image_list', 'tinyMCEImageList');
22
23 if (e.nodeName == 'IMG') {
24 f.src.value = ed.dom.getAttrib(e, 'src');
25 f.alt.value = ed.dom.getAttrib(e, 'alt');
26 f.border.value = this.getAttrib(e, 'border');
27 f.vspace.value = this.getAttrib(e, 'vspace');
28 f.hspace.value = this.getAttrib(e, 'hspace');
29 f.width.value = ed.dom.getAttrib(e, 'width');
30 f.height.value = ed.dom.getAttrib(e, 'height');
31 f.insert.value = ed.getLang('update');
32 this.styleVal = ed.dom.getAttrib(e, 'style');
33 selectByValue(f, 'image_list', f.src.value);
34 selectByValue(f, 'align', this.getAttrib(e, 'align'));
35 this.updateStyle();
36 }
37 },
38
39 fillFileList : function(id, l) {
40 var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
41
42 l = window[l];
43
44 if (l && l.length > 0) {
45 lst.options[lst.options.length] = new Option('', '');
46
47 tinymce.each(l, function(o) {
48 lst.options[lst.options.length] = new Option(o[0], o[1]);
49 });
50 } else
51 dom.remove(dom.getParent(id, 'tr'));
52 },
53
54 update : function() {
55 var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el;
56
57 tinyMCEPopup.restoreSelection();
58
59 if (f.src.value === '') {
60 if (ed.selection.getNode().nodeName == 'IMG') {
61 ed.dom.remove(ed.selection.getNode());
62 ed.execCommand('mceRepaint');
63 }
64
65 tinyMCEPopup.close();
66 return;
67 }
68
69 if (!ed.settings.inline_styles) {
70 args = tinymce.extend(args, {
71 vspace : nl.vspace.value,
72 hspace : nl.hspace.value,
73 border : nl.border.value,
74 align : getSelectValue(f, 'align')
75 });
76 } else
77 args.style = this.styleVal;
78
79 tinymce.extend(args, {
80 src : f.src.value,
81 alt : f.alt.value,
82 width : f.width.value,
83 height : f.height.value
84 });
85
86 el = ed.selection.getNode();
87
88 if (el && el.nodeName == 'IMG') {
89 ed.dom.setAttribs(el, args);
90 } else {
91 ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1});
92 ed.dom.setAttribs('__mce_tmp', args);
93 ed.dom.setAttrib('__mce_tmp', 'id', '');
94 ed.undoManager.add();
95 }
96
97 tinyMCEPopup.close();
98 },
99
100 updateStyle : function() {
101 var dom = tinyMCEPopup.dom, st, v, f = document.forms[0];
102
103 if (tinyMCEPopup.editor.settings.inline_styles) {
104 st = tinyMCEPopup.dom.parseStyle(this.styleVal);
105
106 // Handle align
107 v = getSelectValue(f, 'align');
108 if (v) {
109 if (v == 'left' || v == 'right') {
110 st['float'] = v;
111 delete st['vertical-align'];
112 } else {
113 st['vertical-align'] = v;
114 delete st['float'];
115 }
116 } else {
117 delete st['float'];
118 delete st['vertical-align'];
119 }
120
121 // Handle border
122 v = f.border.value;
123 if (v || v == '0') {
124 if (v == '0')
125 st['border'] = '0';
126 else
127 st['border'] = v + 'px solid black';
128 } else
129 delete st['border'];
130
131 // Handle hspace
132 v = f.hspace.value;
133 if (v) {
134 delete st['margin'];
135 st['margin-left'] = v + 'px';
136 st['margin-right'] = v + 'px';
137 } else {
138 delete st['margin-left'];
139 delete st['margin-right'];
140 }
141
142 // Handle vspace
143 v = f.vspace.value;
144 if (v) {
145 delete st['margin'];
146 st['margin-top'] = v + 'px';
147 st['margin-bottom'] = v + 'px';
148 } else {
149 delete st['margin-top'];
150 delete st['margin-bottom'];
151 }
152
153 // Merge
154 st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st));
155 this.styleVal = dom.serializeStyle(st);
156 }
157 },
158
159 getAttrib : function(e, at) {
160 var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2;
161
162 if (ed.settings.inline_styles) {
163 switch (at) {
164 case 'align':
165 if (v = dom.getStyle(e, 'float'))
166 return v;
167
168 if (v = dom.getStyle(e, 'vertical-align'))
169 return v;
170
171 break;
172
173 case 'hspace':
174 v = dom.getStyle(e, 'margin-left')
175 v2 = dom.getStyle(e, 'margin-right');
176 if (v && v == v2)
177 return parseInt(v.replace(/[^0-9]/g, ''));
178
179 break;
180
181 case 'vspace':
182 v = dom.getStyle(e, 'margin-top')
183 v2 = dom.getStyle(e, 'margin-bottom');
184 if (v && v == v2)
185 return parseInt(v.replace(/[^0-9]/g, ''));
186
187 break;
188
189 case 'border':
190 v = 0;
191
192 tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) {
193 sv = dom.getStyle(e, 'border-' + sv + '-width');
194
195 // False or not the same as prev
196 if (!sv || (sv != v && v !== 0)) {
197 v = 0;
198 return false;
199 }
200
201 if (sv)
202 v = sv;
203 });
204
205 if (v)
206 return parseInt(v.replace(/[^0-9]/g, ''));
207
208 break;
209 }
210 }
211
212 if (v = dom.getAttrib(e, at))
213 return v;
214
215 return '';
216 },
217
218 resetImageData : function() {
219 var f = document.forms[0];
220
221 f.width.value = f.height.value = "";
222 },
223
224 updateImageData : function() {
225 var f = document.forms[0], t = ImageDialog;
226
227 if (f.width.value == "")
228 f.width.value = t.preloadImg.width;
229
230 if (f.height.value == "")
231 f.height.value = t.preloadImg.height;
232 },
233
234 getImageData : function() {
235 var f = document.forms[0];
236
237 this.preloadImg = new Image();
238 this.preloadImg.onload = this.updateImageData;
239 this.preloadImg.onerror = this.resetImageData;
240 this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value);
241 }
242};
243
244ImageDialog.preInit();
245tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/link.js b/public/javascripts/tiny_mce/themes/advanced/js/link.js
deleted file mode 100644
index f67a5bc..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/link.js
+++ /dev/null
@@ -1,156 +0,0 @@
1tinyMCEPopup.requireLangPack();
2
3var LinkDialog = {
4 preInit : function() {
5 var url;
6
7 if (url = tinyMCEPopup.getParam("external_link_list_url"))
8 document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
9 },
10
11 init : function() {
12 var f = document.forms[0], ed = tinyMCEPopup.editor;
13
14 // Setup browse button
15 document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link');
16 if (isVisible('hrefbrowser'))
17 document.getElementById('href').style.width = '180px';
18
19 this.fillClassList('class_list');
20 this.fillFileList('link_list', 'tinyMCELinkList');
21 this.fillTargetList('target_list');
22
23 if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) {
24 f.href.value = ed.dom.getAttrib(e, 'href');
25 f.linktitle.value = ed.dom.getAttrib(e, 'title');
26 f.insert.value = ed.getLang('update');
27 selectByValue(f, 'link_list', f.href.value);
28 selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target'));
29 selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class'));
30 }
31 },
32
33 update : function() {
34 var f = document.forms[0], ed = tinyMCEPopup.editor, e, b;
35
36 tinyMCEPopup.restoreSelection();
37 e = ed.dom.getParent(ed.selection.getNode(), 'A');
38
39 // Remove element if there is no href
40 if (!f.href.value) {
41 if (e) {
42 tinyMCEPopup.execCommand("mceBeginUndoLevel");
43 b = ed.selection.getBookmark();
44 ed.dom.remove(e, 1);
45 ed.selection.moveToBookmark(b);
46 tinyMCEPopup.execCommand("mceEndUndoLevel");
47 tinyMCEPopup.close();
48 return;
49 }
50 }
51
52 tinyMCEPopup.execCommand("mceBeginUndoLevel");
53
54 // Create new anchor elements
55 if (e == null) {
56 ed.getDoc().execCommand("unlink", false, null);
57 tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
58
59 tinymce.each(ed.dom.select("a"), function(n) {
60 if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
61 e = n;
62
63 ed.dom.setAttribs(e, {
64 href : f.href.value,
65 title : f.linktitle.value,
66 target : f.target_list ? getSelectValue(f, "target_list") : null,
67 'class' : f.class_list ? getSelectValue(f, "class_list") : null
68 });
69 }
70 });
71 } else {
72 ed.dom.setAttribs(e, {
73 href : f.href.value,
74 title : f.linktitle.value,
75 target : f.target_list ? getSelectValue(f, "target_list") : null,
76 'class' : f.class_list ? getSelectValue(f, "class_list") : null
77 });
78 }
79
80 // Don't move caret if selection was image
81 if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') {
82 ed.focus();
83 ed.selection.select(e);
84 ed.selection.collapse(0);
85 tinyMCEPopup.storeSelection();
86 }
87
88 tinyMCEPopup.execCommand("mceEndUndoLevel");
89 tinyMCEPopup.close();
90 },
91
92 checkPrefix : function(n) {
93 if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email')))
94 n.value = 'mailto:' + n.value;
95
96 if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external')))
97 n.value = 'http://' + n.value;
98 },
99
100 fillFileList : function(id, l) {
101 var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
102
103 l = window[l];
104
105 if (l && l.length > 0) {
106 lst.options[lst.options.length] = new Option('', '');
107
108 tinymce.each(l, function(o) {
109 lst.options[lst.options.length] = new Option(o[0], o[1]);
110 });
111 } else
112 dom.remove(dom.getParent(id, 'tr'));
113 },
114
115 fillClassList : function(id) {
116 var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
117
118 if (v = tinyMCEPopup.getParam('theme_advanced_styles')) {
119 cl = [];
120
121 tinymce.each(v.split(';'), function(v) {
122 var p = v.split('=');
123
124 cl.push({'title' : p[0], 'class' : p[1]});
125 });
126 } else
127 cl = tinyMCEPopup.editor.dom.getClasses();
128
129 if (cl.length > 0) {
130 lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
131
132 tinymce.each(cl, function(o) {
133 lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']);
134 });
135 } else
136 dom.remove(dom.getParent(id, 'tr'));
137 },
138
139 fillTargetList : function(id) {
140 var dom = tinyMCEPopup.dom, lst = dom.get(id), v;
141
142 lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
143 lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self');
144 lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank');
145
146 if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) {
147 tinymce.each(v.split(','), function(v) {
148 v = v.split('=');
149 lst.options[lst.options.length] = new Option(v[0], v[1]);
150 });
151 }
152 }
153};
154
155LinkDialog.preInit();
156tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog);
diff --git a/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js b/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js
deleted file mode 100644
index 2793286..0000000
--- a/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js
+++ /dev/null
@@ -1,62 +0,0 @@
1tinyMCEPopup.requireLangPack();
2tinyMCEPopup.onInit.add(onLoadInit);
3
4function saveContent() {
5 tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true});
6 tinyMCEPopup.close();
7}
8
9function onLoadInit() {
10 tinyMCEPopup.resizeToInnerSize();
11
12 // Remove Gecko spellchecking
13 if (tinymce.isGecko)
14 document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck");
15
16 document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true});
17
18 if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) {
19 setWrap('soft');
20 document.getElementById('wraped').checked = true;
21 }
22
23 resizeInputs();
24}
25
26function setWrap(val) {
27 var v, n, s = document.getElementById('htmlSource');
28
29 s.wrap = val;
30
31 if (!tinymce.isIE) {
32 v = s.value;
33 n = s.cloneNode(false);
34 n.setAttribute("wrap", val);
35 s.parentNode.replaceChild(n, s);
36 n.value = v;
37 }
38}
39
40function toggleWordWrap(elm) {
41 if (elm.checked)
42 setWrap('soft');
43 else
44 setWrap('off');
45}
46
47var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
48
49function resizeInputs() {
50 var el = document.getElementById('htmlSource');
51
52 if (!tinymce.isIE) {
53 wHeight = self.innerHeight - 65;
54 wWidth = self.innerWidth - 16;
55 } else {
56 wHeight = document.body.clientHeight - 70;
57 wWidth = document.body.clientWidth - 16;
58 }
59
60 el.style.height = Math.abs(wHeight) + 'px';
61 el.style.width = Math.abs(wWidth) + 'px';
62}