TinyMCE Advanced - Version 2.2

Version Description

Download this release

Release Info

Developer azaozz
Plugin Icon 128x128 TinyMCE Advanced
Version 2.2
Comparing to
See all releases

Code changes from version 2.0 to 2.2

Files changed (318) hide show
  1. css/tadv-fixstyle.css +29 -0
  2. {tinymce-advanced/css → css}/tadv-styles.css +7 -1
  3. css/tadv-tinymce.css +73 -0
  4. {tinymce-advanced/images → images}/NextGEN.gif +0 -0
  5. {tinymce-advanced/images → images}/abbr.gif +0 -0
  6. {tinymce-advanced/images → images}/acronym.gif +0 -0
  7. {tinymce-advanced/images → images}/advhr.gif +0 -0
  8. {tinymce-advanced/images → images}/anchor.gif +0 -0
  9. {tinymce-advanced/images → images}/attribs.gif +0 -0
  10. {tinymce-advanced/images → images}/backcolor.gif +0 -0
  11. {tinymce-advanced/images → images}/bold.gif +0 -0
  12. {tinymce-advanced/images → images}/bullist.gif +0 -0
  13. {tinymce-advanced/images → images}/charmap.gif +0 -0
  14. {tinymce-advanced/images → images}/cite.gif +0 -0
  15. {tinymce-advanced/images → images}/cleanup.gif +0 -0
  16. {tinymce-advanced/images → images}/code.gif +0 -0
  17. {tinymce-advanced/images → images}/copy.gif +0 -0
  18. {tinymce-advanced/images → images}/cut.gif +0 -0
  19. {tinymce-advanced/images → images}/del.gif +0 -0
  20. {tinymce-advanced/images → images}/embeddedvideo.gif +0 -0
  21. {tinymce-advanced/images → images}/emotions.gif +0 -0
  22. {tinymce-advanced/images → images}/fontselect.gif +0 -0
  23. images/fontsizeselect.gif +0 -0
  24. {tinymce-advanced/images → images}/forecolor.gif +0 -0
  25. {tinymce-advanced/images → images}/formatselect.gif +0 -0
  26. {tinymce-advanced/images → images}/fullscreen.gif +0 -0
  27. {tinymce-advanced/images → images}/g2image.gif +0 -0
  28. {tinymce-advanced/images → images}/googlevideo.gif +0 -0
  29. {tinymce-advanced/images → images}/iespell.gif +0 -0
  30. {tinymce-advanced/images → images}/image.gif +0 -0
  31. {tinymce-advanced/images → images}/indent.gif +0 -0
  32. {tinymce-advanced/images → images}/ins.gif +0 -0
  33. {tinymce-advanced/images → images}/italic.gif +0 -0
  34. {tinymce-advanced/images → images}/justifycenter.gif +0 -0
  35. {tinymce-advanced/images → images}/justifyfull.gif +0 -0
  36. {tinymce-advanced/images → images}/justifyleft.gif +0 -0
  37. {tinymce-advanced/images → images}/justifyright.gif +0 -0
  38. {tinymce-advanced/images → images}/layer.gif +0 -0
  39. {tinymce-advanced/images → images}/link.gif +0 -0
  40. {tinymce-advanced/images → images}/media.gif +0 -0
  41. images/more_bug.gif +0 -0
  42. {tinymce-advanced/images → images}/nonbreaking.gif +0 -0
  43. {tinymce-advanced/images → images}/numlist.gif +0 -0
  44. {tinymce-advanced/images → images}/outdent.gif +0 -0
  45. images/page_bug.gif +0 -0
  46. {tinymce-advanced/images → images}/paste.gif +0 -0
  47. {tinymce-advanced/images → images}/pastetext.gif +0 -0
  48. {tinymce-advanced/images → images}/pasteword.gif +0 -0
  49. {tinymce-advanced/images → images}/print.gif +0 -0
  50. {tinymce-advanced/images → images}/ps_imagemanager_tinymceplugin.gif +0 -0
  51. {tinymce-advanced/images → images}/redo.gif +0 -0
  52. {tinymce-advanced/images → images}/removeformat.gif +0 -0
  53. {tinymce-advanced/images → images}/replace.gif +0 -0
  54. {tinymce-advanced/images → images}/search.gif +0 -0
  55. {tinymce-advanced/images → images}/separator.gif +0 -0
  56. {tinymce-advanced/images → images}/spacer.gif +0 -0
  57. {tinymce-advanced/images → images}/spellchecker.gif +0 -0
  58. {tinymce-advanced/images → images}/strikethrough.gif +0 -0
  59. {tinymce-advanced/images → images}/styleprops.gif +0 -0
  60. {tinymce-advanced/images → images}/styleselect.gif +0 -0
  61. {tinymce-advanced/images → images}/sub.gif +0 -0
  62. {tinymce-advanced/images → images}/sup.gif +0 -0
  63. {tinymce-advanced/images → images}/tablecontrols.gif +0 -0
  64. {tinymce-advanced/images → images}/toolbars.gif +0 -0
  65. {tinymce-advanced/images → images}/underline.gif +0 -0
  66. {tinymce-advanced/images → images}/underline_es.gif +0 -0
  67. {tinymce-advanced/images → images}/undo.gif +0 -0
  68. {tinymce-advanced/images → images}/unlink.gif +0 -0
  69. {tinymce-advanced/images → images}/vipersvideoquicktags.gif +0 -0
  70. {tinymce-advanced/images → images}/visualaid.gif +0 -0
  71. {tinymce-advanced/images → images}/visualchars.gif +0 -0
  72. {tinymce-advanced/images → images}/wp_help.gif +0 -0
  73. {tinymce-advanced/images → images}/wp_more.gif +0 -0
  74. {tinymce-advanced/images → images}/wp_page.gif +0 -0
  75. {tinymce-advanced/js → js}/tadv-all.js +1 -0
  76. {tinymce-advanced/mce → mce}/advhr/css/advhr.css +0 -0
  77. {tinymce-advanced/mce → mce}/advhr/editor_plugin.js +0 -9
  78. {tinymce-advanced/mce → mce}/advhr/images/advhr.gif +0 -0
  79. {tinymce-advanced/mce → mce}/advhr/jscripts/rule.js +0 -0
  80. {tinymce-advanced/mce → mce}/advhr/langs/de_de.js +0 -0
  81. {tinymce-advanced/mce → mce}/advhr/langs/en.js +0 -0
  82. {tinymce-advanced/mce → mce}/advhr/langs/es_es.js +0 -0
  83. {tinymce-advanced/mce → mce}/advhr/langs/fr_fr.js +0 -0
  84. {tinymce-advanced/mce → mce}/advhr/langs/it_it.js +0 -0
  85. {tinymce-advanced/mce → mce}/advhr/langs/pt_br.js +0 -0
  86. {tinymce-advanced/mce → mce}/advhr/langs/ru_ru.js +0 -0
  87. {tinymce-advanced/mce → mce}/advhr/langs/zh_cn.js +0 -0
  88. {tinymce-advanced/mce → mce}/advhr/readme.txt +0 -0
  89. {tinymce-advanced/mce → mce}/advhr/rule.htm +0 -0
  90. {tinymce-advanced/mce → mce}/advimage/css/advimage.css +0 -0
  91. {tinymce-advanced/mce → mce}/advimage/editor_plugin.js +0 -28
  92. {tinymce-advanced/mce → mce}/advimage/image.htm +0 -0
  93. {tinymce-advanced/mce → mce}/advimage/images/sample.gif +0 -0
  94. {tinymce-advanced/mce → mce}/advimage/jscripts/functions.js +0 -0
  95. {tinymce-advanced/mce → mce}/advimage/langs/de_de.js +0 -0
  96. {tinymce-advanced/mce → mce}/advimage/langs/en.js +0 -0
  97. {tinymce-advanced/mce → mce}/advimage/langs/es_es.js +0 -0
  98. {tinymce-advanced/mce → mce}/advimage/langs/fr_fr.js +0 -0
  99. {tinymce-advanced/mce → mce}/advimage/langs/it_it.js +0 -0
  100. {tinymce-advanced/mce → mce}/advimage/langs/pt_br.js +0 -0
  101. {tinymce-advanced/mce → mce}/advimage/langs/ru_ru.js +0 -0
  102. {tinymce-advanced/mce → mce}/advimage/langs/zh_cn.js +0 -0
  103. {tinymce-advanced/mce → mce}/advimage/readme.txt +0 -0
  104. {tinymce-advanced/mce → mce}/advlink/css/advlink.css +0 -0
  105. mce/advlink/editor_plugin.js +83 -0
  106. {tinymce-advanced/mce → mce}/advlink/jscripts/functions.js +23 -4
  107. {tinymce-advanced/mce → mce}/advlink/langs/de_de.js +0 -0
  108. {tinymce-advanced/mce → mce}/advlink/langs/en.js +1 -1
  109. {tinymce-advanced/mce → mce}/advlink/langs/es_es.js +0 -0
  110. {tinymce-advanced/mce → mce}/advlink/langs/fr_fr.js +0 -0
  111. {tinymce-advanced/mce → mce}/advlink/langs/it_it.js +0 -0
  112. {tinymce-advanced/mce → mce}/advlink/langs/pt_br.js +0 -0
  113. {tinymce-advanced/mce → mce}/advlink/langs/ru_ru.js +0 -0
  114. {tinymce-advanced/mce → mce}/advlink/langs/zh_cn.js +0 -0
  115. {tinymce-advanced/mce → mce}/advlink/link.htm +1 -0
  116. {tinymce-advanced/mce → mce}/advlink/readme.txt +0 -0
  117. {tinymce-advanced/mce → mce}/contextmenu/css/contextmenu.css +0 -0
  118. {tinymce-advanced/mce → mce}/contextmenu/editor_plugin.js +4 -1
  119. {tinymce-advanced/mce → mce}/contextmenu/images/spacer.gif +0 -0
  120. {tinymce-advanced/mce → mce}/contextmenu/readme.txt +0 -0
  121. {tinymce-advanced/mce → mce}/emotions/editor_plugin.js +0 -0
  122. {tinymce-advanced/mce → mce}/emotions/emotions.htm +2 -2
  123. {tinymce-advanced/mce → mce}/emotions/images/emotions.gif +0 -0
  124. {tinymce-advanced/mce → mce}/emotions/jscripts/functions.js +0 -0
  125. {tinymce-advanced/mce → mce}/emotions/langs/de_de.js +0 -0
  126. {tinymce-advanced/mce → mce}/emotions/langs/en.js +0 -0
  127. {tinymce-advanced/mce → mce}/emotions/langs/es_es.js +0 -0
  128. {tinymce-advanced/mce → mce}/emotions/langs/fr_fr.js +0 -0
  129. {tinymce-advanced/mce → mce}/emotions/langs/it_it.js +0 -0
  130. {tinymce-advanced/mce → mce}/emotions/langs/pt_br.js +0 -0
  131. {tinymce-advanced/mce → mce}/emotions/langs/ru_ru.js +0 -0
  132. {tinymce-advanced/mce → mce}/emotions/langs/zh_cn.js +0 -0
  133. {tinymce-advanced/mce → mce}/emotions/readme.txt +0 -0
  134. {tinymce-advanced/mce → mce}/fullscreen/css/page.css +0 -0
  135. {tinymce-advanced/mce → mce}/fullscreen/editor_plugin.js +0 -0
  136. {tinymce-advanced/mce → mce}/fullscreen/fullscreen.htm +0 -0
  137. {tinymce-advanced/mce → mce}/fullscreen/images/fullscreen.gif +0 -0
  138. {tinymce-advanced/mce → mce}/fullscreen/langs/de_de.js +0 -0
  139. {tinymce-advanced/mce → mce}/fullscreen/langs/en.js +0 -0
  140. {tinymce-advanced/mce → mce}/fullscreen/langs/es_es.js +0 -0
  141. {tinymce-advanced/mce → mce}/fullscreen/langs/fr_fr.js +0 -0
  142. {tinymce-advanced/mce → mce}/fullscreen/langs/it_it.js +0 -0
  143. {tinymce-advanced/mce → mce}/fullscreen/langs/pt_br.js +0 -0
  144. {tinymce-advanced/mce → mce}/fullscreen/langs/ru.js +0 -0
  145. {tinymce-advanced/mce → mce}/fullscreen/langs/zh_cn.js +0 -0
  146. {tinymce-advanced/mce → mce}/fullscreen/readme.txt +0 -0
  147. {tinymce-advanced/mce → mce}/iespell/editor_plugin.js +0 -7
  148. {tinymce-advanced/mce → mce}/iespell/images/iespell.gif +0 -0
  149. {tinymce-advanced/mce → mce}/iespell/langs/de_de.js +0 -0
  150. {tinymce-advanced/mce → mce}/iespell/langs/en.js +0 -0
  151. {tinymce-advanced/mce → mce}/iespell/langs/es_es.js +0 -0
  152. {tinymce-advanced/mce → mce}/iespell/langs/fr_fr.js +0 -0
  153. {tinymce-advanced/mce → mce}/iespell/langs/it_it.js +0 -0
  154. {tinymce-advanced/mce → mce}/iespell/langs/pt_br.js +0 -0
  155. {tinymce-advanced/mce → mce}/iespell/langs/ru_ru.js +0 -0
  156. {tinymce-advanced/mce → mce}/iespell/langs/zh_cn.js +0 -0
  157. {tinymce-advanced/mce → mce}/iespell/readme.txt +0 -0
  158. {tinymce-advanced/mce → mce}/layer/editor_plugin.js +0 -10
  159. {tinymce-advanced/mce → mce}/layer/images/absolute.gif +0 -0
  160. {tinymce-advanced/mce → mce}/layer/images/backward.gif +0 -0
  161. {tinymce-advanced/mce → mce}/layer/images/forward.gif +0 -0
  162. {tinymce-advanced/mce → mce}/layer/images/insert_layer.gif +0 -0
  163. {tinymce-advanced/mce → mce}/layer/images/insertlayer.gif +0 -0
  164. {tinymce-advanced/mce → mce}/layer/images/movebackward.gif +0 -0
  165. {tinymce-advanced/mce → mce}/layer/images/moveforward.gif +0 -0
  166. {tinymce-advanced/mce → mce}/layer/langs/de_de.js +0 -0
  167. {tinymce-advanced/mce → mce}/layer/langs/en.js +0 -0
  168. {tinymce-advanced/mce → mce}/layer/langs/es_es.js +0 -0
  169. {tinymce-advanced/mce → mce}/layer/langs/fr_fr.js +0 -0
  170. {tinymce-advanced/mce → mce}/layer/langs/it_it.js +0 -0
  171. {tinymce-advanced/mce → mce}/layer/langs/pt_br.js +0 -0
  172. {tinymce-advanced/mce → mce}/layer/langs/ru_ru.js +0 -0
  173. {tinymce-advanced/mce → mce}/layer/langs/zh_cn.js +0 -0
  174. {tinymce-advanced/mce → mce}/layer/readme.txt +0 -0
  175. {tinymce-advanced/mce → mce}/media/css/content.css +0 -0
  176. {tinymce-advanced/mce → mce}/media/css/media.css +0 -0
  177. {tinymce-advanced/mce → mce}/media/editor_plugin.js +0 -95
  178. {tinymce-advanced/mce → mce}/media/images/flash.gif +0 -0
  179. {tinymce-advanced/mce → mce}/media/images/media.gif +0 -0
  180. {tinymce-advanced/mce → mce}/media/images/quicktime.gif +0 -0
  181. {tinymce-advanced/mce → mce}/media/images/realmedia.gif +0 -0
  182. {tinymce-advanced/mce → mce}/media/images/shockwave.gif +0 -0
  183. {tinymce-advanced/mce → mce}/media/images/windowsmedia.gif +0 -0
  184. {tinymce-advanced/mce → mce}/media/jscripts/embed.js +0 -0
  185. {tinymce-advanced/mce → mce}/media/jscripts/media.js +7 -3
  186. {tinymce-advanced/mce → mce}/media/langs/de_de.js +0 -0
  187. {tinymce-advanced/mce → mce}/media/langs/en.js +0 -0
  188. {tinymce-advanced/mce → mce}/media/langs/es_es.js +0 -0
  189. {tinymce-advanced/mce → mce}/media/langs/fr_fr.js +0 -0
  190. {tinymce-advanced/mce → mce}/media/langs/it_it.js +0 -0
  191. {tinymce-advanced/mce → mce}/media/langs/pt_br.js +0 -0
  192. {tinymce-advanced/mce → mce}/media/langs/ru_ru.js +0 -0
  193. {tinymce-advanced/mce → mce}/media/langs/zh_cn.js +0 -0
  194. {tinymce-advanced/mce → mce}/media/media.htm +0 -0
  195. {tinymce-advanced/mce → mce}/nonbreaking/editor_plugin.js +0 -0
  196. {tinymce-advanced/mce → mce}/nonbreaking/images/nonbreaking.gif +0 -0
  197. {tinymce-advanced/mce → mce}/nonbreaking/langs/en.js +0 -0
  198. {tinymce-advanced/mce → mce}/print/editor_plugin.js +0 -6
  199. {tinymce-advanced/mce → mce}/print/images/print.gif +0 -0
  200. {tinymce-advanced/mce → mce}/print/langs/de_de.js +0 -0
  201. {tinymce-advanced/mce → mce}/print/langs/en.js +0 -0
  202. {tinymce-advanced/mce → mce}/print/langs/es_es.js +0 -0
  203. {tinymce-advanced/mce → mce}/print/langs/fr_fr.js +0 -0
  204. {tinymce-advanced/mce → mce}/print/langs/it_it.js +0 -0
  205. {tinymce-advanced/mce → mce}/print/langs/pt_br.js +0 -0
  206. {tinymce-advanced/mce → mce}/print/langs/ru_ru.js +0 -0
  207. {tinymce-advanced/mce → mce}/print/langs/zh_cn.js +0 -0
  208. {tinymce-advanced/mce → mce}/print/readme.txt +0 -0
  209. {tinymce-advanced/mce → mce}/searchreplace/css/searchreplace.css +0 -0
  210. {tinymce-advanced/mce → mce}/searchreplace/editor_plugin.js +0 -22
  211. {tinymce-advanced/mce → mce}/searchreplace/images/fade-butt.png +0 -0
  212. {tinymce-advanced/mce → mce}/searchreplace/images/replace.gif +0 -0
  213. {tinymce-advanced/mce → mce}/searchreplace/images/replace_all_button_bg.gif +0 -0
  214. {tinymce-advanced/mce → mce}/searchreplace/images/replace_button_bg.gif +0 -0
  215. {tinymce-advanced/mce → mce}/searchreplace/images/search.gif +0 -0
  216. {tinymce-advanced/mce → mce}/searchreplace/jscripts/searchreplace.js +0 -0
  217. {tinymce-advanced/mce → mce}/searchreplace/langs/de_de.js +0 -0
  218. {tinymce-advanced/mce → mce}/searchreplace/langs/en.js +0 -0
  219. {tinymce-advanced/mce → mce}/searchreplace/langs/es_es.js +0 -0
  220. {tinymce-advanced/mce → mce}/searchreplace/langs/fr_fr.js +0 -0
  221. {tinymce-advanced/mce → mce}/searchreplace/langs/it_it.js +0 -0
  222. {tinymce-advanced/mce → mce}/searchreplace/langs/pt_br.js +0 -0
  223. {tinymce-advanced/mce → mce}/searchreplace/langs/ru_ru.js +0 -0
  224. {tinymce-advanced/mce → mce}/searchreplace/langs/zh_cn.js +0 -0
  225. {tinymce-advanced/mce → mce}/searchreplace/readme.txt +0 -0
  226. {tinymce-advanced/mce → mce}/searchreplace/searchreplace.htm +0 -0
  227. {tinymce-advanced/mce → mce}/style/css/props.css +0 -0
  228. {tinymce-advanced/mce → mce}/style/editor_plugin.js +0 -67
  229. {tinymce-advanced/mce → mce}/style/images/apply_button_bg.gif +0 -0
  230. {tinymce-advanced/mce → mce}/style/images/fade-butt.png +0 -0
  231. {tinymce-advanced/mce → mce}/style/images/style_info.gif +0 -0
  232. {tinymce-advanced/mce → mce}/style/images/styleprops.gif +0 -0
  233. {tinymce-advanced/mce → mce}/style/jscripts/props.js +0 -0
  234. {tinymce-advanced/mce → mce}/style/langs/de_de.js +0 -0
  235. {tinymce-advanced/mce → mce}/style/langs/en.js +0 -0
  236. {tinymce-advanced/mce → mce}/style/langs/es_es.js +0 -0
  237. {tinymce-advanced/mce → mce}/style/langs/fr_fr.js +0 -0
  238. {tinymce-advanced/mce → mce}/style/langs/it_it.js +0 -0
  239. {tinymce-advanced/mce → mce}/style/langs/pt_br.js +0 -0
  240. {tinymce-advanced/mce → mce}/style/langs/ru_ru.js +0 -0
  241. {tinymce-advanced/mce → mce}/style/langs/zh_cn.js +0 -0
  242. {tinymce-advanced/mce → mce}/style/props.htm +0 -0
  243. {tinymce-advanced/mce → mce}/style/readme.txt +0 -0
  244. {tinymce-advanced/mce → mce}/table/cell.htm +0 -0
  245. {tinymce-advanced/mce → mce}/table/css/cell.css +0 -0
  246. {tinymce-advanced/mce → mce}/table/css/row.css +0 -0
  247. {tinymce-advanced/mce → mce}/table/css/table.css +0 -0
  248. {tinymce-advanced/mce → mce}/table/editor_plugin.js +0 -80
  249. {tinymce-advanced/mce → mce}/table/images/buttons.gif +0 -0
  250. {tinymce-advanced/mce → mce}/table/images/table.gif +0 -0
  251. {tinymce-advanced/mce → mce}/table/images/table_cell_props.gif +0 -0
  252. {tinymce-advanced/mce → mce}/table/images/table_delete.gif +0 -0
  253. {tinymce-advanced/mce → mce}/table/images/table_delete_col.gif +0 -0
  254. {tinymce-advanced/mce → mce}/table/images/table_delete_row.gif +0 -0
  255. {tinymce-advanced/mce → mce}/table/images/table_insert_col_after.gif +0 -0
  256. {tinymce-advanced/mce → mce}/table/images/table_insert_col_before.gif +0 -0
  257. {tinymce-advanced/mce → mce}/table/images/table_insert_row_after.gif +0 -0
  258. {tinymce-advanced/mce → mce}/table/images/table_insert_row_before.gif +0 -0
  259. {tinymce-advanced/mce → mce}/table/images/table_merge_cells.gif +0 -0
  260. {tinymce-advanced/mce → mce}/table/images/table_row_props.gif +0 -0
  261. {tinymce-advanced/mce → mce}/table/images/table_split_cells.gif +0 -0
  262. {tinymce-advanced/mce → mce}/table/jscripts/cell.js +0 -0
  263. {tinymce-advanced/mce → mce}/table/jscripts/merge_cells.js +1 -1
  264. {tinymce-advanced/mce → mce}/table/jscripts/row.js +1 -1
  265. {tinymce-advanced/mce → mce}/table/jscripts/table.js +1 -1
  266. {tinymce-advanced/mce → mce}/table/langs/de_de.js +0 -0
  267. {tinymce-advanced/mce → mce}/table/langs/en.js +0 -0
  268. {tinymce-advanced/mce → mce}/table/langs/es_es.js +0 -0
  269. {tinymce-advanced/mce → mce}/table/langs/fr_fr.js +0 -0
  270. {tinymce-advanced/mce → mce}/table/langs/it_it.js +0 -0
  271. {tinymce-advanced/mce → mce}/table/langs/pt_br.js +0 -0
  272. {tinymce-advanced/mce → mce}/table/langs/ru_ru.js +0 -0
  273. {tinymce-advanced/mce → mce}/table/langs/zh_cn.js +0 -0
  274. {tinymce-advanced/mce → mce}/table/merge_cells.htm +0 -0
  275. {tinymce-advanced/mce → mce}/table/readme.txt +0 -0
  276. {tinymce-advanced/mce → mce}/table/row.htm +0 -0
  277. {tinymce-advanced/mce → mce}/table/table.htm +0 -0
  278. {tinymce-advanced/mce → mce}/visualchars/editor_plugin.js +0 -0
  279. {tinymce-advanced/mce → mce}/visualchars/images/visualchars.gif +0 -0
  280. {tinymce-advanced/mce → mce}/visualchars/langs/en.js +0 -0
  281. {tinymce-advanced/mce → mce}/xhtmlxtras/abbr.htm +0 -0
  282. {tinymce-advanced/mce → mce}/xhtmlxtras/acronym.htm +0 -0
  283. {tinymce-advanced/mce → mce}/xhtmlxtras/attributes.htm +0 -0
  284. {tinymce-advanced/mce → mce}/xhtmlxtras/cite.htm +0 -0
  285. {tinymce-advanced/mce → mce}/xhtmlxtras/css/attributes.css +0 -0
  286. {tinymce-advanced/mce → mce}/xhtmlxtras/css/popup.css +0 -0
  287. {tinymce-advanced/mce → mce}/xhtmlxtras/css/xhtmlxtras.css +0 -0
  288. {tinymce-advanced/mce → mce}/xhtmlxtras/del.htm +0 -0
  289. {tinymce-advanced/mce → mce}/xhtmlxtras/editor_plugin.js +0 -43
  290. {tinymce-advanced/mce → mce}/xhtmlxtras/images/abbr.gif +0 -0
  291. {tinymce-advanced/mce → mce}/xhtmlxtras/images/acronym.gif +0 -0
  292. {tinymce-advanced/mce → mce}/xhtmlxtras/images/attribs.gif +0 -0
  293. {tinymce-advanced/mce → mce}/xhtmlxtras/images/cite.gif +0 -0
  294. {tinymce-advanced/mce → mce}/xhtmlxtras/images/date_time.gif +0 -0
  295. {tinymce-advanced/mce → mce}/xhtmlxtras/images/del.gif +0 -0
  296. {tinymce-advanced/mce → mce}/xhtmlxtras/images/ins.gif +0 -0
  297. {tinymce-advanced/mce → mce}/xhtmlxtras/images/remove_button_bg.gif +0 -0
  298. {tinymce-advanced/mce → mce}/xhtmlxtras/ins.htm +0 -0
  299. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/abbr.js +0 -0
  300. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/acronym.js +0 -0
  301. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/attributes.js +0 -0
  302. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/cite.js +0 -0
  303. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/del.js +0 -0
  304. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/element_common.js +0 -0
  305. {tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/ins.js +0 -0
  306. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/de_de.js +10 -1
  307. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/en.js +0 -0
  308. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/es_es.js +0 -0
  309. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/fr_fr.js +0 -0
  310. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/it_it.js +0 -0
  311. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/pt_br.js +0 -0
  312. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/ru_ru.js +0 -0
  313. {tinymce-advanced/mce → mce}/xhtmlxtras/langs/zh_cn.js +0 -0
  314. readme.txt +122 -128
  315. screenshot-1.jpg +0 -0
  316. tinymce-advanced/tinymce-advanced.php → tinymce-advanced.php +180 -133
  317. tinymce-advanced/css/tadv-tinymce.css +0 -25
  318. tinymce-advanced/mce/advlink/editor_plugin.js +0 -135
css/tadv-fixstyle.css ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* fix TinyMCE iframe css */
2
+ body#mceSpanFonts {
3
+ background: #fff;
4
+ color: #000;
5
+ font-size: 12px;
6
+ font-style: normal;
7
+ font-weight: normal;
8
+ font-family: Verdana, Arial, Helvetica, sans-serif;
9
+ line-height: 18px;
10
+ }
11
+ #mceSpanFonts td {
12
+ font-size: 11px;
13
+ line-height: 16px;
14
+ }
15
+ ul, ol {
16
+ margin : 10px 0 10px 20px;
17
+ }
18
+ ul li {
19
+ list-style : disc;
20
+ }
21
+ ol li {
22
+ list-style : decimal;
23
+ }
24
+ ul li, ol li {
25
+ margin : 0.5em 0;
26
+ }
27
+ #mceSpanFonts p {
28
+ text-align: none !important;
29
+ }
{tinymce-advanced/css → css}/tadv-styles.css RENAMED
@@ -98,7 +98,7 @@ margin-bottom: 0;
98
  }
99
  #tadvpalette {
100
  border: 1px solid #bbb;
101
- background-color: #f0f8ff;
102
  height: 64px;
103
  padding: 4px;
104
  margin: 8px 0;
@@ -121,6 +121,9 @@ vertical-align: middle;
121
  #pre_styleselect.tadvmodule .tadvitem {
122
  width: 248px;
123
  }
 
 
 
124
  #pre_fontselect.tadvmodule .tadvitem {
125
  width: 185px;
126
  }
@@ -136,6 +139,9 @@ width: 80px;
136
  .tadvdropzone #pre_styleselect, .tadvdropzone #pre_styleselect .tadvitem {
137
  width: 173px;
138
  }
 
 
 
139
  .tadvdropzone #pre_fontselect, .tadvdropzone #pre_fontselect .tadvitem {
140
  width: 105px;
141
  }
98
  }
99
  #tadvpalette {
100
  border: 1px solid #bbb;
101
+ background-color: #f0f0ee;
102
  height: 64px;
103
  padding: 4px;
104
  margin: 8px 0;
121
  #pre_styleselect.tadvmodule .tadvitem {
122
  width: 248px;
123
  }
124
+ #pre_fontsizeselect.tadvmodule .tadvitem {
125
+ width: 185px;
126
+ }
127
  #pre_fontselect.tadvmodule .tadvitem {
128
  width: 185px;
129
  }
139
  .tadvdropzone #pre_styleselect, .tadvdropzone #pre_styleselect .tadvitem {
140
  width: 173px;
141
  }
142
+ .tadvdropzone #pre_fontsizeselect, .tadvdropzone #pre_fontsizeselect .tadvitem {
143
+ width: 105px;
144
+ }
145
  .tadvdropzone #pre_fontselect, .tadvdropzone #pre_fontselect .tadvitem {
146
  width: 105px;
147
  }
css/tadv-tinymce.css ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* You can add css class names below */
2
+ .shutter {}
3
+ .shutterset {}
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ /* styles for the TinyMCE editor */
19
+ body#mceSpanFonts {
20
+ text-align: left;
21
+ padding: .5em;
22
+ }
23
+
24
+ .mce_plugin_wordpress_more {
25
+ border: 0px;
26
+ border-top: 1px dotted #cccccc;
27
+ display:block;
28
+ background-color: #ffffff;
29
+ margin-top:15px;
30
+ background-image: url(../images/more_bug.gif);
31
+ background-repeat: no-repeat;
32
+ background-position: right top;
33
+ }
34
+
35
+ .mce_plugin_wordpress_page {
36
+ border: 0px;
37
+ border-top: 1px dotted #cccccc;
38
+ display:block;
39
+ background-color: #ffffff;
40
+ margin-top:15px;
41
+ background-image: url(../images/page_bug.gif);
42
+ background-repeat: no-repeat;
43
+ background-position: right top;
44
+ }
45
+ pre {
46
+ font-family: "Courier New", fixed;
47
+ font-size: 11px;
48
+ line-height: 13px;
49
+ }
50
+
51
+ .mceVisualAid {
52
+ border: 1px dashed #BBBBBB !important;
53
+ }
54
+
55
+ .mceItemAnchor {
56
+ width: 12px;
57
+ line-height: 6px;
58
+ overflow: hidden;
59
+ padding-left: 12px;
60
+ background-position: bottom;
61
+ background-repeat: no-repeat;
62
+ }
63
+
64
+ * html body {
65
+ scrollbar-3dlight-color: #F0F0EE;
66
+ scrollbar-arrow-color: #676662;
67
+ scrollbar-base-color: #F0F0EE;
68
+ scrollbar-darkshadow-color: #DDDDDD;
69
+ scrollbar-face-color: #E0E0DD;
70
+ scrollbar-highlight-color: #F0F0EE;
71
+ scrollbar-shadow-color: #F0F0EE;
72
+ scrollbar-track-color: #F5F5F5;
73
+ }
{tinymce-advanced/images → images}/NextGEN.gif RENAMED
File without changes
{tinymce-advanced/images → images}/abbr.gif RENAMED
File without changes
{tinymce-advanced/images → images}/acronym.gif RENAMED
File without changes
{tinymce-advanced/images → images}/advhr.gif RENAMED
File without changes
{tinymce-advanced/images → images}/anchor.gif RENAMED
File without changes
{tinymce-advanced/images → images}/attribs.gif RENAMED
File without changes
{tinymce-advanced/images → images}/backcolor.gif RENAMED
File without changes
{tinymce-advanced/images → images}/bold.gif RENAMED
File without changes
{tinymce-advanced/images → images}/bullist.gif RENAMED
File without changes
{tinymce-advanced/images → images}/charmap.gif RENAMED
File without changes
{tinymce-advanced/images → images}/cite.gif RENAMED
File without changes
{tinymce-advanced/images → images}/cleanup.gif RENAMED
File without changes
{tinymce-advanced/images → images}/code.gif RENAMED
File without changes
{tinymce-advanced/images → images}/copy.gif RENAMED
File without changes
{tinymce-advanced/images → images}/cut.gif RENAMED
File without changes
{tinymce-advanced/images → images}/del.gif RENAMED
File without changes
{tinymce-advanced/images → images}/embeddedvideo.gif RENAMED
File without changes
{tinymce-advanced/images → images}/emotions.gif RENAMED
File without changes
{tinymce-advanced/images → images}/fontselect.gif RENAMED
File without changes
images/fontsizeselect.gif ADDED
Binary file
{tinymce-advanced/images → images}/forecolor.gif RENAMED
File without changes
{tinymce-advanced/images → images}/formatselect.gif RENAMED
File without changes
{tinymce-advanced/images → images}/fullscreen.gif RENAMED
File without changes
{tinymce-advanced/images → images}/g2image.gif RENAMED
File without changes
{tinymce-advanced/images → images}/googlevideo.gif RENAMED
File without changes
{tinymce-advanced/images → images}/iespell.gif RENAMED
File without changes
{tinymce-advanced/images → images}/image.gif RENAMED
File without changes
{tinymce-advanced/images → images}/indent.gif RENAMED
File without changes
{tinymce-advanced/images → images}/ins.gif RENAMED
File without changes
{tinymce-advanced/images → images}/italic.gif RENAMED
File without changes
{tinymce-advanced/images → images}/justifycenter.gif RENAMED
File without changes
{tinymce-advanced/images → images}/justifyfull.gif RENAMED
File without changes
{tinymce-advanced/images → images}/justifyleft.gif RENAMED
File without changes
{tinymce-advanced/images → images}/justifyright.gif RENAMED
File without changes
{tinymce-advanced/images → images}/layer.gif RENAMED
File without changes
{tinymce-advanced/images → images}/link.gif RENAMED
File without changes
{tinymce-advanced/images → images}/media.gif RENAMED
File without changes
images/more_bug.gif ADDED
Binary file
{tinymce-advanced/images → images}/nonbreaking.gif RENAMED
File without changes
{tinymce-advanced/images → images}/numlist.gif RENAMED
File without changes
{tinymce-advanced/images → images}/outdent.gif RENAMED
File without changes
images/page_bug.gif ADDED
Binary file
{tinymce-advanced/images → images}/paste.gif RENAMED
File without changes
{tinymce-advanced/images → images}/pastetext.gif RENAMED
File without changes
{tinymce-advanced/images → images}/pasteword.gif RENAMED
File without changes
{tinymce-advanced/images → images}/print.gif RENAMED
File without changes
{tinymce-advanced/images → images}/ps_imagemanager_tinymceplugin.gif RENAMED
File without changes
{tinymce-advanced/images → images}/redo.gif RENAMED
File without changes
{tinymce-advanced/images → images}/removeformat.gif RENAMED
File without changes
{tinymce-advanced/images → images}/replace.gif RENAMED
File without changes
{tinymce-advanced/images → images}/search.gif RENAMED
File without changes
{tinymce-advanced/images → images}/separator.gif RENAMED
File without changes
{tinymce-advanced/images → images}/spacer.gif RENAMED
File without changes
{tinymce-advanced/images → images}/spellchecker.gif RENAMED
File without changes
{tinymce-advanced/images → images}/strikethrough.gif RENAMED
File without changes
{tinymce-advanced/images → images}/styleprops.gif RENAMED
File without changes
{tinymce-advanced/images → images}/styleselect.gif RENAMED
File without changes
{tinymce-advanced/images → images}/sub.gif RENAMED
File without changes
{tinymce-advanced/images → images}/sup.gif RENAMED
File without changes
{tinymce-advanced/images → images}/tablecontrols.gif RENAMED
File without changes
{tinymce-advanced/images → images}/toolbars.gif RENAMED
File without changes
{tinymce-advanced/images → images}/underline.gif RENAMED
File without changes
{tinymce-advanced/images → images}/underline_es.gif RENAMED
File without changes
{tinymce-advanced/images → images}/undo.gif RENAMED
File without changes
{tinymce-advanced/images → images}/unlink.gif RENAMED
File without changes
{tinymce-advanced/images → images}/vipersvideoquicktags.gif RENAMED
File without changes
{tinymce-advanced/images → images}/visualaid.gif RENAMED
File without changes
{tinymce-advanced/images → images}/visualchars.gif RENAMED
File without changes
{tinymce-advanced/images → images}/wp_help.gif RENAMED
File without changes
{tinymce-advanced/images → images}/wp_more.gif RENAMED
File without changes
{tinymce-advanced/images → images}/wp_page.gif RENAMED
File without changes
{tinymce-advanced/js → js}/tadv-all.js RENAMED
@@ -2,3 +2,4 @@ var Prototype={Version:'1.5.0',BrowserFeatures:{XPath:!!document.evaluate},Scrip
2
  String.prototype.parseColor=function(){var a='#';if(this.slice(0,4)=='rgb('){var b=this.slice(4,this.length-1).split(',');var i=0;do{a+=parseInt(b[i]).toColorPart()}while(++i<3)}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)a+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)a=this.toLowerCase()}};return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(b){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:(a.hasChildNodes()?Element.collectTextNodes(a):''))}).flatten().join('')};Element.collectTextNodesIgnoreClass=function(b,c){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:((a.hasChildNodes()&&!Element.hasClassName(a,c))?Element.collectTextNodesIgnoreClass(a,c):''))}).flatten().join('')};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);return a};Element.getOpacity=function(a){return $(a).getStyle('opacity')};Element.setOpacity=function(a,b){return $(a).setStyle({opacity:b})};Element.getInlineOpacity=function(a){return $(a).style.opacity||''};Element.forceRerendering=function(a){try{a=$(a);var n=document.createTextNode(' ');a.appendChild(n);a.removeChild(n)}catch(e){}};Array.prototype.call=function(){var a=arguments;this.each(function(f){f.apply(this,a)})};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(c){if(typeof Builder=='undefined')throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var d='position:relative';if(/MSIE/.test(navigator.userAgent)&&!window.opera)d+=';zoom:1';c=$(c);$A(c.childNodes).each(function(b){if(b.nodeType==3){b.nodeValue.toArray().each(function(a){c.insertBefore(Builder.node('span',{style:d},a==' '?String.fromCharCode(160):a),b)});Element.remove(b)}})},multiple:function(c,d){var e;if(((typeof c=='object')||(typeof c=='function'))&&(c.length))e=c;else e=$(c).childNodes;var f=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var g=f.delay;$A(e).each(function(a,b){new d(a,Object.extend(f,{delay:b*f.speed+g}))})},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(a,b){a=$(a);b=(b||'appear').toLowerCase();var c=Object.extend({queue:{position:'end',scope:(a.id||'global'),limit:1}},arguments[2]||{});Effect[a.visible()?Effect.PAIRS[b][1]:Effect.PAIRS[b][0]](a,c)}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){return((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(a,b){b=b||5;return(Math.round((a%(1/b))*b)==0?((a*b*2)-Math.floor(a*b*2)):1-((a*b*2)-Math.floor(a*b*2)))},none:function(a){return 0},full:function(a){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(a){var b=new Date().getTime();var c=(typeof a.options.queue=='string')?a.options.queue:a.options.queue.position;switch(c){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=a.finishOn;e.finishOn+=a.finishOn});break;case'with-last':b=this.effects.pluck('startOn').max()||b;break;case'end':b=this.effects.pluck('finishOn').max()||b;break}a.startOn+=b;a.finishOn+=b;if(!a.options.queue.limit||(this.effects.length<a.options.queue.limit))this.effects.push(a);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function(a){this.effects=this.effects.reject(function(e){return e==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var a=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)if(this.effects[i])this.effects[i].loop(a)}});Effect.Queues={instances:$H(),get:function(a){if(typeof a!='string')return a;if(!this.instances[a])this.instances[a]=new Effect.ScopedQueue();return this.instances[a]}};Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:60.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(a){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this)},loop:function(a){if(a>=this.startOn){if(a>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return}var b=(a-this.startOn)/(this.finishOn-this.startOn);var c=Math.round(b*this.options.fps*this.options.duration);if(c>this.currentFrame){this.render(b);this.currentFrame=c}}},render:function(a){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup')}if(this.state=='running'){if(this.options.transition)a=this.options.transition(a);a*=(this.options.to-this.options.from);a+=this.options.from;this.position=a;this.event('beforeUpdate');if(this.update)this.update(a);this.event('afterUpdate')}},cancel:function(){if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished'},event:function(a){if(this.options[a+'Internal'])this.options[a+'Internal'](this);if(this.options[a])this.options[a](this)},inspect:function(){var a=$H();for(property in this)if(typeof this[property]!='function')a[property]=this[property];return'#<Effect:'+a.inspect()+',options:'+$H(this.options).inspect()+'>'}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke('render',a)},finish:function(b){this.effects.each(function(a){a.render(1.0);a.cancel();a.event('beforeFinish');if(a.finish)a.finish(b);a.event('afterFinish')})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var a=Object.extend({duration:0},arguments[0]||{});this.start(a)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1});var b=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(b)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(b)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:Math.round(this.options.x*a+this.originalLeft)+'px',top:Math.round(this.options.y*a+this.originalTop)+'px'})}});Effect.MoveBy=function(a,b,c){return new Effect.Move(a,Object.extend({x:c,y:b},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(a,b){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var c=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:b},arguments[2]||{});this.start(c)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var b=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(a){if(b.indexOf(a)>0){this.fontSize=parseFloat(b);this.fontSizeType=a}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(a){var b=(this.options.scaleFrom/100.0)+(this.factor*a);if(this.options.scaleContent&&this.fontSize)this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType});this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle)},setDimensions:function(a,b){var d={};if(this.options.scaleX)d.width=Math.round(b)+'px';if(this.options.scaleY)d.height=Math.round(a)+'px';if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var e=(b-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-c+'px';if(this.options.scaleX)d.left=this.originalLeft-e+'px'}else{if(this.options.scaleY)d.top=-c+'px';if(this.options.scaleX)d.left=-e+'px'}}this.element.setStyle(d)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(b)},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'})}if(!this.options.endcolor)this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*a)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);this.start(arguments[1]||{})},setup:function(){Position.prepare();var a=Position.cumulativeOffset(this.element);if(this.options.offset)a[1]+=this.options.offset;var b=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(a[1]>b?b:a[1])-this.scrollStart},update:function(a){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(a*this.delta))}});Effect.Fade=function(b){b=$(b);var c=b.getInlineOpacity();var d=Object.extend({from:b.getOpacity()||1.0,to:0.0,afterFinishInternal:function(a){if(a.options.to!=0)return;a.element.hide().setStyle({opacity:c})}},arguments[1]||{});return new Effect.Opacity(b,d)};Effect.Appear=function(b){b=$(b);var c=Object.extend({from:(b.getStyle('display')=='none'?0.0:b.getOpacity()||0.0),to:1.0,afterFinishInternal:function(a){a.element.forceRerendering()},beforeSetup:function(a){a.element.setOpacity(a.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,c)};Effect.Puff=function(b){b=$(b);var c={opacity:b.getInlineOpacity(),position:b.getStyle('position'),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(a){Position.absolutize(a.effects[0].element)},afterFinishInternal:function(a){a.effects[0].element.hide().setStyle(c)}},arguments[1]||{}))};Effect.BlindUp=function(b){b=$(b);b.makeClipping();return new Effect.Scale(b,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(a){a.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var c=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makeClipping().setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(c){c=$(c);var d=c.getInlineOpacity();return new Effect.Appear(c,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(b){new Effect.Scale(b.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(a){a.element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({opacity:d})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var c={top:b.getStyle('top'),left:b.getStyle('left'),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(a){a.effects[0].element.makePositioned()},afterFinishInternal:function(a){a.effects[0].element.hide().undoPositioned().setStyle(c)}},arguments[1]||{}))};Effect.Shake=function(g){g=$(g);var h={top:g.getStyle('top'),left:g.getStyle('left')};return new Effect.Move(g,{x:20,y:0,duration:0.05,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(e){new Effect.Move(e.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(d){new Effect.Move(d.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(c){new Effect.Move(c.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(b){new Effect.Move(b.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(a){a.element.undoPositioned().setStyle(h)}})}})}})}})}})}})};Effect.SlideDown=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');var d=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:d.height,originalWidth:d.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().setStyle({height:'0px'}).show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.undoClipping().undoPositioned();a.element.down().undoPositioned().setStyle({bottom:c})}},arguments[1]||{}))};Effect.SlideUp=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');return new Effect.Scale(b,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({bottom:c});a.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function(b){return new Effect.Scale(b,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(a){a.element.makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var d=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var e={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var g,initialMoveY;var h,moveY;switch(d.direction){case'top-left':g=initialMoveY=h=moveY=0;break;case'top-right':g=f.width;initialMoveY=moveY=0;h=-f.width;break;case'bottom-left':g=h=0;initialMoveY=f.height;moveY=-f.height;break;case'bottom-right':g=f.width;initialMoveY=f.height;h=-f.width;moveY=-f.height;break;case'center':g=f.width/2;initialMoveY=f.height/2;h=-f.width/2;moveY=-f.height/2;break};return new Effect.Move(c,{x:g,y:initialMoveY,duration:0.01,beforeSetup:function(a){a.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(b){new Effect.Parallel([new Effect.Opacity(b.element,{sync:true,to:1.0,from:0.0,transition:d.opacityTransition}),new Effect.Move(b.element,{x:h,y:moveY,sync:true,transition:d.moveTransition}),new Effect.Scale(b.element,100,{scaleMode:{originalHeight:f.height,originalWidth:f.width},sync:true,scaleFrom:window.opera?1:0,transition:d.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(a){a.effects[0].element.setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.effects[0].element.undoClipping().undoPositioned().setStyle(e)}},d))}})};Effect.Shrink=function(b){b=$(b);var c=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var d={top:b.style.top,left:b.style.left,height:b.style.height,width:b.style.width,opacity:b.getInlineOpacity()};var e=b.getDimensions();var f,moveY;switch(c.direction){case'top-left':f=moveY=0;break;case'top-right':f=e.width;moveY=0;break;case'bottom-left':f=0;moveY=e.height;break;case'bottom-right':f=e.width;moveY=e.height;break;case'center':f=e.width/2;moveY=e.height/2;break};return new Effect.Parallel([new Effect.Opacity(b,{sync:true,to:0.0,from:1.0,transition:c.opacityTransition}),new Effect.Scale(b,window.opera?1:0,{sync:true,transition:c.scaleTransition,restoreAfterFinish:true}),new Effect.Move(b,{x:f,y:moveY,sync:true,transition:c.moveTransition})],Object.extend({beforeStartInternal:function(a){a.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.effects[0].element.hide().undoClipping().undoPositioned().setStyle(d)}},c))};Effect.Pulsate=function(b){b=$(b);var c=arguments[1]||{};var d=b.getInlineOpacity();var e=c.transition||Effect.Transitions.sinoidal;var f=function(a){return e(1-Effect.Transitions.pulse(a,c.pulses))};f.bind(e);return new Effect.Opacity(b,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(a){a.element.setStyle({opacity:d})}},c),{transition:f}))};Effect.Fold=function(c){c=$(c);var d={top:c.style.top,left:c.style.left,width:c.style.width,height:c.style.height};c.makeClipping();return new Effect.Scale(c,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(b){new Effect.Scale(c,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(a){a.element.hide().undoClipping().setStyle(d)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(c){this.element=$(c);if(!this.element)throw(Effect._elementDoesNotExistError);var d=Object.extend({style:{}},arguments[1]||{});if(typeof d.style=='string'){if(d.style.indexOf(':')==-1){var e='',selector='.'+d.style;$A(document.styleSheets).reverse().each(function(b){if(b.cssRules)cssRules=b.cssRules;else if(b.rules)cssRules=b.rules;$A(cssRules).reverse().each(function(a){if(selector==a.selectorText){e=a.style.cssText;throw $break;}});if(e)throw $break;});this.style=e.parseStyle();d.afterFinishInternal=function(b){b.element.addClassName(b.options.style);b.transforms.each(function(a){if(a.style!='opacity')b.element.style[a.style.camelize()]=''})}}else this.style=d.style.parseStyle()}else this.style=$H(d.style);this.start(d)},setup:function(){function parseColor(a){if(!a||['rgba(0, 0, 0, 0)','transparent'].include(a))a='#ffffff';a=a.parseColor();return $R(0,2).map(function(i){return parseInt(a.slice(i*2+1,i*2+3),16)})};this.transforms=this.style.map(function(a){var b=a[0].underscore().dasherize(),value=a[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color'}else if(b=='opacity'){value=parseFloat(value);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(value))var c=value.match(/^([\+\-]?[0-9\.]+)(.*)$/),value=parseFloat(c[1]),unit=(c.length==3)?c[2]:null;var d=this.element.getStyle(b);return $H({style:b,originalValue:unit=='color'?parseColor(d):parseFloat(d||0),targetValue:unit=='color'?parseColor(value):value,unit:unit})}.bind(this)).reject(function(a){return((a.originalValue==a.targetValue)||(a.unit!='color'&&(isNaN(a.originalValue)||isNaN(a.targetValue))))})},update:function(b){var c=$H(),value=null;this.transforms.each(function(a){value=a.unit=='color'?$R(0,2).inject('#',function(m,v,i){return m+(Math.round(a.originalValue[i]+(a.targetValue[i]-a.originalValue[i])*b)).toColorPart()}):a.originalValue+Math.round(((a.targetValue-a.originalValue)*b)*1000)/1000+a.unit;c[a.style]=value});this.element.setStyle(c)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(c){c.each(function(a){var b=$H(a).values().first();this.tracks.push($H({ids:$H(a).keys().first(),effect:Effect.Morph,options:{style:b}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var b=[$(a.ids)||$$(a.ids)].flatten();return b.map(function(e){return new a.effect(e,Object.extend({sync:true},a.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var b=Element.extend(document.createElement('div'));b.innerHTML='<div style="'+this+'"></div>';var c=b.down().style,styleRules=$H();Element.CSS_PROPERTIES.each(function(a){if(c[a])styleRules[a]=c[a]});if(/MSIE/.test(navigator.userAgent)&&!window.opera&&this.indexOf('opacity')>-1){styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]};return styleRules};Element.morph=function(a,b){new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f]});Element.Methods.visualEffect=function(a,b,c){s=b.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](a,c);return $(a)};Element.addMethods();
3
  var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(a){a=a.toUpperCase();var b=this.NODEMAP[a]||'div';var c=document.createElement(b);try{c.innerHTML="<"+a+"></"+a+">"}catch(e){}var d=c.firstChild||null;if(d&&(d.tagName.toUpperCase()!=a))d=d.getElementsByTagName(a)[0];if(!d)d=document.createElement(a);if(!d)return;if(arguments[1])if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)){this._children(d,arguments[1])}else{var f=this._attributes(arguments[1]);if(f.length){try{c.innerHTML="<"+a+" "+f+"></"+a+">"}catch(e){}d=c.firstChild||null;if(!d){d=document.createElement(a);for(attr in arguments[1])d[attr=='class'?'className':attr]=arguments[1][attr]}if(d.tagName.toUpperCase()!=a)d=c.getElementsByTagName(a)[0]}};if(arguments[2])this._children(d,arguments[2]);return d},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(a){var b=[];for(attribute in a)b.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML()+'"');return b.join(" ")},_children:function(a,b){if(typeof b=='object'){b.flatten().each(function(e){if(typeof e=='object')a.appendChild(e);else if(Builder._isStringOrNumber(e))a.appendChild(Builder._text(e))})}else if(Builder._isStringOrNumber(b))a.appendChild(Builder._text(b))},_isStringOrNumber:function(a){return(typeof a=='string'||typeof a=='number')},build:function(a){var b=this.node('div');$(b).update(a.strip());return b.down()},dump:function(b){if(typeof b!='object'&&typeof b!='function')b=window;var c=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);c.each(function(a){b[a]=function(){return Builder.node.apply(Builder,[a].concat($A(arguments)))}})}};
4
  if(typeof Effect=='undefined')throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(d){return d.element==$(a)})},add:function(a){a=$(a);var b=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(b.containment){b._containers=[];var d=b.containment;if((typeof d=='object')&&(d.constructor==Array)){d.each(function(c){b._containers.push($(c))})}else{b._containers.push($(d))}};if(b.accept)b.accept=[b.accept].flatten();Element.makePositioned(a);b.element=a;this.drops.push(b)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i)if(Element.isParent(a[i].element,deepest.element))deepest=a[i];return deepest},isContained:function(a,b){var d;if(b.tree){d=a.treeNode}else{d=a.parentNode}return b._containers.detect(function(c){return d==c})},isAffected:function(a,b,c){return((c.element!=b)&&((!c._containers)||this.isContained(b,c))&&((!c.accept)||(Element.classNames(b).detect(function(v){return c.accept.include(v)})))&&Position.within(c.element,a[0],a[1]))},deactivate:function(a){if(a.hoverclass)Element.removeClassName(a.element,a.hoverclass);this.last_active=null},activate:function(a){if(a.hoverclass)Element.addClassName(a.element,a.hoverclass);this.last_active=a},show:function(b,c){if(!this.drops.length)return;var d=[];if(this.last_active)this.deactivate(this.last_active);this.drops.each(function(a){if(Droppables.isAffected(b,c,a))d.push(a)});if(d.length>0){drop=Droppables.findDeepestChild(d);Position.within(drop.element,b[0],b[1]);if(drop.onHover)drop.onHover(c,drop.element,Position.overlap(drop.overlap,drop.element));Droppables.activate(drop)}},fire:function(a,b){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(a),Event.pointerY(a)],b,this.last_active))if(this.last_active.onDrop)this.last_active.onDrop(b,this.last_active.element,a)},reset:function(){if(this.last_active)this.deactivate(this.last_active)}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)};this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(d){return d==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay)}else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(!this.activeDraggable)return;var b=[Event.pointerX(a),Event.pointerY(a)];if(this._lastPointer&&(this._lastPointer.inspect()==b.inspect()))return;this._lastPointer=b;if(document.createCDATASection==null){try{spdfix.innerHTML=b[0]}catch(e){spdfix=document.createElement('div');spdfix.style.display='none';document.body.insertBefore(spdfix,document.body.firstChild)}};this.activeDraggable.updateDrag(a,b)},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null},keyPress:function(a){if(this.activeDraggable)this.activeDraggable.keyPress(a)},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(o){return o.element==a});this._cacheObserverCallbacks()},notify:function(a,b,c){if(this[a+'Count']>0)this.observers.each(function(o){if(o[a])o[a](a,b,c)});if(b.options[a])b.options[a](b,c)},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(a){Draggables[a+'Count']=Draggables.observers.select(function(o){return o[a]}).length})}};var Draggable=Class.create();Draggable._dragging={};Draggable.prototype={initialize:function(e){var f={handle:false,reverteffect:function(a,b,c){var d=Math.sqrt(Math.abs(b^2)+Math.abs(c^2))*0.02;new Effect.Move(a,{x:-c,y:-b,duration:d,queue:{scope:'_draggable',position:'end'}})},endeffect:function(a){var b=typeof a._opacity=='number'?a._opacity:1.0;new Effect.Opacity(a,{duration:0.2,from:0.7,to:b,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[a]=false}})},zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||typeof arguments[1].endeffect=='undefined')Object.extend(f,{starteffect:function(a){a._opacity=Element.getOpacity(a);Draggable._dragging[a]=true;new Effect.Opacity(a,{duration:0.2,from:a._opacity,to:0.7})}});var g=Object.extend(f,arguments[1]||{});this.element=$(e);if(g.handle&&(typeof g.handle=='string'))this.handle=this.element.down('.'+g.handle,0);if(!this.handle)this.handle=$(g.handle);if(!this.handle)this.handle=this.element;if(g.scroll&&!g.scroll.scrollTo&&!g.scroll.outerHTML){g.scroll=$(g.scroll);this._isScrollChild=Element.childOf(this.element,g.scroll)};Element.makePositioned(this.element);this.options=g;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')])},initDrag:function(a){if(typeof Draggable._dragging[this.element]!='undefined'&&Draggable._dragging[this.element])return;if(Event.isLeftClick(a)){var b=Event.element(a);if((tag_name=b.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var c=[Event.pointerX(a),Event.pointerY(a)];var d=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(c[i]-d[i])});Draggables.activate(this);Event.stop(a)}},startDrag:function(a){this.dragging=true;if(!this.delta)this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex};if(this.options.ghosting){this._clone=this.element.cloneNode(true);Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element)};if(this.options.scroll){if(this.options.scroll==window){var b=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=b.left;this.originalScrollTop=b.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}};Draggables.notify('onStart',this,a);if(this.options.starteffect)this.options.starteffect(this.element)},updateDrag:function(a,b){if(!this.dragging)this.startDrag(a);Position.prepare();Droppables.show(b,this.element);Draggables.notify('onDrag',this,a);this.draw(b);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)};var c=[0,0];if(b[0]<(p[0]+this.options.scrollSensitivity))c[0]=b[0]-(p[0]+this.options.scrollSensitivity);if(b[1]<(p[1]+this.options.scrollSensitivity))c[1]=b[1]-(p[1]+this.options.scrollSensitivity);if(b[0]>(p[2]-this.options.scrollSensitivity))c[0]=b[0]-(p[2]-this.options.scrollSensitivity);if(b[1]>(p[3]-this.options.scrollSensitivity))c[1]=b[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(c)};if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(a)},finishDrag:function(a,b){this.dragging=false;if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null};if(b)Droppables.fire(a,this.element);Draggables.notify('onEnd',this,a);var c=this.options.revert;if(c&&typeof c=='function')c=c(this.element);var d=this.currentDelta();if(c&&this.options.reverteffect){this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0])}else{this.delta=d};if(this.options.zindex)this.element.style.zIndex=this.originalZ;if(this.options.endeffect)this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode!=Event.KEY_ESC)return;this.finishDrag(a,false);Event.stop(a)},endDrag:function(a){if(!this.dragging)return;this.stopScrolling();this.finishDrag(a,true);Event.stop(a)},draw:function(a){var b=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);b[0]+=r[0]-Position.deltaX;b[1]+=r[1]-Position.deltaY};var d=this.currentDelta();b[0]-=d[0];b[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){b[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;b[1]-=this.options.scroll.scrollTop-this.originalScrollTop};var p=[0,1].map(function(i){return(a[i]-b[i]-this.offset[i])}.bind(this));if(this.options.snap){if(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this)}else{if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return Math.round(v/this.options.snap)*this.options.snap}.bind(this))}}};var c=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))c.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))c.top=p[1]+"px";if(c.visibility=="hidden")c.visibility=""},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1]))return;this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var a=new Date();var b=a-this.lastScrolled;this.lastScrolled=a;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=b/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*b/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*b/1000};Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*b/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*b/1000;if(Draggables._lastScrollPointer[0]<0)Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer)};if(this.options.change)this.options.change(this)},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft};if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}};return{top:T,left:L,width:W,height:H}}};var SortableObserver=Class.create();SortableObserver.prototype={initialize:function(a,b){this.element=$(a);this.observer=b;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))this.observer(this.element)}};var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id])return a;a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a)return;return Sortable.sortables[a.id]},destroy:function(a){var s=Sortable.options(a);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id]}},create:function(b){b=$(b);var c=Object.extend({element:b,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:b,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(b);var d={revert:true,scroll:c.scroll,scrollSpeed:c.scrollSpeed,scrollSensitivity:c.scrollSensitivity,delay:c.delay,ghosting:c.ghosting,constraint:c.constraint,handle:c.handle};if(c.starteffect)d.starteffect=c.starteffect;if(c.reverteffect)d.reverteffect=c.reverteffect;else if(c.ghosting)d.reverteffect=function(a){a.style.top=0;a.style.left=0};if(c.endeffect)d.endeffect=c.endeffect;if(c.zindex)d.zindex=c.zindex;var f={overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass,onHover:Sortable.onHover};var g={onHover:Sortable.onEmptyHover,overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass};Element.cleanWhitespace(b);c.draggables=[];c.droppables=[];if(c.dropOnEmpty||c.tree){Droppables.add(b,g);c.droppables.push(b)};(this.findElements(b,c)||[]).each(function(e){var a=c.handle?$(e).down('.'+c.handle,0):e;c.draggables.push(new Draggable(e,Object.extend(d,{handle:a})));Droppables.add(e,f);if(c.tree)e.treeNode=b;c.droppables.push(e)});if(c.tree){(Sortable.findTreeElements(b,c)||[]).each(function(e){Droppables.add(e,g);e.treeNode=b;c.droppables.push(e)})};this.sortables[b.id]=c;Draggables.addObserver(new SortableObserver(b,c.onUpdate))},findElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.tag)},findTreeElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.treeTag)},onHover:function(a,b,c){if(Sortable.options(b).tree){if(Element.isParent(b,a)||(c>.33&&c<.66)){return}}else{if(Element.isParent(a,b)){return}};if(c>0.5){Sortable.mark(b,'before');if(b.previousSibling!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,b);if(b.parentNode!=d)Sortable.options(d).onChange(a,"left_to",b);Sortable.options(b.parentNode).onChange(a,"left_to",b)}}else{Sortable.mark(b,'after');var e=b.nextSibling||null;if(e!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,e);if(b.parentNode!=d)Sortable.options(d).onChange(a,"right_to",b);Sortable.options(b.parentNode).onChange(a,"right_to",b)}}},onEmptyHover:function(a,b,c){var d=a.parentNode;var e=Sortable.options(b);if(Sortable.options(b).tree){if(!Element.isParent(b,a)){var f;var g=Sortable.findElements(b,{tag:e.tag,only:e.only});var h=null;if(g){var i=Element.offsetSize(b,e.overlap)*(1.0-c);for(f=0;f<g.length;f+=1){if(i-Element.offsetSize(g[f],e.overlap)>=0){i-=Element.offsetSize(g[f],e.overlap)}else if(i-(Element.offsetSize(g[f],e.overlap)/2)>=0){h=f+1<g.length?1:null;break}else{h=1;break}}};if(h==null){b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}}}else{if(Element.isParent(a,b))return;b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}},unmark:function(){if(Sortable._marker)Sortable._marker.hide()},mark:function(a,b){var c=Sortable.options(a.parentNode);if(c&&!c.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)};var d=Position.cumulativeOffset(a);Sortable._marker.setStyle({left:d[0]+'px',top:d[1]+'px'});if(b=='after')if(c.overlap=='horizontal')Sortable._marker.setStyle({left:(d[0]+a.clientWidth)+'px'});else Sortable._marker.setStyle({top:(d[1]+a.clientHeight)+'px'});Sortable._marker.show()},_tree:function(a,b,c){var d=Sortable.findElements(a,b)||[];for(var i=0;i<d.length;++i){var e=d[i].id.match(b.format);if(!e)continue;var f={id:encodeURIComponent(e?e[1]:null),element:a,parent:c,children:[],position:c.children.length,container:$(d[i]).down(b.treeTag)};if(f.container)this._tree(f.container,b,f);c.children.push(f)};return c},tree:function(a){a=$(a);var b=this.options(a);var c=Object.extend({tag:b.tag,treeTag:b.treeTag,only:b.only,name:a.id,format:b.format},arguments[1]||{});var d={id:null,parent:null,children:[],container:a,position:0};return Sortable._tree(a,c,d)},_constructIndex:function(a){var b='';do{if(a.id)b='['+a.position+']'+b}while((a=a.parent)!=null);return b},sequence:function(b){b=$(b);var c=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,c)||[]).map(function(a){return a.id.match(c.format)?a.id.match(c.format)[1]:''})},setSequence:function(b,c){b=$(b);var d=Object.extend(this.options(b),arguments[2]||{});var e={};this.findElements(b,d).each(function(n){if(n.id.match(d.format))e[n.id.match(d.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n)});c.each(function(a){var n=e[a];if(n){n[1].appendChild(n[0]);delete e[a]}})},serialize:function(b){b=$(b);var c=Object.extend(Sortable.options(b),arguments[1]||{});var d=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:b.id);if(c.tree){return Sortable.tree(b,arguments[1]).children.map(function(a){return[d+Sortable._constructIndex(a)+"[id]="+encodeURIComponent(a.id)].concat(a.children.map(arguments.callee))}).flatten().join('&')}else{return Sortable.sequence(b,arguments[1]).map(function(a){return d+"[]="+encodeURIComponent(a)}).join('&')}}};Element.isParent=function(a,b){if(!a.parentNode||a==b)return false;if(a.parentNode==b)return true;return Element.isParent(a.parentNode,b)};Element.findChildren=function(b,c,d,f){if(!b.hasChildNodes())return null;f=f.toUpperCase();if(c)c=[c].flatten();var g=[];$A(b.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==f&&(!c||(Element.classNames(e).detect(function(v){return c.include(v)}))))g.push(e);if(d){var a=Element.findChildren(e,c,d,f);if(a)g.push(a)}});return(g.length>0?g.flatten():[])};Element.offsetSize=function(a,b){return a['offset'+((b=='vertical'||b=='height')?'Height':'Width')]};
 
2
  String.prototype.parseColor=function(){var a='#';if(this.slice(0,4)=='rgb('){var b=this.slice(4,this.length-1).split(',');var i=0;do{a+=parseInt(b[i]).toColorPart()}while(++i<3)}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)a+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)a=this.toLowerCase()}};return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(b){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:(a.hasChildNodes()?Element.collectTextNodes(a):''))}).flatten().join('')};Element.collectTextNodesIgnoreClass=function(b,c){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:((a.hasChildNodes()&&!Element.hasClassName(a,c))?Element.collectTextNodesIgnoreClass(a,c):''))}).flatten().join('')};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);return a};Element.getOpacity=function(a){return $(a).getStyle('opacity')};Element.setOpacity=function(a,b){return $(a).setStyle({opacity:b})};Element.getInlineOpacity=function(a){return $(a).style.opacity||''};Element.forceRerendering=function(a){try{a=$(a);var n=document.createTextNode(' ');a.appendChild(n);a.removeChild(n)}catch(e){}};Array.prototype.call=function(){var a=arguments;this.each(function(f){f.apply(this,a)})};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(c){if(typeof Builder=='undefined')throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var d='position:relative';if(/MSIE/.test(navigator.userAgent)&&!window.opera)d+=';zoom:1';c=$(c);$A(c.childNodes).each(function(b){if(b.nodeType==3){b.nodeValue.toArray().each(function(a){c.insertBefore(Builder.node('span',{style:d},a==' '?String.fromCharCode(160):a),b)});Element.remove(b)}})},multiple:function(c,d){var e;if(((typeof c=='object')||(typeof c=='function'))&&(c.length))e=c;else e=$(c).childNodes;var f=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var g=f.delay;$A(e).each(function(a,b){new d(a,Object.extend(f,{delay:b*f.speed+g}))})},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(a,b){a=$(a);b=(b||'appear').toLowerCase();var c=Object.extend({queue:{position:'end',scope:(a.id||'global'),limit:1}},arguments[2]||{});Effect[a.visible()?Effect.PAIRS[b][1]:Effect.PAIRS[b][0]](a,c)}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){return((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(a,b){b=b||5;return(Math.round((a%(1/b))*b)==0?((a*b*2)-Math.floor(a*b*2)):1-((a*b*2)-Math.floor(a*b*2)))},none:function(a){return 0},full:function(a){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(a){var b=new Date().getTime();var c=(typeof a.options.queue=='string')?a.options.queue:a.options.queue.position;switch(c){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=a.finishOn;e.finishOn+=a.finishOn});break;case'with-last':b=this.effects.pluck('startOn').max()||b;break;case'end':b=this.effects.pluck('finishOn').max()||b;break}a.startOn+=b;a.finishOn+=b;if(!a.options.queue.limit||(this.effects.length<a.options.queue.limit))this.effects.push(a);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function(a){this.effects=this.effects.reject(function(e){return e==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var a=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)if(this.effects[i])this.effects[i].loop(a)}});Effect.Queues={instances:$H(),get:function(a){if(typeof a!='string')return a;if(!this.instances[a])this.instances[a]=new Effect.ScopedQueue();return this.instances[a]}};Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:60.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(a){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this)},loop:function(a){if(a>=this.startOn){if(a>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return}var b=(a-this.startOn)/(this.finishOn-this.startOn);var c=Math.round(b*this.options.fps*this.options.duration);if(c>this.currentFrame){this.render(b);this.currentFrame=c}}},render:function(a){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup')}if(this.state=='running'){if(this.options.transition)a=this.options.transition(a);a*=(this.options.to-this.options.from);a+=this.options.from;this.position=a;this.event('beforeUpdate');if(this.update)this.update(a);this.event('afterUpdate')}},cancel:function(){if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished'},event:function(a){if(this.options[a+'Internal'])this.options[a+'Internal'](this);if(this.options[a])this.options[a](this)},inspect:function(){var a=$H();for(property in this)if(typeof this[property]!='function')a[property]=this[property];return'#<Effect:'+a.inspect()+',options:'+$H(this.options).inspect()+'>'}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke('render',a)},finish:function(b){this.effects.each(function(a){a.render(1.0);a.cancel();a.event('beforeFinish');if(a.finish)a.finish(b);a.event('afterFinish')})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var a=Object.extend({duration:0},arguments[0]||{});this.start(a)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1});var b=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(b)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(b)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:Math.round(this.options.x*a+this.originalLeft)+'px',top:Math.round(this.options.y*a+this.originalTop)+'px'})}});Effect.MoveBy=function(a,b,c){return new Effect.Move(a,Object.extend({x:c,y:b},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(a,b){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var c=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:b},arguments[2]||{});this.start(c)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var b=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(a){if(b.indexOf(a)>0){this.fontSize=parseFloat(b);this.fontSizeType=a}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(a){var b=(this.options.scaleFrom/100.0)+(this.factor*a);if(this.options.scaleContent&&this.fontSize)this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType});this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle)},setDimensions:function(a,b){var d={};if(this.options.scaleX)d.width=Math.round(b)+'px';if(this.options.scaleY)d.height=Math.round(a)+'px';if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var e=(b-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-c+'px';if(this.options.scaleX)d.left=this.originalLeft-e+'px'}else{if(this.options.scaleY)d.top=-c+'px';if(this.options.scaleX)d.left=-e+'px'}}this.element.setStyle(d)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(b)},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'})}if(!this.options.endcolor)this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*a)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);this.start(arguments[1]||{})},setup:function(){Position.prepare();var a=Position.cumulativeOffset(this.element);if(this.options.offset)a[1]+=this.options.offset;var b=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(a[1]>b?b:a[1])-this.scrollStart},update:function(a){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(a*this.delta))}});Effect.Fade=function(b){b=$(b);var c=b.getInlineOpacity();var d=Object.extend({from:b.getOpacity()||1.0,to:0.0,afterFinishInternal:function(a){if(a.options.to!=0)return;a.element.hide().setStyle({opacity:c})}},arguments[1]||{});return new Effect.Opacity(b,d)};Effect.Appear=function(b){b=$(b);var c=Object.extend({from:(b.getStyle('display')=='none'?0.0:b.getOpacity()||0.0),to:1.0,afterFinishInternal:function(a){a.element.forceRerendering()},beforeSetup:function(a){a.element.setOpacity(a.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,c)};Effect.Puff=function(b){b=$(b);var c={opacity:b.getInlineOpacity(),position:b.getStyle('position'),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(a){Position.absolutize(a.effects[0].element)},afterFinishInternal:function(a){a.effects[0].element.hide().setStyle(c)}},arguments[1]||{}))};Effect.BlindUp=function(b){b=$(b);b.makeClipping();return new Effect.Scale(b,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(a){a.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var c=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makeClipping().setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(c){c=$(c);var d=c.getInlineOpacity();return new Effect.Appear(c,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(b){new Effect.Scale(b.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(a){a.element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({opacity:d})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var c={top:b.getStyle('top'),left:b.getStyle('left'),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(a){a.effects[0].element.makePositioned()},afterFinishInternal:function(a){a.effects[0].element.hide().undoPositioned().setStyle(c)}},arguments[1]||{}))};Effect.Shake=function(g){g=$(g);var h={top:g.getStyle('top'),left:g.getStyle('left')};return new Effect.Move(g,{x:20,y:0,duration:0.05,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(e){new Effect.Move(e.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(d){new Effect.Move(d.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(c){new Effect.Move(c.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(b){new Effect.Move(b.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(a){a.element.undoPositioned().setStyle(h)}})}})}})}})}})}})};Effect.SlideDown=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');var d=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:d.height,originalWidth:d.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().setStyle({height:'0px'}).show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.undoClipping().undoPositioned();a.element.down().undoPositioned().setStyle({bottom:c})}},arguments[1]||{}))};Effect.SlideUp=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');return new Effect.Scale(b,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({bottom:c});a.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function(b){return new Effect.Scale(b,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(a){a.element.makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var d=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var e={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var g,initialMoveY;var h,moveY;switch(d.direction){case'top-left':g=initialMoveY=h=moveY=0;break;case'top-right':g=f.width;initialMoveY=moveY=0;h=-f.width;break;case'bottom-left':g=h=0;initialMoveY=f.height;moveY=-f.height;break;case'bottom-right':g=f.width;initialMoveY=f.height;h=-f.width;moveY=-f.height;break;case'center':g=f.width/2;initialMoveY=f.height/2;h=-f.width/2;moveY=-f.height/2;break};return new Effect.Move(c,{x:g,y:initialMoveY,duration:0.01,beforeSetup:function(a){a.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(b){new Effect.Parallel([new Effect.Opacity(b.element,{sync:true,to:1.0,from:0.0,transition:d.opacityTransition}),new Effect.Move(b.element,{x:h,y:moveY,sync:true,transition:d.moveTransition}),new Effect.Scale(b.element,100,{scaleMode:{originalHeight:f.height,originalWidth:f.width},sync:true,scaleFrom:window.opera?1:0,transition:d.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(a){a.effects[0].element.setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.effects[0].element.undoClipping().undoPositioned().setStyle(e)}},d))}})};Effect.Shrink=function(b){b=$(b);var c=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var d={top:b.style.top,left:b.style.left,height:b.style.height,width:b.style.width,opacity:b.getInlineOpacity()};var e=b.getDimensions();var f,moveY;switch(c.direction){case'top-left':f=moveY=0;break;case'top-right':f=e.width;moveY=0;break;case'bottom-left':f=0;moveY=e.height;break;case'bottom-right':f=e.width;moveY=e.height;break;case'center':f=e.width/2;moveY=e.height/2;break};return new Effect.Parallel([new Effect.Opacity(b,{sync:true,to:0.0,from:1.0,transition:c.opacityTransition}),new Effect.Scale(b,window.opera?1:0,{sync:true,transition:c.scaleTransition,restoreAfterFinish:true}),new Effect.Move(b,{x:f,y:moveY,sync:true,transition:c.moveTransition})],Object.extend({beforeStartInternal:function(a){a.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.effects[0].element.hide().undoClipping().undoPositioned().setStyle(d)}},c))};Effect.Pulsate=function(b){b=$(b);var c=arguments[1]||{};var d=b.getInlineOpacity();var e=c.transition||Effect.Transitions.sinoidal;var f=function(a){return e(1-Effect.Transitions.pulse(a,c.pulses))};f.bind(e);return new Effect.Opacity(b,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(a){a.element.setStyle({opacity:d})}},c),{transition:f}))};Effect.Fold=function(c){c=$(c);var d={top:c.style.top,left:c.style.left,width:c.style.width,height:c.style.height};c.makeClipping();return new Effect.Scale(c,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(b){new Effect.Scale(c,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(a){a.element.hide().undoClipping().setStyle(d)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(c){this.element=$(c);if(!this.element)throw(Effect._elementDoesNotExistError);var d=Object.extend({style:{}},arguments[1]||{});if(typeof d.style=='string'){if(d.style.indexOf(':')==-1){var e='',selector='.'+d.style;$A(document.styleSheets).reverse().each(function(b){if(b.cssRules)cssRules=b.cssRules;else if(b.rules)cssRules=b.rules;$A(cssRules).reverse().each(function(a){if(selector==a.selectorText){e=a.style.cssText;throw $break;}});if(e)throw $break;});this.style=e.parseStyle();d.afterFinishInternal=function(b){b.element.addClassName(b.options.style);b.transforms.each(function(a){if(a.style!='opacity')b.element.style[a.style.camelize()]=''})}}else this.style=d.style.parseStyle()}else this.style=$H(d.style);this.start(d)},setup:function(){function parseColor(a){if(!a||['rgba(0, 0, 0, 0)','transparent'].include(a))a='#ffffff';a=a.parseColor();return $R(0,2).map(function(i){return parseInt(a.slice(i*2+1,i*2+3),16)})};this.transforms=this.style.map(function(a){var b=a[0].underscore().dasherize(),value=a[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color'}else if(b=='opacity'){value=parseFloat(value);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(value))var c=value.match(/^([\+\-]?[0-9\.]+)(.*)$/),value=parseFloat(c[1]),unit=(c.length==3)?c[2]:null;var d=this.element.getStyle(b);return $H({style:b,originalValue:unit=='color'?parseColor(d):parseFloat(d||0),targetValue:unit=='color'?parseColor(value):value,unit:unit})}.bind(this)).reject(function(a){return((a.originalValue==a.targetValue)||(a.unit!='color'&&(isNaN(a.originalValue)||isNaN(a.targetValue))))})},update:function(b){var c=$H(),value=null;this.transforms.each(function(a){value=a.unit=='color'?$R(0,2).inject('#',function(m,v,i){return m+(Math.round(a.originalValue[i]+(a.targetValue[i]-a.originalValue[i])*b)).toColorPart()}):a.originalValue+Math.round(((a.targetValue-a.originalValue)*b)*1000)/1000+a.unit;c[a.style]=value});this.element.setStyle(c)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(c){c.each(function(a){var b=$H(a).values().first();this.tracks.push($H({ids:$H(a).keys().first(),effect:Effect.Morph,options:{style:b}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var b=[$(a.ids)||$$(a.ids)].flatten();return b.map(function(e){return new a.effect(e,Object.extend({sync:true},a.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var b=Element.extend(document.createElement('div'));b.innerHTML='<div style="'+this+'"></div>';var c=b.down().style,styleRules=$H();Element.CSS_PROPERTIES.each(function(a){if(c[a])styleRules[a]=c[a]});if(/MSIE/.test(navigator.userAgent)&&!window.opera&&this.indexOf('opacity')>-1){styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]};return styleRules};Element.morph=function(a,b){new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f]});Element.Methods.visualEffect=function(a,b,c){s=b.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](a,c);return $(a)};Element.addMethods();
3
  var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(a){a=a.toUpperCase();var b=this.NODEMAP[a]||'div';var c=document.createElement(b);try{c.innerHTML="<"+a+"></"+a+">"}catch(e){}var d=c.firstChild||null;if(d&&(d.tagName.toUpperCase()!=a))d=d.getElementsByTagName(a)[0];if(!d)d=document.createElement(a);if(!d)return;if(arguments[1])if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)){this._children(d,arguments[1])}else{var f=this._attributes(arguments[1]);if(f.length){try{c.innerHTML="<"+a+" "+f+"></"+a+">"}catch(e){}d=c.firstChild||null;if(!d){d=document.createElement(a);for(attr in arguments[1])d[attr=='class'?'className':attr]=arguments[1][attr]}if(d.tagName.toUpperCase()!=a)d=c.getElementsByTagName(a)[0]}};if(arguments[2])this._children(d,arguments[2]);return d},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(a){var b=[];for(attribute in a)b.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML()+'"');return b.join(" ")},_children:function(a,b){if(typeof b=='object'){b.flatten().each(function(e){if(typeof e=='object')a.appendChild(e);else if(Builder._isStringOrNumber(e))a.appendChild(Builder._text(e))})}else if(Builder._isStringOrNumber(b))a.appendChild(Builder._text(b))},_isStringOrNumber:function(a){return(typeof a=='string'||typeof a=='number')},build:function(a){var b=this.node('div');$(b).update(a.strip());return b.down()},dump:function(b){if(typeof b!='object'&&typeof b!='function')b=window;var c=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);c.each(function(a){b[a]=function(){return Builder.node.apply(Builder,[a].concat($A(arguments)))}})}};
4
  if(typeof Effect=='undefined')throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(d){return d.element==$(a)})},add:function(a){a=$(a);var b=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(b.containment){b._containers=[];var d=b.containment;if((typeof d=='object')&&(d.constructor==Array)){d.each(function(c){b._containers.push($(c))})}else{b._containers.push($(d))}};if(b.accept)b.accept=[b.accept].flatten();Element.makePositioned(a);b.element=a;this.drops.push(b)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i)if(Element.isParent(a[i].element,deepest.element))deepest=a[i];return deepest},isContained:function(a,b){var d;if(b.tree){d=a.treeNode}else{d=a.parentNode}return b._containers.detect(function(c){return d==c})},isAffected:function(a,b,c){return((c.element!=b)&&((!c._containers)||this.isContained(b,c))&&((!c.accept)||(Element.classNames(b).detect(function(v){return c.accept.include(v)})))&&Position.within(c.element,a[0],a[1]))},deactivate:function(a){if(a.hoverclass)Element.removeClassName(a.element,a.hoverclass);this.last_active=null},activate:function(a){if(a.hoverclass)Element.addClassName(a.element,a.hoverclass);this.last_active=a},show:function(b,c){if(!this.drops.length)return;var d=[];if(this.last_active)this.deactivate(this.last_active);this.drops.each(function(a){if(Droppables.isAffected(b,c,a))d.push(a)});if(d.length>0){drop=Droppables.findDeepestChild(d);Position.within(drop.element,b[0],b[1]);if(drop.onHover)drop.onHover(c,drop.element,Position.overlap(drop.overlap,drop.element));Droppables.activate(drop)}},fire:function(a,b){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(a),Event.pointerY(a)],b,this.last_active))if(this.last_active.onDrop)this.last_active.onDrop(b,this.last_active.element,a)},reset:function(){if(this.last_active)this.deactivate(this.last_active)}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)};this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(d){return d==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay)}else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(!this.activeDraggable)return;var b=[Event.pointerX(a),Event.pointerY(a)];if(this._lastPointer&&(this._lastPointer.inspect()==b.inspect()))return;this._lastPointer=b;if(document.createCDATASection==null){try{spdfix.innerHTML=b[0]}catch(e){spdfix=document.createElement('div');spdfix.style.display='none';document.body.insertBefore(spdfix,document.body.firstChild)}};this.activeDraggable.updateDrag(a,b)},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null},keyPress:function(a){if(this.activeDraggable)this.activeDraggable.keyPress(a)},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(o){return o.element==a});this._cacheObserverCallbacks()},notify:function(a,b,c){if(this[a+'Count']>0)this.observers.each(function(o){if(o[a])o[a](a,b,c)});if(b.options[a])b.options[a](b,c)},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(a){Draggables[a+'Count']=Draggables.observers.select(function(o){return o[a]}).length})}};var Draggable=Class.create();Draggable._dragging={};Draggable.prototype={initialize:function(e){var f={handle:false,reverteffect:function(a,b,c){var d=Math.sqrt(Math.abs(b^2)+Math.abs(c^2))*0.02;new Effect.Move(a,{x:-c,y:-b,duration:d,queue:{scope:'_draggable',position:'end'}})},endeffect:function(a){var b=typeof a._opacity=='number'?a._opacity:1.0;new Effect.Opacity(a,{duration:0.2,from:0.7,to:b,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[a]=false}})},zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||typeof arguments[1].endeffect=='undefined')Object.extend(f,{starteffect:function(a){a._opacity=Element.getOpacity(a);Draggable._dragging[a]=true;new Effect.Opacity(a,{duration:0.2,from:a._opacity,to:0.7})}});var g=Object.extend(f,arguments[1]||{});this.element=$(e);if(g.handle&&(typeof g.handle=='string'))this.handle=this.element.down('.'+g.handle,0);if(!this.handle)this.handle=$(g.handle);if(!this.handle)this.handle=this.element;if(g.scroll&&!g.scroll.scrollTo&&!g.scroll.outerHTML){g.scroll=$(g.scroll);this._isScrollChild=Element.childOf(this.element,g.scroll)};Element.makePositioned(this.element);this.options=g;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')])},initDrag:function(a){if(typeof Draggable._dragging[this.element]!='undefined'&&Draggable._dragging[this.element])return;if(Event.isLeftClick(a)){var b=Event.element(a);if((tag_name=b.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var c=[Event.pointerX(a),Event.pointerY(a)];var d=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(c[i]-d[i])});Draggables.activate(this);Event.stop(a)}},startDrag:function(a){this.dragging=true;if(!this.delta)this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex};if(this.options.ghosting){this._clone=this.element.cloneNode(true);Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element)};if(this.options.scroll){if(this.options.scroll==window){var b=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=b.left;this.originalScrollTop=b.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}};Draggables.notify('onStart',this,a);if(this.options.starteffect)this.options.starteffect(this.element)},updateDrag:function(a,b){if(!this.dragging)this.startDrag(a);Position.prepare();Droppables.show(b,this.element);Draggables.notify('onDrag',this,a);this.draw(b);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)};var c=[0,0];if(b[0]<(p[0]+this.options.scrollSensitivity))c[0]=b[0]-(p[0]+this.options.scrollSensitivity);if(b[1]<(p[1]+this.options.scrollSensitivity))c[1]=b[1]-(p[1]+this.options.scrollSensitivity);if(b[0]>(p[2]-this.options.scrollSensitivity))c[0]=b[0]-(p[2]-this.options.scrollSensitivity);if(b[1]>(p[3]-this.options.scrollSensitivity))c[1]=b[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(c)};if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(a)},finishDrag:function(a,b){this.dragging=false;if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null};if(b)Droppables.fire(a,this.element);Draggables.notify('onEnd',this,a);var c=this.options.revert;if(c&&typeof c=='function')c=c(this.element);var d=this.currentDelta();if(c&&this.options.reverteffect){this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0])}else{this.delta=d};if(this.options.zindex)this.element.style.zIndex=this.originalZ;if(this.options.endeffect)this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode!=Event.KEY_ESC)return;this.finishDrag(a,false);Event.stop(a)},endDrag:function(a){if(!this.dragging)return;this.stopScrolling();this.finishDrag(a,true);Event.stop(a)},draw:function(a){var b=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);b[0]+=r[0]-Position.deltaX;b[1]+=r[1]-Position.deltaY};var d=this.currentDelta();b[0]-=d[0];b[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){b[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;b[1]-=this.options.scroll.scrollTop-this.originalScrollTop};var p=[0,1].map(function(i){return(a[i]-b[i]-this.offset[i])}.bind(this));if(this.options.snap){if(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this)}else{if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return Math.round(v/this.options.snap)*this.options.snap}.bind(this))}}};var c=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))c.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))c.top=p[1]+"px";if(c.visibility=="hidden")c.visibility=""},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1]))return;this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var a=new Date();var b=a-this.lastScrolled;this.lastScrolled=a;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=b/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*b/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*b/1000};Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*b/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*b/1000;if(Draggables._lastScrollPointer[0]<0)Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer)};if(this.options.change)this.options.change(this)},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft};if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}};return{top:T,left:L,width:W,height:H}}};var SortableObserver=Class.create();SortableObserver.prototype={initialize:function(a,b){this.element=$(a);this.observer=b;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))this.observer(this.element)}};var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id])return a;a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a)return;return Sortable.sortables[a.id]},destroy:function(a){var s=Sortable.options(a);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id]}},create:function(b){b=$(b);var c=Object.extend({element:b,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:b,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(b);var d={revert:true,scroll:c.scroll,scrollSpeed:c.scrollSpeed,scrollSensitivity:c.scrollSensitivity,delay:c.delay,ghosting:c.ghosting,constraint:c.constraint,handle:c.handle};if(c.starteffect)d.starteffect=c.starteffect;if(c.reverteffect)d.reverteffect=c.reverteffect;else if(c.ghosting)d.reverteffect=function(a){a.style.top=0;a.style.left=0};if(c.endeffect)d.endeffect=c.endeffect;if(c.zindex)d.zindex=c.zindex;var f={overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass,onHover:Sortable.onHover};var g={onHover:Sortable.onEmptyHover,overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass};Element.cleanWhitespace(b);c.draggables=[];c.droppables=[];if(c.dropOnEmpty||c.tree){Droppables.add(b,g);c.droppables.push(b)};(this.findElements(b,c)||[]).each(function(e){var a=c.handle?$(e).down('.'+c.handle,0):e;c.draggables.push(new Draggable(e,Object.extend(d,{handle:a})));Droppables.add(e,f);if(c.tree)e.treeNode=b;c.droppables.push(e)});if(c.tree){(Sortable.findTreeElements(b,c)||[]).each(function(e){Droppables.add(e,g);e.treeNode=b;c.droppables.push(e)})};this.sortables[b.id]=c;Draggables.addObserver(new SortableObserver(b,c.onUpdate))},findElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.tag)},findTreeElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.treeTag)},onHover:function(a,b,c){if(Sortable.options(b).tree){if(Element.isParent(b,a)||(c>.33&&c<.66)){return}}else{if(Element.isParent(a,b)){return}};if(c>0.5){Sortable.mark(b,'before');if(b.previousSibling!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,b);if(b.parentNode!=d)Sortable.options(d).onChange(a,"left_to",b);Sortable.options(b.parentNode).onChange(a,"left_to",b)}}else{Sortable.mark(b,'after');var e=b.nextSibling||null;if(e!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,e);if(b.parentNode!=d)Sortable.options(d).onChange(a,"right_to",b);Sortable.options(b.parentNode).onChange(a,"right_to",b)}}},onEmptyHover:function(a,b,c){var d=a.parentNode;var e=Sortable.options(b);if(Sortable.options(b).tree){if(!Element.isParent(b,a)){var f;var g=Sortable.findElements(b,{tag:e.tag,only:e.only});var h=null;if(g){var i=Element.offsetSize(b,e.overlap)*(1.0-c);for(f=0;f<g.length;f+=1){if(i-Element.offsetSize(g[f],e.overlap)>=0){i-=Element.offsetSize(g[f],e.overlap)}else if(i-(Element.offsetSize(g[f],e.overlap)/2)>=0){h=f+1<g.length?1:null;break}else{h=1;break}}};if(h==null){b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}}}else{if(Element.isParent(a,b))return;b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}},unmark:function(){if(Sortable._marker)Sortable._marker.hide()},mark:function(a,b){var c=Sortable.options(a.parentNode);if(c&&!c.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)};var d=Position.cumulativeOffset(a);Sortable._marker.setStyle({left:d[0]+'px',top:d[1]+'px'});if(b=='after')if(c.overlap=='horizontal')Sortable._marker.setStyle({left:(d[0]+a.clientWidth)+'px'});else Sortable._marker.setStyle({top:(d[1]+a.clientHeight)+'px'});Sortable._marker.show()},_tree:function(a,b,c){var d=Sortable.findElements(a,b)||[];for(var i=0;i<d.length;++i){var e=d[i].id.match(b.format);if(!e)continue;var f={id:encodeURIComponent(e?e[1]:null),element:a,parent:c,children:[],position:c.children.length,container:$(d[i]).down(b.treeTag)};if(f.container)this._tree(f.container,b,f);c.children.push(f)};return c},tree:function(a){a=$(a);var b=this.options(a);var c=Object.extend({tag:b.tag,treeTag:b.treeTag,only:b.only,name:a.id,format:b.format},arguments[1]||{});var d={id:null,parent:null,children:[],container:a,position:0};return Sortable._tree(a,c,d)},_constructIndex:function(a){var b='';do{if(a.id)b='['+a.position+']'+b}while((a=a.parent)!=null);return b},sequence:function(b){b=$(b);var c=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,c)||[]).map(function(a){return a.id.match(c.format)?a.id.match(c.format)[1]:''})},setSequence:function(b,c){b=$(b);var d=Object.extend(this.options(b),arguments[2]||{});var e={};this.findElements(b,d).each(function(n){if(n.id.match(d.format))e[n.id.match(d.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n)});c.each(function(a){var n=e[a];if(n){n[1].appendChild(n[0]);delete e[a]}})},serialize:function(b){b=$(b);var c=Object.extend(Sortable.options(b),arguments[1]||{});var d=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:b.id);if(c.tree){return Sortable.tree(b,arguments[1]).children.map(function(a){return[d+Sortable._constructIndex(a)+"[id]="+encodeURIComponent(a.id)].concat(a.children.map(arguments.callee))}).flatten().join('&')}else{return Sortable.sequence(b,arguments[1]).map(function(a){return d+"[]="+encodeURIComponent(a)}).join('&')}}};Element.isParent=function(a,b){if(!a.parentNode||a==b)return false;if(a.parentNode==b)return true;return Element.isParent(a.parentNode,b)};Element.findChildren=function(b,c,d,f){if(!b.hasChildNodes())return null;f=f.toUpperCase();if(c)c=[c].flatten();var g=[];$A(b.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==f&&(!c||(Element.classNames(e).detect(function(v){return c.include(v)}))))g.push(e);if(d){var a=Element.findChildren(e,c,d,f);if(a)g.push(a)}});return(g.length>0?g.flatten():[])};Element.offsetSize=function(a,b){return a['offset'+((b=='vertical'||b=='height')?'Height':'Width')]};
5
+ var mceToolbars=['toolbar-1','toolbar-2','toolbar-3'];function initTadv(){$A(Draggables.drags).map(function(o){o.startDrag(null);o.finishDrag(null);});tadvResetHeight();};function tadvResetHeight() {var pd = $('tadvpalette');if( pd.childNodes.length > 6 ){var last = pd.lastChild.previousSibling;pd.style.height = last.offsetTop + last.offsetHeight + 30 + "px";}else{pd.style.height = "60px";}};function tadvSerializeAll(){$('toolbar-1order').value = Sortable.serialize('toolbar-1');$('toolbar-2order').value = Sortable.serialize('toolbar-2');$('toolbar-3order').value = Sortable.serialize('toolbar-3');};function tadvUpdateAll(){tadvResetHeight();$('tadvWarnmsg').innerHTML='';mceToolbars.map(function(o){var kids = $(o).childNodes;var tbwidth = $(o).clientWidth;var kidswidth = 0;for(i=0;i<kids.length;i++){kidswidth += kids[i].clientWidth;};if(kidswidth > tbwidth){$('tadvWarnmsg').innerHTML='Adding too many buttons will make the toolbar too long and will not display correctly in TinyMCE!';}});if( $('toolbar-3').childNodes.length > 0){if($('tadvWpadv') == null){tadvWpadv = document.createElement('li');tadvWpadv.setAttribute('id','tadvWpadv');tadvWpadv.innerHTML='<img alt="Toolbars" title="Toolbars" src="../wp-content/plugins/tinymce-advanced/images/toolbars.gif" />';}else{tadvWpadv=$('tadvWpadv');};if( $('toolbar-2').childNodes.length > 0 && $('toolbar-2').childNodes[0].id != 'tadvWpadv'){$('toolbar-2').appendChild(tadvWpadv);}else if($('toolbar-1').childNodes.length > 0 && $('toolbar-1').childNodes[0].id != 'tadvWpadv'){$('toolbar-1').appendChild(tadvWpadv);}else{if(tadvWpadv.parentNode != null)tadvWpadv.parentNode.removeChild(tadvWpadv);}}else{if($('tadvWpadv') != null){tadvWpadv=$('tadvWpadv');if(tadvWpadv.parentNode != null)tadvWpadv.parentNode.removeChild(tadvWpadv);}}};addLoadEvent(initTadv);addLoadEvent(tadvUpdateAll);Event.observe(window,'resize',tadvUpdateAll);
{tinymce-advanced/mce → mce}/advhr/css/advhr.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/editor_plugin.js RENAMED
@@ -5,15 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- /* Default language strings */
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('',{
11
- insert_advhr_desc : 'Horizontale rule',
12
- insert_advhr_width : 'Width',
13
- insert_advhr_size : 'Height',
14
- insert_advhr_noshade : 'No shadow'
15
- });
16
-
17
  /* Import plugin specific language pack */
18
  tinyMCE.importPluginLanguagePack('advhr');
19
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('advhr');
10
 
{tinymce-advanced/mce → mce}/advhr/images/advhr.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/jscripts/rule.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/advhr/rule.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/css/advimage.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/editor_plugin.js RENAMED
@@ -5,34 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('advimage',{
11
- tab_general : 'General',
12
- tab_appearance : 'Appearance',
13
- tab_advanced : 'Advanced',
14
- general : 'General',
15
- title : 'Title',
16
- preview : 'Preview',
17
- constrain_proportions : 'Constrain proportions',
18
- langdir : 'Language direction',
19
- langcode : 'Language code',
20
- long_desc : 'Long description link',
21
- style : 'Style',
22
- classes : 'Classes',
23
- ltr : 'Left to right',
24
- rtl : 'Right to left',
25
- id : 'Id',
26
- image_map : 'Image map',
27
- swap_image : 'Swap image',
28
- alt_image : 'Alternative image',
29
- mouseover : 'for mouse over',
30
- mouseout : 'for mouse out',
31
- misc : 'Miscellaneous',
32
- example_img : 'Appearance&nbsp;preview&nbsp;image',
33
- missing_alt : 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
34
- });
35
-
36
  /* Import plugin specific language pack */
37
  tinyMCE.importPluginLanguagePack('advimage');
38
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('advimage');
10
 
{tinymce-advanced/mce → mce}/advimage/image.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/images/sample.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/jscripts/functions.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advimage/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/css/advlink.css RENAMED
File without changes
mce/advlink/editor_plugin.js ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: editor_plugin_src.js 268 2007-04-28 15:52:59Z spocke $
3
+ *
4
+ * @author Moxiecode
5
+ * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
+ */
7
+
8
+ /* Import plugin specific language pack */
9
+ tinyMCE.importPluginLanguagePack('advlink');
10
+
11
+ var TinyMCE_AdvancedLinkPlugin = {
12
+ getInfo : function() {
13
+ return {
14
+ longname : 'Advanced link',
15
+ author : 'Moxiecode Systems AB',
16
+ authorurl : 'http://tinymce.moxiecode.com',
17
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
18
+ version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
+ };
20
+ },
21
+
22
+ initInstance : function(inst) {
23
+ inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
24
+ },
25
+
26
+ getControlHTML : function(cn) {
27
+ switch (cn) {
28
+ case "link":
29
+ return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
30
+ }
31
+
32
+ return "";
33
+ },
34
+
35
+ execCommand : function(editor_id, element, command, user_interface, value) {
36
+ switch (command) {
37
+ case "mceAdvLink":
38
+ var inst = tinyMCE.getInstanceById(editor_id), anySelection = false;
39
+ var focusElm = inst.getFocusElement(), selectedText = inst.selection.getSelectedText();
40
+
41
+ if (tinyMCE.selectedElement)
42
+ anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
43
+
44
+ if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
45
+ tinyMCE.openWindow({
46
+ file : tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/advlink/link.htm',
47
+ width : 480 + tinyMCE.getLang('lang_advlink_delta_width', 0),
48
+ height : 400 + tinyMCE.getLang('lang_advlink_delta_height', 0)
49
+ }, {
50
+ editor_id : editor_id,
51
+ inline : "yes"
52
+ });
53
+ }
54
+
55
+ return true;
56
+ }
57
+
58
+ return false;
59
+ },
60
+
61
+ handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
62
+ if (node == null)
63
+ return;
64
+
65
+ do {
66
+ if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
67
+ tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
68
+ return true;
69
+ }
70
+ } while ((node = node.parentNode));
71
+
72
+ if (any_selection) {
73
+ tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
74
+ return true;
75
+ }
76
+
77
+ tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
78
+
79
+ return true;
80
+ }
81
+ };
82
+
83
+ tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);
{tinymce-advanced/mce → mce}/advlink/jscripts/functions.js RENAMED
@@ -131,6 +131,14 @@ function init() {
131
  window.focus();
132
  }
133
 
 
 
 
 
 
 
 
 
134
  function setFormValue(name, value) {
135
  document.forms[0].elements[name].value = value;
136
  }
@@ -391,15 +399,14 @@ function setAttrib(elm, attrib, value) {
391
 
392
  function getAnchorListHTML(id, target) {
393
  var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
394
- var nodes = inst.getBody().getElementsByTagName("a");
395
-
396
  var html = "";
397
 
398
  html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
399
  html += 'this.options[this.selectedIndex].value;">';
400
  html += '<option value="">---</option>';
401
 
402
- for (var i=0; i<nodes.length; i++) {
403
  if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
404
  html += '<option value="#' + name + '">' + name + '</option>';
405
  }
@@ -413,6 +420,8 @@ function insertAction() {
413
  var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
414
  var elm = inst.getFocusElement();
415
 
 
 
416
  elm = tinyMCE.getParentElement(elm, "a");
417
 
418
  tinyMCEPopup.execCommand("mceBeginUndoLevel");
@@ -428,7 +437,16 @@ function insertAction() {
428
  for (var i=0; i<elementArray.length; i++) {
429
  var elm = elementArray[i];
430
 
 
 
 
 
 
 
 
431
  // Move cursor behind the new anchor
 
 
432
  if (tinyMCE.isGecko) {
433
  var sp = inst.getDoc().createTextNode(" ");
434
 
@@ -447,6 +465,7 @@ function insertAction() {
447
  sel.removeAllRanges();
448
  sel.addRange(rng);
449
  }
 
450
 
451
  setAllAttribs(elm);
452
  }
@@ -464,7 +483,7 @@ function setAllAttribs(elm) {
464
  var target = getSelectValue(formObj, 'targetlist');
465
 
466
  // Make anchors absolute
467
- if (href.charAt(0) != '#')
468
  href = convertURL(href, elm);
469
 
470
  setAttrib(elm, 'href', href);
131
  window.focus();
132
  }
133
 
134
+ function checkPrefix(n) {
135
+ if (!Validator.isEmpty(n) && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCE.getLang('lang_is_email')))
136
+ n.value = 'mailto:' + n.value;
137
+
138
+ if (/^\s*www./i.test(n.value) && confirm(tinyMCE.getLang('lang_is_external')))
139
+ n.value = 'http://' + n.value;
140
+ }
141
+
142
  function setFormValue(name, value) {
143
  document.forms[0].elements[name].value = value;
144
  }
399
 
400
  function getAnchorListHTML(id, target) {
401
  var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
402
+ var nodes = inst.getBody().getElementsByTagName("a"), name, i;
 
403
  var html = "";
404
 
405
  html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
406
  html += 'this.options[this.selectedIndex].value;">';
407
  html += '<option value="">---</option>';
408
 
409
+ for (i=0; i<nodes.length; i++) {
410
  if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
411
  html += '<option value="#' + name + '">' + name + '</option>';
412
  }
420
  var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
421
  var elm = inst.getFocusElement();
422
 
423
+ checkPrefix(document.forms[0].href);
424
+
425
  elm = tinyMCE.getParentElement(elm, "a");
426
 
427
  tinyMCEPopup.execCommand("mceBeginUndoLevel");
437
  for (var i=0; i<elementArray.length; i++) {
438
  var elm = elementArray[i];
439
 
440
+ // Move cursor to end
441
+ try {
442
+ tinyMCE.selectedInstance.selection.collapse(false);
443
+ } catch (ex) {
444
+ // Ignore
445
+ }
446
+
447
  // Move cursor behind the new anchor
448
+ // Don't remember why this was needed so it's now removed
449
+ /*
450
  if (tinyMCE.isGecko) {
451
  var sp = inst.getDoc().createTextNode(" ");
452
 
465
  sel.removeAllRanges();
466
  sel.addRange(rng);
467
  }
468
+ */
469
 
470
  setAllAttribs(elm);
471
  }
483
  var target = getSelectValue(formObj, 'targetlist');
484
 
485
  // Make anchors absolute
486
+ if (href.charAt(0) != '#' && tinyMCE.getParam('convert_urls'))
487
  href = convertURL(href, elm);
488
 
489
  setAttrib(elm, 'href', href);
{tinymce-advanced/mce → mce}/advlink/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/langs/en.js RENAMED
@@ -43,4 +43,4 @@ tabindex : 'Tabindex',
43
  accesskey : 'Accesskey',
44
  ltr : 'Left to right',
45
  rtl : 'Right to left'
46
- });
43
  accesskey : 'Accesskey',
44
  ltr : 'Left to right',
45
  rtl : 'Right to left'
46
+ });
{tinymce-advanced/mce → mce}/advlink/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/advlink/link.htm RENAMED
@@ -4,6 +4,7 @@
4
  <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
  <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
  <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
 
7
  <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
8
  <link href="css/advlink.css" rel="stylesheet" type="text/css" />
9
  <base target="_self" />
4
  <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
  <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
  <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
+ <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/validate.js"></script>
8
  <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
9
  <link href="css/advlink.css" rel="stylesheet" type="text/css" />
10
  <base target="_self" />
{tinymce-advanced/mce → mce}/advlink/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/contextmenu/css/contextmenu.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/contextmenu/editor_plugin.js RENAMED
@@ -73,7 +73,10 @@ var TinyMCE_ContextMenuPlugin = {
73
  },
74
 
75
  _showContextMenu : function(e, inst) {
76
- function getAttrib(elm, name) {
 
 
 
77
  return elm.getAttribute(name) ? elm.getAttribute(name) : "";
78
  }
79
 
73
  },
74
 
75
  _showContextMenu : function(e, inst) {
76
+ if (e.ctrlKey)
77
+ return true;
78
+
79
+ function getAttrib(elm, name) {
80
  return elm.getAttribute(name) ? elm.getAttribute(name) : "";
81
  }
82
 
{tinymce-advanced/mce → mce}/contextmenu/images/spacer.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/contextmenu/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/editor_plugin.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/emotions.htm RENAMED
@@ -16,7 +16,7 @@
16
 
17
  <table id="emotions">
18
  <tr>
19
- <td><a href="javascript:insertEmotion(' 8-)');">
20
  <img src="../../../../../wp-includes/images/smilies/icon_cool.gif" width="15" height="15" alt="8-)" title="8-)" /></a></td>
21
 
22
  <td><a href="javascript:insertEmotion(' :cry: ');">
@@ -69,7 +69,7 @@
69
  <img src="../../../../../wp-includes/images/smilies/icon_mad.gif" width="15" height="15" alt=":-x" title=":-x" /></a></td>
70
 
71
  <td><a href="javascript:insertEmotion(' 8-O ');">
72
- <img src="../../../../../wp-includes/images/smilies/icon_eek.gif" width="15" height="15" alt="'8-O" title="'8-O" /></a></td>
73
 
74
  <td><a href="javascript:insertEmotion(' :-D ');">
75
  <img src="../../../../../wp-includes/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":-D" title=":-D" /></a></td>
16
 
17
  <table id="emotions">
18
  <tr>
19
+ <td><a href="javascript:insertEmotion(' 8-) ');">
20
  <img src="../../../../../wp-includes/images/smilies/icon_cool.gif" width="15" height="15" alt="8-)" title="8-)" /></a></td>
21
 
22
  <td><a href="javascript:insertEmotion(' :cry: ');">
69
  <img src="../../../../../wp-includes/images/smilies/icon_mad.gif" width="15" height="15" alt=":-x" title=":-x" /></a></td>
70
 
71
  <td><a href="javascript:insertEmotion(' 8-O ');">
72
+ <img src="../../../../../wp-includes/images/smilies/icon_eek.gif" width="15" height="15" alt="8-O" title="8-O" /></a></td>
73
 
74
  <td><a href="javascript:insertEmotion(' :-D ');">
75
  <img src="../../../../../wp-includes/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":-D" title=":-D" /></a></td>
{tinymce-advanced/mce → mce}/emotions/images/emotions.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/jscripts/functions.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/emotions/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/css/page.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/editor_plugin.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/fullscreen.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/images/fullscreen.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/fullscreen/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/editor_plugin.js RENAMED
@@ -5,13 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('',{
11
- iespell_desc : 'Run spell checking',
12
- iespell_download : "ieSpell not detected. Click OK to go to download page."
13
- });
14
-
15
  /* Import plugin specific language pack */
16
  tinyMCE.importPluginLanguagePack('iespell');
17
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('iespell');
10
 
{tinymce-advanced/mce → mce}/iespell/images/iespell.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/iespell/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/editor_plugin.js RENAMED
@@ -5,16 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('layer',{
11
- insertlayer_desc : 'Insert new layer',
12
- forward_desc : 'Move forward',
13
- backward_desc : 'Move backward',
14
- absolute_desc : 'Toggle absolute positioning',
15
- content : 'New layer...'
16
- });
17
-
18
  /* Import plugin specific language pack */
19
  tinyMCE.importPluginLanguagePack('layer');
20
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('layer');
10
 
{tinymce-advanced/mce → mce}/layer/images/absolute.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/images/backward.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/images/forward.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/images/insert_layer.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/images/insertlayer.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/images/movebackward.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/images/moveforward.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/layer/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/css/content.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/css/media.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/editor_plugin.js RENAMED
@@ -5,101 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('media',{
11
- title : 'Insert / edit embedded media',
12
- desc : 'Insert / edit embedded media',
13
- general : 'General',
14
- advanced : 'Advanced',
15
- file : 'File/URL',
16
- list : 'List',
17
- size : 'Dimensions',
18
- preview : 'Preview',
19
- constrain_proportions : 'Constrain proportions',
20
- type : 'Type',
21
- id : 'Id',
22
- name : 'Name',
23
- class_name : 'Class',
24
- vspace : 'V-Space',
25
- hspace : 'H-Space',
26
- play : 'Auto play',
27
- loop : 'Loop',
28
- menu : 'Show menu',
29
- quality : 'Quality',
30
- scale : 'Scale',
31
- align : 'Align',
32
- salign : 'SAlign',
33
- wmode : 'WMode',
34
- bgcolor : 'Background',
35
- base : 'Base',
36
- flashvars : 'Flashvars',
37
- liveconnect : 'SWLiveConnect',
38
- autohref : 'AutoHREF',
39
- cache : 'Cache',
40
- hidden : 'Hidden',
41
- controller : 'Controller',
42
- kioskmode : 'Kiosk mode',
43
- playeveryframe : 'Play every frame',
44
- targetcache : 'Target cache',
45
- correction : 'No correction',
46
- enablejavascript : 'Enable JavaScript',
47
- starttime : 'Start time',
48
- endtime : 'End time',
49
- href : 'Href',
50
- qtsrcchokespeed : 'Choke speed',
51
- target : 'Target',
52
- volume : 'Volume',
53
- autostart : 'Auto start',
54
- enabled : 'Enabled',
55
- fullscreen : 'Fullscreen',
56
- invokeurls : 'Invoke URLs',
57
- mute : 'Mute',
58
- stretchtofit : 'Stretch to fit',
59
- windowlessvideo : 'Windowless video',
60
- balance : 'Balance',
61
- baseurl : 'Base URL',
62
- captioningid : 'Captioning id',
63
- currentmarker : 'Current marker',
64
- currentposition : 'Current position',
65
- defaultframe : 'Default frame',
66
- playcount : 'Play count',
67
- rate : 'Rate',
68
- uimode : 'UI Mode',
69
- flash_options : 'Flash options',
70
- qt_options : 'Quicktime options',
71
- wmp_options : 'Windows media player options',
72
- rmp_options : 'Real media player options',
73
- shockwave_options : 'Shockwave options',
74
- autogotourl : 'Auto goto URL',
75
- center : 'Center',
76
- imagestatus : 'Image status',
77
- maintainaspect : 'Maintain aspect',
78
- nojava : 'No java',
79
- prefetch : 'Prefetch',
80
- shuffle : 'Shuffle',
81
- console : 'Console',
82
- numloop : 'Num loops',
83
- controls : 'Controls',
84
- scriptcallbacks : 'Script callbacks',
85
- swstretchstyle : 'Stretch style',
86
- swstretchhalign : 'Stretch H-Align',
87
- swstretchvalign : 'Stretch V-Align',
88
- sound : 'Sound',
89
- progress : 'Progress',
90
- qtsrc : 'QT Src',
91
- qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..',
92
- align_top : 'Top',
93
- align_right : 'Right',
94
- align_bottom : 'Bottom',
95
- align_left : 'Left',
96
- align_center : 'Center',
97
- align_top_left : 'Top left',
98
- align_top_right : 'Top right',
99
- align_bottom_left : 'Bottom left',
100
- align_bottom_right : 'Bottom right'
101
- });
102
-
103
  /* Import plugin specific language pack */
104
  tinyMCE.importPluginLanguagePack('media');
105
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('media');
10
 
{tinymce-advanced/mce → mce}/media/images/flash.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/images/media.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/images/quicktime.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/images/realmedia.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/images/shockwave.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/images/windowsmedia.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/jscripts/embed.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/jscripts/media.js RENAMED
@@ -280,10 +280,14 @@ function getType(v) {
280
  fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';');
281
 
282
  // YouTube
283
- if (v.indexOf('http://www.youtube.com/watch?v=') == 0) {
284
  f.width.value = '425';
285
  f.height.value = '350';
286
- f.src.value = 'http://www.youtube.com/v/' + v.substring('http://www.youtube.com/watch?v='.length);
 
 
 
 
287
  return 'flash';
288
  }
289
 
@@ -572,7 +576,7 @@ function generatePreview(c) {
572
  h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
573
 
574
  for (n in pl) {
575
- h += '<param name="' + n + '" value="' + pl[n] + '" />';
576
 
577
  // Add extra url parameter if it's an absolute URL
578
  if (n == 'src' && pl[n].indexOf('://') != -1)
280
  fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';');
281
 
282
  // YouTube
283
+ if (v.indexOf('http://www.youtube.com/watch?v=') == 0 || v.indexOf('http://youtube.com/watch?v=') == 0) {
284
  f.width.value = '425';
285
  f.height.value = '350';
286
+
287
+ v = v.replace('http://youtube.com/watch?v=', '');
288
+ v = v.replace('http://www.youtube.com/watch?v=', '');
289
+
290
+ f.src.value = 'http://www.youtube.com/v/' + v;
291
  return 'flash';
292
  }
293
 
576
  h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
577
 
578
  for (n in pl) {
579
+ h += '<param name="' + n + '" value="' + pl[n] + '">';
580
 
581
  // Add extra url parameter if it's an absolute URL
582
  if (n == 'src' && pl[n].indexOf('://') != -1)
{tinymce-advanced/mce → mce}/media/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/media/media.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/nonbreaking/editor_plugin.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/nonbreaking/images/nonbreaking.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/nonbreaking/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/editor_plugin.js RENAMED
@@ -5,12 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('',{
11
- print_desc : 'Print'
12
- });
13
-
14
  /* Import theme specific language pack */
15
  tinyMCE.importPluginLanguagePack('print');
16
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
8
  /* Import theme specific language pack */
9
  tinyMCE.importPluginLanguagePack('print');
10
 
{tinymce-advanced/mce → mce}/print/images/print.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/print/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/css/searchreplace.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/editor_plugin.js RENAMED
@@ -5,28 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('',{
11
- searchreplace_search_desc : 'Find',
12
- searchreplace_searchnext_desc : 'Find again',
13
- searchreplace_replace_desc : 'Find/Replace',
14
- searchreplace_notfound : 'The search has been completed. The search string could not be found.',
15
- searchreplace_search_title : 'Find',
16
- searchreplace_replace_title : 'Find/Replace',
17
- searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
18
- searchreplace_findwhat : 'Find what',
19
- searchreplace_replacewith : 'Replace with',
20
- searchreplace_direction : 'Direction',
21
- searchreplace_up : 'Up',
22
- searchreplace_down : 'Down',
23
- searchreplace_case : 'Match case',
24
- searchreplace_findnext : 'Find&nbsp;next',
25
- searchreplace_replace : 'Replace',
26
- searchreplace_replaceall : 'Replace&nbsp;all',
27
- searchreplace_cancel : 'Cancel'
28
- });
29
-
30
  tinyMCE.importPluginLanguagePack('searchreplace');
31
 
32
  var TinyMCE_SearchReplacePlugin = {
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  tinyMCE.importPluginLanguagePack('searchreplace');
9
 
10
  var TinyMCE_SearchReplacePlugin = {
{tinymce-advanced/mce → mce}/searchreplace/images/fade-butt.png RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/images/replace.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/images/replace_all_button_bg.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/images/replace_button_bg.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/images/search.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/jscripts/searchreplace.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/searchreplace/searchreplace.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/css/props.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/editor_plugin.js RENAMED
@@ -5,73 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('style',{
11
- title : 'Edit CSS Style',
12
- styleinfo_desc : 'Edit CSS Style',
13
- apply : 'Apply',
14
- text_tab : 'Text',
15
- background_tab : 'Background',
16
- block_tab : 'Block',
17
- box_tab : 'Box',
18
- border_tab : 'Border',
19
- list_tab : 'List',
20
- positioning_tab : 'Positioning',
21
- text_props : 'Text',
22
- text_font : 'Font',
23
- text_size : 'Size',
24
- text_weight : 'Weight',
25
- text_style : 'Style',
26
- text_variant : 'Variant',
27
- text_lineheight : 'Line height',
28
- text_case : 'Case',
29
- text_color : 'Color',
30
- text_decoration : 'Decoration',
31
- text_overline : 'overline',
32
- text_underline : 'underline',
33
- text_striketrough : 'strikethrough',
34
- text_blink : 'blink',
35
- text_none : 'none',
36
- background_color : 'Background color',
37
- background_image : 'Background image',
38
- background_repeat : 'Repeat',
39
- background_attachment : 'Attachment',
40
- background_hpos : 'Horizontal position',
41
- background_vpos : 'Vertical position',
42
- block_wordspacing : 'Word spacing',
43
- block_letterspacing : 'Letter spacing',
44
- block_vertical_alignment : 'Vertical alignment',
45
- block_text_align : 'Text align',
46
- block_text_indent : 'Text indent',
47
- block_whitespace : 'Whitespace',
48
- block_display : 'Display',
49
- box_width : 'Width',
50
- box_height : 'Height',
51
- box_float : 'Float',
52
- box_clear : 'Clear',
53
- padding : 'Padding',
54
- same : 'Same for all',
55
- top : 'Top',
56
- right : 'Right',
57
- bottom : 'Bottom',
58
- left : 'Left',
59
- margin : 'Margin',
60
- style : 'Style',
61
- width : 'Width',
62
- height : 'Height',
63
- color : 'Color',
64
- list_type : 'Type',
65
- bullet_image : 'Bullet image',
66
- position : 'Position',
67
- positioning_type : 'Type',
68
- visibility : 'Visibility',
69
- zindex : 'Z-index',
70
- overflow : 'Overflow',
71
- placement : 'Placement',
72
- clip : 'Clip'
73
- });
74
-
75
  /* Import plugin specific language pack */
76
  tinyMCE.importPluginLanguagePack('style');
77
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('style');
10
 
{tinymce-advanced/mce → mce}/style/images/apply_button_bg.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/images/fade-butt.png RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/images/style_info.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/images/styleprops.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/jscripts/props.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/props.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/style/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/cell.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/css/cell.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/css/row.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/css/table.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/editor_plugin.js RENAMED
@@ -5,86 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('table',{
11
- general_tab : 'General',
12
- advanced_tab : 'Advanced',
13
- general_props : 'General properties',
14
- advanced_props : 'Advanced properties',
15
- desc : 'Inserts a new table',
16
- row_before_desc : 'Insert row before',
17
- row_after_desc : 'Insert row after',
18
- delete_row_desc : 'Delete row',
19
- col_before_desc : 'Insert column before',
20
- col_after_desc : 'Insert column after',
21
- delete_col_desc : 'Remove column',
22
- rowtype : 'Row in table part',
23
- title : 'Insert/Modify table',
24
- width : 'Width',
25
- height : 'Height',
26
- cols : 'Columns',
27
- rows : 'Rows',
28
- cellspacing : 'Cellspacing',
29
- cellpadding : 'Cellpadding',
30
- border : 'Border',
31
- align : 'Alignment',
32
- align_default : 'Default',
33
- align_left : 'Left',
34
- align_right : 'Right',
35
- align_middle : 'Center',
36
- row_title : 'Table row properties',
37
- cell_title : 'Table cell properties',
38
- cell_type : 'Cell type',
39
- row_desc : 'Table row properties',
40
- cell_desc : 'Table cell properties',
41
- valign : 'Vertical alignment',
42
- align_top : 'Top',
43
- align_bottom : 'Bottom',
44
- props_desc : 'Table properties',
45
- bordercolor : 'Border color',
46
- bgcolor : 'Background color',
47
- merge_cells_title : 'Merge table cells',
48
- split_cells_desc : 'Split table cells',
49
- merge_cells_desc : 'Merge table cells',
50
- cut_row_desc : 'Cut table row',
51
- copy_row_desc : 'Copy table row',
52
- paste_row_before_desc : 'Paste table row before',
53
- paste_row_after_desc : 'Paste table row after',
54
- id : 'Id',
55
- style: 'Style',
56
- langdir : 'Language direction',
57
- langcode : 'Language code',
58
- mime : 'Target MIME type',
59
- ltr : 'Left to right',
60
- rtl : 'Right to left',
61
- bgimage : 'Background image',
62
- summary : 'Summary',
63
- td : "Data",
64
- th : "Header",
65
- cell_cell : 'Update current cell',
66
- cell_row : 'Update all cells in row',
67
- cell_all : 'Update all cells in table',
68
- row_row : 'Update current row',
69
- row_odd : 'Update odd rows in table',
70
- row_even : 'Update even rows in table',
71
- row_all : 'Update all rows in table',
72
- thead : 'Table Head',
73
- tbody : 'Table Body',
74
- tfoot : 'Table Foot',
75
- del : 'Delete table',
76
- scope : 'Scope',
77
- row : 'Row',
78
- col : 'Col',
79
- rowgroup : 'Row Group',
80
- colgroup : 'Col Group',
81
- col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
82
- row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
83
- cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
84
- missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.',
85
- caption : 'Table caption'
86
- });
87
-
88
  /* Import plugin specific language pack */
89
  tinyMCE.importPluginLanguagePack('table');
90
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('table');
10
 
{tinymce-advanced/mce → mce}/table/images/buttons.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_cell_props.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_delete.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_delete_col.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_delete_row.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_insert_col_after.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_insert_col_before.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_insert_row_after.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_insert_row_before.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_merge_cells.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_row_props.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/images/table_split_cells.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/jscripts/cell.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/jscripts/merge_cells.js RENAMED
@@ -21,4 +21,4 @@ function mergeCells() {
21
 
22
  tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
23
  tinyMCEPopup.close();
24
- }
21
 
22
  tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
23
  tinyMCEPopup.close();
24
+ }
{tinymce-advanced/mce → mce}/table/jscripts/row.js RENAMED
@@ -197,4 +197,4 @@ function changedColor() {
197
  st['background-color'] = formObj.bgcolor.value;
198
 
199
  formObj.style.value = tinyMCE.serializeStyle(st);
200
- }
197
  st['background-color'] = formObj.bgcolor.value;
198
 
199
  formObj.style.value = tinyMCE.serializeStyle(st);
200
+ }
{tinymce-advanced/mce → mce}/table/jscripts/table.js RENAMED
@@ -361,4 +361,4 @@ function changedStyle() {
361
  formObj.bordercolor.value = st['border-color'];
362
  updateColor('bordercolor_pick','bordercolor');
363
  }
364
- }
361
  formObj.bordercolor.value = st['border-color'];
362
  updateColor('bordercolor_pick','bordercolor');
363
  }
364
+ }
{tinymce-advanced/mce → mce}/table/langs/de_de.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/langs/zh_cn.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/merge_cells.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/readme.txt RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/row.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/table/table.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/visualchars/editor_plugin.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/visualchars/images/visualchars.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/visualchars/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/abbr.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/acronym.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/attributes.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/cite.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/css/attributes.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/css/popup.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/css/xhtmlxtras.css RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/del.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/editor_plugin.js RENAMED
@@ -5,49 +5,6 @@
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('xhtmlxtras',{
11
- cite_desc : 'Citation',
12
- abbr_desc : 'Abbreviation',
13
- acronym_desc : 'Acronym',
14
- del_desc : 'Deletion',
15
- ins_desc : 'Insertion',
16
- attribute_label_title : 'Title',
17
- attribute_label_id : 'ID',
18
- attribute_label_class : 'Class',
19
- attribute_label_style : 'Style',
20
- attribute_label_cite : 'Cite',
21
- attribute_label_datetime : 'Date/Time',
22
- attribute_label_langdir : 'Text Direction',
23
- attribute_option_ltr : 'Left to right',
24
- attribute_option_rtl : 'Right to left',
25
- attribute_label_langcode : 'Language',
26
- attribute_label_tabindex : 'TabIndex',
27
- attribute_label_accesskey : 'AccessKey',
28
- attribute_label_cite : 'Cite',
29
- attribute_events_tab : 'Events',
30
- attribute_attrib_tab : 'Attributes',
31
- general_tab : 'General',
32
- attrib_tab : 'Attributes',
33
- events_tab : 'Events',
34
- fieldset_general_tab : 'General Settings',
35
- fieldset_attrib_tab : 'Element Attributes',
36
- fieldset_events_tab : 'Element Events',
37
- title_ins_element : 'Insertion Element',
38
- title_del_element : 'Deletion Element',
39
- title_acronym_element : 'Acronym Element',
40
- title_abbr_element : 'Abbreviation Element',
41
- title_cite_element : 'Citation Element',
42
- remove : 'Remove',
43
- not_set : '--not set--',
44
- insert_date : 'Insert current date/time',
45
- option_ltr : 'Left to right',
46
- option_rtl : 'Right to left',
47
- attribs_desc : 'Insert/Edit Attributes',
48
- attribs_title : 'Insert/Edit Attributes'
49
- });
50
-
51
  /* Import plugin specific language pack */
52
  tinyMCE.importPluginLanguagePack('xhtmlxtras');
53
 
5
  * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  /* Import plugin specific language pack */
9
  tinyMCE.importPluginLanguagePack('xhtmlxtras');
10
 
{tinymce-advanced/mce → mce}/xhtmlxtras/images/abbr.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/acronym.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/attribs.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/cite.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/date_time.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/del.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/ins.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/images/remove_button_bg.gif RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/ins.htm RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/abbr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/acronym.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/attributes.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/cite.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/del.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/element_common.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/jscripts/ins.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/de_de.js RENAMED
@@ -16,6 +16,11 @@ attribute_label_langdir : 'Text Richtung',
16
  attribute_option_ltr : 'Links nach rechts',
17
  attribute_option_rtl : 'Rechts nach links',
18
  attribute_label_langcode : 'Sprache',
 
 
 
 
 
19
  general_tab : 'Allgemein',
20
  attrib_tab : 'Attribute',
21
  events_tab : 'Event',
@@ -29,5 +34,9 @@ title_abbr_element : 'Abk&uuml;rzung Element',
29
  title_cite_element : 'Zitieren Element',
30
  remove : 'Entfernen',
31
  not_set : '- Nicht gesetzt -',
32
- insert_date : 'Heutiges Datum/Zeit einf&uuml;gen'
 
 
 
 
33
  });
16
  attribute_option_ltr : 'Links nach rechts',
17
  attribute_option_rtl : 'Rechts nach links',
18
  attribute_label_langcode : 'Sprache',
19
+ attribute_label_tabindex : 'TabIndex',
20
+ attribute_label_accesskey : 'AccessKey',
21
+ attribute_label_cite : 'Cite',
22
+ attribute_events_tab : 'Events',
23
+ attribute_attrib_tab : 'Attributes',
24
  general_tab : 'Allgemein',
25
  attrib_tab : 'Attribute',
26
  events_tab : 'Event',
34
  title_cite_element : 'Zitieren Element',
35
  remove : 'Entfernen',
36
  not_set : '- Nicht gesetzt -',
37
+ insert_date : 'Heutiges Datum/Zeit einf&uuml;gen',
38
+ option_ltr : 'Left to right',
39
+ option_rtl : 'Right to left',
40
+ attribs_desc : 'Insert/Edit Attributes',
41
+ attribs_title : 'Insert/Edit Attributes'
42
  });
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/en.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/es_es.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/fr_fr.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/it_it.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/pt_br.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/ru_ru.js RENAMED
File without changes
{tinymce-advanced/mce → mce}/xhtmlxtras/langs/zh_cn.js RENAMED
File without changes
readme.txt CHANGED
@@ -1,128 +1,122 @@
1
- === TinyMCE Advanced ===
2
- Contributors: Andrew Ozz
3
- Donate link:
4
- Tags: wysiwyg, formatting, tinymce, write, edit, post
5
- Requires at least: 2.2.1
6
- Tested up to: 2.2.3
7
- Stable tag: trunk
8
-
9
- Enables most of the advanced features of TinyMCE, the WordPress WYSIWYG editor.
10
-
11
- == Description ==
12
-
13
- This plugin adds 16 plugins to TinyMCE: Advanced hr, Advanced Image, Advanced Link, Context Menu, Emotions (Smilies), Full Screen, IESpell, Layer, Media, Nonbreaking, Print, Search and Replace, Style, Table, Visual Characters and XHTML Extras.
14
-
15
- Version 2.0 includes an admin page for arranging the TinyMCE toolbar buttons, easy installation, a lot of bugfixes, customized "Smilies" plugin that uses the built-in WordPress smilies, etc. The admin page uses Scriptaculous and Prototype.js (similar to the "Widgets" admin page) that lets you "drag and drop" the TinyMCE buttons to arrange your own toolbars and enables/disables the corresponding plugins depending on the used buttons.
16
-
17
- **Language Support:** The plugin interface in only in English, but the TinyMCE plugins include several translations: German, French, Italian, Spanish, Portuguese, Russian and Chineze. Another 36 translations are available as a [separate download](http://svn.wp-plugins.org/tinymce-advanced/branches/tinymce-advanced_extra-languages.zip).
18
-
19
-
20
- = Some of the new features added by this plugin =
21
-
22
- * Imports all CSS classes from the main theme�s stylesheet and add them to a drop-down list.
23
-
24
- * Fullscreen mode.
25
-
26
- * Support for making and editing basic tables.
27
-
28
- * In-line css styles.
29
-
30
- * Much better (advanced) link and image dialogs that offer a lot of options.
31
-
32
- * Search and Replace while editing.
33
-
34
- * Support for XHTML specific tags and for (div based) layers.
35
-
36
-
37
- == Installation ==
38
-
39
- 1. Download.
40
-
41
- 2. Unzip.
42
-
43
- 3. Upload to the plugins directory (wp-content/plugins).
44
-
45
- 4. Activate the plugin.
46
-
47
- 5. Set your preferences at "Manage - TinyMCE Advanced".
48
-
49
- 6. Clear your browser cache.
50
-
51
-
52
- = Upgrading from TinyMCE Advanced 2.0-beta =
53
-
54
- 1. Deactivate the beta version.
55
-
56
- 2. Delete the "tinymce-advanced" folder from WordPress plugins directory.
57
-
58
- 3. Follow the above steps to install the new version.
59
-
60
-
61
- = Upgrading from TinyMCE Advanced 1.0 =
62
-
63
- This version of TinyMCE Advanced is self-contained. It does not require separate installation of TinyMCE plugins. If you have one of the previous versions (1.0 or 1.0.1) installed, please follow these steps:
64
-
65
- 1. Deactivat the old TinyMCE Advanced.
66
-
67
- 2. Backup the TinyMCE plugins folder, located at wp-includes/js/tinymce/plugins.
68
-
69
- 3. Delete the following TinyMCE plugins that were added when installing the previous version (delete the directories with these names from wp-includes/js/tinymce/plugins):
70
-
71
- * advhr
72
- * contextmenu
73
- * print
74
- * visualchars
75
- * advimage
76
- * advlink
77
- * table
78
- * xhtmlxtras
79
- * nonbreaking
80
- * layer
81
- * searchreplace
82
- * fullscreen
83
-
84
- 4. After deleting the above plugins, you should have the 7 default plugins that came with WordPress: autosave, directionality, inlinepopups, paste, spellchecker, wordpress, wphelp. Or if you prefer, delete the whole tinymce plugins directory (wp-includes/js/tinymce/plugins) and upload a fresh copy from the WordPress installation package.
85
-
86
- 5. Delete the tinymce-advanced folder from WordPress plugins directory (wp-includes/plugins).
87
-
88
- 6. Follow the installation instructions above to install the new version.
89
-
90
-
91
- == Frequently Asked Questions ==
92
-
93
- = No styles are imported in the Styles drop-down menu. =
94
-
95
- These styles (just the classes) are imported from your current themes style.css file. However some themes use @import to load the actual css file(s). Tiny does not follow these links. To make the classes appear, add their names to tinymce.css file located in "tinymce-advanced/css". You don�t need to copy the whole classes, just add the names, like that:
96
-
97
- .my-class{}
98
- .my-other-class{}
99
-
100
- = I just added my css classes to tinymce.css but they are still missing from the editor. =
101
-
102
- Click on "Save Changes" on the admin page of the plugin, even if you did not change any buttons. This will force TinyMCE to reload the css files.
103
-
104
- = I�ve just installed this plugin, but it doesn�t do anything. =
105
-
106
- Log out of WordPress, clear your browser cache, quit and restart the browser and try again. If that does not work, there may be a caching proxy or network cache somewhere between you and your host. You may need to wait for a few hours until this cache expires.
107
-
108
- = When I add "Smilies", they do not show in the editor. =
109
-
110
- The "Emotions" button in TinyMCE adds the codes for the smilies. The actual images are added by WordPress when viewing the Post/Page. Make sure the checkbox "Convert emoticons to graphics on display" in "Options - Writing" is checked.
111
-
112
- = The Media plugin is missing. =
113
-
114
- Yes, the Media plugin is disabled in IE. It seems that it conflicts with some of the other js loaded when editing posts in WordPress. However it works nicely in both Firefox and Opera.
115
-
116
- = Some of the window shows through in full screen mode. =
117
-
118
- Click on "Save and continue editing" to refresh it.
119
-
120
- = The plugin does not add any buttons. =
121
-
122
- Make sure the "Use the visual editor when writing" checkbox under "Users - Your Profile" is checked.
123
-
124
- == Screenshots ==
125
-
126
- = Other questions? Screenshots? =
127
-
128
- Please visit the homepage for [TinyMCE Advanced](http://www.laptoptips.ca/projects/tinymce-advanced/).
1
+ === TinyMCE Advanced ===
2
+ Contributors: Andrew Ozz
3
+ Donate link:
4
+ Tags: wysiwyg, formatting, tinymce, write, edit, post
5
+ Requires at least: 2.2.1
6
+ Tested up to: 2.3.2
7
+ Stable tag: 2.2
8
+
9
+ Enables most of the advanced features of TinyMCE, the WordPress WYSIWYG editor.
10
+
11
+ == Description ==
12
+
13
+ This plugin adds 16 plugins to TinyMCE: Advanced hr, Advanced Image, Advanced Link, Context Menu, Emotions (Smilies), Full Screen, IESpell, Layer, Media, Nonbreaking, Print, Search and Replace, Style, Table, Visual Characters and XHTML Extras.
14
+
15
+ Version 2.0 includes an admin page for arranging the TinyMCE toolbar buttons, easy installation, a lot of bugfixes, customized "Smilies" plugin that uses the built-in WordPress smilies, etc. The admin page uses Scriptaculous and Prototype.js (similar to the "Widgets" admin page) that lets you "drag and drop" the TinyMCE buttons to arrange your own toolbars and enables/disables the corresponding plugins depending on the used buttons.
16
+
17
+ New in version 2.1: Improved language selection, improved compatibility with WordPress 2.3 and TinyMCE 2.1.1.1, option to override some of the imported css classes and other small improvements and bugfixes.
18
+
19
+ New in version 2.2: Deactivate/Uninstall option page, font size drop-down menu and other small changes.
20
+
21
+ **Language Support:** The plugin interface in only in English, but the TinyMCE plugins include several translations: German, French, Italian, Spanish, Portuguese, Russian and Chinese. Another 36 translations are available as a [separate download](http://svn.wp-plugins.org/tinymce-advanced/branches/tinymce-advanced_extra-languages.zip).
22
+
23
+
24
+ = Some of the new features added by this plugin =
25
+
26
+ * Imports all CSS classes from the main theme�s stylesheet and add them to a drop-down list.
27
+ * Full screen mode.
28
+ * Support for making and editing basic tables.
29
+ * In-line css styles.
30
+ * Much better (advanced) link and image dialogs that offer a lot of options.
31
+ * Search and Replace while editing.
32
+ * Support for XHTML specific tags and for (div based) layers.
33
+
34
+
35
+ == Installation ==
36
+
37
+ 1. Download.
38
+ 2. Unzip.
39
+ 3. Upload to the plugins directory (wp-content/plugins).
40
+ 4. Activate the plugin.
41
+ 5. Set your preferences at "Manage - TinyMCE Advanced".
42
+ 6. Clear your browser cache.
43
+
44
+
45
+ = Upgrading from TinyMCE Advanced 2.0-beta =
46
+
47
+ 1. Deactivate the beta version.
48
+ 2. Delete the "tinymce-advanced" folder from WordPress plugins directory.
49
+ 3. Follow the above steps to install the new version.
50
+
51
+
52
+ = Upgrading from TinyMCE Advanced 1.0 =
53
+
54
+ This version of TinyMCE Advanced is self-contained. It does not require separate installation of TinyMCE plugins. If you have one of the previous versions (1.0 or 1.0.1) installed, please follow these steps:
55
+
56
+ 1. Deactivate the old TinyMCE Advanced.
57
+ 2. Backup the TinyMCE plugins folder, located at wp-includes/js/tinymce/plugins.
58
+ 3. Delete the following TinyMCE plugins that were added when installing the previous version (delete the directories with these names from wp-includes/js/tinymce/plugins):
59
+
60
+ * advhr
61
+ * contextmenu
62
+ * print
63
+ * visualchars
64
+ * advimage
65
+ * advlink
66
+ * table
67
+ * xhtmlxtras
68
+ * nonbreaking
69
+ * layer
70
+ * searchreplace
71
+ * fullscreen
72
+
73
+ 4. After deleting the above plugins, you should have the 7 default plugins that came with WordPress: autosave, directionality, inlinepopups, paste, spellchecker, wordpress, wphelp. Or if you prefer, delete the whole tinymce plugins directory (wp-includes/js/tinymce/plugins) and upload a fresh copy from the WordPress installation package.
74
+ 5. Delete the tinymce-advanced folder from WordPress plugins directory (wp-includes/plugins).
75
+ 6. Follow the installation instructions above to install the new version.
76
+
77
+
78
+ == Frequently Asked Questions ==
79
+
80
+ = After installing the plugin, the editor background is black/dark or the font is too small =
81
+
82
+ This is due to TinyMCE importing the styles from your theme and trying to make the editor look as close to your site as possible. However that may not work well in some themes. To fix it uncheck the "import the css classes" checkbox and then paste the names of the css classes you want to use in tadv-tinymce.css file located in "tinymce-advanced/css".
83
+
84
+ = No styles are imported in the Styles drop-down menu. =
85
+
86
+ These styles (just the classes) are imported from your current theme style.css file. However some themes use @import to load the actual css file(s). Tiny does not follow these links. To make the classes appear, add their names to tinymce.css file located in "tinymce-advanced/css". You do not need to copy the whole classes, just add the names, like that:
87
+
88
+ .my-class{}
89
+ .my-other-class{}
90
+
91
+ = I just added my css classes to tinymce.css but they are still missing from the editor. =
92
+
93
+ Click on "Save Changes" on the admin page of the plugin, even if you did not change any buttons. This will force TinyMCE to reload the css files.
94
+
95
+ = I have just installed this plugin, but it does not do anything. =
96
+
97
+ Log out of WordPress, clear your browser cache, quit and restart the browser and try again. If that does not work, there may be a caching proxy or network cache somewhere between you and your host. You may need to wait for a few hours until this cache expires.
98
+
99
+ = When I add "Smilies", they do not show in the editor. =
100
+
101
+ The "Emotions" button in TinyMCE adds the codes for the smilies. The actual images are added by WordPress when viewing the Post/Page. Make sure the checkbox "Convert emoticons to graphics on display" in "Options - Writing" is checked.
102
+
103
+ = The Media plugin is missing. =
104
+
105
+ Yes, the Media plugin is disabled in IE. It seems that it conflicts with some of the other js loaded when editing posts in WordPress. However it works nicely in both Firefox and Opera.
106
+
107
+ = Some of the window shows through in full screen mode. =
108
+
109
+ Click on "Save and continue editing" to refresh it.
110
+
111
+ = The plugin does not add any buttons. =
112
+
113
+ Make sure the "Use the visual editor when writing" checkbox under "Users - Your Profile" is checked.
114
+
115
+ = Other questions? More screenshots? =
116
+
117
+ Please visit the homepage for [TinyMCE Advanced](http://www.laptoptips.ca/projects/tinymce-advanced/).
118
+
119
+
120
+ == Screenshots ==
121
+
122
+ 1. The TinyMCE Advanced options page.
 
 
 
 
 
 
screenshot-1.jpg ADDED
Binary file
tinymce-advanced/tinymce-advanced.php → tinymce-advanced.php RENAMED
@@ -3,11 +3,11 @@
3
  Plugin Name: TinyMCE Advanced
4
  Plugin URI: http://www.laptoptips.ca/projects/tinymce-advanced/
5
  Description: Enables advanced features and plugins in TinyMCE.
6
- Version: 2.0
7
  Author: Andrew Ozz
8
  Author URI: http://www.laptoptips.ca/
9
 
10
- Some code and ideas from WordPress(http://www.wordpress.org/). The options page for this plugin uses Prototype.js by Sam Stephenson(http://prototype.conio.net/) and Scriptaculous by Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us). The Javascript files have been compressed and concatenated for faster loading.
11
 
12
  Released under the GPL, http://www.gnu.org/copyleft/gpl.html
13
 
@@ -17,93 +17,31 @@ Released under the GPL, http://www.gnu.org/copyleft/gpl.html
17
  GNU General Public License for more details.
18
  */
19
 
20
- if ('tinymce-advanced.php' == basename($_SERVER['SCRIPT_FILENAME']))
21
  exit;
22
 
23
- if( ! function_exists(tadv_admin_head) ) {
24
  function tadv_admin_head() {
25
  global $is_winIE;
26
  ?>
27
- <script type="text/javascript" src="<?php bloginfo( 'wpurl' ); ?>/wp-content/plugins/tinymce-advanced/js/tadv-all.js?ver=1.7.0-2.0"></script>
28
- <link rel="stylesheet" href="<?php bloginfo( 'wpurl' ); ?>/wp-content/plugins/tinymce-advanced/css/tadv-styles.css?ver=2.0" type="text/css" />
29
- <script type="text/javascript">
30
- // <![CDATA[
31
- var mceToolbars = ['toolbar-1', 'toolbar-2', 'toolbar-3'];
32
- function initTadv() {
33
- $A(Draggables.drags).map(function(o){o.startDrag(null);o.finishDrag(null);});
34
- tadvResetHeight();
35
- }
36
- function tadvResetHeight() {
37
- var pd = $('tadvpalette');
38
- if( pd.childNodes.length > 6 ) {
39
- var last = pd.lastChild.previousSibling;
40
- pd.style.height = last.offsetTop + last.offsetHeight + 30 + "px";
41
- } else { pd.style.height = "60px"; }
42
- }
43
- function tadvSerializeAll() {
44
- $('toolbar-1order').value = Sortable.serialize('toolbar-1');
45
- $('toolbar-2order').value = Sortable.serialize('toolbar-2');
46
- $('toolbar-3order').value = Sortable.serialize('toolbar-3');
47
- }
48
- function tadvUpdateAll() {
49
- tadvResetHeight();
50
- $('tadvWarnmsg').innerHTML = '';
51
- mceToolbars.map(function(o){
52
- var kids = $(o).childNodes;
53
- var tbwidth = $(o).clientWidth;
54
- var kidswidth = 0;
55
- for( i=0; i<kids.length; i++ ) {
56
- kidswidth += kids[i].clientWidth;
57
- }
58
- if( kidswidth > tbwidth ) {
59
- $('tadvWarnmsg').innerHTML = 'Adding too many buttons will make the toolbar too long and will not display correctly in TinyMCE!';
60
- }
61
- });
62
-
63
- if( $('toolbar-3').childNodes.length > 0 ) {
64
- if( $('tadvWpadv') == null ) {
65
- tadvWpadv = document.createElement('li');
66
- tadvWpadv.setAttribute('id','tadvWpadv');
67
- tadvWpadv.innerHTML = '<img alt="Toolbars" title="Toolbars" src="<?php bloginfo( 'wpurl' ); ?>/wp-content/plugins/tinymce-advanced/images/toolbars.gif" />';
68
- } else { tadvWpadv = $('tadvWpadv'); }
69
- if( $('toolbar-2').childNodes.length > 0 && $('toolbar-2').childNodes[0].id != 'tadvWpadv' ) {
70
- $('toolbar-2').appendChild(tadvWpadv);
71
- } else if( $('toolbar-1').childNodes.length > 0 && $('toolbar-1').childNodes[0].id != 'tadvWpadv' ) {
72
- $('toolbar-1').appendChild(tadvWpadv);
73
- } else {
74
- if( tadvWpadv.parentNode != null )
75
- tadvWpadv.parentNode.removeChild(tadvWpadv);
76
- }
77
- } else {
78
- if( $('tadvWpadv') != null ) {
79
- tadvWpadv = $('tadvWpadv');
80
- if( tadvWpadv.parentNode != null )
81
- tadvWpadv.parentNode.removeChild(tadvWpadv);
82
- }
83
- }
84
- }
85
- addLoadEvent(initTadv);
86
- addLoadEvent(tadvUpdateAll);
87
- Event.observe(window, 'resize', tadvUpdateAll);
88
- // ]]>
89
- </script>
90
  <?php
91
  } } // end tadv_admin_head
92
 
93
- if( ! function_exists(tadv_page) ) {
94
  function tadv_page() {
95
  global $is_winIE;
96
 
97
  if ( ! current_user_can('edit_themes') )
98
  wp_die( __( 'Cheatin&#8217; uh?' ));
99
 
100
- $tadv_toolbars = get_option('tadv_toolbars');
101
- $tadv_options = get_option('tadv_options');
102
- $imgpath = get_bloginfo( 'wpurl' ) . '/wp-content/plugins/tinymce-advanced/images/';
103
 
104
  if( isset( $_POST['save'] ) ) {
105
  check_admin_referer( 'tadv-save-buttons-order' );
106
-
107
  parse_str( $_POST['toolbar-1order'], $tb1 );
108
  parse_str( $_POST['toolbar-2order'], $tb2 );
109
  parse_str( $_POST['toolbar-3order'], $tb3 );
@@ -114,16 +52,17 @@ if( isset( $_POST['save'] ) ) {
114
  $tadv_options['advimage'] = $_POST['advimage'] ? '1' : '';
115
  $tadv_options['contextmenu'] = $_POST['contextmenu'] ? '1' : '';
116
  $tadv_options['importcss'] = $_POST['importcss'] ? '1' : '';
117
- update_option( 'tadv_options', $tadv_options );
 
118
  }
119
 
120
  if( isset( $_POST['reset'] ) ) {
121
  check_admin_referer( 'tadv-save-buttons-order' );
122
- $tadv_toolbars = false;
123
  $tadv_options = '';
124
  }
125
 
126
- if( ! $tadv_toolbars ) {
127
  $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'wp_help', 'fullscreen' );
128
 
129
  $tb2 = '';
@@ -134,7 +73,7 @@ if( ! $tadv_toolbars ) {
134
  $tadv_options = array( 'advlink' => '1', 'advimage' => '1', 'importcss' => '1', 'refresh' => '1' );
135
 
136
  update_option( 'tadv_toolbars', $tadv_toolbars );
137
- update_option( 'tadv_options', $tadv_options );
138
  }
139
 
140
  if( is_array($tadv_toolbars['toolbar-1']) ) {
@@ -223,7 +162,7 @@ if( get_option('tadv_plugins') != $plugins ) update_option( 'tadv_plugins', $plu
223
  if( get_option('tadv_btns1') != $btns1 ) update_option( 'tadv_btns1', $btns1 );
224
  if( get_option('tadv_btns2') != $btns2 ) update_option( 'tadv_btns2', $btns2 );
225
 
226
- $buttons = array( 'Bold' => 'bold', 'Italic' => 'italic', 'Strikethrough' => 'strikethrough', 'Underline' => 'underline', 'Bullet List' => 'bullist', 'Numbered List' => 'numlist', 'Outdent' => 'outdent', 'Indent' => 'indent', 'Allign Left' => 'justifyleft', 'Center' => 'justifycenter', 'Alligh Right' => 'justifyright', 'Justify' => 'justifyfull', 'Cut' => 'cut', 'Copy' => 'copy', 'Paste' => 'paste', 'Link' => 'link', 'Remove Link' => 'unlink', 'Insert Image' => 'image', 'More Tag' => 'wp_more', 'Split Page' => 'wp_page', 'Search' => 'search', 'Replace' => 'replace', 'Select Font' => 'fontselect', 'Help' => 'wp_help', 'Full Screen' => 'fullscreen', 'CSS Styles' => 'styleselect', 'Format' => 'formatselect', 'Text Color' => 'forecolor', 'Paste as Text' => 'pastetext', 'Paste from Word' => 'pasteword', 'Remove Format' => 'removeformat', 'Clean Code' => 'cleanup', 'Check Spelling' => 'spellchecker', 'IE Spell' => 'iespell', 'Character Map' => 'charmap', 'Print' => 'print', 'Undo' => 'undo', 'Redo' => 'redo', 'Table' => 'tablecontrols', 'Citation' => 'cite', 'Inserted Text' => 'ins', 'Deleted Text' => 'del', 'Abbreviation' => 'abbr', 'Acronym' => 'acronym', 'XHTML Attribs' => 'attribs', 'Layer' => 'layer', 'Advanced HR' => 'advhr', 'View HTML' => 'code', 'Hidden Chars' => 'visualchars', 'NB Space' => 'nonbreaking', 'Sub' => 'sub', 'Sup' => 'sup', 'Visual Aids' => 'visualaid', 'Anchor' => 'anchor', 'Style' => 'styleprops', 'Smilies' => 'emotions' );
227
 
228
  if( ! $is_winIE ) $buttons['Insert Movie'] = 'media';
229
 
@@ -248,7 +187,7 @@ if ( isset( $_POST['tadv'] ) ) {
248
  if( isset($_POST['reset']) ) { ?><div class="updated" id="message"><p>Defaults loaded</p></div><?php }
249
 
250
  $tadv_options['refresh'] = '1';
251
- update_option( 'tadv_options', $tadv_options );
252
  } ?>
253
 
254
  <div class="wrap">
@@ -376,7 +315,7 @@ if( is_array($buttons) ) {
376
  </div>
377
 
378
  <table class="clear" style="margin:10px 0"><tr><td style="padding:2px 12px 8px;">
379
- Enable the
380
  <label for="advlink" class="tadv-box">Advanced Link &nbsp;
381
  <input type="checkbox" class="tadv-chk" name="advlink" id="advlink" <?php if ( $tadv_options['advlink'] == '1' ) echo ' checked="checked"'; ?> /></label> &bull;
382
 
@@ -385,15 +324,83 @@ if( is_array($buttons) ) {
385
 
386
  <label for="contextmenu" class="tadv-box">Context Menu &nbsp;
387
  <input type="checkbox" class="tadv-chk" name="contextmenu" id="contextmenu" <?php if ( $tadv_options['contextmenu'] == '1' ) echo ' checked="checked"'; ?> /></label>
388
- TinyMCE plugins.
389
  </td></tr>
390
 
391
  <tr><td style="border:1px solid #CD0000;padding:2px 12px 8px;">
392
- <span style="font-weight:bold;color:#CD0000;">Advanced:</span> Import the names of the current theme's
 
 
393
  <label for="importcss" class="tadv-box">CSS classes &nbsp;
394
- <input type="checkbox" class="tadv-chk" name="importcss" id="importcss" <?php if ( $tadv_options['importcss'] == '1' ) echo ' checked="checked"'; ?> /></label>
395
- or <a href="<?php echo bloginfo('wpurl'); ?>/wp-admin/templates.php?file=wp-content/plugins/tinymce-advanced/css/tadv-tinymce.css" >add the names of CSS classes</a> that are defined in your theme and you want them to appear in the &quot;Styles&quot; drop-down menu. You don't need to copy the whole CSS classes, just add their names, like: <code>.my-class{}</code>, <code>.my-other-class{}</code>, etc. (add each name on a new line).
396
- </td></tr></table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
397
 
398
  <script type="text/javascript">
399
  // <![CDATA[
@@ -446,48 +453,57 @@ Sortable.create("tadvpalette", {
446
  <br class="clear" />
447
  </div>
448
  <?php
 
 
 
449
  } } // end tadv_page
450
 
451
- if( ! class_exists(tadv_mceClass) ) {
452
  class tadv_mceClass {
453
  var $extra_btns = array();
454
 
455
  function tadv_mceClass() {
456
- if( 'plugins.php' == basename($_SERVER['SCRIPT_FILENAME']) && $_GET['action'] == 'deactivate' && $_GET['plugin'] == 'tinymce-advanced/tinymce-advanced.php') $this->tadv_deactivate();
457
- }
458
 
 
 
 
 
 
459
  function tadv_mce_opt() {
460
  ?>
461
  valid_child_elements : "table[thead|tbody|tfoot|tr|td|th],object[param|embed|%itrans|#text]",
462
- extended_valid_elements : "object[*],param[name|value],embed[*]",
463
  fix_table_elements : true,
464
  convert_fonts_to_spans : true,
 
465
  paste_auto_cleanup_on_paste : true,
466
- <?php
 
 
 
 
467
  $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower(get_locale());
468
-
469
  if ( $mce_locale != 'en' ) {
470
- $p = get_option('tadv_plugins');
471
- $plug = $p[0];
472
- if( ! file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/' . $plug . '/langs/' . $mce_locale . '.js') ) {
473
- if( file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/' . $plug . '/langs/' . substr($mce_locale, 0, 2) . '.js') )
474
- $lang = substr($mce_locale, 0, 2);
475
- else $lang = 'en';
476
  }
477
  }
478
- if( isset($lang) ) echo 'language : "' . $lang . '",' . "\n";
479
  }
480
 
481
- function tdav_css($de) {
482
- $tadv_options = get_option('tadv_options');
483
- $dee = '';
484
 
485
- if( $tadv_options['importcss'] == '1' )
486
- $dee = get_bloginfo( 'stylesheet_url' ) . ', ';
487
-
488
- $dee .= get_bloginfo( 'wpurl' ) . '/wp-content/plugins/tinymce-advanced/css/tadv-tinymce.css?r=' . $tadv_options['refresh'] . ', ' . $de;
489
 
490
- return $dee;
 
 
 
 
 
491
  }
492
 
493
  function tadv_mce_plugins($plug) {
@@ -536,25 +552,30 @@ class tadv_mceClass {
536
 
537
  function tadv_load_plugins() {
538
  $tadv_plugins = (array) get_option('tadv_plugins');
539
- $plugpath = get_bloginfo( 'wpurl' ) . '/wp-content/plugins/tinymce-advanced/mce/';
540
 
541
  foreach( $tadv_plugins as $plug )
542
- echo 'tinyMCE.loadPlugin( "' . $plug . '", "' . $plugpath . $plug . '" );' . "\n";
543
  }
544
 
545
  function tadv_refresh_mceconfig($loc) {
546
- $tadv_options = get_option('tadv_options');
 
 
547
 
548
  if( $tadv_options['refresh'] == '1' ) {
549
  $tadv_options['refresh'] = rand(1000, 9999);
550
  update_option( 'tadv_options', $tadv_options );
551
  }
552
-
553
  return $loc . '?r=' . $tadv_options['refresh'];
554
  }
555
 
556
  function tadv_activate() {
557
-
 
 
 
 
558
  $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'wp_help', 'fullscreen' );
559
 
560
  $tb2 = '';
@@ -562,21 +583,24 @@ class tadv_mceClass {
562
  $tb3 = array( 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator7', 'cleanup', 'separator8', 'charmap', 'print', 'separator9', 'emotions', 'separator10', 'sup', 'sub', 'separator11', 'undo', 'redo', 'attribs' );
563
 
564
  $tadv_toolbars = array( 'toolbar-1' => $tb1, 'toolbar-2' => $tb2, 'toolbar-3' => $tb3 );
565
- $tadv_options = array( 'advlink' => '1', 'advimage' => '1', 'importcss' => '1', 'refresh' => '1' );
566
  $tadv_plugins = array( 'table', 'media', 'fullscreen', 'style', 'emotions', 'print', 'searchreplace', 'xhtmlxtras', 'advlink', 'advimage' );
567
  $btns1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator', 'bullist', 'numlist', 'outdent', 'indent', 'separator', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator', 'link', 'unlink', 'separator', 'image', 'styleprops', 'separator', 'wp_more', 'wp_page', 'separator', 'spellchecker', 'search', 'separator', 'wp_help', 'fullscreen', 'wp_adv', 'wp_adv_start', 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator', 'cleanup', 'separator', 'charmap', 'print', 'separator', 'emotions', 'separator', 'sup', 'sub', 'separator', 'undo', 'redo', 'attribs', 'wp_adv_end' );
568
 
569
- add_option( 'tadv_toolbars', $tadv_toolbars, 'TinyMCE Advanced' );
570
- add_option( 'tadv_options', $tadv_options, 'TinyMCE Advanced' );
571
- add_option( 'tadv_plugins', $tadv_plugins, 'TinyMCE Advanced' );
572
- add_option( 'tadv_btns1', $btns1, 'TinyMCE Advanced' );
573
- add_option( 'tadv_btns2', array(), 'TinyMCE Advanced' );
574
- add_option( 'tadv_btns4', array( 'forecolor', 'removeformat' ), 'TinyMCE Advanced' );
575
  }
576
 
577
  function tadv_deactivate() {
578
 
579
- switch ($_GET['tadv_remove']) {
 
 
 
580
  case 'all':
581
  delete_option('tadv_options');
582
  delete_option('tadv_toolbars');
@@ -588,19 +612,43 @@ class tadv_mceClass {
588
  case 'none':
589
  break;
590
  default:
 
 
591
  ?>
592
- <script language="JavaScript" type="text/javascript">
593
- // <![CDATA[
594
- var remove_options = confirm('Remove the TinyMCE Advanced toolbar buttons arrangement and options from the database?');
595
- if (remove_options) {
596
- window.location = "plugins.php?action=deactivate&plugin=tinymce-advanced/tinymce-advanced.php&tadv_remove=all&_wpnonce=<?php echo $_GET['_wpnonce']; ?>";
597
- } else if (!remove_options) {
598
- window.location = "plugins.php?action=deactivate&plugin=tinymce-advanced/tinymce-advanced.php&tadv_remove=none&_wpnonce=<?php echo $_GET['_wpnonce']; ?>";
599
- }
600
- // ]]>
601
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
602
  <?php
603
- exit;
 
604
  }
605
  }
606
 
@@ -608,7 +656,7 @@ if (remove_options) {
608
 
609
  function tadv_menu() {
610
  if( function_exists('add_management_page') )
611
- $page = add_management_page( 'TinyMCE Advanced', 'TinyMCE Advanced', 10, __FILE__, 'tadv_page' );
612
  add_action("admin_print_scripts-$page", 'tadv_admin_head');
613
  }
614
 
@@ -620,11 +668,10 @@ if ( class_exists("tadv_mceClass") ) {
620
  add_filter( 'tiny_mce_config_url', array(&$tadv_mce, 'tadv_refresh_mceconfig') );
621
  add_action( 'mce_options', array(&$tadv_mce, 'tadv_mce_opt') );
622
  add_filter( 'mce_plugins', array(&$tadv_mce, 'tadv_mce_plugins'), 99 );
623
- add_filter( 'mce_buttons_3', array(&$tadv_mce, 'tadv_mce_btns3'), 99 );
624
  add_filter( 'mce_buttons', array(&$tadv_mce, 'tadv_mce_btns'), 99 );
625
  add_filter( 'mce_buttons_2', array(&$tadv_mce, 'tadv_mce_btns2'), 99 );
626
  add_action( 'activate_tinymce-advanced/tinymce-advanced.php', array(&$tadv_mce, 'tadv_activate') );
627
- // add_action( 'deactivate_tinymce-advanced/tinymce-advanced.php', array(&$tadv_mce, 'tadv_deactivate') );
628
  }
629
  add_action( 'admin_menu', 'tadv_menu' );
630
- ?>
3
  Plugin Name: TinyMCE Advanced
4
  Plugin URI: http://www.laptoptips.ca/projects/tinymce-advanced/
5
  Description: Enables advanced features and plugins in TinyMCE.
6
+ Version: 2.2
7
  Author: Andrew Ozz
8
  Author URI: http://www.laptoptips.ca/
9
 
10
+ Some code and ideas from WordPress(http://wordpress.org/). The options page for this plugin uses Prototype.js by Sam Stephenson(http://prototype.conio.net/) and Scriptaculous by Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us). The Javascript files have been compressed and concatenated for faster loading.
11
 
12
  Released under the GPL, http://www.gnu.org/copyleft/gpl.html
13
 
17
  GNU General Public License for more details.
18
  */
19
 
20
+ if ('tinymce-advanced.php' == basename($_SERVER['SCRIPT_NAME']))
21
  exit;
22
 
23
+ if( ! function_exists('tadv_admin_head') ) {
24
  function tadv_admin_head() {
25
  global $is_winIE;
26
  ?>
27
+ <script type="text/javascript" src="<?php bloginfo('wpurl'); ?>/wp-content/plugins/tinymce-advanced/js/tadv-all.js?ver=1.7.0-2.1"></script>
28
+ <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-content/plugins/tinymce-advanced/css/tadv-styles.css?ver=2.1" type="text/css" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  <?php
30
  } } // end tadv_admin_head
31
 
32
+ if( ! function_exists('tadv_page') ) {
33
  function tadv_page() {
34
  global $is_winIE;
35
 
36
  if ( ! current_user_can('edit_themes') )
37
  wp_die( __( 'Cheatin&#8217; uh?' ));
38
 
39
+ $tadv_toolbars = (array) get_option('tadv_toolbars');
40
+ $tadv_options = (array) get_option('tadv_options');
41
+ $imgpath = get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/images/';
42
 
43
  if( isset( $_POST['save'] ) ) {
44
  check_admin_referer( 'tadv-save-buttons-order' );
 
45
  parse_str( $_POST['toolbar-1order'], $tb1 );
46
  parse_str( $_POST['toolbar-2order'], $tb2 );
47
  parse_str( $_POST['toolbar-3order'], $tb3 );
52
  $tadv_options['advimage'] = $_POST['advimage'] ? '1' : '';
53
  $tadv_options['contextmenu'] = $_POST['contextmenu'] ? '1' : '';
54
  $tadv_options['importcss'] = $_POST['importcss'] ? '1' : '';
55
+ $tadv_options['fixcss'] = $_POST['fixcss'] ? '1' : '';
56
+ $update_tadv_options = true;
57
  }
58
 
59
  if( isset( $_POST['reset'] ) ) {
60
  check_admin_referer( 'tadv-save-buttons-order' );
61
+ $tadv_toolbars = '';
62
  $tadv_options = '';
63
  }
64
 
65
+ if( empty($tadv_toolbars) ) {
66
  $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'wp_help', 'fullscreen' );
67
 
68
  $tb2 = '';
73
  $tadv_options = array( 'advlink' => '1', 'advimage' => '1', 'importcss' => '1', 'refresh' => '1' );
74
 
75
  update_option( 'tadv_toolbars', $tadv_toolbars );
76
+ $update_tadv_options = true;
77
  }
78
 
79
  if( is_array($tadv_toolbars['toolbar-1']) ) {
162
  if( get_option('tadv_btns1') != $btns1 ) update_option( 'tadv_btns1', $btns1 );
163
  if( get_option('tadv_btns2') != $btns2 ) update_option( 'tadv_btns2', $btns2 );
164
 
165
+ $buttons = array( 'Bold' => 'bold', 'Italic' => 'italic', 'Strikethrough' => 'strikethrough', 'Underline' => 'underline', 'Bullet List' => 'bullist', 'Numbered List' => 'numlist', 'Outdent' => 'outdent', 'Indent' => 'indent', 'Allign Left' => 'justifyleft', 'Center' => 'justifycenter', 'Alligh Right' => 'justifyright', 'Justify' => 'justifyfull', 'Cut' => 'cut', 'Copy' => 'copy', 'Paste' => 'paste', 'Link' => 'link', 'Remove Link' => 'unlink', 'Insert Image' => 'image', 'More Tag' => 'wp_more', 'Split Page' => 'wp_page', 'Search' => 'search', 'Replace' => 'replace', 'Select Font' => 'fontselect', 'Font Size' => 'fontsizeselect', 'Help' => 'wp_help', 'Full Screen' => 'fullscreen', 'CSS Styles' => 'styleselect', 'Format' => 'formatselect', 'Text Color' => 'forecolor', 'Paste as Text' => 'pastetext', 'Paste from Word' => 'pasteword', 'Remove Format' => 'removeformat', 'Clean Code' => 'cleanup', 'Check Spelling' => 'spellchecker', 'IE Spell' => 'iespell', 'Character Map' => 'charmap', 'Print' => 'print', 'Undo' => 'undo', 'Redo' => 'redo', 'Table' => 'tablecontrols', 'Citation' => 'cite', 'Inserted Text' => 'ins', 'Deleted Text' => 'del', 'Abbreviation' => 'abbr', 'Acronym' => 'acronym', 'XHTML Attribs' => 'attribs', 'Layer' => 'layer', 'Advanced HR' => 'advhr', 'View HTML' => 'code', 'Hidden Chars' => 'visualchars', 'NB Space' => 'nonbreaking', 'Sub' => 'sub', 'Sup' => 'sup', 'Visual Aids' => 'visualaid', 'Anchor' => 'anchor', 'Style' => 'styleprops', 'Smilies' => 'emotions' );
166
 
167
  if( ! $is_winIE ) $buttons['Insert Movie'] = 'media';
168
 
187
  if( isset($_POST['reset']) ) { ?><div class="updated" id="message"><p>Defaults loaded</p></div><?php }
188
 
189
  $tadv_options['refresh'] = '1';
190
+ $update_tadv_options = true;
191
  } ?>
192
 
193
  <div class="wrap">
315
  </div>
316
 
317
  <table class="clear" style="margin:10px 0"><tr><td style="padding:2px 12px 8px;">
318
+ Also enable:
319
  <label for="advlink" class="tadv-box">Advanced Link &nbsp;
320
  <input type="checkbox" class="tadv-chk" name="advlink" id="advlink" <?php if ( $tadv_options['advlink'] == '1' ) echo ' checked="checked"'; ?> /></label> &bull;
321
 
324
 
325
  <label for="contextmenu" class="tadv-box">Context Menu &nbsp;
326
  <input type="checkbox" class="tadv-chk" name="contextmenu" id="contextmenu" <?php if ( $tadv_options['contextmenu'] == '1' ) echo ' checked="checked"'; ?> /></label>
327
+ (to show the browser's context menu in Firefox and use the spellchecker, hold down the &quot;Ctrl&quot; key).
328
  </td></tr>
329
 
330
  <tr><td style="border:1px solid #CD0000;padding:2px 12px 8px;">
331
+ <p style="font-weight:bold;color:#CD0000;">Advanced</p>
332
+
333
+ <p>&middot; Import the current theme's
334
  <label for="importcss" class="tadv-box">CSS classes &nbsp;
335
+ <input type="checkbox" class="tadv-chk" name="importcss" id="importcss" <?php if ( $tadv_options['importcss'] == '1' ) echo ' checked="checked"'; ?> /></label></p>
336
+
337
+ <p>&middot; If the editor doesn't look right,
338
+ <label for="fixcss" class="tadv-box">reset some of the CSS styles &nbsp;
339
+ <input type="checkbox" class="tadv-chk" name="fixcss" id="fixcss" <?php if ( $tadv_options['fixcss'] == '1' ) echo ' checked="checked"'; ?> /></label></p>
340
+
341
+ <p>You can also disable the importing of your theme's css and <a href="templates.php?file=wp-content/plugins/tinymce-advanced/css/tadv-tinymce.css" >add the names of CSS classes</a> that are defined in your theme and you want them to appear in the &quot;Styles&quot; drop-down menu. You don't need to copy the whole CSS classes, just add their names, like: <code>.my-class{}</code>, <code>.my-other-class{}</code>, etc. (add each name on a new line).</p>
342
+ </td></tr>
343
+ <?php
344
+ $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower(get_locale());
345
+ if ( $mce_locale != 'en' ) {
346
+
347
+ if( ! file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '.js') ) {
348
+ $mce_locale_lang = substr($mce_locale, 0, 2);
349
+
350
+ if( strlen($mce_locale) == 2 ) {
351
+ if( file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '_' . $mce_locale . '.js') ) {
352
+ $lang = $mce_locale . '_' . $mce_locale;
353
+ }
354
+ } elseif( file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale_lang . '.js') ) {
355
+ $lang = $mce_locale_lang;
356
+ }
357
+
358
+ if( isset($lang) ) {
359
+ if( $tadv_options['tadv_lang'] != $lang ) {
360
+ $tadv_options['tadv_lang'] = $lang;
361
+ $update_tadv_options = true;
362
+ }
363
+ } else {
364
+
365
+ $open = opendir(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/');
366
+ $tadv_langs = array();
367
+ while( false !== ($file = readdir($open)) ) {
368
+ if( '.' == $file || '..' == $file ) continue;
369
+ $tadv_langs[] = substr($file, 0, -3);
370
+ if( substr($file, 0, 2) == $mce_locale_lang )
371
+ $closest_lang = substr($file, 0, -3);
372
+ }
373
+
374
+ if( isset( $_POST['tadv_lang'] ) ) {
375
+ check_admin_referer( 'tadv-save-buttons-order' );
376
+ if( in_array( $_POST['tadv_lang'], (array) $tadv_langs ) ) {
377
+ if( $tadv_options['tadv_lang'] != $_POST['tadv_lang'] ) {
378
+ $tadv_options['tadv_lang'] = $_POST['tadv_lang'];
379
+ $update_tadv_options = true;
380
+ }
381
+ }
382
+ }
383
+ ?>
384
+ <tr><td style="padding:2px 12px 8px;">
385
+ <p style="font-weight:bold;">Language Settings</p>
386
+ <p>Your WordPress language is set to <strong><?php echo get_locale(); ?></strong>. However there is no matching language installed for TinyMCE's plugins. <?php if( isset($closest_lang) ) { ?>The closest match seem to be <strong><?php echo $closest_lang . '</strong>.'; } ?></p>
387
+ <p>Please select one of the installed languages
388
+
389
+ <select name="tadv_lang" id="tadv_lang" style="width:100px;padding:0;">
390
+ <option value="en">en(default)</option>
391
+ <?php if( ! empty($tadv_langs) ) { ?>
392
+ <?php foreach( $tadv_langs as $la ) {
393
+ if( $la == 'en' ) continue; ?>
394
+ <option value="<?php echo $la; if( $tadv_options['tadv_lang'] == $la ) echo '" selected="selected' ?>"><?php echo $la; ?></option>
395
+ <?php } ?>
396
+ <?php } ?>
397
+ </select>
398
+
399
+ </p></td></tr>
400
+ <?php }
401
+ }
402
+ } // end mce_locale
403
+ ?> </table>
404
 
405
  <script type="text/javascript">
406
  // <![CDATA[
453
  <br class="clear" />
454
  </div>
455
  <?php
456
+ if( $update_tadv_options )
457
+ update_option( 'tadv_options', $tadv_options );
458
+
459
  } } // end tadv_page
460
 
461
+ if( ! class_exists('tadv_mceClass') ) {
462
  class tadv_mceClass {
463
  var $extra_btns = array();
464
 
465
  function tadv_mceClass() {
 
 
466
 
467
+ if ( 'plugins.php' == basename($_SERVER['SCRIPT_NAME']) || 'plugins.php' == basename($_SERVER['PHP_SELF']) )
468
+ if ( isset($_GET['action']) && $_GET['action'] == 'deactivate' && $_GET['plugin'] == 'tinymce-advanced/tinymce-advanced.php')
469
+ $this->tadv_deactivate();
470
+ }
471
+
472
  function tadv_mce_opt() {
473
  ?>
474
  valid_child_elements : "table[thead|tbody|tfoot|tr|td|th],object[param|embed|%itrans|#text]",
475
+ extended_valid_elements : "object[*],param[name|value|valuetype|type|id],embed[*]",
476
  fix_table_elements : true,
477
  convert_fonts_to_spans : true,
478
+ font_size_style_values : "8pt,10pt,12pt,14pt,18pt,24pt,36pt",
479
  paste_auto_cleanup_on_paste : true,
480
+ cleanup_on_startup : false,
481
+ force_hex_style_colors : true,
482
+ inline_styles : true,
483
+ <?php
484
+ $tadv_options = (array) get_option('tadv_options');
485
  $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower(get_locale());
486
+
487
  if ( $mce_locale != 'en' ) {
488
+ if( ! file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '.js') ) {
489
+ if( isset($tadv_options['tadv_lang']) ) echo 'language : "' . $tadv_options['tadv_lang'] . '",' . "\n";
490
+ else echo 'language : "en",' . "\n";
 
 
 
491
  }
492
  }
 
493
  }
494
 
495
+ function tdav_css($wp) {
496
+ $tadv_options = (array) get_option('tadv_options');
 
497
 
498
+ if( $tadv_options['importcss'] == '1' ) $add = get_bloginfo('stylesheet_url') . ',';
499
+ else $add = '';
 
 
500
 
501
+ $add .= get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/css/tadv-tinymce.css?r=' . $tadv_options['refresh'];
502
+
503
+ if( $tadv_options['fixcss'] == '1' )
504
+ $add .= ',' . get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/css/tadv-fixstyle.css';
505
+
506
+ return $add;
507
  }
508
 
509
  function tadv_mce_plugins($plug) {
552
 
553
  function tadv_load_plugins() {
554
  $tadv_plugins = (array) get_option('tadv_plugins');
555
+ $plugpath = get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/mce/';
556
 
557
  foreach( $tadv_plugins as $plug )
558
+ echo 'tinyMCE.loadPlugin("' . $plug . '","' . $plugpath . $plug . '");' . "\n";
559
  }
560
 
561
  function tadv_refresh_mceconfig($loc) {
562
+
563
+ $tadv_options = (array) get_option('tadv_options');
564
+ $tadv_options['refresh'] = isset($tadv_options['refresh']) ? $tadv_options['refresh'] : '';
565
 
566
  if( $tadv_options['refresh'] == '1' ) {
567
  $tadv_options['refresh'] = rand(1000, 9999);
568
  update_option( 'tadv_options', $tadv_options );
569
  }
 
570
  return $loc . '?r=' . $tadv_options['refresh'];
571
  }
572
 
573
  function tadv_activate() {
574
+ global $wp_version;
575
+
576
+ if ( empty($wp_version) || version_compare($wp_version, '2.2.1', '<') ) // if WP 2.2 or less
577
+ exit('<h2>This plugin requires WordPress version 2.2.1 or newer. Please upgrade your WordPress installation or remove the plugin.</h2>');
578
+
579
  $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'wp_help', 'fullscreen' );
580
 
581
  $tb2 = '';
583
  $tb3 = array( 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator7', 'cleanup', 'separator8', 'charmap', 'print', 'separator9', 'emotions', 'separator10', 'sup', 'sub', 'separator11', 'undo', 'redo', 'attribs' );
584
 
585
  $tadv_toolbars = array( 'toolbar-1' => $tb1, 'toolbar-2' => $tb2, 'toolbar-3' => $tb3 );
586
+ $tadv_options = array( 'advlink' => '1', 'advimage' => '1', 'importcss' => '1', 'refresh' => '1', 'fixcss' => '1' );
587
  $tadv_plugins = array( 'table', 'media', 'fullscreen', 'style', 'emotions', 'print', 'searchreplace', 'xhtmlxtras', 'advlink', 'advimage' );
588
  $btns1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator', 'bullist', 'numlist', 'outdent', 'indent', 'separator', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator', 'link', 'unlink', 'separator', 'image', 'styleprops', 'separator', 'wp_more', 'wp_page', 'separator', 'spellchecker', 'search', 'separator', 'wp_help', 'fullscreen', 'wp_adv', 'wp_adv_start', 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator', 'cleanup', 'separator', 'charmap', 'print', 'separator', 'emotions', 'separator', 'sup', 'sub', 'separator', 'undo', 'redo', 'attribs', 'wp_adv_end' );
589
 
590
+ add_option( 'tadv_toolbars', $tadv_toolbars, 'TinyMCE Advanced', 'no' );
591
+ add_option( 'tadv_options', $tadv_options, 'TinyMCE Advanced', 'no' );
592
+ add_option( 'tadv_plugins', $tadv_plugins, 'TinyMCE Advanced', 'no' );
593
+ add_option( 'tadv_btns1', $btns1, 'TinyMCE Advanced', 'no' );
594
+ add_option( 'tadv_btns2', array(), 'TinyMCE Advanced', 'no' );
595
+ add_option( 'tadv_btns4', array( 'forecolor', 'removeformat' ), 'TinyMCE Advanced', 'no' );
596
  }
597
 
598
  function tadv_deactivate() {
599
 
600
+ if ($_GET['action'] == 'deactivate-all') return;
601
+
602
+ $rem = isset($_GET['tadv_remove']) ? $_GET['tadv_remove'] : '';
603
+ switch ($rem) {
604
  case 'all':
605
  delete_option('tadv_options');
606
  delete_option('tadv_toolbars');
612
  case 'none':
613
  break;
614
  default:
615
+
616
+ @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
617
  ?>
618
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
619
+ <html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
620
+ <head>
621
+ <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
622
+ <title><?php bloginfo('name') ?> &rsaquo; <?php echo wp_specialchars( strip_tags( $title ) ); ?> &#8212; WordPress</title>
623
+ <?php wp_admin_css(); ?>
624
+ </head>
625
+ <body class="wp-admin <?php echo apply_filters( 'admin_body_class', '' ); ?>">
626
+ <div id="wphead">
627
+ <h1><?php bloginfo('name'); ?> <span id="viewsite">(<a href="<?php echo get_option('home') . '/'; ?>"><?php _e('View site &raquo;') ?></a>)</span></h1>
628
+ </div>
629
+
630
+ <div class="wrap">
631
+ <h2>TinyMCE Advanced deactivation options</h2>
632
+ <table class="optiontable" style="width:80%;margin:auto;">
633
+ <tr>
634
+ <td style="padding:30px;width:50%;vertical-align:top;">
635
+ <p class="button" style="background-color:#eee;border:1px solid #ddd;"><a href="plugins.php?action=deactivate&plugin=tinymce-advanced/tinymce-advanced.php&tadv_remove=all&_wpnonce=<?php echo $_GET['_wpnonce']; ?>" class="delete" title="Uninstall TinyMCE Advanced"><strong>Uninstall</strong></a></p>
636
+ <p>Uninstalling will remove all saved settings and buttons arrangement from the database. Choose it if you are not planning to use TinyMCE Advanced any more.</p>
637
+
638
+ </td><td style="padding:30px;width:50%;vertical-align:top;">
639
+
640
+ <p class="button" style="background-color:#eee;border:1px solid #ddd;"><a href="plugins.php?action=deactivate&plugin=tinymce-advanced/tinymce-advanced.php&tadv_remove=none&_wpnonce=<?php echo $_GET['_wpnonce']; ?>" class="edit" title="Deactivate TinyMCE Advanced"><strong>Deactivate</strong></a></p>
641
+ <p>Deactivating will not remove the settings and the buttons arrangement from the database. Choose it if you are planning to use TinyMCE Advanced again and do not want to loose your settings.</p>
642
+
643
+ </td></tr>
644
+ <tr><td colspan="2" style="padding:0 25%;">
645
+ <p class="button" style="background-color:#eee;border:1px solid #ddd;"><a href="plugins.php" class="edit" title="Cancel"><strong>Cancel</strong></a></p>
646
+ </td></tr>
647
+ </table>
648
+ </div>
649
  <?php
650
+ include(ABSPATH . 'wp-admin/admin-footer.php');
651
+ exit;
652
  }
653
  }
654
 
656
 
657
  function tadv_menu() {
658
  if( function_exists('add_management_page') )
659
+ $page = add_management_page( 'TinyMCE Advanced', 'TinyMCE Advanced', 9, __FILE__, 'tadv_page' );
660
  add_action("admin_print_scripts-$page", 'tadv_admin_head');
661
  }
662
 
668
  add_filter( 'tiny_mce_config_url', array(&$tadv_mce, 'tadv_refresh_mceconfig') );
669
  add_action( 'mce_options', array(&$tadv_mce, 'tadv_mce_opt') );
670
  add_filter( 'mce_plugins', array(&$tadv_mce, 'tadv_mce_plugins'), 99 );
671
+ add_filter( 'mce_buttons_3', array(&$tadv_mce, 'tadv_mce_btns3'), 98 );
672
  add_filter( 'mce_buttons', array(&$tadv_mce, 'tadv_mce_btns'), 99 );
673
  add_filter( 'mce_buttons_2', array(&$tadv_mce, 'tadv_mce_btns2'), 99 );
674
  add_action( 'activate_tinymce-advanced/tinymce-advanced.php', array(&$tadv_mce, 'tadv_activate') );
 
675
  }
676
  add_action( 'admin_menu', 'tadv_menu' );
677
+ ?>
tinymce-advanced/css/tadv-tinymce.css DELETED
@@ -1,25 +0,0 @@
1
- /* You can add css class names below */
2
- .shutter {}
3
- .shutterset {}
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
- /* styles for the TinyMCE editor */
19
- body {color: #000000;text-align:left;}
20
- p {text-align: none !important;}
21
- a {color: blue;}
22
- ul, ol {margin : 10px 0 10px 20px;}
23
- ul li {list-style : disc;}
24
- ol li {list-style : decimal;}
25
- ul li, ol li {margin : 0.5em 0;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
tinymce-advanced/mce/advlink/editor_plugin.js DELETED
@@ -1,135 +0,0 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('advlink',{
11
- general_tab : 'General',
12
- popup_tab : 'Popup',
13
- events_tab : 'Events',
14
- advanced_tab : 'Advanced',
15
- general_props : 'General properties',
16
- popup_props : 'Popup properties',
17
- event_props : 'Events',
18
- advanced_props : 'Advanced properties',
19
- popup_opts : 'Options',
20
- anchor_names : 'Anchors',
21
- target_same : 'Open in this window / frame',
22
- target_parent : 'Open in parent window / frame',
23
- target_top : 'Open in top frame (replaces all frames)',
24
- target_blank : 'Open in new window',
25
- popup : 'Javascript popup',
26
- popup_url : 'Popup URL',
27
- popup_name : 'Window name',
28
- popup_return : 'Insert \'return false\'',
29
- popup_scrollbars : 'Show scrollbars',
30
- popup_statusbar : 'Show status bar',
31
- popup_toolbar : 'Show toolbars',
32
- popup_menubar : 'Show menu bar',
33
- popup_location : 'Show location bar',
34
- popup_resizable : 'Make window resizable',
35
- popup_dependent : 'Dependent (Mozilla/Firefox only)',
36
- popup_size : 'Size',
37
- popup_position : 'Position (X/Y)',
38
- id : 'Id',
39
- style: 'Style',
40
- classes : 'Classes',
41
- target_name : 'Target name',
42
- langdir : 'Language direction',
43
- target_langcode : 'Target language',
44
- langcode : 'Language code',
45
- encoding : 'Target character encoding',
46
- mime : 'Target MIME type',
47
- rel : 'Relationship page to target',
48
- rev : 'Relationship target to page',
49
- tabindex : 'Tabindex',
50
- accesskey : 'Accesskey',
51
- ltr : 'Left to right',
52
- rtl : 'Right to left'
53
- });
54
-
55
- /* Import plugin specific language pack */
56
- tinyMCE.importPluginLanguagePack('advlink');
57
-
58
- var TinyMCE_AdvancedLinkPlugin = {
59
- getInfo : function() {
60
- return {
61
- longname : 'Advanced link',
62
- author : 'Moxiecode Systems AB',
63
- authorurl : 'http://tinymce.moxiecode.com',
64
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
65
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
66
- };
67
- },
68
-
69
- initInstance : function(inst) {
70
- inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
71
- },
72
-
73
- getControlHTML : function(cn) {
74
- switch (cn) {
75
- case "link":
76
- return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
77
- }
78
-
79
- return "";
80
- },
81
-
82
- execCommand : function(editor_id, element, command, user_interface, value) {
83
- switch (command) {
84
- case "mceAdvLink":
85
- var anySelection = false;
86
- var inst = tinyMCE.getInstanceById(editor_id);
87
- var focusElm = inst.getFocusElement();
88
- var selectedText = inst.selection.getSelectedText();
89
-
90
- if (tinyMCE.selectedElement)
91
- anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
92
-
93
- if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
94
- var template = new Array();
95
-
96
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/advlink/link.htm';
97
- template['width'] = 480;
98
- template['height'] = 400;
99
-
100
- // Language specific width and height addons
101
- template['width'] += tinyMCE.getLang('lang_advlink_delta_width', 0);
102
- template['height'] += tinyMCE.getLang('lang_advlink_delta_height', 0);
103
-
104
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
105
- }
106
-
107
- return true;
108
- }
109
-
110
- return false;
111
- },
112
-
113
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
114
- if (node == null)
115
- return;
116
-
117
- do {
118
- if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
119
- tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
120
- return true;
121
- }
122
- } while ((node = node.parentNode));
123
-
124
- if (any_selection) {
125
- tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
126
- return true;
127
- }
128
-
129
- tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
130
-
131
- return true;
132
- }
133
- };
134
-
135
- tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);