From 95cff9831377a5afab2cdcf7fae08d80cad78fc4 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Fri, 17 Jun 2011 12:07:36 +0200 Subject: [PATCH] update barre du prof widget --- .../Barre_prof.wgt/__MACOSX/._custom_icon.png | Bin 0 -> 384 bytes .../interactive/Barre_prof.wgt/config.xml | 16 + .../Barre_prof.wgt/custom_icon.png | Bin 0 -> 5095 bytes .../interactive/Barre_prof.wgt/icon.png | Bin 0 -> 5890 bytes .../interactive/Barre_prof.wgt/index.html | 31 + .../interactive/Barre_prof.wgt/scripts/app.js | 147 + .../interactive/Barre_prof.wgt/scripts/ext.js | 59 + .../Barre_prof.wgt/scripts/jquery144.js | 167 + .../interactive/Barre_prof.wgt/scripts/tpl.js | 41 + .../Barre_prof.wgt/scripts/wcontainer.js | 315 + .../interactive/Barre_prof.wgt/styles/app.css | 60 + .../Barre_prof.wgt/styles/master.css | 43 + .../styles}/stick-but-minimize.png | Bin .../Barre_prof.wgt/styles/wcontainer.css | 37 + .../tinymcejq/jquery.tinymce.js | 1 + .../Barre_prof.wgt/tinymcejq/langs/en.js | 170 + .../Barre_prof.wgt/tinymcejq/license.txt | 504 + .../tinymcejq/plugins/advhr/css/advhr.css | 5 + .../tinymcejq/plugins/advhr/editor_plugin.js | 1 + .../plugins/advhr/editor_plugin_src.js | 57 + .../tinymcejq/plugins/advhr/js/rule.js | 43 + .../tinymcejq/plugins/advhr/langs/en_dlg.js | 5 + .../tinymcejq/plugins/advhr/rule.htm | 57 + .../plugins/advimage/css/advimage.css | 13 + .../plugins/advimage/editor_plugin.js | 1 + .../plugins/advimage/editor_plugin_src.js | 50 + .../tinymcejq/plugins/advimage/image.htm | 232 + .../tinymcejq/plugins/advimage/img/sample.gif | Bin 0 -> 1624 bytes .../tinymcejq/plugins/advimage/js/image.js | 443 + .../plugins/advimage/langs/en_dlg.js | 43 + .../tinymcejq/plugins/advlink/css/advlink.css | 8 + .../plugins/advlink/editor_plugin.js | 1 + .../plugins/advlink/editor_plugin_src.js | 61 + .../tinymcejq/plugins/advlink/js/advlink.js | 528 + .../tinymcejq/plugins/advlink/langs/en_dlg.js | 52 + .../tinymcejq/plugins/advlink/link.htm | 333 + .../plugins/advlist/editor_plugin.js | 1 + .../plugins/advlist/editor_plugin_src.js | 154 + .../plugins/autoresize/editor_plugin.js | 1 + .../plugins/autoresize/editor_plugin_src.js | 119 + .../plugins/autosave/editor_plugin.js | 1 + .../plugins/autosave/editor_plugin_src.js | 422 + .../tinymcejq/plugins/autosave/langs/en.js | 4 + .../tinymcejq/plugins/bbcode/editor_plugin.js | 1 + .../plugins/bbcode/editor_plugin_src.js | 120 + .../plugins/contextmenu/editor_plugin.js | 1 + .../plugins/contextmenu/editor_plugin_src.js | 147 + .../plugins/directionality/editor_plugin.js | 1 + .../directionality/editor_plugin_src.js | 82 + .../plugins/emotions/editor_plugin.js | 1 + .../plugins/emotions/editor_plugin_src.js | 43 + .../tinymcejq/plugins/emotions/emotions.htm | 40 + .../plugins/emotions/img/smiley-cool.gif | Bin 0 -> 354 bytes .../plugins/emotions/img/smiley-cry.gif | Bin 0 -> 329 bytes .../emotions/img/smiley-embarassed.gif | Bin 0 -> 331 bytes .../emotions/img/smiley-foot-in-mouth.gif | Bin 0 -> 344 bytes .../plugins/emotions/img/smiley-frown.gif | Bin 0 -> 340 bytes .../plugins/emotions/img/smiley-innocent.gif | Bin 0 -> 336 bytes .../plugins/emotions/img/smiley-kiss.gif | Bin 0 -> 338 bytes .../plugins/emotions/img/smiley-laughing.gif | Bin 0 -> 344 bytes .../emotions/img/smiley-money-mouth.gif | Bin 0 -> 321 bytes .../plugins/emotions/img/smiley-sealed.gif | Bin 0 -> 325 bytes .../plugins/emotions/img/smiley-smile.gif | Bin 0 -> 345 bytes .../plugins/emotions/img/smiley-surprised.gif | Bin 0 -> 342 bytes .../emotions/img/smiley-tongue-out.gif | Bin 0 -> 328 bytes .../plugins/emotions/img/smiley-undecided.gif | Bin 0 -> 337 bytes .../plugins/emotions/img/smiley-wink.gif | Bin 0 -> 351 bytes .../plugins/emotions/img/smiley-yell.gif | Bin 0 -> 336 bytes .../tinymcejq/plugins/emotions/js/emotions.js | 22 + .../plugins/emotions/langs/en_dlg.js | 20 + .../tinymcejq/plugins/example/dialog.htm | 22 + .../plugins/example/editor_plugin.js | 1 + .../plugins/example/editor_plugin_src.js | 84 + .../tinymcejq/plugins/example/img/example.gif | Bin 0 -> 87 bytes .../tinymcejq/plugins/example/js/dialog.js | 19 + .../tinymcejq/plugins/example/langs/en.js | 3 + .../tinymcejq/plugins/example/langs/en_dlg.js | 3 + .../plugins/fullpage/css/fullpage.css | 182 + .../plugins/fullpage/editor_plugin.js | 1 + .../plugins/fullpage/editor_plugin_src.js | 153 + .../tinymcejq/plugins/fullpage/fullpage.htm | 571 + .../tinymcejq/plugins/fullpage/js/fullpage.js | 471 + .../plugins/fullpage/langs/en_dlg.js | 85 + .../plugins/fullscreen/editor_plugin.js | 1 + .../plugins/fullscreen/editor_plugin_src.js | 151 + .../plugins/fullscreen/fullscreen.htm | 109 + .../plugins/iespell/editor_plugin.js | 1 + .../plugins/iespell/editor_plugin_src.js | 54 + .../plugins/inlinepopups/editor_plugin.js | 1 + .../plugins/inlinepopups/editor_plugin_src.js | 635 + .../skins/clearlooks2/img/alert.gif | Bin 0 -> 818 bytes .../skins/clearlooks2/img/button.gif | Bin 0 -> 280 bytes .../skins/clearlooks2/img/buttons.gif | Bin 0 -> 1195 bytes .../skins/clearlooks2/img/confirm.gif | Bin 0 -> 915 bytes .../skins/clearlooks2/img/corners.gif | Bin 0 -> 911 bytes .../skins/clearlooks2/img/horizontal.gif | Bin 0 -> 769 bytes .../skins/clearlooks2/img/vertical.gif | Bin 0 -> 92 bytes .../inlinepopups/skins/clearlooks2/window.css | 100 + .../plugins/inlinepopups/template.htm | 387 + .../plugins/insertdatetime/editor_plugin.js | 1 + .../insertdatetime/editor_plugin_src.js | 83 + .../tinymcejq/plugins/layer/editor_plugin.js | 1 + .../plugins/layer/editor_plugin_src.js | 212 + .../plugins/legacyoutput/editor_plugin.js | 1 + .../plugins/legacyoutput/editor_plugin_src.js | 136 + .../tinymcejq/plugins/media/css/content.css | 6 + .../tinymcejq/plugins/media/css/media.css | 16 + .../tinymcejq/plugins/media/editor_plugin.js | 1 + .../plugins/media/editor_plugin_src.js | 414 + .../tinymcejq/plugins/media/img/flash.gif | Bin 0 -> 241 bytes .../plugins/media/img/flv_player.swf | Bin 0 -> 11668 bytes .../tinymcejq/plugins/media/img/quicktime.gif | Bin 0 -> 303 bytes .../tinymcejq/plugins/media/img/realmedia.gif | Bin 0 -> 439 bytes .../tinymcejq/plugins/media/img/shockwave.gif | Bin 0 -> 387 bytes .../tinymcejq/plugins/media/img/trans.gif | Bin 0 -> 43 bytes .../plugins/media/img/windowsmedia.gif | Bin 0 -> 415 bytes .../tinymcejq/plugins/media/js/embed.js | 73 + .../tinymcejq/plugins/media/js/media.js | 630 + .../tinymcejq/plugins/media/langs/en_dlg.js | 103 + .../tinymcejq/plugins/media/media.htm | 817 + .../plugins/nonbreaking/editor_plugin.js | 1 + .../plugins/nonbreaking/editor_plugin_src.js | 53 + .../plugins/noneditable/editor_plugin.js | 1 + .../plugins/noneditable/editor_plugin_src.js | 90 + .../plugins/pagebreak/css/content.css | 1 + .../plugins/pagebreak/editor_plugin.js | 1 + .../plugins/pagebreak/editor_plugin_src.js | 77 + .../plugins/pagebreak/img/pagebreak.gif | Bin 0 -> 325 bytes .../tinymcejq/plugins/pagebreak/img/trans.gif | Bin 0 -> 43 bytes .../tinymcejq/plugins/paste/editor_plugin.js | 1 + .../plugins/paste/editor_plugin_src.js | 952 ++ .../tinymcejq/plugins/paste/js/pastetext.js | 36 + .../tinymcejq/plugins/paste/js/pasteword.js | 51 + .../tinymcejq/plugins/paste/langs/en_dlg.js | 5 + .../tinymcejq/plugins/paste/pastetext.htm | 27 + .../tinymcejq/plugins/paste/pasteword.htm | 21 + .../plugins/preview/editor_plugin.js | 1 + .../plugins/preview/editor_plugin_src.js | 53 + .../tinymcejq/plugins/preview/example.html | 28 + .../plugins/preview/jscripts/embed.js | 73 + .../tinymcejq/plugins/preview/preview.html | 17 + .../tinymcejq/plugins/print/editor_plugin.js | 1 + .../plugins/print/editor_plugin_src.js | 34 + .../tinymcejq/plugins/save/editor_plugin.js | 1 + .../plugins/save/editor_plugin_src.js | 101 + .../searchreplace/css/searchreplace.css | 6 + .../plugins/searchreplace/editor_plugin.js | 1 + .../searchreplace/editor_plugin_src.js | 57 + .../plugins/searchreplace/js/searchreplace.js | 138 + .../plugins/searchreplace/langs/en_dlg.js | 16 + .../plugins/searchreplace/searchreplace.htm | 99 + .../plugins/spellchecker/css/content.css | 1 + .../plugins/spellchecker/editor_plugin.js | 1 + .../plugins/spellchecker/editor_plugin_src.js | 417 + .../plugins/spellchecker/img/wline.gif | Bin 0 -> 46 bytes .../tinymcejq/plugins/style/css/props.css | 13 + .../tinymcejq/plugins/style/editor_plugin.js | 1 + .../plugins/style/editor_plugin_src.js | 55 + .../tinymcejq/plugins/style/js/props.js | 641 + .../tinymcejq/plugins/style/langs/en_dlg.js | 63 + .../tinymcejq/plugins/style/props.htm | 723 + .../plugins/tabfocus/editor_plugin.js | 1 + .../plugins/tabfocus/editor_plugin_src.js | 112 + .../tinymcejq/plugins/table/cell.htm | 178 + .../tinymcejq/plugins/table/css/cell.css | 17 + .../tinymcejq/plugins/table/css/row.css | 25 + .../tinymcejq/plugins/table/css/table.css | 13 + .../tinymcejq/plugins/table/editor_plugin.js | 1 + .../plugins/table/editor_plugin_src.js | 1139 ++ .../tinymcejq/plugins/table/js/cell.js | 286 + .../tinymcejq/plugins/table/js/merge_cells.js | 27 + .../tinymcejq/plugins/table/js/row.js | 237 + .../tinymcejq/plugins/table/js/table.js | 454 + .../tinymcejq/plugins/table/langs/en_dlg.js | 74 + .../tinymcejq/plugins/table/merge_cells.htm | 32 + .../tinymcejq/plugins/table/row.htm | 155 + .../tinymcejq/plugins/table/table.htm | 187 + .../tinymcejq/plugins/template/blank.htm | 12 + .../plugins/template/css/template.css | 23 + .../plugins/template/editor_plugin.js | 1 + .../plugins/template/editor_plugin_src.js | 159 + .../tinymcejq/plugins/template/js/template.js | 106 + .../plugins/template/langs/en_dlg.js | 15 + .../tinymcejq/plugins/template/template.htm | 31 + .../plugins/visualchars/editor_plugin.js | 1 + .../plugins/visualchars/editor_plugin_src.js | 83 + .../plugins/wordcount/editor_plugin.js | 1 + .../plugins/wordcount/editor_plugin_src.js | 98 + .../tinymcejq/plugins/xhtmlxtras/abbr.htm | 141 + .../tinymcejq/plugins/xhtmlxtras/acronym.htm | 141 + .../plugins/xhtmlxtras/attributes.htm | 148 + .../tinymcejq/plugins/xhtmlxtras/cite.htm | 141 + .../plugins/xhtmlxtras/css/attributes.css | 11 + .../plugins/xhtmlxtras/css/popup.css | 9 + .../tinymcejq/plugins/xhtmlxtras/del.htm | 161 + .../plugins/xhtmlxtras/editor_plugin.js | 1 + .../plugins/xhtmlxtras/editor_plugin_src.js | 132 + .../tinymcejq/plugins/xhtmlxtras/ins.htm | 161 + .../tinymcejq/plugins/xhtmlxtras/js/abbr.js | 28 + .../plugins/xhtmlxtras/js/acronym.js | 28 + .../plugins/xhtmlxtras/js/attributes.js | 126 + .../tinymcejq/plugins/xhtmlxtras/js/cite.js | 28 + .../tinymcejq/plugins/xhtmlxtras/js/del.js | 53 + .../plugins/xhtmlxtras/js/element_common.js | 231 + .../tinymcejq/plugins/xhtmlxtras/js/ins.js | 52 + .../plugins/xhtmlxtras/langs/en_dlg.js | 32 + .../tinymcejq/themes/advanced/about.htm | 54 + .../tinymcejq/themes/advanced/anchor.htm | 26 + .../tinymcejq/themes/advanced/charmap.htm | 52 + .../themes/advanced/color_picker.htm | 73 + .../themes/advanced/editor_template.js | 1 + .../themes/advanced/editor_template_src.js | 1229 ++ .../tinymcejq/themes/advanced/image.htm | 80 + .../themes/advanced/img/colorpicker.jpg | Bin 0 -> 3189 bytes .../tinymcejq/themes/advanced/img/icons.gif1 | Bin 0 -> 11794 bytes .../tinymcejq/themes/advanced/img/icons.png | Bin 0 -> 9622 bytes .../tinymcejq/themes/advanced/js/about.js | 72 + .../tinymcejq/themes/advanced/js/anchor.js | 37 + .../tinymcejq/themes/advanced/js/charmap.js | 335 + .../themes/advanced/js/color_picker.js | 253 + .../tinymcejq/themes/advanced/js/image.js | 245 + .../tinymcejq/themes/advanced/js/link.js | 156 + .../themes/advanced/js/source_editor.js | 56 + .../tinymcejq/themes/advanced/langs/en.js | 62 + .../tinymcejq/themes/advanced/langs/en_dlg.js | 51 + .../tinymcejq/themes/advanced/link.htm | 58 + .../themes/advanced/skins/default/content.css | 36 + .../themes/advanced/skins/default/dialog.css | 117 + .../advanced/skins/default/img/buttons.png | Bin 0 -> 3274 bytes .../advanced/skins/default/img/items.gif | Bin 0 -> 70 bytes .../advanced/skins/default/img/menu_arrow.gif | Bin 0 -> 68 bytes .../advanced/skins/default/img/menu_check.gif | Bin 0 -> 70 bytes .../advanced/skins/default/img/progress.gif | Bin 0 -> 1787 bytes .../advanced/skins/default/img/tabs.gif | Bin 0 -> 1326 bytes .../themes/advanced/skins/default/ui.css | 213 + .../themes/advanced/skins/o2k7/content.css | 36 + .../themes/advanced/skins/o2k7/dialog.css | 116 + .../advanced/skins/o2k7/img/button_bg.png | Bin 0 -> 5859 bytes .../skins/o2k7/img/button_bg_black.png} | Bin 2920 -> 3736 bytes .../skins/o2k7/img/button_bg_silver.png | Bin 0 -> 5358 bytes .../themes/advanced/skins/o2k7/ui.css | 215 + .../themes/advanced/skins/o2k7/ui_black.css | 8 + .../themes/advanced/skins/o2k7/ui_silver.css | 5 + .../themes/advanced/source_editor.htm | 25 + .../themes/simple/editor_template.js | 1 + .../themes/simple/editor_template_src.js | 85 + .../tinymcejq/themes/simple/img/icons.gif | Bin 0 -> 1440 bytes .../tinymcejq/themes/simple/langs/en.js | 11 + .../themes/simple/skins/default/content.css | 25 + .../themes/simple/skins/default/ui.css | 32 + .../themes/simple/skins/o2k7/content.css | 17 + .../simple/skins/o2k7/img/button_bg.png} | Bin 2823 -> 5102 bytes .../tinymcejq/themes/simple/skins/o2k7/ui.css | 35 + .../Barre_prof.wgt/tinymcejq/tiny_mce.js | 1 + .../tinymcejq/tiny_mce_popup.js | 5 + .../Barre_prof.wgt/tinymcejq/tiny_mce_src.js | 13394 ++++++++++++++++ .../tinymcejq/utils/editable_selects.js | 70 + .../tinymcejq/utils/form_utils.js | 200 + .../Barre_prof.wgt/tinymcejq/utils/mctabs.js | 77 + .../tinymcejq/utils/validate.js | 220 + .../barre_prof.wgt/__MACOSX/._config.xml | Bin 171 -> 0 bytes .../interactive/barre_prof.wgt/__MACOSX/._css | Bin 193 -> 0 bytes .../barre_prof.wgt/__MACOSX/._icon.png | Bin 193 -> 0 bytes .../barre_prof.wgt/__MACOSX/._images | Bin 193 -> 0 bytes .../interactive/barre_prof.wgt/__MACOSX/._js | Bin 193 -> 0 bytes .../__MACOSX/css/._jScrollPane.css | Bin 193 -> 0 bytes .../__MACOSX/css/._ubwidget.css | Bin 167 -> 0 bytes .../barre_prof.wgt/__MACOSX/images/._back.png | Bin 193 -> 0 bytes .../__MACOSX/images/._shadowcenter.png | Bin 193 -> 0 bytes .../__MACOSX/images/._shadowleft.png | Bin 193 -> 0 bytes .../__MACOSX/images/._shadowright.png | Bin 193 -> 0 bytes .../__MACOSX/images/._stick-but-aminus.png | Bin 193 -> 0 bytes .../__MACOSX/images/._stick-but-aplus.png | Bin 193 -> 0 bytes .../__MACOSX/images/._stick-but-maximize.png | Bin 193 -> 0 bytes .../__MACOSX/images/._stick-but-minimize.png | Bin 193 -> 0 bytes .../__MACOSX/images/._teacher.png | Bin 193 -> 0 bytes .../__MACOSX/js/._jquery-1.3.2.min.js | Bin 193 -> 0 bytes .../js/._jquery-ui-1.7.2.custom.min.js | Bin 193 -> 0 bytes .../js/._jquery.disable.text.select.js | Bin 193 -> 0 bytes .../__MACOSX/js/._jquery.ubwidget.js | Bin 193 -> 0 bytes .../barre_prof.wgt/__MACOSX/js/._ubw-main.js | Bin 193 -> 0 bytes .../interactive/barre_prof.wgt/config.xml | 16 - .../barre_prof.wgt/css/jScrollPane.css | 65 - .../barre_prof.wgt/css/ubwidget.css | 226 - .../interactive/barre_prof.wgt/icon.png | Bin 4971 -> 0 bytes .../barre_prof.wgt/images/back.png | Bin 199 -> 0 bytes .../barre_prof.wgt/images/shadowleft.png | Bin 3524 -> 0 bytes .../barre_prof.wgt/images/shadowright.png | Bin 3513 -> 0 bytes .../barre_prof.wgt/images/stick-but-aplus.png | Bin 2971 -> 0 bytes .../images/stick-but-maximize.png | Bin 2890 -> 0 bytes .../barre_prof.wgt/images/teacher.png | Bin 337908 -> 0 bytes .../interactive/barre_prof.wgt/index.html | 32 - .../barre_prof.wgt/js/jquery-1.3.2.min.js | 19 - .../js/jquery-ui-1.7.2.custom.min.js | 298 - .../js/jquery.disable.text.select.js | 45 - .../barre_prof.wgt/js/jquery.ubwidget.js | 362 - .../interactive/barre_prof.wgt/js/ubw-main.js | 217 - 297 files changed, 36966 insertions(+), 1280 deletions(-) create mode 100644 resources/library/interactive/Barre_prof.wgt/__MACOSX/._custom_icon.png create mode 100755 resources/library/interactive/Barre_prof.wgt/config.xml create mode 100644 resources/library/interactive/Barre_prof.wgt/custom_icon.png create mode 100755 resources/library/interactive/Barre_prof.wgt/icon.png create mode 100755 resources/library/interactive/Barre_prof.wgt/index.html create mode 100755 resources/library/interactive/Barre_prof.wgt/scripts/app.js create mode 100755 resources/library/interactive/Barre_prof.wgt/scripts/ext.js create mode 100755 resources/library/interactive/Barre_prof.wgt/scripts/jquery144.js create mode 100755 resources/library/interactive/Barre_prof.wgt/scripts/tpl.js create mode 100755 resources/library/interactive/Barre_prof.wgt/scripts/wcontainer.js create mode 100755 resources/library/interactive/Barre_prof.wgt/styles/app.css create mode 100755 resources/library/interactive/Barre_prof.wgt/styles/master.css rename resources/library/interactive/{barre_prof.wgt/images => Barre_prof.wgt/styles}/stick-but-minimize.png (100%) mode change 100644 => 100755 create mode 100755 resources/library/interactive/Barre_prof.wgt/styles/wcontainer.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/jquery.tinymce.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/langs/en.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/license.txt create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/css/advhr.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/js/rule.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/rule.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/css/advimage.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/image.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/img/sample.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/js/image.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/css/advlink.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/js/advlink.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/link.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/langs/en.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/emotions.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-cool.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-cry.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-embarassed.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-foot-in-mouth.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-frown.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-innocent.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-kiss.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-laughing.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-money-mouth.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-sealed.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-smile.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-surprised.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-tongue-out.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-undecided.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-wink.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-yell.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/js/emotions.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/dialog.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/img/example.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/js/dialog.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/langs/en.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/css/fullpage.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/fullpage.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/js/fullpage.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullscreen/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullscreen/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullscreen/fullscreen.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/alert.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/button.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/corners.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/window.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/template.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/insertdatetime/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/insertdatetime/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/layer/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/layer/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/content.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/media.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/flash.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/flv_player.swf create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/quicktime.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/realmedia.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/shockwave.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/trans.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/windowsmedia.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/js/embed.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/js/media.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/media.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/css/content.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/img/pagebreak.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/img/trans.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pastetext.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pasteword.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pastetext.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pasteword.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/example.html create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/jscripts/embed.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/preview.html create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/css/searchreplace.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/js/searchreplace.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/searchreplace.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/css/content.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/img/wline.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/css/props.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/js/props.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/props.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/cell.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/cell.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/row.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/table.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/cell.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/merge_cells.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/row.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/table.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/merge_cells.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/row.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/table.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/blank.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/css/template.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/js/template.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/template.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/abbr.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/acronym.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/attributes.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/cite.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/attributes.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/popup.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/del.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/ins.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/abbr.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/acronym.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/attributes.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/cite.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/del.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/element_common.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/ins.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/about.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/anchor.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/charmap.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/color_picker.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/editor_template.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/editor_template_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/image.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/colorpicker.jpg create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/icons.gif1 create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/icons.png create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/about.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/anchor.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/charmap.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/color_picker.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/image.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/link.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/source_editor.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en_dlg.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/link.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/content.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/dialog.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/buttons.png create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/items.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/menu_arrow.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/menu_check.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/progress.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/tabs.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/ui.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/content.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/dialog.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg.png rename resources/library/interactive/{barre_prof.wgt/images/stick-but-aminus.png => Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg_black.png} (70%) mode change 100644 => 100755 create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg_silver.png create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_black.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_silver.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/source_editor.htm create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/img/icons.gif create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/langs/en.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/default/content.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/default/ui.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/o2k7/content.css rename resources/library/interactive/{barre_prof.wgt/images/shadowcenter.png => Barre_prof.wgt/tinymcejq/themes/simple/skins/o2k7/img/button_bg.png} (51%) mode change 100644 => 100755 create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/o2k7/ui.css create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/tiny_mce.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/tiny_mce_popup.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/tiny_mce_src.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/editable_selects.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/form_utils.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/mctabs.js create mode 100755 resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/validate.js delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/._config.xml delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/._css delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/._icon.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/._images delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/._js delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/css/._jScrollPane.css delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/css/._ubwidget.css delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._back.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._shadowcenter.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._shadowleft.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._shadowright.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._stick-but-aminus.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._stick-but-aplus.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._stick-but-maximize.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._stick-but-minimize.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/images/._teacher.png delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery-1.3.2.min.js delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery-ui-1.7.2.custom.min.js delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery.disable.text.select.js delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery.ubwidget.js delete mode 100644 resources/library/interactive/barre_prof.wgt/__MACOSX/js/._ubw-main.js delete mode 100644 resources/library/interactive/barre_prof.wgt/config.xml delete mode 100644 resources/library/interactive/barre_prof.wgt/css/jScrollPane.css delete mode 100644 resources/library/interactive/barre_prof.wgt/css/ubwidget.css delete mode 100644 resources/library/interactive/barre_prof.wgt/icon.png delete mode 100644 resources/library/interactive/barre_prof.wgt/images/back.png delete mode 100644 resources/library/interactive/barre_prof.wgt/images/shadowleft.png delete mode 100644 resources/library/interactive/barre_prof.wgt/images/shadowright.png delete mode 100644 resources/library/interactive/barre_prof.wgt/images/stick-but-aplus.png delete mode 100644 resources/library/interactive/barre_prof.wgt/images/stick-but-maximize.png delete mode 100644 resources/library/interactive/barre_prof.wgt/images/teacher.png delete mode 100644 resources/library/interactive/barre_prof.wgt/index.html delete mode 100644 resources/library/interactive/barre_prof.wgt/js/jquery-1.3.2.min.js delete mode 100644 resources/library/interactive/barre_prof.wgt/js/jquery-ui-1.7.2.custom.min.js delete mode 100644 resources/library/interactive/barre_prof.wgt/js/jquery.disable.text.select.js delete mode 100644 resources/library/interactive/barre_prof.wgt/js/jquery.ubwidget.js delete mode 100644 resources/library/interactive/barre_prof.wgt/js/ubw-main.js diff --git a/resources/library/interactive/Barre_prof.wgt/__MACOSX/._custom_icon.png b/resources/library/interactive/Barre_prof.wgt/__MACOSX/._custom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..07092d0981d5ccfdfd5acc0426bb21a99a284834 GIT binary patch literal 384 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDJkFfjT7X&|4m0Z0=89795aBrm?X2-UFy zsO1KlHbx*HDz2KGpR1QxP>_?Vmz!FWn37nMXqD~j;#rcK8=jF`lk ANB{r; literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/config.xml b/resources/library/interactive/Barre_prof.wgt/config.xml new file mode 100755 index 00000000..0009af14 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/config.xml @@ -0,0 +1,16 @@ + + + + + Rich Note + Allows the teacher to attach a rich note to the page. + + + diff --git a/resources/library/interactive/Barre_prof.wgt/custom_icon.png b/resources/library/interactive/Barre_prof.wgt/custom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0fa26bfb9b0260f0f0fc297396185e6a757df7f7 GIT binary patch literal 5095 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 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/index.html b/resources/library/interactive/Barre_prof.wgt/index.html new file mode 100755 index 00000000..783668fe --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/index.html @@ -0,0 +1,31 @@ + + + + + + + Template + + + + + + + + + + + + + + + + + + + + +
+ + \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/scripts/app.js b/resources/library/interactive/Barre_prof.wgt/scripts/app.js new file mode 100755 index 00000000..2325d3f9 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/scripts/app.js @@ -0,0 +1,147 @@ +// uniboard = { + // preference : function(){}, + // setPreference : function(){} +// } + +$(document).ready(function() +{ + var tinyContainer; + var w = new wcontainer( "#ub-widget" ); + var _super_modeView = w.modeView; + var _super_modeEdit = w.modeEdit; + var _super_modeSplash = w.modeSplash; + + function _init() + { + w.setSplashContent( 'Click' ); + w.setEditContent(''); + w.elements.containerEdit.find( "textarea" ).tinymce( + { + script_url : 'tinymcejq/tiny_mce.js', + width: w.getWidth(), + height: w.getHeight(), + plugins : "table,advhr,advimage,inlinepopups,media,searchreplace,paste,advlist", + + theme : "advanced", + theme_advanced_buttons1 : "formatselect,fontselect,fontsizeselect,|,forecolor,backcolor", + theme_advanced_buttons2 : "bold,italic,underline,|,bullist,numlist,|,outdent,indent,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "left", + theme_advanced_statusbar_location : "bottom", + theme_advanced_resizing : false, + + // Drop lists for link/image/media/template dialogs + template_external_list_url : "lists/template_list.js", + external_link_list_url : "lists/link_list.js", + external_image_list_url : "lists/image_list.js", + media_external_list_url : "lists/media_list.js", + + setup : function(ed) + { + ed.onKeyUp.add(function(ed, e) + { + if (window.uniboard) + { + window.uniboard.setPreference("text", ed.getContent()); + } + }); + }, + + // Replace values for the template plugin + template_replace_values : { + username : "Some User", + staffid : "991234" + } + }); + w.modeView(); // init view mode + w.modeEdit(); // init edit mode + if (window.uniboard.preference("state") == 'view') // back to view mode if last state was it + w.modeView(); + if (window.uniboard.preference("is_splash") == '1') + w.modeSplash(true); + w.allowResize = true; + }; + + w.onViewMode = function() + { + var html = this.elements.containerEdit.find( "textarea" ).val(); + this.setViewContent( html ); + }; + + w.getSize = function () + { + return {w: this.getWidth(), h:this.getHeight()}; + }; + + w.getWidth = function() + { + var res = 360; + if (window.uniboard && window.uniboard.preference("width")) + res = parseInt(window.uniboard.preference("width")); + return res; + }; + w.getHeight = function() + { + var res = 230; + if (window.uniboard && window.uniboard.preference("height")) + res = parseInt(window.uniboard.preference("height")); + return res; + }; + + w.viewSize = function() + { + return this.getSize(); + }; + w.editSize = function() + { + return this.getSize(); + }; + + window.onresize = function(){ + if (!w.allowResize) + return; + winwidth = window.innerWidth - 46; + winheight = window.innerHeight - 45; + if(winwidth <= w.minWidth) + window.resizeTo(w.minWidth,winheight); + if(winwidth > w.maxWidth) + window.resizeTo(w.maxWidth,winheight); + if(winheight <= w.minHeight) + window.resizeTo(winwidth,w.minHeight); + if(winheight > w.maxHeight) + window.resizeTo(winwidth,w.maxHeight); + w.elements.container.width(winwidth); + w.elements.container.height(winheight); + tinyMCE.activeEditor.theme.resizeTo(winwidth, winheight-98); + if(window.uniboard) + { + window.uniboard.setPreference("width", winwidth); + window.uniboard.setPreference("height", winheight-33); + } + }; + + w.modeView = function() + { + if (w.allowResize) + window.uniboard.setPreference("state", "view"); + return _super_modeView.call(this); + } + + w.modeEdit = function() + { + if (w.allowResize) + window.uniboard.setPreference("state", "edit"); + return _super_modeEdit.call(this); + } + + w.modeSplash = function (enable) + { + if (enable == undefined) + enable = true; + window.uniboard.setPreference("is_splash", (w.allowResize && enable)?1:0); + return _super_modeSplash.call(this, enable); + } + + _init(); +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/scripts/ext.js b/resources/library/interactive/Barre_prof.wgt/scripts/ext.js new file mode 100755 index 00000000..021474f4 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/scripts/ext.js @@ -0,0 +1,59 @@ +Array.prototype.shuffle = function( b ) +{ + var i = this.length, j, t; + while( i ) + { + j = Math.floor( ( i-- ) * Math.random() ); + t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i]; + this[i] = this[j]; + this[j] = t; + } + return this; +}; + +Array.prototype.copy = function() +{ + var copy = new Array(); + for( var i = 0; i < this.length; i++ ){ + copy[i] = this[i]; + } + return copy; +} + + +String.prototype.copy = function() +{ + return this.substring( 0, this.length ); +}; + +String.prototype.trim = function( ext ) +{ + var chars = [ + " ", "\t", "\n", "\r" + ]; + + var s = this.copy(); + + if( arguments.length > 0 ){ + for( var i in ext ){ + chars.push( ext[i] ); + } + } + + while( chars.indexOf( s.charAt( 0 ) ) != -1 ){ + s = s.substring( 1, s.length ); + } + while( chars.indexOf( s.charAt( s.length-1 ) ) != -1 ){ + s = s.substring( 0, s.length-1 ); + } + return s; +}; + +String.prototype.replaceAll = function( search, replace ) +{ + var s = this.copy(); + while( s.indexOf( search ) != -1 ){ + s = s.replace( search, replace ); + } + return s; +}; \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/scripts/jquery144.js b/resources/library/interactive/Barre_prof.wgt/scripts/jquery144.js new file mode 100755 index 00000000..3cc4b93d --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/scripts/jquery144.js @@ -0,0 +1,167 @@ +/*! + * jQuery JavaScript Library v1.4.4 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Thu Nov 11 19:04:53 2010 -0500 + */ +(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h= +h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;kd)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La, +"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this, +e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a, +"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+ +a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/, +C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j, +s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this, +j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length}, +toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j=== +-1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false; +if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload", +b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&& +!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&& +l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H
a";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"), +k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false, +scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent= +false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom= +1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="
";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="
t
";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display= +"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h= +c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando); +else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one"; +if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true}, +attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&& +b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0}; +c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem, +arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid= +d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+ +c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType=== +8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k=== +"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+ +d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired= +B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type=== +"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]=== +0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); +(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3]; +break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr, +q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h= +l;g.sort(w);if(h)for(var i=1;i0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n, +m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== +true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== +g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return in[3]-0},nth:function(g,i,n){return n[3]- +0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== +i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]]; +if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m, +g);else if(typeof g.length==="number")for(var p=g.length;n";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g); +n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&& +function(){var g=k,i=t.createElement("div");i.innerHTML="

";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F|| +p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g= +t.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition? +function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n0)for(var h=d;h0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h= +h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context): +c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a, +2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a, +b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&& +e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/\s]+\/)>/g,P={option:[1, +""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null; +else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append", +prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument|| +b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]===""&&!x?r.childNodes:[];for(o=k.length- +1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script")))); +d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i, +jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true, +zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b), +h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b); +if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f= +d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left; +e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/)<[^<]*)*<\/script>/gi, +ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b=== +"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("
").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& +!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, +getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", +script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| +!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache= +false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset; +A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type", +b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& +c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| +c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]= +encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess", +[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"), +e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}}); +if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show", +3),a,b,d);else{d=0;for(var e=this.length;d=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, +d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* +Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)} +var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; +this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| +this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= +c.timers,b=0;b-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a, +e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&& +c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); +c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+ +b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/scripts/tpl.js b/resources/library/interactive/Barre_prof.wgt/scripts/tpl.js new file mode 100755 index 00000000..61efdfd1 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/scripts/tpl.js @@ -0,0 +1,41 @@ +function Tpl( obj ) +{ + var templates = {}; + this.load = function( obj ) + { + templates = obj; + }; + + this.get = function( name ) + { + return templates[name]; + }; + + this.getParsed = function( name, obj ) + { + var s = templates[name]; + for( var i in obj ){ + s = s.replaceAll( "{"+i+"}", obj[i] ); + } + return s; + }; + + this.getParsedMulti = function( nao ) // nao = names and objects array + { + var html = ""; + for( var i = 0; i < nao.length; i++ ) + { + if( nao[i].length > 1 ){ + html += this.getParsed( nao[i][0], nao[i][1] ); + } + else{ + html += this.get( nao[i][0] ); + } + } + return html; + }; + + if( arguments.length > 0 ){ + this.load( obj ); + } +} \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/scripts/wcontainer.js b/resources/library/interactive/Barre_prof.wgt/scripts/wcontainer.js new file mode 100755 index 00000000..d814f159 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/scripts/wcontainer.js @@ -0,0 +1,315 @@ +// if use the "view/edit" button or rely on the api instead +var isSankore = false; +// whether to do window.resize or not (window = widget area) +var isBrowser = ( typeof( widget ) == "undefined" ); + +function wcontainer( containerID ) +{ + // some protecred variables + var thisInstance = this; + var editMode = false; + var data = {}; // see setData and getData + this.allowResize = false; + this.maxWidth = 1000; // set to 0 for no max width restriction + this.minWidth = 50; + this.maxHeight = 800; // set to 0 for no max width restriction + this.minHeight = 50; + + // links to the elements of the widget + this.elements = {}; + + /* + ============ + create + ============ + - creates html base, inits this.elements, assings events + */ + this.create = function( containerID ) + { + var html = + '
' + + '
' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
' + + '
'; + + var container = $( containerID ); + + container.append( html ); + this.elements.edit = container.find( ".editmode" ); + this.elements.view = container.find( ".viewmode" ); + + this.elements.container = container; + this.elements.subcontainer = container.find( "#mp_content" ); + this.elements.setup = container.find( "#mp_setup" ); + this.elements.splash = $( "
" ); + + this.elements.containerView = this.elements.subcontainer.find( ".viewmode" ); + this.elements.containerEdit = this.elements.subcontainer.find( ".editmode" ); + + + + + container.find( ".viewmode button" ).click( function(){ + thisInstance.modeEdit(); + } ); + + container.find( ".editmode button" ).click( function(){ + thisInstance.modeView(); + } ); + + }; + + this.setSplashContent = function( html ) + { + this.elements.container.find( "#mp_setup .viewmode" ).append( + '' + ); + this.elements.container.find( "#mp_setup .editmode" ).append( + '' + ); + this.elements.container.after( + '
'+ html +'
' + ); + + this.elements.splash = $( "#mp_splash" ); + this.elements.splash.hide(); + this.elements.splash.click( function() + { + winstance.modeSplash( false ); + }); + + this.elements.setup.find( "button.hideAll" ).click( function() + { + winstance.modeSplash(); + }); + }; + + + /* + =============== + setViewContent + =============== + - assigns custom html to the viewmode container + */ + this.setViewContent = function( html ) + { + this.elements.container.find( "#mp_content .viewmode" ).html( html ); + }; + this.getViewContent = function() + { + return this.elements.container.find( "#mp_content .viewmode" ).html(); + }; + + /* + =============== + setEditContent + =============== + - assigns custom html to the editmode container + */ + this.setEditContent = function( html ) + { + this.elements.container.find( "#mp_content .editmode" ).html( html ); + }; + this.getEditContent = function( html ) + { + return this.elements.container.find( "#mp_content .editmode" ).html(); + }; + + + + /* + ========================= + modeEdit and modeView + ========================= + - switch the widget betweed modes + * for customization extend onEditMode and onViewMode + */ + this.modeEdit = function() + { + this.onEditMode(); + editMode = true; + this.elements.edit.removeClass( "hide" ); + this.elements.view.addClass( "hide" ); + + this.adjustSize(); + }; + this.modeView = function() + { + this.onViewMode(); + editMode = false; + this.elements.edit.addClass( "hide" ); + this.elements.view.removeClass( "hide" ); + + this.adjustSize(); + }; + this.modeSplash = function( enable ) + { + if( arguments.length < 1 ){ + var enable = true; + } + if( enable ){ + this.allowResize = false; + this.elements.container.hide(); + this.elements.splash.show(); + // hack, need to work out + this.adjustSize( 190, 110, true ); + } + else{ + this.elements.container.show(); + this.elements.splash.hide(); + this.adjustSize(); + this.allowResize = true; + } + }; + + + + /* + ================ + adjustSize + ================ + - changes the widget size (window and container) + */ + this.adjustSize = function( width, height, override ) + { + if( arguments.length < 3 ){ + var override = false; + } + + // retrieve the arguments + if( arguments.length < 2 ) + { + var s = ( editMode )? this.editSize() : this.viewSize(); + var width = s.w; + var height = s.h; + } + + // check for validity + if( width + height == 0 ) + return; + + // add view/edit bar height + if( !isSankore && !override ){ + height += $( this.elements.container ).find( "#mp_setup" ).outerHeight(); + } + + if( !override ) + { + // apply min and max restrictions + width = Math.max( this.minWidth, width ); + height = Math.max( this.minHeight, height ); + if( this.maxWidth ){ + width = Math.min( width, this.maxWidth ); + } + } + + // if viewed as a widget, resize the window + if( !isBrowser ) + { + // dw and dh are paddings+margins+borders + var dw = this.getData( "dw" ); + var dh = this.getData( "dh" ); + + if( override ) dw = dh = 0; + + if( width == 0 ){ + width = widget.width; + } + if( height == 0 ){ + height = widget.height; + } + window.resizeTo( width + dw, height + dh ); + } + + // resize the container + var params = {}; + if( width != 0 ){ + params.width = width; + } + if( height != 0 ){ + params.height = height; + } + console.log( params ); + this.elements.container.animate( params ); + + }; + + /* + ====================== + setData and getData + ====================== + - store some data inside + */ + this.setData = function( name, value ){ + data[name] = value; + }; + this.getData = function( name ){ + if( typeof( data[name] ) == "undefined" ){ + return null; + } else return data[name]; + }; + + this.viewSizeDefault = function(){ + return { + w: this.elements.containerView.outerWidth(), + h: this.elements.containerView.outerHeight() + }; + }; + this.editSizeDefault = function(){ + return { + w: this.elements.containerEdit.outerWidth(), + h: this.elements.containerEdit.outerHeight() + }; + }; + + + // redefinable methods + + /* + ========================== + onEditMode and onViewMode + ========================== + - these are called when the mode is being changed + */ + this.onEditMode = function(){ + // + }; + this.onViewMode = function(){ + // + }; + + /* + ====================== + viewSize and editSize + ====================== + - calculate container size for the adjustSize method + * they are likely to be redefined for each particular widget + */ + this.viewSize = function(){ + return this.viewSizeDefault(); + }; + this.editSize = function(){ + return this.editSizeDefault(); + }; + + // constructor end + + // if the constructor was called with a parameter, + // call create() automatically + if( arguments.length > 0 ){ + this.create( containerID ); + } + this.setData( "dw", this.elements.container.outerWidth( true ) - this.elements.container.width() ); + this.setData( "dh", this.elements.container.outerHeight( true ) - this.elements.container.height() ); + window.winstance = thisInstance; +} diff --git a/resources/library/interactive/Barre_prof.wgt/styles/app.css b/resources/library/interactive/Barre_prof.wgt/styles/app.css new file mode 100755 index 00000000..4ce4bc10 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/styles/app.css @@ -0,0 +1,60 @@ +/* custom */ + +#mp_view{ + font-size: 12pt; +} + +#mp_view h3{ + margin: 0px; padding: 0px; + margin-bottom: 0.5em; + font-weight: normal; +} + + +#mp_edit #quiz_elements{ + width: 300px; + float: left; +} + +#mp_edit #quiz_options{ + width: 200px; + float: left; +} + +#mp_edit hr{ + clear: left; + visibility: hidden; +} + +#mp_edit button.add{ +background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAlCAYAAADFniADAAAA8UlEQVR42u2UsQqCUBSG3XsLtwYfJIKKxoZaXYIeoGgtiIiGpvCVakhyiaApFDWMhmo43V9MbuTioN7hfPDBgXsv/lx/1TSGYRiGYXJjzKylMbeiWDGrEUqE2XgvgpiVCTU9RwSVCjVyfIJKhRo6AcFKQv2UWtIUgcwk1J9Flx8PWXtvWlyfqZPLg/q2H4tZXsPewm8v7s/pToNjmNoTYdp7NxazvIa9hYeqj1fbrFfU2LkEs9Zwpuha1YQ6Lu0rHtw5BASTWzEk9eRM+V9f1w4JKvVLaNk3gkqFaopATZVCyeUvo9R5y19NqRmGYRhF+QAs9wHg1SFRcQAAAABJRU5ErkJggg==") no-repeat scroll 0 0 transparent; +height: 37px; +line-height: 37px; +overflow: hidden; +padding-left: 37px; +width: auto; +border-width: 0px; +cursor: pointer; +float: left; +clear: both; +} + +#mp_edit button.delete{ +background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAABZUlEQVR42pWQv0vEMBTHq+Dg6qSDiDiIo4P/g4OTcKvgJrjrIug/4OLo4iZOguPJuZ2t3qWXtknTJE2bpL07xB84CK7ny6EHNxp4kITP9/ve93nefw4Og8sYP33RGEkSdXb//uNuez0K/WaCn79p3PUp7mx5ACLO8LDMaa0EURkJdwhCa3EUtGiCXnMem1LRoeTkwAPlEUAvlRZFpbk1KiUgfuRpb6AEFdbwt74VN2XJVjzf9+dFhk9NwWylpQRR6e5aUW41r+B9awxfncyNEJoTWXQOUN9qwV0BVNVaPAwUWZ4KGYbBRpqg+0ISC26yMiIHWEGxMk8bEzDq+ptRL2hnNHQhBbgZN/uvYDySYL290Wg06+FecMcIei8AhPYu6JUp+Ql0MOPQBvQqFZyG2251bcnjT5e6NuJaa7oILjMFT45dBhB8QA0Kme671TVynjStERfGsKWp0AwfgqBldXZW13ThB0DfO0e4Gr5QAAAAAElFTkSuQmCC") no-repeat scroll 0 50% transparent; +background-position: 3px 5px; +height: 18px; width: 18px; +line-height: 18px; +overflow: hidden; +padding-left: 11px; +border-width: 0px; +color: #aaa; +cursor: pointer; +display: block; +float: left; +clear: left; +} + +#mp_edit input.option{ + display: block; + float: left; +} \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/styles/master.css b/resources/library/interactive/Barre_prof.wgt/styles/master.css new file mode 100755 index 00000000..ca364e48 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/styles/master.css @@ -0,0 +1,43 @@ +body{ + background-color: #fff; + margin: 0px; padding: 0px; + font-family: arial; + font-size: 11pt; + color: #000; + overflow: hidden; +} + + +h1{ + font-size:18px; + margin-bottom:20px; + margin-top:0px; +} +#ub-widget{ + background-color: white; + padding: 20px; + border: 3px solid #aaaaaa; + word-wrap: break-word; +} + +.inputbox{ + width:50px; +} + +button{ + width: 80px; + font-family: arial; + font-size: 13px; +} + +input.percent, textarea.percent{ + width: 100%; + margin: 0px; padding: 0px; + border-width: 0px; +} +.inputwrap{ + border-style: solid; + border-width: 1px; + border-color: #dbdfe6; + border-top-color: #abadb3; +} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/images/stick-but-minimize.png b/resources/library/interactive/Barre_prof.wgt/styles/stick-but-minimize.png old mode 100644 new mode 100755 similarity index 100% rename from resources/library/interactive/barre_prof.wgt/images/stick-but-minimize.png rename to resources/library/interactive/Barre_prof.wgt/styles/stick-but-minimize.png diff --git a/resources/library/interactive/Barre_prof.wgt/styles/wcontainer.css b/resources/library/interactive/Barre_prof.wgt/styles/wcontainer.css new file mode 100755 index 00000000..f309b7fc --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/styles/wcontainer.css @@ -0,0 +1,37 @@ +/* frame */ + +#mp_setup{ + text-align: right; +} + +#mp_content{ + margin-top: 5px; +} + +.viewmode{ + /* empty */ +} +.editmode{ + /* empty */ +} +.hide{ + display: none; +} + +button.hideAll{ + background-color: transparent; + color: transparent; + border-width: 0px; + background-image: url( "stick-but-minimize.png" ); + background-repeat: no-repeat; + cursor: pointer; + + overflow: hidden; + font-size: 1px; + width: 25px; + height: 25px; +} + +#mp_splash{ + +} \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/jquery.tinymce.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/jquery.tinymce.js new file mode 100755 index 00000000..4866c2a0 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/jquery.tinymce.js @@ -0,0 +1 @@ +(function(b){var e,d,a=[],c=window;b.fn.tinymce=function(j){var p=this,g,k,h,m,i,l="",n="";if(!p.length){return p}if(!j){return tinyMCE.get(p[0].id)}function o(){var r=[],q=0;if(f){f();f=null}p.each(function(t,u){var s,w=u.id,v=j.oninit;if(!w){u.id=w=tinymce.DOM.uniqueId()}s=new tinymce.Editor(w,j);r.push(s);if(v){s.onInit.add(function(){var x,y=v;if(++q==r.length){if(tinymce.is(y,"string")){x=(y.indexOf(".")===-1)?null:tinymce.resolve(y.replace(/\.\w+$/,""));y=tinymce.resolve(y)}y.apply(x||tinymce,r)}})}});b.each(r,function(t,s){s.render()})}if(!c.tinymce&&!d&&(g=j.script_url)){d=1;h=g.substring(0,g.lastIndexOf("/"));if(/_(src|dev)\.js/g.test(g)){n="_src"}m=g.lastIndexOf("?");if(m!=-1){l=g.substring(m+1)}c.tinyMCEPreInit=c.tinyMCEPreInit||{base:h,suffix:n,query:l};if(g.indexOf("gzip")!=-1){i=j.language||"en";g=g+(/\?/.test(g)?"&":"?")+"js=true&core=true&suffix="+escape(n)+"&themes="+escape(j.theme)+"&plugins="+escape(j.plugins)+"&languages="+i;if(!c.tinyMCE_GZ){tinyMCE_GZ={start:function(){tinymce.suffix=n;function q(r){tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(r))}q("langs/"+i+".js");q("themes/"+j.theme+"/editor_template"+n+".js");q("themes/"+j.theme+"/langs/"+i+".js");b.each(j.plugins.split(","),function(s,r){if(r){q("plugins/"+r+"/editor_plugin"+n+".js");q("plugins/"+r+"/langs/"+i+".js")}})},end:function(){}}}}b.ajax({type:"GET",url:g,dataType:"script",cache:true,success:function(){tinymce.dom.Event.domLoaded=1;d=2;if(j.script_loaded){j.script_loaded()}o();b.each(a,function(q,r){r()})}})}else{if(d===1){a.push(o)}else{o()}}return p};b.extend(b.expr[":"],{tinymce:function(g){return g.id&&!!tinyMCE.get(g.id)}});function f(){function i(l){if(l==="remove"){this.each(function(n,o){var m=h(o);if(m){m.remove()}})}this.find("span.mceEditor,div.mceEditor").each(function(n,o){var m=tinyMCE.get(o.id.replace(/_parent$/,""));if(m){m.remove()}})}function k(n){var m=this,l;if(n!==e){i.call(m);m.each(function(p,q){var o;if(o=tinyMCE.get(q.id)){o.setContent(n)}})}else{if(m.length>0){if(l=tinyMCE.get(m[0].id)){return l.getContent()}}}}function h(m){var l=null;(m)&&(m.id)&&(c.tinymce)&&(l=tinyMCE.get(m.id));return l}function g(l){return !!((l)&&(l.length)&&(c.tinymce)&&(l.is(":tinymce")))}var j={};b.each(["text","html","val"],function(n,l){var o=j[l]=b.fn[l],m=(l==="text");b.fn[l]=function(s){var p=this;if(!g(p)){return o.apply(p,arguments)}if(s!==e){k.call(p.filter(":tinymce"),s);o.apply(p.not(":tinymce"),arguments);return p}else{var r="";var q=arguments;(m?p:p.eq(0)).each(function(u,v){var t=h(v);r+=t?(m?t.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):t.getContent()):o.apply(b(v),q)});return r}}});b.each(["append","prepend"],function(n,m){var o=j[m]=b.fn[m],l=(m==="prepend");b.fn[m]=function(q){var p=this;if(!g(p)){return o.apply(p,arguments)}if(q!==e){p.filter(":tinymce").each(function(s,t){var r=h(t);r&&r.setContent(l?q+r.getContent():r.getContent()+q)});o.apply(p.not(":tinymce"),arguments);return p}}});b.each(["remove","replaceWith","replaceAll","empty"],function(m,l){var n=j[l]=b.fn[l];b.fn[l]=function(){i.call(this,l);return n.apply(this,arguments)}});j.attr=b.fn.attr;b.fn.attr=function(n,q,o){var m=this;if((!n)||(n!=="value")||(!g(m))){return j.attr.call(m,n,q,o)}if(q!==e){k.call(m.filter(":tinymce"),q);j.attr.call(m.not(":tinymce"),n,q,o);return m}else{var p=m[0],l=h(p);return l?l.getContent():j.attr.call(b(p),n,q,o)}}}})(jQuery); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/langs/en.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/langs/en.js new file mode 100755 index 00000000..ea4a1b0e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/langs/en.js @@ -0,0 +1,170 @@ +tinyMCE.addI18n({en:{ +common:{ +edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?", +apply:"Apply", +insert:"Insert", +update:"Update", +cancel:"Cancel", +close:"Close", +browse:"Browse", +class_name:"Class", +not_set:"-- Not set --", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?", +clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.", +popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.", +invalid_data:"Error: Invalid values entered, these are marked in red.", +more_colors:"More colors" +}, +contextmenu:{ +align:"Alignment", +left:"Left", +center:"Center", +right:"Right", +full:"Full" +}, +insertdatetime:{ +date_fmt:"%Y-%m-%d", +time_fmt:"%H:%M:%S", +insertdate_desc:"Insert date", +inserttime_desc:"Insert time", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}, +print:{ +print_desc:"Print" +}, +preview:{ +preview_desc:"Preview" +}, +directionality:{ +ltr_desc:"Direction left to right", +rtl_desc:"Direction right to left" +}, +layer:{ +insertlayer_desc:"Insert new layer", +forward_desc:"Move forward", +backward_desc:"Move backward", +absolute_desc:"Toggle absolute positioning", +content:"New layer..." +}, +save:{ +save_desc:"Save", +cancel_desc:"Cancel all changes" +}, +nonbreaking:{ +nonbreaking_desc:"Insert non-breaking space character" +}, +iespell:{ +iespell_desc:"Run spell checking", +download:"ieSpell not detected. Do you want to install it now?" +}, +advhr:{ +advhr_desc:"Horizontal rule" +}, +emotions:{ +emotions_desc:"Emotions" +}, +searchreplace:{ +search_desc:"Find", +replace_desc:"Find/Replace" +}, +advimage:{ +image_desc:"Insert/edit image" +}, +advlink:{ +link_desc:"Insert/edit link" +}, +xhtmlxtras:{ +cite_desc:"Citation", +abbr_desc:"Abbreviation", +acronym_desc:"Acronym", +del_desc:"Deletion", +ins_desc:"Insertion", +attribs_desc:"Insert/Edit Attributes" +}, +style:{ +desc:"Edit CSS Style" +}, +paste:{ +paste_text_desc:"Paste as Plain Text", +paste_word_desc:"Paste from Word", +selectall_desc:"Select All", +plaintext_mode_sticky:"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.", +plaintext_mode:"Paste is now in plain text mode. Click again to toggle back to regular paste mode." +}, +paste_dlg:{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}, +table:{ +desc:"Inserts a new table", +row_before_desc:"Insert row before", +row_after_desc:"Insert row after", +delete_row_desc:"Delete row", +col_before_desc:"Insert column before", +col_after_desc:"Insert column after", +delete_col_desc:"Remove column", +split_cells_desc:"Split merged table cells", +merge_cells_desc:"Merge table cells", +row_desc:"Table row properties", +cell_desc:"Table cell properties", +props_desc:"Table properties", +paste_row_before_desc:"Paste table row before", +paste_row_after_desc:"Paste table row after", +cut_row_desc:"Cut table row", +copy_row_desc:"Copy table row", +del:"Delete table", +row:"Row", +col:"Column", +cell:"Cell" +}, +autosave:{ +unload_msg:"The changes you made will be lost if you navigate away from this page.", +restore_content:"Restore auto-saved content.", +warning_message:"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?." +}, +fullscreen:{ +desc:"Toggle fullscreen mode" +}, +media:{ +desc:"Insert / edit embedded media", +edit:"Edit embedded media" +}, +fullpage:{ +desc:"Document properties" +}, +template:{ +desc:"Insert predefined template content" +}, +visualchars:{ +desc:"Visual control characters on/off." +}, +spellchecker:{ +desc:"Toggle spellchecker", +menu:"Spellchecker settings", +ignore_word:"Ignore word", +ignore_words:"Ignore all", +langs:"Languages", +wait:"Please wait...", +sug:"Suggestions", +no_sug:"No suggestions", +no_mpell:"No misspellings found." +}, +pagebreak:{ +desc:"Insert page break." +}, +advlist:{ +types:"Types", +def:"Default", +lower_alpha:"Lower alpha", +lower_greek:"Lower greek", +lower_roman:"Lower roman", +upper_alpha:"Upper alpha", +upper_roman:"Upper roman", +circle:"Circle", +disc:"Disc", +square:"Square" +}}}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/license.txt b/resources/library/interactive/Barre_prof.wgt/tinymcejq/license.txt new file mode 100755 index 00000000..60d6d4c8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/license.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/css/advhr.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/css/advhr.css new file mode 100755 index 00000000..0e228349 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/css/advhr.css @@ -0,0 +1,5 @@ +input.radio {border:1px none #000; background:transparent; vertical-align:middle;} +.panel_wrapper div.current {height:80px;} +#width {width:50px; vertical-align:middle;} +#width2 {width:50px; vertical-align:middle;} +#size {width:100px;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin.js new file mode 100755 index 00000000..4d3b062d --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},getInfo:function(){return{longname:"Advanced HR",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advhr",tinymce.plugins.AdvancedHRPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin_src.js new file mode 100755 index 00000000..0c652d33 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/editor_plugin_src.js @@ -0,0 +1,57 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedHRPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvancedHr', function() { + ed.windowManager.open({ + file : url + '/rule.htm', + width : 250 + parseInt(ed.getLang('advhr.delta_width', 0)), + height : 160 + parseInt(ed.getLang('advhr.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('advhr', { + title : 'advhr.advhr_desc', + cmd : 'mceAdvancedHr' + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('advhr', n.nodeName == 'HR'); + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'HR') + ed.selection.select(e); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced HR', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advhr', tinymce.plugins.AdvancedHRPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/js/rule.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/js/rule.js new file mode 100755 index 00000000..b6cbd66c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advhr/js/rule.js @@ -0,0 +1,43 @@ +var AdvHRDialog = { + init : function(ed) { + var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w; + + w = dom.getAttrib(n, 'width'); + f.width.value = w ? parseInt(w) : (dom.getStyle('width') || ''); + f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || ''; + f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width'); + selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px'); + }, + + update : function() { + var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = ''; + + h = ' + + + {#advhr.advhr_desc} + + + + + + + +
+ + +
+
+
+ + + + + + + + + + + + +
+ + +
+ + + +
+ + +
+ + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/css/advimage.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/css/advimage.css new file mode 100755 index 00000000..0a6251a6 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/css/advimage.css @@ -0,0 +1,13 @@ +#src_list, #over_list, #out_list {width:280px;} +.mceActionPanel {margin-top:7px;} +.alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;} +.checkbox {border:0;} +.panel_wrapper div.current {height:305px;} +#prev {margin:0; border:1px solid #000; width:428px; height:150px; overflow:auto;} +#align, #classlist {width:150px;} +#width, #height {vertical-align:middle; width:50px; text-align:center;} +#vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;} +#class_list {width:180px;} +input {width: 280px;} +#constrain, #onmousemovecheck {width:auto;} +#id, #dir, #lang, #usemap, #longdesc {width:200px;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin.js new file mode 100755 index 00000000..4c7a9c3a --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedImagePlugin",{init:function(a,b){a.addCommand("mceAdvImage",function(){if(a.dom.getAttrib(a.selection.getNode(),"class").indexOf("mceItem")!=-1){return}a.windowManager.open({file:b+"/image.htm",width:480+parseInt(a.getLang("advimage.delta_width",0)),height:385+parseInt(a.getLang("advimage.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("image",{title:"advimage.image_desc",cmd:"mceAdvImage"})},getInfo:function(){return{longname:"Advanced image",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advimage",tinymce.plugins.AdvancedImagePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin_src.js new file mode 100755 index 00000000..2625dd21 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/editor_plugin_src.js @@ -0,0 +1,50 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedImagePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvImage', function() { + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + file : url + '/image.htm', + width : 480 + parseInt(ed.getLang('advimage.delta_width', 0)), + height : 385 + parseInt(ed.getLang('advimage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('image', { + title : 'advimage.image_desc', + cmd : 'mceAdvImage' + }); + }, + + getInfo : function() { + return { + longname : 'Advanced image', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advimage', tinymce.plugins.AdvancedImagePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/image.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/image.htm new file mode 100755 index 00000000..79cff3f1 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/image.htm @@ -0,0 +1,232 @@ + + + + {#advimage_dlg.dialog_title} + + + + + + + + + +
+ + +
+
+
+ {#advimage_dlg.general} + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+ +
+ {#advimage_dlg.preview} + +
+
+ +
+
+ {#advimage_dlg.tab_appearance} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ {#advimage_dlg.example_img} + Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam + nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum + edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam + erat volutpat. +
+
+ x + px +
  + + + + +
+
+
+
+ +
+
+ {#advimage_dlg.swap_image} + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ + + + +
 
+
+ +
+ {#advimage_dlg.misc} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + + + +
 
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/img/sample.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/img/sample.gif new file mode 100755 index 0000000000000000000000000000000000000000..53bf6890b507741c10910c9e2217ad8247b98e8d GIT binary patch literal 1624 zcmV-e2B-N)Nk%w1VJ!eH0OkMy|NsB}{r&v>{Q3F$`1ttq^YifV@ayaA>FMd_=H}w! z;^5%m-rnBb-QC>W+}qpR+S=OL+1c3G*w@$B*4Eb4)YQ|{)zHw=&d$%x&CScp%gV~i z$;rvc$jHXV#>B+L!^6YE!otD9!N9=4zrVk|y}i7=yt})*y1Kf#xw*Hux3;#nwY9ah zw6wFcv$C?Xv9YnRu&}SMudc4Ht*x!BtgNf6tE#H1si~={sjjD|r>3T+rKP2$q@<&x zqobp!qN1Xqp`oFnrJ$goprE6lpP!zdp`MSWoSd7Ro12@UnwpxLnw^=MnV6WE zmzS58mX?*3mz9;3mX?*2l$4W`lai8@l9G~eg|M^H&l zLpBo?51@vfgB2q_TVh*dNP<;cR$Wg!vYsMHR!qvvOis>GNH`+ zJ3B|tqgANiBSy@x>Q#;x7+DuU7&rwlf#S04)VZvA$XoUy8Y&f7)SqP<}Lw@L# zA(@Cohl`6CZyedUu^BlmK|DG5$Kl2f8z@uCc)^k-3m7$G!njf7$;XhOW>^`rV#UFh zEN#eG;bP?tCs>{+)q)ceg9$aDAaTZ{MGK5rU8ty$qz8){MT#gHGX{#XEJHLonBXFa zj+#9GE&^pq!`qG`K5iiC!gq}sRY|1yD8?j++_^oR0g+)NNtZN`)08!0q=}AA4HhIo zFaa9NYu8%97=oos5f?O`lwre~4VfoIei+FyK|urxj@C(-q(sS(!$5uL3j&jg7&XY% zlr17;3GGL;2K8>CB87G97;W(2VZ((D+3Hz;L;bylfhf(kFNV8at)h;hdM z85WX(#*Hq@@BYePt3t_l{ zCL3|YVWydA0Fz{rTl65n00)c^)^-jJn1c zRVXtA6mkUMEDLU|v7{JK&_IJ2ciiCy7BOT1fdUBh8b=yrbYaCAchCU_7?H`b1`}4q zLB|_mI2!;7W4QCq6F1O+MW||6AwmKafUrReUA&QotxQZI8D$G)AuSVV@X<&A9v;~H zKnWjo&;bljq=29aCeV-t5GBYkL=Q}q(S~FLd2t39MyRmC%_GFHkPc7CfIt8P*emqV z0YK2j9A+kmW^!tn(ZmG+L=6DZR99W}8p9?Utr=#t@rE2=zxf3QQ(JBJ&<{Z2>8EUP zeX1B)2w_3gXV)D-0Tt+=#@cV-0f!PU#MglZ3m6b}0e08zK^x;9(u?Tga{%?&nNTXhcEuM_#J>yL>p*a zuZJ2pliCGSp!Ye8>YFq@)ZOW-uT~OrjFQK!)UyVGFt7ni'); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', 'tinyMCEImageList'); + this.fillFileList('over_list', 'tinyMCEImageList'); + this.fillFileList('out_list', 'tinyMCEImageList'); + TinyMCE_EditableSelects.init(); + + if (n.nodeName == 'IMG') { + nl.src.value = dom.getAttrib(n, 'src'); + nl.width.value = dom.getAttrib(n, 'width'); + nl.height.value = dom.getAttrib(n, 'height'); + nl.alt.value = dom.getAttrib(n, 'alt'); + nl.title.value = dom.getAttrib(n, 'title'); + nl.vspace.value = this.getAttrib(n, 'vspace'); + nl.hspace.value = this.getAttrib(n, 'hspace'); + nl.border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'align', this.getAttrib(n, 'align')); + selectByValue(f, 'class_list', dom.getAttrib(n, 'class'), true, true); + nl.style.value = dom.getAttrib(n, 'style'); + nl.id.value = dom.getAttrib(n, 'id'); + nl.dir.value = dom.getAttrib(n, 'dir'); + nl.lang.value = dom.getAttrib(n, 'lang'); + nl.usemap.value = dom.getAttrib(n, 'usemap'); + nl.longdesc.value = dom.getAttrib(n, 'longdesc'); + nl.insert.value = ed.getLang('update'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) + nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) + nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (ed.settings.inline_styles) { + // Move attribs to styles + if (dom.getAttrib(n, 'align')) + this.updateStyle('align'); + + if (dom.getAttrib(n, 'hspace')) + this.updateStyle('hspace'); + + if (dom.getAttrib(n, 'border')) + this.updateStyle('border'); + + if (dom.getAttrib(n, 'vspace')) + this.updateStyle('vspace'); + } + } + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); + if (isVisible('overbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); + if (isVisible('outbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + // If option enabled default contrain proportions to checked + if (ed.getParam("advimage_constrain_proportions", true)) + f.constrain.checked = true; + + // Check swap image if valid data + if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) + this.setSwapImage(true); + else + this.setSwapImage(false); + + this.changeAppearance(); + this.showPreviewImage(nl.src.value, 1); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.alt.value) { + tinyMCEPopup.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + if (!ed.settings.inline_styles) { + args = { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }; + } else { + // Remove deprecated values + args = { + vspace : '', + hspace : '', + border : '', + align : '' + }; + } + + tinymce.extend(args, { + src : nl.src.value, + width : nl.width.value, + height : nl.height.value, + alt : nl.alt.value, + title : nl.title.value, + 'class' : getSelectValue(f, 'class_list'), + style : nl.style.value, + id : nl.id.value, + dir : nl.dir.value, + lang : nl.lang.value, + usemap : nl.usemap.value, + longdesc : nl.longdesc.value + }); + + args.onmouseover = args.onmouseout = ''; + + if (f.onmousemovecheck.checked) { + if (nl.onmouseoversrc.value) + args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; + + if (nl.onmouseoutsrc.value) + args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; + } + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + setSwapImage : function(st) { + var f = document.forms[0]; + + f.onmousemovecheck.checked = st; + setBrowserDisabled('overbrowser', !st); + setBrowserDisabled('outbrowser', !st); + + if (f.over_list) + f.over_list.disabled = !st; + + if (f.out_list) + f.out_list.disabled = !st; + + f.onmouseoversrc.disabled = !st; + f.onmouseoutsrc.disabled = !st; + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options.length = 0; + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + lst.options.length = 0; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.elements.width.value = f.elements.height.value = ''; + }, + + updateImageData : function(img, st) { + var f = document.forms[0]; + + if (!st) { + f.elements.width.value = img.width; + f.elements.height.value = img.height; + } + + this.preloadImg = img; + }, + + changeAppearance : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); + + if (img) { + if (ed.getParam('inline_styles')) { + ed.dom.setAttrib(img, 'style', f.style.value); + } else { + img.align = f.align.value; + img.border = f.border.value; + img.hspace = f.hspace.value; + img.vspace = f.vspace.value; + } + } + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + }, + + updateStyle : function(ty) { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value}); + + if (tinyMCEPopup.editor.settings.inline_styles) { + // Handle align + if (ty == 'align') { + dom.setStyle(img, 'float', ''); + dom.setStyle(img, 'vertical-align', ''); + + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') + dom.setStyle(img, 'float', v); + else + img.style.verticalAlign = v; + } + } + + // Handle border + if (ty == 'border') { + dom.setStyle(img, 'border', ''); + + v = f.border.value; + if (v || v == '0') { + if (v == '0') + img.style.border = '0'; + else + img.style.border = v + 'px solid black'; + } + } + + // Handle hspace + if (ty == 'hspace') { + dom.setStyle(img, 'marginLeft', ''); + dom.setStyle(img, 'marginRight', ''); + + v = f.hspace.value; + if (v) { + img.style.marginLeft = v + 'px'; + img.style.marginRight = v + 'px'; + } + } + + // Handle vspace + if (ty == 'vspace') { + dom.setStyle(img, 'marginTop', ''); + dom.setStyle(img, 'marginBottom', ''); + + v = f.vspace.value; + if (v) { + img.style.marginTop = v + 'px'; + img.style.marginBottom = v + 'px'; + } + } + + // Merge + dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText), 'img'); + } + }, + + changeMouseMove : function() { + }, + + showPreviewImage : function(u, st) { + if (!u) { + tinyMCEPopup.dom.setHTML('prev', ''); + return; + } + + if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) + this.resetImageData(); + + u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); + + if (!st) + tinyMCEPopup.dom.setHTML('prev', ''); + else + tinyMCEPopup.dom.setHTML('prev', ''); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/langs/en_dlg.js new file mode 100755 index 00000000..f493d196 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advimage/langs/en_dlg.js @@ -0,0 +1,43 @@ +tinyMCE.addI18n('en.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Appearance", +tab_advanced:"Advanced", +general:"General", +title:"Title", +preview:"Preview", +constrain_proportions:"Constrain proportions", +langdir:"Language direction", +langcode:"Language code", +long_desc:"Long description link", +style:"Style", +classes:"Classes", +ltr:"Left to right", +rtl:"Right to left", +id:"Id", +map:"Image map", +swap_image:"Swap image", +alt_image:"Alternative image", +mouseover:"for mouse over", +mouseout:"for mouse out", +misc:"Miscellaneous", +example_img:"Appearance preview image", +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.", +dialog_title:"Insert/edit image", +src:"Image URL", +alt:"Image description", +list:"Image list", +border:"Border", +dimensions:"Dimensions", +vspace:"Vertical space", +hspace:"Horizontal space", +align:"Alignment", +align_baseline:"Baseline", +align_top:"Top", +align_middle:"Middle", +align_bottom:"Bottom", +align_texttop:"Text top", +align_textbottom:"Text bottom", +align_left:"Left", +align_right:"Right", +image_list:"Image list" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/css/advlink.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/css/advlink.css new file mode 100755 index 00000000..14364316 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/css/advlink.css @@ -0,0 +1,8 @@ +.mceLinkList, .mceAnchorList, #targetlist {width:280px;} +.mceActionPanel {margin-top:7px;} +.panel_wrapper div.current {height:320px;} +#classlist, #title, #href {width:280px;} +#popupurl, #popupname {width:200px;} +#popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;} +#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;} +#events_panel input {width:200px;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin.js new file mode 100755 index 00000000..983fe5a9 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AdvancedLinkPlugin",{init:function(a,b){this.editor=a;a.addCommand("mceAdvLink",function(){var c=a.selection;if(c.isCollapsed()&&!a.dom.getParent(c.getNode(),"A")){return}a.windowManager.open({file:b+"/link.htm",width:480+parseInt(a.getLang("advlink.delta_width",0)),height:400+parseInt(a.getLang("advlink.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("link",{title:"advlink.link_desc",cmd:"mceAdvLink"});a.addShortcut("ctrl+k","advlink.advlink_desc","mceAdvLink");a.onNodeChange.add(function(d,c,f,e){c.setDisabled("link",e&&f.nodeName!="A");c.setActive("link",f.nodeName=="A"&&!f.name)})},getInfo:function(){return{longname:"Advanced link",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlink",tinymce.plugins.AdvancedLinkPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin_src.js new file mode 100755 index 00000000..14e46a76 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/editor_plugin_src.js @@ -0,0 +1,61 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedLinkPlugin', { + init : function(ed, url) { + this.editor = ed; + + // Register commands + ed.addCommand('mceAdvLink', function() { + var se = ed.selection; + + // No selection and not in link + if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A')) + return; + + ed.windowManager.open({ + file : url + '/link.htm', + width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)), + height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('link', { + title : 'advlink.link_desc', + cmd : 'mceAdvLink' + }); + + ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink'); + + ed.onNodeChange.add(function(ed, cm, n, co) { + cm.setDisabled('link', co && n.nodeName != 'A'); + cm.setActive('link', n.nodeName == 'A' && !n.name); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced link', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/js/advlink.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/js/advlink.js new file mode 100755 index 00000000..b78e82f7 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/js/advlink.js @@ -0,0 +1,528 @@ +/* Functions for the advlink plugin popup */ + +tinyMCEPopup.requireLangPack(); + +var templates = { + "window.open" : "window.open('${url}','${target}','${options}')" +}; + +function preinit() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); +} + +function changeClass() { + var f = document.forms[0]; + + f.classes.value = getSelectValue(f, 'classlist'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + var action = "insert"; + var html; + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); + document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); + document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href'); + document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href'); + document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); + + // Link list + html = getLinkListHTML('linklisthref','href'); + if (html == "") + document.getElementById("linklisthrefrow").style.display = 'none'; + else + document.getElementById("linklisthrefcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '260px'; + + if (isVisible('popupurlbrowser')) + document.getElementById('popupurl').style.width = '180px'; + + elm = inst.dom.getParent(elm, "A"); + if (elm != null && elm.nodeName == "A") + action = "update"; + + formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true); + + setPopupControlsDisabled(true); + + if (action == "update") { + var href = inst.dom.getAttrib(elm, 'href'); + var onclick = inst.dom.getAttrib(elm, 'onclick'); + + // Setup form data + setFormValue('href', href); + setFormValue('title', inst.dom.getAttrib(elm, 'title')); + setFormValue('id', inst.dom.getAttrib(elm, 'id')); + setFormValue('style', inst.dom.getAttrib(elm, "style")); + setFormValue('rel', inst.dom.getAttrib(elm, 'rel')); + setFormValue('rev', inst.dom.getAttrib(elm, 'rev')); + setFormValue('charset', inst.dom.getAttrib(elm, 'charset')); + setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang')); + setFormValue('dir', inst.dom.getAttrib(elm, 'dir')); + setFormValue('lang', inst.dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('type', inst.dom.getAttrib(elm, 'type')); + setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup')); + setFormValue('target', inst.dom.getAttrib(elm, 'target')); + setFormValue('classes', inst.dom.getAttrib(elm, 'class')); + + // Parse onclick data + if (onclick != null && onclick.indexOf('window.open') != -1) + parseWindowOpen(onclick); + else + parseFunction(onclick); + + // Select by the values + selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir')); + selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel')); + selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev')); + selectByValue(formObj, 'linklisthref', href); + + if (href.charAt(0) == '#') + selectByValue(formObj, 'anchorlist', href); + + addClassesToList('classlist', 'advlink_styles'); + + selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true); + selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true); + } else + addClassesToList('classlist', 'advlink_styles'); +} + +function checkPrefix(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) + n.value = 'http://' + n.value; +} + +function setFormValue(name, value) { + document.forms[0].elements[name].value = value; +} + +function parseWindowOpen(onclick) { + var formObj = document.forms[0]; + + // Preprocess center code + if (onclick.indexOf('return false;') != -1) { + formObj.popupreturn.checked = true; + onclick = onclick.replace('return false;', ''); + } else + formObj.popupreturn.checked = false; + + var onClickData = parseLink(onclick); + + if (onClickData != null) { + formObj.ispopup.checked = true; + setPopupControlsDisabled(false); + + var onClickWindowOptions = parseOptions(onClickData['options']); + var url = onClickData['url']; + + formObj.popupname.value = onClickData['target']; + formObj.popupurl.value = url; + formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); + formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); + + formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); + formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); + + if (formObj.popupleft.value.indexOf('screen') != -1) + formObj.popupleft.value = "c"; + + if (formObj.popuptop.value.indexOf('screen') != -1) + formObj.popuptop.value = "c"; + + formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; + formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; + formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; + formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; + formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; + formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; + formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; + + buildOnClick(); + } +} + +function parseFunction(onclick) { + var formObj = document.forms[0]; + var onClickData = parseLink(onclick); + + // TODO: Add stuff here +} + +function getOption(opts, name) { + return typeof(opts[name]) == "undefined" ? "" : opts[name]; +} + +function setPopupControlsDisabled(state) { + var formObj = document.forms[0]; + + formObj.popupname.disabled = state; + formObj.popupurl.disabled = state; + formObj.popupwidth.disabled = state; + formObj.popupheight.disabled = state; + formObj.popupleft.disabled = state; + formObj.popuptop.disabled = state; + formObj.popuplocation.disabled = state; + formObj.popupscrollbars.disabled = state; + formObj.popupmenubar.disabled = state; + formObj.popupresizable.disabled = state; + formObj.popuptoolbar.disabled = state; + formObj.popupstatus.disabled = state; + formObj.popupreturn.disabled = state; + formObj.popupdependent.disabled = state; + + setBrowserDisabled('popupurlbrowser', state); +} + +function parseLink(link) { + link = link.replace(new RegExp(''', 'g'), "'"); + + var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); + + // Is function name a template function + var template = templates[fnName]; + if (template) { + // Build regexp + var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); + var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; + var replaceStr = ""; + for (var i=0; i'); + for (var i=0; i'; + html += ''; + + for (i=0; i' + name + ''; + } + + html += ''; + + return html; +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm, elementArray, i; + + elm = inst.selection.getNode(); + checkPrefix(document.forms[0].href); + + elm = inst.dom.getParent(elm, "A"); + + // Remove element if there is no href + if (!document.forms[0].href.value) { + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + i = inst.selection.getBookmark(); + inst.dom.remove(elm, 1); + inst.selection.moveToBookmark(i); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + // Create new anchor elements + if (elm == null) { + inst.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); + + elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); + for (i=0; i' + tinyMCELinkList[i][0] + ''; + + html += ''; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +function getTargetListHTML(elm_id, target_form_element) { + var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); + var html = ''; + + html += ''; + + return html; +} + +// While loading +preinit(); +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/langs/en_dlg.js new file mode 100755 index 00000000..c71ffbd0 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/langs/en_dlg.js @@ -0,0 +1,52 @@ +tinyMCE.addI18n('en.advlink_dlg',{ +title:"Insert/edit link", +url:"Link URL", +target:"Target", +titlefield:"Title", +is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +list:"Link list", +general_tab:"General", +popup_tab:"Popup", +events_tab:"Events", +advanced_tab:"Advanced", +general_props:"General properties", +popup_props:"Popup properties", +event_props:"Events", +advanced_props:"Advanced properties", +popup_opts:"Options", +anchor_names:"Anchors", +target_same:"Open in this window / frame", +target_parent:"Open in parent window / frame", +target_top:"Open in top frame (replaces all frames)", +target_blank:"Open in new window", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Window name", +popup_return:"Insert 'return false'", +popup_scrollbars:"Show scrollbars", +popup_statusbar:"Show status bar", +popup_toolbar:"Show toolbars", +popup_menubar:"Show menu bar", +popup_location:"Show location bar", +popup_resizable:"Make window resizable", +popup_dependent:"Dependent (Mozilla/Firefox only)", +popup_size:"Size", +popup_position:"Position (X/Y)", +id:"Id", +style:"Style", +classes:"Classes", +target_name:"Target name", +langdir:"Language direction", +target_langcode:"Target language", +langcode:"Language code", +encoding:"Target character encoding", +mime:"Target MIME type", +rel:"Relationship page to target", +rev:"Relationship target to page", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"Left to right", +rtl:"Right to left", +link_list:"Link list" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/link.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/link.htm new file mode 100755 index 00000000..876669c6 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlink/link.htm @@ -0,0 +1,333 @@ + + + + {#advlink_dlg.title} + + + + + + + + +
+ + +
+
+
+ {#advlink_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ +
+
+
+ + + +
+
+ {#advlink_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
+ +
+
+ {#advlink_dlg.event_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin.js new file mode 100755 index 00000000..02d16971 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square")},createControl:function(d,b){var f=this,e,h;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){h=f[d][0]}function c(i,k){var j=true;a(k.styles,function(m,l){if(f.editor.dom.getStyle(i,l)!=m){j=false;return false}});return j}function g(){var k,i=f.editor,l=i.dom,j=i.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,h)){i.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(h){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,h.styles);k.removeAttribute("_mce_style")}}}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){g()}});e.onRenderMenu.add(function(i,j){j.onShowMenu.add(function(){var m=f.editor.dom,l=m.getParent(f.editor.selection.getNode(),"ol,ul"),k;if(l||h){k=f[d];a(j.items,function(n){var o=true;n.setSelected(0);if(l&&!n.isDisabled()){a(k,function(p){if(p.id==n.id){if(!c(l,p)){o=false;return false}}});if(o){n.setSelected(1)}}});if(!l){j.items[h.id].setSelected(1)}}});j.add({id:f.editor.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle"}).setDisabled(1);a(f[d],function(k){k.id=f.editor.dom.uniqueId();j.add({id:k.id,title:k.title,onclick:function(){h=k;g()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin_src.js new file mode 100755 index 00000000..a61887a9 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/advlist/editor_plugin_src.js @@ -0,0 +1,154 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.AdvListPlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + function buildFormats(str) { + var formats = []; + + each(str.split(/,/), function(type) { + formats.push({ + title : 'advlist.' + (type == 'default' ? 'def' : type.replace(/-/g, '_')), + styles : { + listStyleType : type == 'default' ? '' : type + } + }); + }); + + return formats; + }; + + // Setup number formats from config or default + t.numlist = ed.getParam("advlist_number_styles") || buildFormats("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman"); + t.bullist = ed.getParam("advlist_bullet_styles") || buildFormats("default,circle,disc,square"); + }, + + createControl: function(name, cm) { + var t = this, btn, format; + + if (name == 'numlist' || name == 'bullist') { + // Default to first item if it's a default item + if (t[name][0].title == 'advlist.def') + format = t[name][0]; + + function hasFormat(node, format) { + var state = true; + + each(format.styles, function(value, name) { + // Format doesn't match + if (t.editor.dom.getStyle(node, name) != value) { + state = false; + return false; + } + }); + + return state; + }; + + function applyListFormat() { + var list, ed = t.editor, dom = ed.dom, sel = ed.selection; + + // Check for existing list element + list = dom.getParent(sel.getNode(), 'ol,ul'); + + // Switch/add list type if needed + if (!list || list.nodeName == (name == 'bullist' ? 'OL' : 'UL') || hasFormat(list, format)) + ed.execCommand(name == 'bullist' ? 'InsertUnorderedList' : 'InsertOrderedList'); + + // Append styles to new list element + if (format) { + list = dom.getParent(sel.getNode(), 'ol,ul'); + + if (list) { + dom.setStyles(list, format.styles); + list.removeAttribute('_mce_style'); + } + } + }; + + btn = cm.createSplitButton(name, { + title : 'advanced.' + name + '_desc', + 'class' : 'mce_' + name, + onclick : function() { + applyListFormat(); + } + }); + + btn.onRenderMenu.add(function(btn, menu) { + menu.onShowMenu.add(function() { + var dom = t.editor.dom, list = dom.getParent(t.editor.selection.getNode(), 'ol,ul'), fmtList; + + if (list || format) { + fmtList = t[name]; + + // Unselect existing items + each(menu.items, function(item) { + var state = true; + + item.setSelected(0); + + if (list && !item.isDisabled()) { + each(fmtList, function(fmt) { + if (fmt.id == item.id) { + if (!hasFormat(list, fmt)) { + state = false; + return false; + } + } + }); + + if (state) + item.setSelected(1); + } + }); + + // Select the current format + if (!list) + menu.items[format.id].setSelected(1); + } + }); + + menu.add({id : t.editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + each(t[name], function(item) { + item.id = t.editor.dom.uniqueId(); + + menu.add({id : item.id, title : item.title, onclick : function() { + format = item; + applyListFormat(); + }}); + }); + }); + + return btn; + } + }, + + getInfo : function() { + return { + longname : 'Advanced lists', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlist', tinymce.plugins.AdvListPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin.js new file mode 100755 index 00000000..1676b154 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this;if(a.getParam("fullscreen_is_enabled")){return}function b(){var h=a.getDoc(),e=h.body,j=h.documentElement,g=tinymce.DOM,i=d.autoresize_min_height,f;f=tinymce.isIE?e.scrollHeight:j.offsetHeight;if(f>d.autoresize_min_height){i=f}g.setStyle(g.get(a.id+"_ifr"),"height",i+"px");if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=a.getElement().offsetHeight;a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);if(a.getParam("autoresize_on_init",true)){a.onInit.add(function(f,e){f.setProgressState(true);d.throbbing=true;f.getBody().style.overflowY="hidden"});a.onLoadContent.add(function(f,e){b();setTimeout(function(){b();f.setProgressState(false);d.throbbing=false},1250)})}a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin_src.js new file mode 100755 index 00000000..c260b7a2 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autoresize/editor_plugin_src.js @@ -0,0 +1,119 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + /** + * Auto Resize + * + * This plugin automatically resizes the content area to fit its content height. + * It will retain a minimum height, which is the height of the content area when + * it's initialized. + */ + tinymce.create('tinymce.plugins.AutoResizePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + var t = this; + + if (ed.getParam('fullscreen_is_enabled')) + return; + + /** + * This method gets executed each time the editor needs to resize. + */ + function resize() { + var d = ed.getDoc(), b = d.body, de = d.documentElement, DOM = tinymce.DOM, resizeHeight = t.autoresize_min_height, myHeight; + + // Get height differently depending on the browser used + myHeight = tinymce.isIE ? b.scrollHeight : de.offsetHeight; + + // Don't make it smaller than the minimum height + if (myHeight > t.autoresize_min_height) + resizeHeight = myHeight; + + // Resize content element + DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px'); + + // if we're throbbing, we'll re-throb to match the new size + if (t.throbbing) { + ed.setProgressState(false); + ed.setProgressState(true); + } + }; + + t.editor = ed; + + // Define minimum height + t.autoresize_min_height = ed.getElement().offsetHeight; + + // Add appropriate listeners for resizing content area + ed.onChange.add(resize); + ed.onSetContent.add(resize); + ed.onPaste.add(resize); + ed.onKeyUp.add(resize); + ed.onPostRender.add(resize); + + if (ed.getParam('autoresize_on_init', true)) { + // Things to do when the editor is ready + ed.onInit.add(function(ed, l) { + // Show throbber until content area is resized properly + ed.setProgressState(true); + t.throbbing = true; + + // Hide scrollbars + ed.getBody().style.overflowY = "hidden"; + }); + + ed.onLoadContent.add(function(ed, l) { + resize(); + + // Because the content area resizes when its content CSS loads, + // and we can't easily add a listener to its onload event, + // we'll just trigger a resize after a short loading period + setTimeout(function() { + resize(); + + // Disable throbber + ed.setProgressState(false); + t.throbbing = false; + }, 1250); + }); + } + + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceAutoResize', resize); + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Auto Resize', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autoresize', tinymce.plugins.AutoResizePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/editor_plugin.js new file mode 100755 index 00000000..6e485400 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/editor_plugin.js @@ -0,0 +1 @@ +(function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent({draft:true}).replace(/\s| |<\/?p[^>]*>|]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();m.save("TinyMCE")},getItem:function(l){var m=i.getElement();m.load("TinyMCE");return m.getAttribute(l)},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent({draft:true});if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,i=h.storage;if(i){content=i.getItem(h.key);if(content){h.editor.setContent(content);h.onRestoreDraft.dispatch(h,{content:content})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()]*>|]*>/gi, "").length > 0) { + // Show confirm dialog if the editor isn't empty + ed.windowManager.confirm( + PLUGIN_NAME + ".warning_message", + function(ok) { + if (ok) + self.restoreDraft(); + } + ); + } else + self.restoreDraft(); + } + }); + + // Enable/disable restoredraft button depending on if there is a draft stored or not + ed.onNodeChange.add(function() { + var controlManager = ed.controlManager; + + if (controlManager.get(RESTORE_DRAFT)) + controlManager.setDisabled(RESTORE_DRAFT, !self.hasDraft()); + }); + + ed.onInit.add(function() { + // Check if the user added the restore button, then setup auto storage logic + if (ed.controlManager.get(RESTORE_DRAFT)) { + // Setup storage engine + self.setupStorage(ed); + + // Auto save contents each interval time + setInterval(function() { + self.storeDraft(); + ed.nodeChanged(); + }, settings.autosave_interval); + } + }); + + /** + * This event gets fired when a draft is stored to local storage. + * + * @event onStoreDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onStoreDraft = new Dispatcher(self); + + /** + * This event gets fired when a draft is restored from local storage. + * + * @event onStoreDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onRestoreDraft = new Dispatcher(self); + + /** + * This event gets fired when a draft removed/expired. + * + * @event onRemoveDraft + * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event. + * @param {Object} draft Draft object containing the HTML contents of the editor. + */ + self.onRemoveDraft = new Dispatcher(self); + + // Add ask before unload dialog only add one unload handler + if (!unloadHandlerAdded) { + window.onbeforeunload = tinymce.plugins.AutoSave._beforeUnloadHandler; + unloadHandlerAdded = TRUE; + } + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @method getInfo + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Auto save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + /** + * Returns an expiration date UTC string. + * + * @method getExpDate + * @return {String} Expiration date UTC string. + */ + getExpDate : function() { + return new Date( + new Date().getTime() + this.editor.settings.autosave_retention + ).toUTCString(); + }, + + /** + * This method will setup the storage engine. If the browser has support for it. + * + * @method setupStorage + */ + setupStorage : function(ed) { + var self = this, testKey = PLUGIN_NAME + '_test', testVal = "OK"; + + self.key = PLUGIN_NAME + ed.id; + + // Loop though each storage engine type until we find one that works + tinymce.each([ + function() { + // Try HTML5 Local Storage + if (localStorage) { + localStorage.setItem(testKey, testVal); + + if (localStorage.getItem(testKey) === testVal) { + localStorage.removeItem(testKey); + + return localStorage; + } + } + }, + + function() { + // Try HTML5 Session Storage + if (sessionStorage) { + sessionStorage.setItem(testKey, testVal); + + if (sessionStorage.getItem(testKey) === testVal) { + sessionStorage.removeItem(testKey); + + return sessionStorage; + } + } + }, + + function() { + // Try IE userData + if (tinymce.isIE) { + ed.getElement().style.behavior = "url('#default#userData')"; + + // Fake localStorage on old IE + return { + autoExpires : TRUE, + + setItem : function(key, value) { + var userDataElement = ed.getElement(); + + userDataElement.setAttribute(key, value); + userDataElement.expires = self.getExpDate(); + userDataElement.save("TinyMCE"); + }, + + getItem : function(key) { + var userDataElement = ed.getElement(); + + userDataElement.load("TinyMCE"); + + return userDataElement.getAttribute(key); + }, + + removeItem : function(key) { + ed.getElement().removeAttribute(key); + } + }; + } + }, + ], function(setup) { + // Try executing each function to find a suitable storage engine + try { + self.storage = setup(); + + if (self.storage) + return false; + } catch (e) { + // Ignore + } + }); + }, + + /** + * This method will store the current contents in the the storage engine. + * + * @method storeDraft + */ + storeDraft : function() { + var self = this, storage = self.storage, editor = self.editor, expires, content; + + // Is the contents dirty + if (storage) { + // If there is no existing key and the contents hasn't been changed since + // it's original value then there is no point in saving a draft + if (!storage.getItem(self.key) && !editor.isDirty()) + return; + + // Store contents if the contents if longer than the minlength of characters + content = editor.getContent({draft: true}); + if (content.length > editor.settings.autosave_minlength) { + expires = self.getExpDate(); + + // Store expiration date if needed IE userData has auto expire built in + if (!self.storage.autoExpires) + self.storage.setItem(self.key + "_expires", expires); + + self.storage.setItem(self.key, content); + self.onStoreDraft.dispatch(self, { + expires : expires, + content : content + }); + } + } + }, + + /** + * This method will restore the contents from the storage engine back to the editor. + * + * @method restoreDraft + */ + restoreDraft : function() { + var self = this, storage = self.storage; + + if (storage) { + content = storage.getItem(self.key); + + if (content) { + self.editor.setContent(content); + self.onRestoreDraft.dispatch(self, { + content : content + }); + } + } + }, + + /** + * This method will return true/false if there is a local storage draft available. + * + * @method hasDraft + * @return {boolean} true/false state if there is a local draft. + */ + hasDraft : function() { + var self = this, storage = self.storage, expDate, exists; + + if (storage) { + // Does the item exist at all + exists = !!storage.getItem(self.key); + if (exists) { + // Storage needs autoexpire + if (!self.storage.autoExpires) { + expDate = new Date(storage.getItem(self.key + "_expires")); + + // Contents hasn't expired + if (new Date().getTime() < expDate.getTime()) + return TRUE; + + // Remove it if it has + self.removeDraft(); + } else + return TRUE; + } + } + + return false; + }, + + /** + * Removes the currently stored draft. + * + * @method removeDraft + */ + removeDraft : function() { + var self = this, storage = self.storage, key = self.key, content; + + if (storage) { + // Get current contents and remove the existing draft + content = storage.getItem(key); + storage.removeItem(key); + storage.removeItem(key + "_expires"); + + // Dispatch remove event if we had any contents + if (content) { + self.onRemoveDraft.dispatch(self, { + content : content + }); + } + } + }, + + "static" : { + // Internal unload handler will be called before the page is unloaded + _beforeUnloadHandler : function(e) { + var msg; + + tinymce.each(tinyMCE.editors, function(ed) { + // Store a draft for each editor instance + if (ed.plugins.autosave) + ed.plugins.autosave.storeDraft(); + + // Never ask in fullscreen mode + if (ed.getParam("fullscreen_is_enabled")) + return; + + // Setup a return message if the editor is dirty + if (!msg && ed.isDirty() && ed.getParam("autosave_ask_before_unload")) + msg = ed.getLang("autosave.unload_msg"); + }); + + return msg; + } + } + }); + + tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSave); +})(tinymce); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/langs/en.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/langs/en.js new file mode 100755 index 00000000..fce6bd3e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/autosave/langs/en.js @@ -0,0 +1,4 @@ +tinyMCE.addI18n('en.autosave',{ +restore_content: "Restore auto-saved content", +warning_message: "If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin.js new file mode 100755 index 00000000..930fdff0 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(a,b){var d=this,c=a.getParam("bbcode_dialect","punbb").toLowerCase();a.onBeforeSetContent.add(function(e,f){f.content=d["_"+c+"_bbcode2html"](f.content)});a.onPostProcess.add(function(e,f){if(f.set){f.content=d["_"+c+"_bbcode2html"](f.content)}if(f.get){f.content=d["_"+c+"_html2bbcode"](f.content)}})},getInfo:function(){return{longname:"BBCode Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_punbb_html2bbcode:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/(.*?)<\/a>/gi,"[url=$1]$2[/url]");b(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");b(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");b(/(.*?)<\/span>/gi,"[color=$1]$2[/color]");b(/(.*?)<\/font>/gi,"[color=$1]$2[/color]");b(/(.*?)<\/span>/gi,"[size=$1]$2[/size]");b(/(.*?)<\/font>/gi,"$1");b(//gi,"[img]$1[/img]");b(/(.*?)<\/span>/gi,"[code]$1[/code]");b(/(.*?)<\/span>/gi,"[quote]$1[/quote]");b(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");b(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");b(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");b(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");b(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");b(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");b(/<\/(strong|b)>/gi,"[/b]");b(/<(strong|b)>/gi,"[b]");b(/<\/(em|i)>/gi,"[/i]");b(/<(em|i)>/gi,"[i]");b(/<\/u>/gi,"[/u]");b(/(.*?)<\/span>/gi,"[u]$1[/u]");b(//gi,"[u]");b(/]*>/gi,"[quote]");b(/<\/blockquote>/gi,"[/quote]");b(/
/gi,"\n");b(//gi,"\n");b(/
/gi,"\n");b(/

/gi,"");b(/<\/p>/gi,"\n");b(/ /gi," ");b(/"/gi,'"');b(/</gi,"<");b(/>/gi,">");b(/&/gi,"&");return a},_punbb_bbcode2html:function(a){a=tinymce.trim(a);function b(c,d){a=a.replace(c,d)}b(/\n/gi,"
");b(/\[b\]/gi,"");b(/\[\/b\]/gi,"");b(/\[i\]/gi,"");b(/\[\/i\]/gi,"");b(/\[u\]/gi,"");b(/\[\/u\]/gi,"");b(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2');b(/\[url\](.*?)\[\/url\]/gi,'$1');b(/\[img\](.*?)\[\/img\]/gi,'');b(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2');b(/\[code\](.*?)\[\/code\]/gi,'$1 ');b(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 ');return a}});tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin_src.js new file mode 100755 index 00000000..5586637f --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/bbcode/editor_plugin_src.js @@ -0,0 +1,120 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.BBCodePlugin', { + init : function(ed, url) { + var t = this, dialect = ed.getParam('bbcode_dialect', 'punbb').toLowerCase(); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = t['_' + dialect + '_bbcode2html'](o.content); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t['_' + dialect + '_bbcode2html'](o.content); + + if (o.get) + o.content = t['_' + dialect + '_html2bbcode'](o.content); + }); + }, + + getInfo : function() { + return { + longname : 'BBCode Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + // HTML -> BBCode in PunBB dialect + _punbb_html2bbcode : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: to [b] + rep(/(.*?)<\/a>/gi,"[url=$1]$2[/url]"); + rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"); + rep(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"); + rep(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"); + rep(/(.*?)<\/font>/gi,"$1"); + rep(//gi,"[img]$1[/img]"); + rep(/(.*?)<\/span>/gi,"[code]$1[/code]"); + rep(/(.*?)<\/span>/gi,"[quote]$1[/quote]"); + rep(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"); + rep(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"); + rep(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"); + rep(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"); + rep(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"); + rep(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"); + rep(/<\/(strong|b)>/gi,"[/b]"); + rep(/<(strong|b)>/gi,"[b]"); + rep(/<\/(em|i)>/gi,"[/i]"); + rep(/<(em|i)>/gi,"[i]"); + rep(/<\/u>/gi,"[/u]"); + rep(/(.*?)<\/span>/gi,"[u]$1[/u]"); + rep(//gi,"[u]"); + rep(/]*>/gi,"[quote]"); + rep(/<\/blockquote>/gi,"[/quote]"); + rep(/
/gi,"\n"); + rep(//gi,"\n"); + rep(/
/gi,"\n"); + rep(/

/gi,""); + rep(/<\/p>/gi,"\n"); + rep(/ /gi," "); + rep(/"/gi,"\""); + rep(/</gi,"<"); + rep(/>/gi,">"); + rep(/&/gi,"&"); + + return s; + }, + + // BBCode -> HTML from PunBB dialect + _punbb_bbcode2html : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: [b] to + rep(/\n/gi,"
"); + rep(/\[b\]/gi,""); + rep(/\[\/b\]/gi,""); + rep(/\[i\]/gi,""); + rep(/\[\/i\]/gi,""); + rep(/\[u\]/gi,""); + rep(/\[\/u\]/gi,""); + rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"$2"); + rep(/\[url\](.*?)\[\/url\]/gi,"$1"); + rep(/\[img\](.*?)\[\/img\]/gi,""); + rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"$2"); + rep(/\[code\](.*?)\[\/code\]/gi,"$1 "); + rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"$1 "); + + return s; + } + }); + + // Register plugin + tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin.js new file mode 100755 index 00000000..9749e516 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.ContextMenu",{init:function(d){var f=this,g;f.editor=d;f.onContextMenu=new tinymce.util.Dispatcher(this);d.onContextMenu.add(function(h,i){if(!i.ctrlKey){if(g){h.selection.setRng(g)}f._getMenu(h).showMenu(i.clientX,i.clientY);a.add(h.getDoc(),"click",function(j){e(h,j)});a.cancel(i)}});d.onRemove.add(function(){if(f._menu){f._menu.removeAll()}});function e(h,i){g=null;if(i&&i.button==2){g=h.selection.getRng();return}if(f._menu){f._menu.removeAll();f._menu.destroy();a.remove(h.getDoc(),"click",e)}}d.onMouseDown.add(e);d.onKeyDown.add(e)},getInfo:function(){return{longname:"Contextmenu",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getMenu:function(h){var l=this,f=l._menu,i=h.selection,e=i.isCollapsed(),d=i.getNode()||h.getBody(),g,k,j;if(f){f.removeAll();f.destroy()}k=b.getPos(h.getContentAreaContainer());j=b.getPos(h.getContainer());f=h.controlManager.createDropMenu("contextmenu",{offset_x:k.x+h.getParam("contextmenu_offset_x",0),offset_y:k.y+h.getParam("contextmenu_offset_y",0),constrain:1});l._menu=f;f.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(e);f.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(e);f.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((d.nodeName=="A"&&!h.dom.getAttrib(d,"name"))||!e){f.addSeparator();f.add({title:"advanced.link_desc",icon:"link",cmd:h.plugins.advlink?"mceAdvLink":"mceLink",ui:true});f.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}f.addSeparator();f.add({title:"advanced.image_desc",icon:"image",cmd:h.plugins.advimage?"mceAdvImage":"mceImage",ui:true});f.addSeparator();g=f.addMenu({title:"contextmenu.align"});g.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});g.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});g.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});g.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});l.onContextMenu.dispatch(l,f,d,e);return f}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin_src.js new file mode 100755 index 00000000..13813a64 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/contextmenu/editor_plugin_src.js @@ -0,0 +1,147 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var Event = tinymce.dom.Event, each = tinymce.each, DOM = tinymce.DOM; + + /** + * This plugin a context menu to TinyMCE editor instances. + * + * @class tinymce.plugins.ContextMenu + */ + tinymce.create('tinymce.plugins.ContextMenu', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @method init + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed) { + var t = this, lastRng; + + t.editor = ed; + + /** + * This event gets fired when the context menu is shown. + * + * @event onContextMenu + * @param {tinymce.plugins.ContextMenu} sender Plugin instance sending the event. + * @param {tinymce.ui.DropMenu} menu Drop down menu to fill with more items if needed. + */ + t.onContextMenu = new tinymce.util.Dispatcher(this); + + ed.onContextMenu.add(function(ed, e) { + if (!e.ctrlKey) { + // Restore the last selection since it was removed + if (lastRng) + ed.selection.setRng(lastRng); + + t._getMenu(ed).showMenu(e.clientX, e.clientY); + Event.add(ed.getDoc(), 'click', function(e) { + hide(ed, e); + }); + Event.cancel(e); + } + }); + + ed.onRemove.add(function() { + if (t._menu) + t._menu.removeAll(); + }); + + function hide(ed, e) { + lastRng = null; + + // Since the contextmenu event moves + // the selection we need to store it away + if (e && e.button == 2) { + lastRng = ed.selection.getRng(); + return; + } + + if (t._menu) { + t._menu.removeAll(); + t._menu.destroy(); + Event.remove(ed.getDoc(), 'click', hide); + } + }; + + ed.onMouseDown.add(hide); + ed.onKeyDown.add(hide); + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @method getInfo + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Contextmenu', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _getMenu : function(ed) { + var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p1, p2; + + if (m) { + m.removeAll(); + m.destroy(); + } + + p1 = DOM.getPos(ed.getContentAreaContainer()); + p2 = DOM.getPos(ed.getContainer()); + + m = ed.controlManager.createDropMenu('contextmenu', { + offset_x : p1.x + ed.getParam('contextmenu_offset_x', 0), + offset_y : p1.y + ed.getParam('contextmenu_offset_y', 0), + constrain : 1 + }); + + t._menu = m; + + m.add({title : 'advanced.cut_desc', icon : 'cut', cmd : 'Cut'}).setDisabled(col); + m.add({title : 'advanced.copy_desc', icon : 'copy', cmd : 'Copy'}).setDisabled(col); + m.add({title : 'advanced.paste_desc', icon : 'paste', cmd : 'Paste'}); + + if ((el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) || !col) { + m.addSeparator(); + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + } + + m.addSeparator(); + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + + m.addSeparator(); + am = m.addMenu({title : 'contextmenu.align'}); + am.add({title : 'contextmenu.left', icon : 'justifyleft', cmd : 'JustifyLeft'}); + am.add({title : 'contextmenu.center', icon : 'justifycenter', cmd : 'JustifyCenter'}); + am.add({title : 'contextmenu.right', icon : 'justifyright', cmd : 'JustifyRight'}); + am.add({title : 'contextmenu.full', icon : 'justifyfull', cmd : 'JustifyFull'}); + + t.onContextMenu.dispatch(t, m, el, col); + + return m; + } + }); + + // Register plugin + tinymce.PluginManager.add('contextmenu', tinymce.plugins.ContextMenu); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin.js new file mode 100755 index 00000000..bce8e739 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Directionality",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceDirectionLTR",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="ltr"){a.dom.setAttrib(d,"dir","ltr")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addCommand("mceDirectionRTL",function(){var d=a.dom.getParent(a.selection.getNode(),a.dom.isBlock);if(d){if(a.dom.getAttrib(d,"dir")!="rtl"){a.dom.setAttrib(d,"dir","rtl")}else{a.dom.setAttrib(d,"dir","")}}a.nodeChanged()});a.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});a.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});a.onNodeChange.add(c._nodeChange,c)},getInfo:function(){return{longname:"Directionality",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,e){var d=b.dom,c;e=d.getParent(e,d.isBlock);if(!e){a.setDisabled("ltr",1);a.setDisabled("rtl",1);return}c=d.getAttrib(e,"dir");a.setActive("ltr",c=="ltr");a.setDisabled("ltr",0);a.setActive("rtl",c=="rtl");a.setDisabled("rtl",0)}});tinymce.PluginManager.add("directionality",tinymce.plugins.Directionality)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin_src.js new file mode 100755 index 00000000..4444959b --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/directionality/editor_plugin_src.js @@ -0,0 +1,82 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Directionality', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + ed.addCommand('mceDirectionLTR', function() { + var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); + + if (e) { + if (ed.dom.getAttrib(e, "dir") != "ltr") + ed.dom.setAttrib(e, "dir", "ltr"); + else + ed.dom.setAttrib(e, "dir", ""); + } + + ed.nodeChanged(); + }); + + ed.addCommand('mceDirectionRTL', function() { + var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); + + if (e) { + if (ed.dom.getAttrib(e, "dir") != "rtl") + ed.dom.setAttrib(e, "dir", "rtl"); + else + ed.dom.setAttrib(e, "dir", ""); + } + + ed.nodeChanged(); + }); + + ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'}); + ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'}); + + ed.onNodeChange.add(t._nodeChange, t); + }, + + getInfo : function() { + return { + longname : 'Directionality', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var dom = ed.dom, dir; + + n = dom.getParent(n, dom.isBlock); + if (!n) { + cm.setDisabled('ltr', 1); + cm.setDisabled('rtl', 1); + return; + } + + dir = dom.getAttrib(n, 'dir'); + cm.setActive('ltr', dir == "ltr"); + cm.setDisabled('ltr', 0); + cm.setActive('rtl', dir == "rtl"); + cm.setDisabled('rtl', 0); + } + }); + + // Register plugin + tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin.js new file mode 100755 index 00000000..dbdd8ffb --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin.js @@ -0,0 +1 @@ +(function(a){a.create("tinymce.plugins.EmotionsPlugin",{init:function(b,c){b.addCommand("mceEmotion",function(){b.windowManager.open({file:c+"/emotions.htm",width:250+parseInt(b.getLang("emotions.delta_width",0)),height:160+parseInt(b.getLang("emotions.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("emotions",{title:"emotions.emotions_desc",cmd:"mceEmotion"})},getInfo:function(){return{longname:"Emotions",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("emotions",a.plugins.EmotionsPlugin)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin_src.js new file mode 100755 index 00000000..71d54169 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/editor_plugin_src.js @@ -0,0 +1,43 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + tinymce.create('tinymce.plugins.EmotionsPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceEmotion', function() { + ed.windowManager.open({ + file : url + '/emotions.htm', + width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)), + height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'}); + }, + + getInfo : function() { + return { + longname : 'Emotions', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/emotions.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/emotions.htm new file mode 100755 index 00000000..55a1d72f --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/emotions.htm @@ -0,0 +1,40 @@ + + + + {#emotions_dlg.title} + + + + +

+
{#emotions_dlg.title}:

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
{#emotions_dlg.cool}{#emotions_dlg.cry}{#emotions_dlg.embarassed}{#emotions_dlg.foot_in_mouth}
{#emotions_dlg.frown}{#emotions_dlg.innocent}{#emotions_dlg.kiss}{#emotions_dlg.laughing}
{#emotions_dlg.money_mouth}{#emotions_dlg.sealed}{#emotions_dlg.smile}{#emotions_dlg.surprised}
{#emotions_dlg.tongue-out}{#emotions_dlg.undecided}{#emotions_dlg.wink}{#emotions_dlg.yell}
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-cool.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-cool.gif new file mode 100755 index 0000000000000000000000000000000000000000..ba90cc36fb0415d0273d1cd206bff63fd9c91fde GIT binary patch literal 354 zcmV-o0iFIwNk%w1VG;lm0Mr!#3ke00dJfFY%i+lrhK7V(RutUQJhPY;?(XfrsZKgL z7WLQ^zPO&zzav{)SL^9nBOw~z(=orMEH5uC-P_gr`uhCnASMa|$-iRw?m_(dUwU8) zq>Kx}s1_F$4FCWDA^8LW0018VEC2ui01^Na000Hw;3tYzX_jM3Qpv$_M?zI9i5=0S zX-{-uv=l3%&P0s%m9Ox_a(m_c|u z01g3U0`Wll5)poVdma=N8y<3f0Sf~hXmTC}2oxMW4FdxUj+z4<0}lrX2nP=qkDRIt z9Ge*(qzMrj3jrIOjvI{`5eWzt3`G_T8yChG8w(a19SkK12@M(+799Zr9n=~PzBCmA z5)BU-)YKUd4H5!D9|!^o9kWIe9SH(WDHRk92}DZ?3})2$P@$55g90f0N)ZA8JID5J Aw*UYD literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-cry.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-cry.gif new file mode 100755 index 0000000000000000000000000000000000000000..74d897a4f6d22e814e2b054e98b8a75fb464b4be GIT binary patch literal 329 zcmV-P0k-}}Nk%w1VG;lm0Mr-&E)xPSit@9T3%;vR+|V+?t0A(pllJjXrMl7n=_A_a za^B+Su$LjvyC3@TIQZNZa##w=!k(SO^P#bO*w(eU#;{U83XFCU_V)J5wrb+;g2vkN z#>U24qVoOvY5)KLA^8LW0018VEC2ui01^Na000HX;3tY$X_jM3QUfCh%s^o(nF++< zc?Th6v=oL>*by8K!mhvwelUXuuW&&U9iGO3hM@>Njw{l^#0q9mWpcefdI;O$;efnY zkd~@r-o$*74FCWI1%d((4+jDz0va0>69^fI6%`W{8w!gU1pyL>prH>E0R<%k6Aq%H z4ij+^9TEwM5P}eh2@)L<~6+>@EpxfA0YrcPNsSu literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-embarassed.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-embarassed.gif new file mode 100755 index 0000000000000000000000000000000000000000..963a96b8a7593b1d8bcbab073abe5ee4e539dbf6 GIT binary patch literal 331 zcmV-R0kr-{Nk%w1VG;lm0MrryDh>j~yq&6%75dW~z^P39(NxsGDE{UkxtkIEq(S-a zRKlwv+S=Lr?>hbYY~sQ?c3T&ZcN_Nh_EU3s(>Io6B&>WW`@bsw**)Ocy1bht z{*G6|uwwqUQ2+n{A^8LW0018VEC2ui01^Na000HZ;3tYwX_jM3YQ!c88=*-m*&&bO zILd=`w3KAC;8hxpif*w9ek6oqV-Z0L77fROK$BSR@5BAv-%C>6y>>#+D4e#&nz^qMDItlpp zTG728+|V&?R13PIEBW(C`uh6d*t-1sZ^XQv;oDD}iYLOV7uVO;{`xl4#4tJ{0;h@! z>)kfFn;iS@Hvj+tA^8LW0018VEC2ui01^Na000Hm;3tYuX_jM3Mo7199TGt*Nf;R= zNmOPKwA8_2Q6MTDP6eT`I1VESVj-zGIG(JdB3U44kcdI@;AAq{Gv^^O%%ltj2GdB) z>vIL;d*~=0a|w1Bf^!cF9R~+vb94;_0}TxWlnMrlj2MuVoSYAreF`3(0|pHS8VLgr zi3bP_qZ;q#>Sw62=mns-On=0wransPVevT^YK{Dy(0YY zH)vE6x0?;Wqb>gZas1^OT0si>`ugD5y87}*#H$s=yq(wA*8cf7{`y+(+9J7|9QfT7 z`ROHiU=Y&6FaQ7mA^8LW0018VEC2ui01^Na000Hi;3tYvX_jM3N`@u~nju9hSuh^r zIEcp-wA7(NL0~2d#RP+(G!CPPA>o*KJjv_CkucCA5=K?AfF#RG2V*8BU@jL304|4P z2;PGRF@bj$et;Jf2pR_mVsIA<85|n}kQ*Bq42Ovqj*yy>6P0=h3X&9Z01yyk~2N4w%7#RW^55W%`0vQ+-6(y_*2pqz~90*;x9}yM}%$UI(7t#$D mK_3Se1{4HKM+6iG7EmeH6$V631{L5n)#CyC0qx-*Apkoyg?w!Q literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-innocent.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-innocent.gif new file mode 100755 index 0000000000000000000000000000000000000000..334d49e0e60f2997c9ba24071764f95d9e08a5cc GIT binary patch literal 336 zcmV-W0k8f?Nk%w1VG;lm0MrryI4TI-%dP0m5~*+Y`T~ z7Rth){q{I_X%*S48uRZ|(b3V&wIKTX`u+WJzo<^$#wuY;3W|Cf{O29IkTAcaE&lpe z+P*^H)-tknA^-pYA^8LW0018VEC2ui01^Na000He;3tYwX_n)75QgVvNQ`6#5gcMm zEEG~blgXokptKAJgCU?%JT?yos!R6cPtcQWh2siHlNI2L}ifQhgX02^InZ2?-ktkqVRyZJY^Trk|lv zovp437?1~d46O)?2(1i+2NDYk8<+_Kil!K!3njA^!I#dL8x<729}*B65mC=m5gHH@ iDi9P3f*VjB3KS4HDb_qqRul{0DIT=Nk%w1VG;lm0Mrx!QauaC#>Vb6G=_5=^YB^9wrc376Sb5I-qJGf@9vZ# z5WlKU(!eVB+7tfnDXp0zyB`?BZ5IChalob*`uh6d*t+@dKGHcU+L|83yq*5~IoH?L zy`?Gp<{bX|SpWb4A^8LW0018VEC2ui01^Na000Hg;3tYyX_jM3R?Bl7&r(q;SsVx< zNd$5fv{ZsKA$SlL3&KN~a1tZRf*~1Ltkx9~2uL3&z-yb0WJDRY082|tP literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-laughing.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-laughing.gif new file mode 100755 index 0000000000000000000000000000000000000000..1606c119e75678c4031f384e0d50849906e8f533 GIT binary patch literal 344 zcmV-e0jK^)Nk%w1VG;lm0MruzQauf>s;1-69HWK?p_PpF=Pd8~Ygtcnp*fHAL z**;z>w3iC}`fmL6IkKB1N;3zEa}&zKpsu1;_V)HocR5-{J~BcYvE`YXhBnc@CfU=! za(Ec zG>66zv=rqr;2j)}gKqE$ekcSD?}0=WLB?AWp85)qALd+P=4)6X4oXy{bw2>K^d$ z@6ERvva+(4ib~41YUkTEn1&#?rzrOHT>1I=Y*h`+%*@WtPUPg|!@EEI_d5LgZ>^Og z-qyCjsu$J9F8}}lA^8LW0018VEC2ui01^Na000HT;3tYxX_jM37RWXX8&XUv=@{Oj zX@_Sxw3H&!kzgQ?2LvPOL=>Y5VxieY9+_+eqFEql6OKWXd3Ze8Ggf2Zln@U|mI9d9 zGm^(wVUTA5cYs-V1`2#+a})^z6chrF5`~8k5e6@pmkW`GeGw<069yTQaGnH)s0suV zR|pCd0ZtRCsjM9VB^L+~7X%f*zyuc%2p3=#ycf#L%McYo9|{Z&5D^#_78qL%3{WW( X7Xb)FP6z?UH6ODVz!ev-DIowmgll^P literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-smile.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-smile.gif new file mode 100755 index 0000000000000000000000000000000000000000..e6a9e60d5ddd1243fbbf2197b4dc6cd9c1b58b93 GIT binary patch literal 345 zcmV-f0jB;(Nk%w1VG;lm0MrlwCJF+^#>SR<4C>Dj%C>6W(lWoQPVevT^YB^Fy&h6M z4YZgH{O~qtR1(Ci8T;lQ`uh6d*t-7xar*K{#Jrulo-Wtd*44u?{`oh#n;gQXGXDEo z_}UVAU=FH^0ssI2A^8LW0018VEC2ui01^Na000Hn;3tYuX_jM3Mn>j&nGr!MNh}v4 zNyxPjwA7*EKx`%q#$Vl9SM>N9ReH-cn1&^4jYXf0KotqjT;UWC94U(4-NtX4#i!%9}pHA2?&dg3>XLr r8Wuqx2Nnhn1xrT-4h9xbDb^GQ8V(K`1{C5o)#U;I0p5-K5CQ-@9%ySnDDC*4*{OcpiwransPVevTQacIr@mkQp zCf(06s)_=>r7UYx48o@u`uh6d*t-7rH~ji<`P&oj;5Wp)o!8ga`SV6TA_BIW5#ZWV z{`*+__>9}pJ}3JDSl85wB_3Jn)Q o9|so(4+|I^92g4^1{Y8%(iR3pP6ig=HPPY$`~mLZA3^{CJDB=?L;wH) literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-tongue-out.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-tongue-out.gif new file mode 100755 index 0000000000000000000000000000000000000000..2075dc16058f1f17912167675ce5cfb9986fc71d GIT binary patch literal 328 zcmV-O0k{4~Nk%w1VG;lm0Mrx!CJF+^#>SU@3-{U*rx+Q^wrc$ABfqLn@9*x?z8(4X zSW-O=@){bmmI~g|GQXoP);cvj3|f1M8e@{G*!tYaiCEujj1NGxRN#6#tiCETo+{x{Hkzt z5k-kPvcD=V2nbmjCgL6k{uF&2nP-t0s;w<385Nx2oxDb z9T5Pp7qJl?3Kkh9oe2sCr5F$p7zPSlsUH*@54w*83=9Or4;w)r2pcU95(FL|1Th;< aDaRQH4;Tal7#Y$v#?=Au0pHUfApkpvZg^t= literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-undecided.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-undecided.gif new file mode 100755 index 0000000000000000000000000000000000000000..bef7e257303f8243c89787e7a7f9955dd1f112e2 GIT binary patch literal 337 zcmV-X0j~Z>Nk%w1VG;lm0MroxDi#99#>R?y8~4}{%C>6#>?OadPVevTr-=vi@LATn z4rERY-qJF+n+?CCE&B3D{{3Shh?>WT0o%`b%*Voqm`dL;(4F35y zc485^n;g!+Bme*aA^8LW0018VEC2ui01^Na000Hf;3tYvX_jM3N=AnuogqakNi<9X zK?&0kwA8^tNn{?C$|IAYI1ZzT!2>}iuMddFK#NEkRl!7%6brJAnUs;)XcnA}TNBSP zxQ9;SvEfwYeSaGd2^|LqU~(QF1qBxr3Ii7x84ZVt8wCTKoSYAqc?p`G2onnpk`IOl z1`HLGj}riN2p1K12N4z&8IBDc6tEWs859;JtRB6>lf+xO9}yT19toMv8wnl`7(pKg j7zPv!OGgY81{hE&(iR3pP6ig;HPPS!_yOwPA0Yrc)=Yf3 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-wink.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-wink.gif new file mode 100755 index 0000000000000000000000000000000000000000..9faf1aff8f4b28e02f4f414975fe1859c43b6b54 GIT binary patch literal 351 zcmV-l0igazNk%w1VG;lm0MrryC=CL}#>Sn03F^-g-qAA3wransPV?|t@9*x%vmQ`7 z4E*pcw3rOOq%3t@4*K#({N^40{c-yG`rz2Q!KfI-yq*61HrBop*VoqW<}&{JS@_x# zwwfH#!YTdnIsgCwA^8LW0018VEC2ui01^Na000Ht;3tYwX_jM3P6j6koH0o%Sun&A zMF+tYv=pL2IcOdp&qH&dG!P?+ArV0)J)O=Yk}%LD6Go&#@MJn3he8=)%%lWOM*#pN zEDD9iq9J$@90v~;83`GC4i0+{2OJ0pVtacF5E}yn8<`pmkCBv_pqZEtoPY-l0}P>= z3WE6cr`19U7DgF9{F}at6R35*Q5~ x2OgBy9tRx_7(pKh7zPvsOGgA01{hE&-4zBzP6id}HMp@0Krnzkbss_i06S`>cdh^c literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-yell.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/emotions/img/smiley-yell.gif new file mode 100755 index 0000000000000000000000000000000000000000..648e6e879123fe49beebbc1f3635141864a79a9c GIT binary patch literal 336 zcmV-W0k8f?Nk%w1VG;lm0MrryG8O{K#>IbS7WCB_mWF$+hzY-{PWkp(?(Xf;zbH~P z3jOdj?W+^YwrakfE8fyG&5jTBz!3WS`fgM_;MltQ+c}4GO8)(E`S3`@yq&d~5!ct& z)v79NObo)O7XSbNA^8LW0018VEC2ui01^Na000He;3tYwX_jM3QifI(nn6h_*=Wyk zUB{y}v=qYOIUF#R3dZPhAVv~H;(|a2yN_5FH&J0|$eJ3kw4gj1Y?v5d#>LMV12^6BYy$1)ZKA zga!|m2?POz0R)f>4+aPl8KD{gz`+G_9vLMFQU?RU!8uyH9}*i52|cC+7S0YEK_3Vk i1|APfM-Ltb8&4_H83sg61{vHn(cc000qNZzApkp + + + {#example_dlg.title} + + + + + +
+

Here is a example dialog.

+

Selected text:

+

Custom arg:

+ +
+ + +
+
+ + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin.js new file mode 100755 index 00000000..ec1f81ea --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin_src.js new file mode 100755 index 00000000..9a0e7da1 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/editor_plugin_src.js @@ -0,0 +1,84 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + // Load plugin specific language pack + tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.ExamplePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceExample', function() { + ed.windowManager.open({ + file : url + '/dialog.htm', + width : 320 + parseInt(ed.getLang('example.delta_width', 0)), + height : 120 + parseInt(ed.getLang('example.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('example', { + title : 'example.desc', + cmd : 'mceExample', + image : url + '/img/example.gif' + }); + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('example', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Example plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/img/example.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/example/img/example.gif new file mode 100755 index 0000000000000000000000000000000000000000..1ab5da4461113d2af579898528246fdbe52ecd00 GIT binary patch literal 87 zcmZ?wbhEHb6k!lyn83&Y1dNP~ia%L^OhyJB5FaGNz@*pGzw+SQ`#f{}FJ-?!v#V)e mtsGNfpJeCKSAiOz**>0`XR2{OVa>-G_df0vaY/i);if(f&&f[1]){l=f[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(l){for(c=0,e=l.length;c",a);h.head=f.substring(0,a+1);j=f.indexOf("\n'}h.head+=d.getParam("fullpage_default_doctype",'');h.head+="\n\n\n"+d.getParam("fullpage_default_title","Untitled document")+"\n";if(g=d.getParam("fullpage_default_encoding")){h.head+='\n'}if(g=d.getParam("fullpage_default_font_family")){i+="font-family: "+g+";"}if(g=d.getParam("fullpage_default_font_size")){i+="font-size: "+g+";"}if(g=d.getParam("fullpage_default_text_color")){i+="color: "+g+";"}h.head+="\n\n";h.foot="\n\n"}},_getContent:function(a,c){var b=this;if(!c.source_view||!a.getParam("fullpage_hide_in_source_view")){c.content=tinymce.trim(b.head)+"\n"+tinymce.trim(c.content)+"\n"+tinymce.trim(b.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/editor_plugin_src.js new file mode 100755 index 00000000..a2c9df89 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/editor_plugin_src.js @@ -0,0 +1,153 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.FullPagePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullPageProperties', function() { + ed.windowManager.open({ + file : url + '/fullpage.htm', + width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)), + height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + head_html : t.head + }); + }); + + // Register buttons + ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'}); + + ed.onBeforeSetContent.add(t._setContent, t); + ed.onSetContent.add(t._setBodyAttribs, t); + ed.onGetContent.add(t._getContent, t); + }, + + getInfo : function() { + return { + longname : 'Fullpage', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + _setBodyAttribs : function(ed, o) { + var bdattr, i, len, kv, k, v, t, attr = this.head.match(/body(.*?)>/i); + + if (attr && attr[1]) { + bdattr = attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g); + + if (bdattr) { + for(i = 0, len = bdattr.length; i < len; i++) { + kv = bdattr[i].split('='); + k = kv[0].replace(/\s/,''); + v = kv[1]; + + if (v) { + v = v.replace(/^\s+/,'').replace(/\s+$/,''); + t = v.match(/^["'](.*)["']$/); + + if (t) + v = t[1]; + } else + v = k; + + ed.dom.setAttrib(ed.getBody(), 'style', v); + } + } + } + }, + + _createSerializer : function() { + return new tinymce.dom.Serializer({ + dom : this.editor.dom, + apply_source_formatting : true + }); + }, + + _setContent : function(ed, o) { + var t = this, sp, ep, c = o.content, v, st = ''; + + // Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate + if (o.format == 'raw' && t.head) + return; + + if (o.source_view && ed.getParam('fullpage_hide_in_source_view')) + return; + + // Parse out head, body and footer + c = c.replace(/<(\/?)BODY/gi, '<$1body'); + sp = c.indexOf('', sp); + t.head = c.substring(0, sp + 1); + + ep = c.indexOf('\n'; + + t.head += ed.getParam('fullpage_default_doctype', ''); + t.head += '\n\n\n' + ed.getParam('fullpage_default_title', 'Untitled document') + '\n'; + + if (v = ed.getParam('fullpage_default_encoding')) + t.head += '\n'; + + if (v = ed.getParam('fullpage_default_font_family')) + st += 'font-family: ' + v + ';'; + + if (v = ed.getParam('fullpage_default_font_size')) + st += 'font-size: ' + v + ';'; + + if (v = ed.getParam('fullpage_default_text_color')) + st += 'color: ' + v + ';'; + + t.head += '\n\n'; + t.foot = '\n\n'; + } + }, + + _getContent : function(ed, o) { + var t = this; + + if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view')) + o.content = tinymce.trim(t.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(t.foot); + } + }); + + // Register plugin + tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/fullpage.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/fullpage.htm new file mode 100755 index 00000000..c32afaf2 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/fullpage.htm @@ -0,0 +1,571 @@ + + + + {#fullpage_dlg.title} + + + + + + + +
+ + +
+
+
+ {#fullpage_dlg.meta_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
 
 
 
 
 
  + +
+
+ +
+ {#fullpage_dlg.langprops} + + + + + + + + + + + + + + + + + + + + + + +
+ +
  + +
 
+ +
 
+
+
+ +
+
+ {#fullpage_dlg.appearance_textprops} + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+
+ +
+ {#fullpage_dlg.appearance_bgprops} + + + + + + + + + + +
+ + + + + +
 
+
+ + + + + +
 
+
+
+ +
+ {#fullpage_dlg.appearance_marginprops} + + + + + + + + + + + + + + +
+
+ +
+ {#fullpage_dlg.appearance_linkprops} + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
 
+
+ + + + + +
 
+
  
+
+ +
+ {#fullpage_dlg.appearance_style} + + + + + + + + + + +
+ + + + +
 
+
+
+ +
+ + +
+ {#fullpage_dlg.head_elements} + +
+
+
+ + +
+
+ + +
+
+
+ +
+
+ +
+ {#fullpage_dlg.meta_element} + + + + + + + + + + + + + + +
+ + +
+ +
+ {#fullpage_dlg.title_element} + + + + + + +
+ + +
+ +
+ {#fullpage_dlg.script_element} + + + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+ +
+ +
+
+ + +
+ +
+ {#fullpage_dlg.style_element} + + + +
+ +
+
+ + + + + + + + + +
+
+ +
+ +
+
+ + +
+ +
+ {#fullpage_dlg.base_element} + + + + + + + + + + +
+ + +
+ + + +
+ {#fullpage_dlg.comment_element} + + + + +
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/js/fullpage.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/js/fullpage.js new file mode 100755 index 00000000..a1bb719a --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/fullpage/js/fullpage.js @@ -0,0 +1,471 @@ +/** + * fullpage.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +tinyMCEPopup.requireLangPack(); + +var doc; + +var defaultDocTypes = + 'XHTML 1.0 Transitional=,' + + 'XHTML 1.0 Frameset=,' + + 'XHTML 1.0 Strict=,' + + 'XHTML 1.1=,' + + 'HTML 4.01 Transitional=,' + + 'HTML 4.01 Strict=,' + + 'HTML 4.01 Frameset='; + +var defaultEncodings = + 'Western european (iso-8859-1)=iso-8859-1,' + + 'Central European (iso-8859-2)=iso-8859-2,' + + 'Unicode (UTF-8)=utf-8,' + + 'Chinese traditional (Big5)=big5,' + + 'Cyrillic (iso-8859-5)=iso-8859-5,' + + 'Japanese (iso-2022-jp)=iso-2022-jp,' + + 'Greek (iso-8859-7)=iso-8859-7,' + + 'Korean (iso-2022-kr)=iso-2022-kr,' + + 'ASCII (us-ascii)=us-ascii'; + +var defaultMediaTypes = + 'all=all,' + + 'screen=screen,' + + 'print=print,' + + 'tty=tty,' + + 'tv=tv,' + + 'projection=projection,' + + 'handheld=handheld,' + + 'braille=braille,' + + 'aural=aural'; + +var defaultFontNames = 'Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;WingDings=wingdings'; +var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; + +function init() { + var f = document.forms['fullpage'], el = f.elements, e, i, p, doctypes, encodings, mediaTypes, fonts, ed = tinyMCEPopup.editor, dom = tinyMCEPopup.dom, style; + + // Setup doctype select box + doctypes = ed.getParam("fullpage_doctypes", defaultDocTypes).split(','); + for (i=0; i 1) + addSelectValue(f, 'doctypes', p[0], p[1]); + } + + // Setup fonts select box + fonts = ed.getParam("fullpage_fonts", defaultFontNames).split(';'); + for (i=0; i 1) + addSelectValue(f, 'fontface', p[0], p[1]); + } + + // Setup fontsize select box + fonts = ed.getParam("fullpage_fontsizes", defaultFontSizes).split(','); + for (i=0; i 1) { + addSelectValue(f, 'element_style_media', p[0], p[1]); + addSelectValue(f, 'element_link_media', p[0], p[1]); + } + } + + // Setup encodings select box + encodings = ed.getParam("fullpage_encodings", defaultEncodings).split(','); + for (i=0; i 1) { + addSelectValue(f, 'docencoding', p[0], p[1]); + addSelectValue(f, 'element_script_charset', p[0], p[1]); + addSelectValue(f, 'element_link_charset', p[0], p[1]); + } + } + + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); + //document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color'); + document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); + document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); + document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); + document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); + document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage'); + document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage'); + document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); + + // Resize some elements + if (isVisible('stylesheetbrowser')) + document.getElementById('stylesheet').style.width = '220px'; + + if (isVisible('link_href_browser')) + document.getElementById('element_link_href').style.width = '230px'; + + if (isVisible('bgimage_browser')) + document.getElementById('bgimage').style.width = '210px'; + + // Add iframe + dom.add(document.body, 'iframe', {id : 'documentIframe', src : 'javascript:""', style : {display : 'none'}}); + doc = dom.get('documentIframe').contentWindow.document; + h = tinyMCEPopup.getWindowArg('head_html'); + + // Preprocess the HTML disable scripts and urls + h = h.replace(/ + + + +
+ +
+ + + + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin.js new file mode 100755 index 00000000..e9cba106 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.IESpell",{init:function(a,b){var c=this,d;if(!tinymce.isIE){return}c.editor=a;a.addCommand("mceIESpell",function(){try{d=new ActiveXObject("ieSpell.ieSpellExtension");d.CheckDocumentNode(a.getDoc().documentElement)}catch(f){if(f.number==-2146827859){a.windowManager.confirm(a.getLang("iespell.download"),function(e){if(e){window.open("http://www.iespell.com/download.php","ieSpellDownload","")}})}else{a.windowManager.alert("Error Loading ieSpell: Exception "+f.number)}}});a.addButton("iespell",{title:"iespell.iespell_desc",cmd:"mceIESpell"})},getInfo:function(){return{longname:"IESpell (IE Only)",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("iespell",tinymce.plugins.IESpell)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin_src.js new file mode 100755 index 00000000..1b2bb984 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/iespell/editor_plugin_src.js @@ -0,0 +1,54 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.IESpell', { + init : function(ed, url) { + var t = this, sp; + + if (!tinymce.isIE) + return; + + t.editor = ed; + + // Register commands + ed.addCommand('mceIESpell', function() { + try { + sp = new ActiveXObject("ieSpell.ieSpellExtension"); + sp.CheckDocumentNode(ed.getDoc().documentElement); + } catch (e) { + if (e.number == -2146827859) { + ed.windowManager.confirm(ed.getLang("iespell.download"), function(s) { + if (s) + window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); + }); + } else + ed.windowManager.alert("Error Loading ieSpell: Exception " + e.number); + } + }); + + // Register buttons + ed.addButton('iespell', {title : 'iespell.iespell_desc', cmd : 'mceIESpell'}); + }, + + getInfo : function() { + return { + longname : 'IESpell (IE Only)', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('iespell', tinymce.plugins.IESpell); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin.js new file mode 100755 index 00000000..e57c9438 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin.js @@ -0,0 +1 @@ +(function(){var d=tinymce.DOM,b=tinymce.dom.Element,a=tinymce.dom.Event,e=tinymce.each,c=tinymce.is;tinymce.create("tinymce.plugins.InlinePopups",{init:function(f,g){f.onBeforeRenderUI.add(function(){f.windowManager=new tinymce.InlineWindowManager(f);d.loadCSS(g+"/skins/"+(f.settings.inlinepopups_skin||"clearlooks2")+"/window.css")})},getInfo:function(){return{longname:"InlinePopups",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.create("tinymce.InlineWindowManager:tinymce.WindowManager",{InlineWindowManager:function(f){var g=this;g.parent(f);g.zIndex=300000;g.count=0;g.windows={}},open:function(r,j){var y=this,i,k="",q=y.editor,g=0,s=0,h,m,n,o,l,v,x;r=r||{};j=j||{};if(!r.inline){return y.parent(r,j)}if(!r.type){y.bookmark=q.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();r.width=parseInt(r.width||320);r.height=parseInt(r.height||240)+(tinymce.isIE?8:0);r.min_width=parseInt(r.min_width||150);r.min_height=parseInt(r.min_height||100);r.max_width=parseInt(r.max_width||2000);r.max_height=parseInt(r.max_height||2000);r.left=r.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(r.width/2)));r.top=r.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(r.height/2)));r.movable=r.resizable=true;j.mce_width=r.width;j.mce_height=r.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=r.auto_focus;y.features=r;y.params=j;y.onOpen.dispatch(y,r,j);if(r.type){k+=" mceModal";if(r.type){k+=" mce"+r.type.substring(0,1).toUpperCase()+r.type.substring(1)}r.resizable=false}if(r.statusbar){k+=" mceStatusbar"}if(r.resizable){k+=" mceResizable"}if(r.minimizable){k+=" mceMinimizable"}if(r.maximizable){k+=" mceMaximizable"}if(r.movable){k+=" mceMovable"}y._addAll(d.doc.body,["div",{id:i,"class":(q.settings.inlinepopups_skin||"clearlooks2")+(tinymce.isIE&&window.getSelection?" ie9":""),style:"width:100px;height:100px"},["div",{id:i+"_wrapper","class":"mceWrapper"+k},["div",{id:i+"_top","class":"mceTop"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_title"},r.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight"}]],["div",{id:i+"_bottom","class":"mceBottom"},["div",{"class":"mceLeft"}],["div",{"class":"mceCenter"}],["div",{"class":"mceRight"}],["span",{id:i+"_status"},"Content"]],["a",{"class":"mceMove",tabindex:"-1",href:"javascript:;"}],["a",{"class":"mceMin",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMax",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceMed",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{"class":"mceClose",tabindex:"-1",href:"javascript:;",onmousedown:"return false;"}],["a",{id:i+"_resize_n","class":"mceResize mceResizeN",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_s","class":"mceResize mceResizeS",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_w","class":"mceResize mceResizeW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_e","class":"mceResize mceResizeE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_nw","class":"mceResize mceResizeNW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_ne","class":"mceResize mceResizeNE",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_sw","class":"mceResize mceResizeSW",tabindex:"-1",href:"javascript:;"}],["a",{id:i+"_resize_se","class":"mceResize mceResizeSE",tabindex:"-1",href:"javascript:;"}]]]);d.setStyles(i,{top:-10000,left:-10000});if(tinymce.isGecko){d.setStyle(i,"overflow","auto")}if(!r.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;s+=d.get(i+"_top").clientHeight;s+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:r.top,left:r.left,width:r.width+g,height:r.height+s});x=r.url||r.file;if(x){if(tinymce.relaxedDomain){x+=(x.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}x=tinymce._addVer(x)}if(!r.type){d.add(i+"_content","iframe",{id:i+"_ifr",src:'javascript:""',frameBorder:0,style:"border:0;width:10px;height:10px"});d.setStyles(i+"_ifr",{width:r.width,height:r.height});d.setAttrib(i+"_ifr","src",x)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(r.type=="confirm"){d.add(i+"_wrapper","a",{"class":"mceButton mceCancel",href:"javascript:;",onmousedown:"return false;"},"Cancel")}d.add(i+"_middle","div",{"class":"mceIcon"});d.setHTML(i+"_content",r.content.replace("\n","
"))}n=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=y.windows[i];y.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceMax"){f.oldPos=f.element.getXY();f.oldSize=f.element.getSize();p=d.getViewPort();p.w-=2;p.h-=2;f.element.moveTo(p.x,p.y);f.element.resizeTo(p.w,p.h);d.setStyles(i+"_ifr",{width:p.w-f.deltaWidth,height:p.h-f.deltaHeight});d.addClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMed"){f.element.moveTo(f.oldPos.x,f.oldPos.y);f.element.resizeTo(f.oldSize.w,f.oldSize.h);f.iframeElement.resizeTo(f.oldSize.w-f.deltaWidth,f.oldSize.h-f.deltaHeight);d.removeClass(i+"_wrapper","mceMaximized")}else{if(u.className=="mceMove"){return y._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return y._startDrag(i,t,u.className.substring(13))}}}}}});o=a.add(i,"click",function(f){var p=f.target;y.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":y.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":r.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});v=y.windows[i]={id:i,mousedown_func:n,click_func:o,element:new b(i,{blocker:1,container:q.getContainer()}),iframeElement:new b(i+"_ifr"),features:r,deltaWidth:g,deltaHeight:s};v.iframeElement.on("focus",function(){y.focus(i)});if(y.count==0&&y.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(y.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:y.zIndex-1}});d.show("mceModalBlocker")}else{d.setStyle("mceModalBlocker","z-index",y.zIndex-1)}if(tinymce.isIE6||/Firefox\/2\./.test(navigator.userAgent)||(tinymce.isIE&&!d.boxModel)){d.setStyles("mceModalBlocker",{position:"absolute",left:h.x,top:h.y,width:h.w-2,height:h.h-2})}y.focus(i);y._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}y.count++;return v},focus:function(h){var g=this,f;if(f=g.windows[h]){f.zIndex=this.zIndex++;f.element.setStyle("zIndex",f.zIndex);f.element.update();h=h+"_wrapper";d.removeClass(g.lastId,"mceFocus");d.addClass(h,"mceFocus");g.lastId=h}},_addAll:function(k,h){var g,l,f=this,j=tinymce.DOM;if(c(h,"string")){k.appendChild(j.doc.createTextNode(h))}else{if(h.length){k=k.appendChild(j.create(h[0],h[1]));for(g=2;gf){i=m;f=m.zIndex}});if(i){h.focus(i.id)}}},setTitle:function(f,g){var h;f=this._findId(f);if(h=d.get(f+"_title")){h.innerHTML=d.encode(g)}},alert:function(g,f,j){var i=this,h;h=i.open({title:i,type:"alert",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},confirm:function(g,f,j){var i=this,h;h=i.open({title:i,type:"confirm",button_func:function(k){if(f){f.call(k||i,k)}i.close(null,h.id)},content:d.encode(i.editor.getLang(g,g)),inline:1,width:400,height:130})},_findId:function(f){var g=this;if(typeof(f)=="string"){return f}e(g.windows,function(h){var i=d.get(h.id+"_ifr");if(i&&f==i.contentWindow){f=h.id;return false}});return f},_fixIELayout:function(i,h){var f,g;if(!tinymce.isIE6){return}e(["n","s","w","e","nw","ne","sw","se"],function(j){var k=d.get(i+"_resize_"+j);d.setStyles(k,{width:h?k.clientWidth:"",height:h?k.clientHeight:"",cursor:d.getStyle(k,"cursor",1)});d.setStyle(i+"_bottom","bottom","-1px");k=0});if(f=this.windows[i]){f.element.hide();f.element.show();e(d.select("div,a",i),function(k,j){if(k.currentStyle.backgroundImage!="none"){g=new Image();g.src=k.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,"$1")}});d.get(i).style.filter=""}}});tinymce.PluginManager.add("inlinepopups",tinymce.plugins.InlinePopups)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin_src.js new file mode 100755 index 00000000..0c1de370 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/editor_plugin_src.js @@ -0,0 +1,635 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is; + + tinymce.create('tinymce.plugins.InlinePopups', { + init : function(ed, url) { + // Replace window manager + ed.onBeforeRenderUI.add(function() { + ed.windowManager = new tinymce.InlineWindowManager(ed); + DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css"); + }); + }, + + getInfo : function() { + return { + longname : 'InlinePopups', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', { + InlineWindowManager : function(ed) { + var t = this; + + t.parent(ed); + t.zIndex = 300000; + t.count = 0; + t.windows = {}; + }, + + open : function(f, p) { + var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u; + + f = f || {}; + p = p || {}; + + // Run native windows + if (!f.inline) + return t.parent(f, p); + + // Only store selection if the type is a normal window + if (!f.type) + t.bookmark = ed.selection.getBookmark(1); + + id = DOM.uniqueId(); + vp = DOM.getViewPort(); + f.width = parseInt(f.width || 320); + f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0); + f.min_width = parseInt(f.min_width || 150); + f.min_height = parseInt(f.min_height || 100); + f.max_width = parseInt(f.max_width || 2000); + f.max_height = parseInt(f.max_height || 2000); + f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0))); + f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0))); + f.movable = f.resizable = true; + p.mce_width = f.width; + p.mce_height = f.height; + p.mce_inline = true; + p.mce_window_id = id; + p.mce_auto_focus = f.auto_focus; + + // Transpose +// po = DOM.getPos(ed.getContainer()); +// f.left -= po.x; +// f.top -= po.y; + + t.features = f; + t.params = p; + t.onOpen.dispatch(t, f, p); + + if (f.type) { + opt += ' mceModal'; + + if (f.type) + opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1); + + f.resizable = false; + } + + if (f.statusbar) + opt += ' mceStatusbar'; + + if (f.resizable) + opt += ' mceResizable'; + + if (f.minimizable) + opt += ' mceMinimizable'; + + if (f.maximizable) + opt += ' mceMaximizable'; + + if (f.movable) + opt += ' mceMovable'; + + // Create DOM objects + t._addAll(DOM.doc.body, + ['div', {id : id, 'class' : (ed.settings.inlinepopups_skin || 'clearlooks2') + (tinymce.isIE && window.getSelection ? ' ie9' : ''), style : 'width:100px;height:100px'}, + ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt}, + ['div', {id : id + '_top', 'class' : 'mceTop'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_title'}, f.title || ''] + ], + + ['div', {id : id + '_middle', 'class' : 'mceMiddle'}, + ['div', {id : id + '_left', 'class' : 'mceLeft'}], + ['span', {id : id + '_content'}], + ['div', {id : id + '_right', 'class' : 'mceRight'}] + ], + + ['div', {id : id + '_bottom', 'class' : 'mceBottom'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_status'}, 'Content'] + ], + + ['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}], + ['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}] + ] + ] + ); + + DOM.setStyles(id, {top : -10000, left : -10000}); + + // Fix gecko rendering bug, where the editors iframe messed with window contents + if (tinymce.isGecko) + DOM.setStyle(id, 'overflow', 'auto'); + + // Measure borders + if (!f.type) { + dw += DOM.get(id + '_left').clientWidth; + dw += DOM.get(id + '_right').clientWidth; + dh += DOM.get(id + '_top').clientHeight; + dh += DOM.get(id + '_bottom').clientHeight; + } + + // Resize window + DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh}); + + u = f.url || f.file; + if (u) { + if (tinymce.relaxedDomain) + u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain; + + u = tinymce._addVer(u); + } + + if (!f.type) { + DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'}); + DOM.setStyles(id + '_ifr', {width : f.width, height : f.height}); + DOM.setAttrib(id + '_ifr', 'src', u); + } else { + DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok'); + + if (f.type == 'confirm') + DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel'); + + DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'}); + DOM.setHTML(id + '_content', f.content.replace('\n', '
')); + } + + // Register events + mdf = Event.add(id, 'mousedown', function(e) { + var n = e.target, w, vp; + + w = t.windows[id]; + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + if (n.className == 'mceMax') { + w.oldPos = w.element.getXY(); + w.oldSize = w.element.getSize(); + + vp = DOM.getViewPort(); + + // Reduce viewport size to avoid scrollbars + vp.w -= 2; + vp.h -= 2; + + w.element.moveTo(vp.x, vp.y); + w.element.resizeTo(vp.w, vp.h); + DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight}); + DOM.addClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMed') { + // Reset to old size + w.element.moveTo(w.oldPos.x, w.oldPos.y); + w.element.resizeTo(w.oldSize.w, w.oldSize.h); + w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight); + + DOM.removeClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMove') + return t._startDrag(id, e, n.className); + else if (DOM.hasClass(n, 'mceResize')) + return t._startDrag(id, e, n.className.substring(13)); + } + }); + + clf = Event.add(id, 'click', function(e) { + var n = e.target; + + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + switch (n.className) { + case 'mceClose': + t.close(null, id); + return Event.cancel(e); + + case 'mceButton mceOk': + case 'mceButton mceCancel': + f.button_func(n.className == 'mceButton mceOk'); + return Event.cancel(e); + } + } + }); + + // Add window + w = t.windows[id] = { + id : id, + mousedown_func : mdf, + click_func : clf, + element : new Element(id, {blocker : 1, container : ed.getContainer()}), + iframeElement : new Element(id + '_ifr'), + features : f, + deltaWidth : dw, + deltaHeight : dh + }; + + w.iframeElement.on('focus', function() { + t.focus(id); + }); + + // Setup blocker + if (t.count == 0 && t.editor.getParam('dialog_type', 'modal') == 'modal') { + DOM.add(DOM.doc.body, 'div', { + id : 'mceModalBlocker', + 'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker', + style : {zIndex : t.zIndex - 1} + }); + + DOM.show('mceModalBlocker'); // Reduces flicker in IE + } else + DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1); + + if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel)) + DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2}); + + t.focus(id); + t._fixIELayout(id, 1); + + // Focus ok button + if (DOM.get(id + '_ok')) + DOM.get(id + '_ok').focus(); + + t.count++; + + return w; + }, + + focus : function(id) { + var t = this, w; + + if (w = t.windows[id]) { + w.zIndex = this.zIndex++; + w.element.setStyle('zIndex', w.zIndex); + w.element.update(); + + id = id + '_wrapper'; + DOM.removeClass(t.lastId, 'mceFocus'); + DOM.addClass(id, 'mceFocus'); + t.lastId = id; + } + }, + + _addAll : function(te, ne) { + var i, n, t = this, dom = tinymce.DOM; + + if (is(ne, 'string')) + te.appendChild(dom.doc.createTextNode(ne)); + else if (ne.length) { + te = te.appendChild(dom.create(ne[0], ne[1])); + + for (i=2; i ix) { + fw = w; + ix = w.zIndex; + } + }); + + if (fw) + t.focus(fw.id); + } + }, + + setTitle : function(w, ti) { + var e; + + w = this._findId(w); + + if (e = DOM.get(w + '_title')) + e.innerHTML = DOM.encode(ti); + }, + + alert : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'alert', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + confirm : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'confirm', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + // Internal functions + + _findId : function(w) { + var t = this; + + if (typeof(w) == 'string') + return w; + + each(t.windows, function(wo) { + var ifr = DOM.get(wo.id + '_ifr'); + + if (ifr && w == ifr.contentWindow) { + w = wo.id; + return false; + } + }); + + return w; + }, + + _fixIELayout : function(id, s) { + var w, img; + + if (!tinymce.isIE6) + return; + + // Fixes the bug where hover flickers and does odd things in IE6 + each(['n','s','w','e','nw','ne','sw','se'], function(v) { + var e = DOM.get(id + '_resize_' + v); + + DOM.setStyles(e, { + width : s ? e.clientWidth : '', + height : s ? e.clientHeight : '', + cursor : DOM.getStyle(e, 'cursor', 1) + }); + + DOM.setStyle(id + "_bottom", 'bottom', '-1px'); + + e = 0; + }); + + // Fixes graphics glitch + if (w = this.windows[id]) { + // Fixes rendering bug after resize + w.element.hide(); + w.element.show(); + + // Forced a repaint of the window + //DOM.get(id).style.filter = ''; + + // IE has a bug where images used in CSS won't get loaded + // sometimes when the cache in the browser is disabled + // This fix tries to solve it by loading the images using the image object + each(DOM.select('div,a', id), function(e, i) { + if (e.currentStyle.backgroundImage != 'none') { + img = new Image(); + img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1'); + } + }); + + DOM.get(id).style.filter = ''; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups); +})(); + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/alert.gif new file mode 100755 index 0000000000000000000000000000000000000000..94abd08763fffdaa0dd5c5afb470a97294f2b94d GIT binary patch literal 818 zcmV-21I_$LNk%w1VITk?0OkMyy?1uhZf>Is3*B5?sT&&Hqoc$;Jkrt6&k+&QHa5gV zL)l77I5;@fLqpYMWV+*+oUyj*ia`4%)P|vrSClaB!?EE7K$--(_XZ zOH0lO2-#9n!;Fik78a-!6wR}-yS%#378ch%J=j4(x@2V5*3{b0&C|=t(mFcQDJi8A z60bTsucxKY8XD3{O5bW~+gDfHP*AZbD54S)*gHGL#>A(co5`c08yg$Yzr7_TCCA9d zs-U0MFfhzxW4%d9s-K?K($LSkxy-Sz(7?Xdn3%wSe#oDmxL#e?qN1My0^C(q&nzt3 zjEvWFbJcly)5*uu)6w93eACp@*{!X#QBc56PRYv1%goBm&CA4*kj9vnyFxN00960|JK*lA^8LV00000EC2ui z03ZM$000O7fPaF6goTEOh>41ejE#5-A-Y zDMkRMg$FSdD>XGe76Lo4g8*}CUeivLI}B6rYIE)9Vh306CXDUKb=Dfx`}wT=u<6# zD$n)U&_b6YEgl901IUC4zyf`27&(S$$E;fb{Wx)wm4^u-0H zv*CdXLINn%=tH`+>C>qDxJcmTfS@*Z45S!AI|Ya#EOHOnP2`2|1;88Ju#tey5e=^) w9O1*fx%21Hn;(HtX3!cMK%gku&b_<$??7lEkM$&p`Sa-0r)T3DnWI1eJD_KQDgXcg literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/button.gif new file mode 100755 index 0000000000000000000000000000000000000000..e671094cb0eb210b756117f992cf5ca2caa698fd GIT binary patch literal 280 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 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif new file mode 100755 index 0000000000000000000000000000000000000000..c2a2ad454db194e428a7b9da40f62d5376a17428 GIT binary patch literal 769 zcmb7?=`WiB0LI^D)(HC`v6*aD4AW#LGRb0Oi$tH~CP=nb%N%8n zy02ceuewTUUDeW|RaMp*TlLV6R$o=rQOY{@AME+?`}QQiCwU%4Jq)?`{5B8=ECT1T z+wH!7{zji$)-UA>D9({)xO1SJGLHK54Mat(}s4_unMiKjB85EHng*~!Ddt+?(c5uHG4ZI zsc>jP#5Y6w6Wj5!Y=0^oK*&D+R;Yh@ze z7vfi;qFW{owiOfGqcB@XkwUZ0j?Km4{qjE- z6c!Z|O1!?5l~+^}tE#*^aCo0?lZ$rLKBwT;dI+nLO(UEMvb-ad9elEWPw8Xg(t zx$y<#6T+{PQ@$ecjAT|iC%dxnP5yoH$I`OLFU5*drPiz>bidcu^@a^2v}rP3-`?4^ z?Cl>M-Z(n8ot*x$0~Z|;ku35!-qAHSQN*GM3tW8AN#VWJNrHQD+6qXfO_zB^6eFVU zOjzupAb0*`W8} zQVeE5Djt<a0+Owme6r2OGio7DoTWqkhGKj0`0*1-*<$#uL5YH*kC8Z>wpCvYO~asp;G r-~A;>$wp)vkltB=c_?k6Zw*FUgrbAm;sB08O9+}m=}H3OFd*zN8L+JA literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif new file mode 100755 index 0000000000000000000000000000000000000000..43a735f22c81d6d7d99c1ba9f034f38bfdd1a92b GIT binary patch literal 92 zcmZ?wbhEHb&D4o4FLHO9PR)B literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/window.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/window.css new file mode 100755 index 00000000..e624327a --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/skins/clearlooks2/window.css @@ -0,0 +1,100 @@ +/* Clearlooks 2 */ + +/* Reset */ +.clearlooks2, .clearlooks2 div, .clearlooks2 span, .clearlooks2 a {vertical-align:baseline; text-align:left; position:absolute; border:0; padding:0; margin:0; background:transparent; font-family:Arial,Verdana; font-size:11px; color:#000; text-decoration:none; font-weight:normal; width:auto; height:auto; overflow:hidden; display:block} + +/* General */ +.clearlooks2 {position:absolute; direction:ltr} +.clearlooks2 .mceWrapper {position:static} +.mceEventBlocker {position:fixed; left:0; top:0; background:url(img/horizontal.gif) no-repeat 0 -75px; width:100%; height:100%} +.clearlooks2 .mcePlaceHolder {border:1px solid #000; background:#888; top:0; left:0; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50)} +.clearlooks2_modalBlocker {position:fixed; left:0; top:0; width:100%; height:100%; background:#FFF; opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60); display:none} + +/* Top */ +.clearlooks2 .mceTop, .clearlooks2 .mceTop div {top:0; width:100%; height:23px} +.clearlooks2 .mceTop .mceLeft {width:6px; background:url(img/corners.gif)} +.clearlooks2 .mceTop .mceCenter {right:6px; width:100%; height:23px; background:url(img/horizontal.gif) 12px 0; clip:rect(auto auto auto 12px)} +.clearlooks2 .mceTop .mceRight {right:0; width:6px; height:23px; background:url(img/corners.gif) -12px 0} +.clearlooks2 .mceTop span {width:100%; text-align:center; vertical-align:middle; line-height:23px; font-weight:bold} +.clearlooks2 .mceFocus .mceTop .mceLeft {background:url(img/corners.gif) -6px 0} +.clearlooks2 .mceFocus .mceTop .mceCenter {background:url(img/horizontal.gif) 0 -23px} +.clearlooks2 .mceFocus .mceTop .mceRight {background:url(img/corners.gif) -18px 0} +.clearlooks2 .mceFocus .mceTop span {color:#FFF} + +/* Middle */ +.clearlooks2 .mceMiddle, .clearlooks2 .mceMiddle div {top:0} +.clearlooks2 .mceMiddle {width:100%; height:100%; clip:rect(23px auto auto auto)} +.clearlooks2 .mceMiddle .mceLeft {left:0; width:5px; height:100%; background:url(img/vertical.gif) -5px 0} +.clearlooks2 .mceMiddle span {top:23px; left:5px; width:100%; height:100%; background:#FFF} +.clearlooks2 .mceMiddle .mceRight {right:0; width:5px; height:100%; background:url(img/vertical.gif)} + +/* Bottom */ +.clearlooks2 .mceBottom, .clearlooks2 .mceBottom div {height:6px} +.clearlooks2 .mceBottom {left:0; bottom:0; width:100%} +.clearlooks2 .mceBottom div {top:0} +.clearlooks2 .mceBottom .mceLeft {left:0; width:5px; background:url(img/corners.gif) -34px -6px} +.clearlooks2 .mceBottom .mceCenter {left:5px; width:100%; background:url(img/horizontal.gif) 0 -46px} +.clearlooks2 .mceBottom .mceRight {right:0; width:5px; background: url(img/corners.gif) -34px 0} +.clearlooks2 .mceBottom span {display:none} +.clearlooks2 .mceStatusbar .mceBottom, .clearlooks2 .mceStatusbar .mceBottom div {height:23px} +.clearlooks2 .mceStatusbar .mceBottom .mceLeft {background:url(img/corners.gif) -29px 0} +.clearlooks2 .mceStatusbar .mceBottom .mceCenter {background:url(img/horizontal.gif) 0 -52px} +.clearlooks2 .mceStatusbar .mceBottom .mceRight {background:url(img/corners.gif) -24px 0} +.clearlooks2 .mceStatusbar .mceBottom span {display:block; left:7px; font-family:Arial, Verdana; font-size:11px; line-height:23px} + +/* Actions */ +.clearlooks2 a {width:29px; height:16px; top:3px;} +.clearlooks2 .mceClose {right:6px; background:url(img/buttons.gif) -87px 0} +.clearlooks2 .mceMin {display:none; right:68px; background:url(img/buttons.gif) 0 0} +.clearlooks2 .mceMed {display:none; right:37px; background:url(img/buttons.gif) -29px 0} +.clearlooks2 .mceMax {display:none; right:37px; background:url(img/buttons.gif) -58px 0} +.clearlooks2 .mceMove {display:none;width:100%;cursor:move;background:url(img/corners.gif) no-repeat -100px -100px} +.clearlooks2 .mceMovable .mceMove {display:block} +.clearlooks2 .mceFocus .mceClose {right:6px; background:url(img/buttons.gif) -87px -16px} +.clearlooks2 .mceFocus .mceMin {right:68px; background:url(img/buttons.gif) 0 -16px} +.clearlooks2 .mceFocus .mceMed {right:37px; background:url(img/buttons.gif) -29px -16px} +.clearlooks2 .mceFocus .mceMax {right:37px; background:url(img/buttons.gif) -58px -16px} +.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.gif) -87px -32px} +.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.gif) -87px -32px} +.clearlooks2 .mceFocus .mceMin:hover {right:68px; background:url(img/buttons.gif) 0 -32px} +.clearlooks2 .mceFocus .mceMed:hover {right:37px; background:url(img/buttons.gif) -29px -32px} +.clearlooks2 .mceFocus .mceMax:hover {right:37px; background:url(img/buttons.gif) -58px -32px} + +/* Resize */ +.clearlooks2 .mceResize {top:auto; left:auto; display:none; width:5px; height:5px; background:url(img/horizontal.gif) no-repeat 0 -75px} +.clearlooks2 .mceResizable .mceResize {display:block} +.clearlooks2 .mceResizable .mceMin, .clearlooks2 .mceMax {display:none} +.clearlooks2 .mceMinimizable .mceMin {display:block} +.clearlooks2 .mceMaximizable .mceMax {display:block} +.clearlooks2 .mceMaximized .mceMed {display:block} +.clearlooks2 .mceMaximized .mceMax {display:none} +.clearlooks2 a.mceResizeN {top:0; left:0; width:100%; cursor:n-resize} +.clearlooks2 a.mceResizeNW {top:0; left:0; cursor:nw-resize} +.clearlooks2 a.mceResizeNE {top:0; right:0; cursor:ne-resize} +.clearlooks2 a.mceResizeW {top:0; left:0; height:100%; cursor:w-resize;} +.clearlooks2 a.mceResizeE {top:0; right:0; height:100%; cursor:e-resize} +.clearlooks2 a.mceResizeS {bottom:0; left:0; width:100%; cursor:s-resize} +.clearlooks2 a.mceResizeSW {bottom:0; left:0; cursor:sw-resize} +.clearlooks2 a.mceResizeSE {bottom:0; right:0; cursor:se-resize} + +/* Alert/Confirm */ +.clearlooks2 .mceButton {font-weight:bold; bottom:10px; width:80px; height:30px; background:url(img/button.gif); line-height:30px; vertical-align:middle; text-align:center; outline:0} +.clearlooks2 .mceMiddle .mceIcon {left:15px; top:35px; width:32px; height:32px} +.clearlooks2 .mceAlert .mceMiddle span, .clearlooks2 .mceConfirm .mceMiddle span {background:transparent;left:60px; top:35px; width:320px; height:50px; font-weight:bold; overflow:auto; white-space:normal} +.clearlooks2 a:hover {font-weight:bold;} +.clearlooks2 .mceAlert .mceMiddle, .clearlooks2 .mceConfirm .mceMiddle {background:#D6D7D5} +.clearlooks2 .mceAlert .mceOk {left:50%; top:auto; margin-left: -40px} +.clearlooks2 .mceAlert .mceIcon {background:url(img/alert.gif)} +.clearlooks2 .mceConfirm .mceOk {left:50%; top:auto; margin-left: -90px} +.clearlooks2 .mceConfirm .mceCancel {left:50%; top:auto} +.clearlooks2 .mceConfirm .mceIcon {background:url(img/confirm.gif)} + +/* IE9 fixes */ +.clearlooks2.ie9 .mceTop .mceCenter {clip:auto;} +.clearlooks2.ie9 .mceMiddle {clip:auto;} +.clearlooks2.ie9 .mceMiddle .mceLeft, .clearlooks2.ie9 .mceMiddle .mceRight {top: 23px;} +.clearlooks2.ie9 .mceAlert .mceMiddle span, .clearlooks2.ie9 .mceConfirm .mceMiddle span {top:13px;} +.clearlooks2.ie9 .mceModal .mceMiddle {top:23px} +.clearlooks2.ie9 .mceModal .mceMiddle .mceLeft, .clearlooks2.ie9 .mceModal .mceMiddle .mceRight {top: 0} +.clearlooks2.ie9 .mceMiddle .mceIcon {top:13px} +.clearlooks2.ie9 .mceTop .mceCenter {top:0; right:auto; left:6px; width:calc(100%-12px)} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/template.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/template.htm new file mode 100755 index 00000000..f9ec6421 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/inlinepopups/template.htm @@ -0,0 +1,387 @@ + + + +Template for dialogs + + + + +
+
+
+
+
+
+
+ Blured +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Focused +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Statusbar +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Statusbar, Resizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Resizable, Maximizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Blurred, Maximizable, Statusbar, Resizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Maximized, Maximizable, Minimizable +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Blured +
+ +
+
+ Content +
+
+ +
+
+
+
+ Statusbar text. +
+ + + + + + + + + + + + + + +
+
+ +
+
+
+
+
+
+ Alert +
+ +
+
+ + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
+
+
+ +
+
+
+
+
+ + + Ok + +
+
+ +
+
+
+
+
+
+ Confirm +
+ +
+
+ + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
+
+
+ +
+
+
+
+
+ + + Ok + Cancel + +
+
+
+ + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/insertdatetime/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/insertdatetime/editor_plugin.js new file mode 100755 index 00000000..938ce6b1 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/insertdatetime/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.InsertDateTime",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceInsertDate",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_dateFormat",a.getLang("insertdatetime.date_fmt")));a.execCommand("mceInsertContent",false,d)});a.addCommand("mceInsertTime",function(){var d=c._getDateTime(new Date(),a.getParam("plugin_insertdate_timeFormat",a.getLang("insertdatetime.time_fmt")));a.execCommand("mceInsertContent",false,d)});a.addButton("insertdate",{title:"insertdatetime.insertdate_desc",cmd:"mceInsertDate"});a.addButton("inserttime",{title:"insertdatetime.inserttime_desc",cmd:"mceInsertTime"})},getInfo:function(){return{longname:"Insert date/time",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_getDateTime:function(e,a){var c=this.editor;function b(g,d){g=""+g;if(g.length-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{if(g[c]>0){a[c].style.zIndex=g[c]-1}}}else{for(f=0;fg[c]){j=f;break}}if(j>-1){a[c].style.zIndex=g[j];a[j].style.zIndex=g[c]}else{a[c].style.zIndex=g[c]+1}}b.execCommand("mceRepaint")},_getParentLayer:function(a){return this.editor.dom.getParent(a,function(b){return b.nodeType==1&&/^(absolute|relative|static)$/i.test(b.style.position)})},_insertLayer:function(){var a=this.editor,b=a.dom.getPos(a.dom.getParent(a.selection.getNode(),"*"));a.dom.add(a.getBody(),"div",{style:{position:"absolute",left:b.x,top:(b.y>20?b.y:20),width:100,height:100},"class":"mceItemVisualAid"},a.selection.getContent()||a.getLang("layer.content"))},_toggleAbsolute:function(){var a=this.editor,b=this._getParentLayer(a.selection.getNode());if(!b){b=a.dom.getParent(a.selection.getNode(),"DIV,P,IMG")}if(b){if(b.style.position.toLowerCase()=="absolute"){a.dom.setStyles(b,{position:"",left:"",top:"",width:"",height:""});a.dom.removeClass(b,"mceItemVisualAid")}else{if(b.style.left==""){b.style.left=20+"px"}if(b.style.top==""){b.style.top=20+"px"}if(b.style.width==""){b.style.width=b.width?(b.width+"px"):"100px"}if(b.style.height==""){b.style.height=b.height?(b.height+"px"):"100px"}b.style.position="absolute";a.addVisual(a.getBody())}a.execCommand("mceRepaint");a.nodeChanged()}}});tinymce.PluginManager.add("layer",tinymce.plugins.Layer)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/layer/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/layer/editor_plugin_src.js new file mode 100755 index 00000000..d5aa8654 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/layer/editor_plugin_src.js @@ -0,0 +1,212 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Layer', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceInsertLayer', t._insertLayer, t); + + ed.addCommand('mceMoveForward', function() { + t._move(1); + }); + + ed.addCommand('mceMoveBackward', function() { + t._move(-1); + }); + + ed.addCommand('mceMakeAbsolute', function() { + t._toggleAbsolute(); + }); + + // Register buttons + ed.addButton('moveforward', {title : 'layer.forward_desc', cmd : 'mceMoveForward'}); + ed.addButton('movebackward', {title : 'layer.backward_desc', cmd : 'mceMoveBackward'}); + ed.addButton('absolute', {title : 'layer.absolute_desc', cmd : 'mceMakeAbsolute'}); + ed.addButton('insertlayer', {title : 'layer.insertlayer_desc', cmd : 'mceInsertLayer'}); + + ed.onInit.add(function() { + if (tinymce.isIE) + ed.getDoc().execCommand('2D-Position', false, true); + }); + + ed.onNodeChange.add(t._nodeChange, t); + ed.onVisualAid.add(t._visualAid, t); + }, + + getInfo : function() { + return { + longname : 'Layer', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var le, p; + + le = this._getParentLayer(n); + p = ed.dom.getParent(n, 'DIV,P,IMG'); + + if (!p) { + cm.setDisabled('absolute', 1); + cm.setDisabled('moveforward', 1); + cm.setDisabled('movebackward', 1); + } else { + cm.setDisabled('absolute', 0); + cm.setDisabled('moveforward', !le); + cm.setDisabled('movebackward', !le); + cm.setActive('absolute', le && le.style.position.toLowerCase() == "absolute"); + } + }, + + // Private methods + + _visualAid : function(ed, e, s) { + var dom = ed.dom; + + tinymce.each(dom.select('div,p', e), function(e) { + if (/^(absolute|relative|static)$/i.test(e.style.position)) { + if (s) + dom.addClass(e, 'mceItemVisualAid'); + else + dom.removeClass(e, 'mceItemVisualAid'); + } + }); + }, + + _move : function(d) { + var ed = this.editor, i, z = [], le = this._getParentLayer(ed.selection.getNode()), ci = -1, fi = -1, nl; + + nl = []; + tinymce.walk(ed.getBody(), function(n) { + if (n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position)) + nl.push(n); + }, 'childNodes'); + + // Find z-indexes + for (i=0; i -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else { + if (z[ci] > 0) + nl[ci].style.zIndex = z[ci] - 1; + } + } else { + // Move forward + + // Try find a higher one + for (i=0; i z[ci]) { + fi = i; + break; + } + } + + if (fi > -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else + nl[ci].style.zIndex = z[ci] + 1; + } + + ed.execCommand('mceRepaint'); + }, + + _getParentLayer : function(n) { + return this.editor.dom.getParent(n, function(n) { + return n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position); + }); + }, + + _insertLayer : function() { + var ed = this.editor, p = ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(), '*')); + + ed.dom.add(ed.getBody(), 'div', { + style : { + position : 'absolute', + left : p.x, + top : (p.y > 20 ? p.y : 20), + width : 100, + height : 100 + }, + 'class' : 'mceItemVisualAid' + }, ed.selection.getContent() || ed.getLang('layer.content')); + }, + + _toggleAbsolute : function() { + var ed = this.editor, le = this._getParentLayer(ed.selection.getNode()); + + if (!le) + le = ed.dom.getParent(ed.selection.getNode(), 'DIV,P,IMG'); + + if (le) { + if (le.style.position.toLowerCase() == "absolute") { + ed.dom.setStyles(le, { + position : '', + left : '', + top : '', + width : '', + height : '' + }); + + ed.dom.removeClass(le, 'mceItemVisualAid'); + } else { + if (le.style.left == "") + le.style.left = 20 + 'px'; + + if (le.style.top == "") + le.style.top = 20 + 'px'; + + if (le.style.width == "") + le.style.width = le.width ? (le.width + 'px') : '100px'; + + if (le.style.height == "") + le.style.height = le.height ? (le.height + 'px') : '100px'; + + le.style.position = "absolute"; + ed.addVisual(ed.getBody()); + } + + ed.execCommand('mceRepaint'); + ed.nodeChanged(); + } + } + }); + + // Register plugin + tinymce.PluginManager.add('layer', tinymce.plugins.Layer); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin.js new file mode 100755 index 00000000..29d43c52 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin.js @@ -0,0 +1 @@ +(function(a){a.onAddEditor.addToTop(function(c,b){b.settings.inline_styles=false});a.create("tinymce.plugins.LegacyOutput",{init:function(b){b.onInit.add(function(){var c="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",e=a.explode(b.settings.font_size_style_values),d=b.serializer;b.formatter.register({alignleft:{selector:c,attributes:{align:"left"}},aligncenter:{selector:c,attributes:{align:"center"}},alignright:{selector:c,attributes:{align:"right"}},alignfull:{selector:c,attributes:{align:"full"}},bold:{inline:"b"},italic:{inline:"i"},underline:{inline:"u"},strikethrough:{inline:"strike"},fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",styles:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});d._setup();a.each("b,i,u,strike".split(","),function(f){var g=d.rules[f];if(!g){d.addRules(f)}});if(!d.rules.font){d.addRules("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.rules[f],g;if(h){a.each(h.attribs,function(j,i){if(i.name=="align"){g=true;return false}});if(!g){h.attribs.push({name:"align"})}}});b.onNodeChange.add(function(g,k){var j,f,h,i;f=g.dom.getParent(g.selection.getNode(),"font");if(f){h=f.face;i=f.size}if(j=k.get("fontselect")){j.select(function(l){return l==h})}if(j=k.get("fontsizeselect")){j.select(function(m){var l=a.inArray(e,m.fontSize);return l+1==i})}})})},getInfo:function(){return{longname:"LegacyOutput",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("legacyoutput",a.plugins.LegacyOutput)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin_src.js new file mode 100755 index 00000000..e852da15 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/legacyoutput/editor_plugin_src.js @@ -0,0 +1,136 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + * + * This plugin will force TinyMCE to produce deprecated legacy output such as font elements, u elements, align + * attributes and so forth. There are a few cases where these old items might be needed for example in email applications or with Flash + * + * However you should NOT use this plugin if you are building some system that produces web contents such as a CMS. All these elements are + * not apart of the newer specifications for HTML and XHTML. + */ + +(function(tinymce) { + // Override inline_styles setting to force TinyMCE to produce deprecated contents + tinymce.onAddEditor.addToTop(function(tinymce, editor) { + editor.settings.inline_styles = false; + }); + + // Create the legacy ouput plugin + tinymce.create('tinymce.plugins.LegacyOutput', { + init : function(editor) { + editor.onInit.add(function() { + var alignElements = 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img', + fontSizes = tinymce.explode(editor.settings.font_size_style_values), + serializer = editor.serializer; + + // Override some internal formats to produce legacy elements and attributes + editor.formatter.register({ + // Change alignment formats to use the deprecated align attribute + alignleft : {selector : alignElements, attributes : {align : 'left'}}, + aligncenter : {selector : alignElements, attributes : {align : 'center'}}, + alignright : {selector : alignElements, attributes : {align : 'right'}}, + alignfull : {selector : alignElements, attributes : {align : 'full'}}, + + // Change the basic formatting elements to use deprecated element types + bold : {inline : 'b'}, + italic : {inline : 'i'}, + underline : {inline : 'u'}, + strikethrough : {inline : 'strike'}, + + // Change font size and font family to use the deprecated font element + fontname : {inline : 'font', attributes : {face : '%value'}}, + fontsize : { + inline : 'font', + attributes : { + size : function(vars) { + return tinymce.inArray(fontSizes, vars.value) + 1; + } + } + }, + + // Setup font elements for colors as well + forecolor : {inline : 'font', styles : {color : '%value'}}, + hilitecolor : {inline : 'font', styles : {backgroundColor : '%value'}} + }); + + // Force parsing of the serializer rules + serializer._setup(); + + // Check that deprecated elements are allowed if not add them + tinymce.each('b,i,u,strike'.split(','), function(name) { + var rule = serializer.rules[name]; + + if (!rule) + serializer.addRules(name); + }); + + // Add font element if it's missing + if (!serializer.rules["font"]) + serializer.addRules("font[face|size|color|style]"); + + // Add the missing and depreacted align attribute for the serialization engine + tinymce.each(alignElements.split(','), function(name) { + var rule = serializer.rules[name], found; + + if (rule) { + tinymce.each(rule.attribs, function(name, attr) { + if (attr.name == 'align') { + found = true; + return false; + } + }); + + if (!found) + rule.attribs.push({name : 'align'}); + } + }); + + // Listen for the onNodeChange event so that we can do special logic for the font size and font name drop boxes + editor.onNodeChange.add(function(editor, control_manager) { + var control, fontElm, fontName, fontSize; + + // Find font element get it's name and size + fontElm = editor.dom.getParent(editor.selection.getNode(), 'font'); + if (fontElm) { + fontName = fontElm.face; + fontSize = fontElm.size; + } + + // Select/unselect the font name in droplist + if (control = control_manager.get('fontselect')) { + control.select(function(value) { + return value == fontName; + }); + } + + // Select/unselect the font size in droplist + if (control = control_manager.get('fontsizeselect')) { + control.select(function(value) { + var index = tinymce.inArray(fontSizes, value.fontSize); + + return index + 1 == fontSize; + }); + } + }); + }); + }, + + getInfo : function() { + return { + longname : 'LegacyOutput', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/legacyoutput', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('legacyoutput', tinymce.plugins.LegacyOutput); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/content.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/content.css new file mode 100755 index 00000000..1bf6a758 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/content.css @@ -0,0 +1,6 @@ +.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc;} +.mceItemShockWave {background-image: url(../img/shockwave.gif);} +.mceItemFlash {background-image:url(../img/flash.gif);} +.mceItemQuickTime {background-image:url(../img/quicktime.gif);} +.mceItemWindowsMedia {background-image:url(../img/windowsmedia.gif);} +.mceItemRealMedia {background-image:url(../img/realmedia.gif);} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/media.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/media.css new file mode 100755 index 00000000..2d087944 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/css/media.css @@ -0,0 +1,16 @@ +#id, #name, #hspace, #vspace, #class_name, #align { width: 100px } +#hspace, #vspace { width: 50px } +#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { width: 100px } +#flash_base, #flash_flashvars { width: 240px } +#width, #height { width: 40px } +#src, #media_type { width: 250px } +#class { width: 120px } +#prev { margin: 0; border: 1px solid black; width: 380px; height: 230px; overflow: auto } +.panel_wrapper div.current { height: 390px; overflow: auto } +#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { display: none } +.mceAddSelectValue { background-color: #DDDDDD } +#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { width: 70px } +#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { width: 70px } +#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { width: 70px } +#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { width: 90px } +#qt_qtsrc { width: 200px } diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/editor_plugin.js new file mode 100755 index 00000000..4bbe367e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.MediaPlugin",{init:function(b,c){var e=this;e.editor=b;e.url=c;function f(g){return/^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(g.className)}b.onPreInit.add(function(){b.serializer.addRules("param[name|value|_mce_value]")});b.addCommand("mceMedia",function(){b.windowManager.open({file:c+"/media.htm",width:430+parseInt(b.getLang("media.delta_width",0)),height:470+parseInt(b.getLang("media.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("media",{title:"media.desc",cmd:"mceMedia"});b.onNodeChange.add(function(h,g,i){g.setActive("media",i.nodeName=="IMG"&&f(i))});b.onInit.add(function(){var g={mceItemFlash:"flash",mceItemShockWave:"shockwave",mceItemWindowsMedia:"windowsmedia",mceItemQuickTime:"quicktime",mceItemRealMedia:"realmedia"};b.selection.onSetContent.add(function(){e._spansToImgs(b.getBody())});b.selection.onBeforeSetContent.add(e._objectsToSpans,e);if(b.settings.content_css!==false){b.dom.loadCSS(c+"/css/content.css")}if(b.theme&&b.theme.onResolveName){b.theme.onResolveName.add(function(h,i){if(i.name=="img"){a(g,function(l,j){if(b.dom.hasClass(i.node,j)){i.name=l;i.title=b.dom.getAttrib(i.node,"title");return false}})}})}if(b&&b.plugins.contextmenu){b.plugins.contextmenu.onContextMenu.add(function(i,h,j){if(j.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(j.className)){h.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});b.onBeforeSetContent.add(e._objectsToSpans,e);b.onSetContent.add(function(){e._spansToImgs(b.getBody())});b.onPreProcess.add(function(g,i){var h=g.dom;if(i.set){e._spansToImgs(i.node);a(h.select("IMG",i.node),function(k){var j;if(f(k)){j=e._parse(k.title);h.setAttrib(k,"width",h.getAttrib(k,"width",j.width||100));h.setAttrib(k,"height",h.getAttrib(k,"height",j.height||100))}})}if(i.get){a(h.select("IMG",i.node),function(m){var l,j,k;if(g.getParam("media_use_script")){if(f(m)){m.className=m.className.replace(/mceItem/g,"mceTemp")}return}switch(m.className){case"mceItemFlash":l="d27cdb6e-ae6d-11cf-96b8-444553540000";j="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0";k="application/x-shockwave-flash";break;case"mceItemShockWave":l="166b1bca-3f9c-11cf-8075-444553540000";j="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0";k="application/x-director";break;case"mceItemWindowsMedia":l=g.getParam("media_wmp6_compatible")?"05589fa1-c356-11ce-bf01-00aa0055595a":"6bf52a52-394a-11d3-b153-00c04f79faa6";j="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701";k="application/x-mplayer2";break;case"mceItemQuickTime":l="02bf25d5-8c17-4b23-bc80-d3488abddc6b";j="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0";k="video/quicktime";break;case"mceItemRealMedia":l="cfcdaa03-8be4-11cf-b84b-0020afbbccfa";j="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0";k="audio/x-pn-realaudio-plugin";break}if(l){h.replace(e._buildObj({classid:l,codebase:j,type:k},m),m)}})}});b.onPostProcess.add(function(g,h){h.content=h.content.replace(/_mce_value=/g,"value=")});function d(g,h){h=new RegExp(h+'="([^"]+)"',"g").exec(g);return h?b.dom.decode(h[1]):""}b.onPostProcess.add(function(g,h){if(g.getParam("media_use_script")){h.content=h.content.replace(/]+>/g,function(j){var i=d(j,"class");if(/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(i)){at=e._parse(d(j,"title"));at.width=d(j,"width");at.height=d(j,"height");j=''; + } + + return im; + }); + } + }); + }, + + getInfo : function() { + return { + longname : 'Media', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + _objectsToSpans : function(ed, o) { + var t = this, h = o.content; + + h = h.replace(/]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, function(a, b, c) { + var o = t._parse(c); + + return '' + }); + + h = h.replace(/]*)>/gi, ''); + h = h.replace(/]*)\/?>/gi, ''); + h = h.replace(/]*)>/gi, ''); + h = h.replace(/<\/(object)([^>]*)>/gi, ''); + h = h.replace(/<\/embed>/gi, ''); + h = h.replace(/]*)>/gi, function(a, b) {return ''}); + h = h.replace(/\/ class=\"mceItemParam\"><\/span>/gi, 'class="mceItemParam">'); + + o.content = h; + }, + + _buildObj : function(o, n) { + var ob, ed = this.editor, dom = ed.dom, p = this._parse(n.title), stc; + + stc = ed.getParam('media_strict', true) && o.type == 'application/x-shockwave-flash'; + + p.width = o.width = dom.getAttrib(n, 'width') || 100; + p.height = o.height = dom.getAttrib(n, 'height') || 100; + + if (p.src) + p.src = ed.convertURL(p.src, 'src', n); + + if (stc) { + ob = dom.create('span', { + id : p.id, + _mce_name : 'object', + type : 'application/x-shockwave-flash', + data : p.src, + style : dom.getAttrib(n, 'style'), + width : o.width, + height : o.height + }); + } else { + ob = dom.create('span', { + id : p.id, + _mce_name : 'object', + classid : "clsid:" + o.classid, + style : dom.getAttrib(n, 'style'), + codebase : o.codebase, + width : o.width, + height : o.height + }); + } + + each (p, function(v, k) { + if (!/^(width|height|codebase|classid|id|_cx|_cy)$/.test(k)) { + // Use url instead of src in IE for Windows media + if (o.type == 'application/x-mplayer2' && k == 'src' && !p.url) + k = 'url'; + + if (v) + dom.add(ob, 'span', {_mce_name : 'param', name : k, '_mce_value' : v}); + } + }); + + if (!stc) + dom.add(ob, 'span', tinymce.extend({_mce_name : 'embed', type : o.type, style : dom.getAttrib(n, 'style')}, p)); + + return ob; + }, + + _spansToImgs : function(p) { + var t = this, dom = t.editor.dom, im, ci; + + each(dom.select('span', p), function(n) { + // Convert object into image + if (dom.getAttrib(n, 'class') == 'mceItemObject') { + ci = dom.getAttrib(n, "classid").toLowerCase().replace(/\s+/g, ''); + + switch (ci) { + case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000': + dom.replace(t._createImg('mceItemFlash', n), n); + break; + + case 'clsid:166b1bca-3f9c-11cf-8075-444553540000': + dom.replace(t._createImg('mceItemShockWave', n), n); + break; + + case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6': + case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95': + case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a': + dom.replace(t._createImg('mceItemWindowsMedia', n), n); + break; + + case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b': + dom.replace(t._createImg('mceItemQuickTime', n), n); + break; + + case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa': + dom.replace(t._createImg('mceItemRealMedia', n), n); + break; + + default: + dom.replace(t._createImg('mceItemFlash', n), n); + } + + return; + } + + // Convert embed into image + if (dom.getAttrib(n, 'class') == 'mceItemEmbed') { + switch (dom.getAttrib(n, 'type')) { + case 'application/x-shockwave-flash': + dom.replace(t._createImg('mceItemFlash', n), n); + break; + + case 'application/x-director': + dom.replace(t._createImg('mceItemShockWave', n), n); + break; + + case 'application/x-mplayer2': + dom.replace(t._createImg('mceItemWindowsMedia', n), n); + break; + + case 'video/quicktime': + dom.replace(t._createImg('mceItemQuickTime', n), n); + break; + + case 'audio/x-pn-realaudio-plugin': + dom.replace(t._createImg('mceItemRealMedia', n), n); + break; + + default: + dom.replace(t._createImg('mceItemFlash', n), n); + } + } + }); + }, + + _createImg : function(cl, n) { + var im, dom = this.editor.dom, pa = {}, ti = '', args; + + args = ['id', 'name', 'width', 'height', 'bgcolor', 'align', 'flashvars', 'src', 'wmode', 'allowfullscreen', 'quality', 'data']; + + // Create image + im = dom.create('img', { + src : this.url + '/img/trans.gif', + width : dom.getAttrib(n, 'width') || 100, + height : dom.getAttrib(n, 'height') || 100, + style : dom.getAttrib(n, 'style'), + 'class' : cl + }); + + // Setup base parameters + each(args, function(na) { + var v = dom.getAttrib(n, na); + + if (v) + pa[na] = v; + }); + + // Add optional parameters + each(dom.select('span', n), function(n) { + if (dom.hasClass(n, 'mceItemParam')) + pa[dom.getAttrib(n, 'name')] = dom.getAttrib(n, '_mce_value'); + }); + + // Use src not movie + if (pa.movie) { + pa.src = pa.movie; + delete pa.movie; + } + + // No src try data + if (!pa.src) { + pa.src = pa.data; + delete pa.data; + } + + // Merge with embed args + n = dom.select('.mceItemEmbed', n)[0]; + if (n) { + each(args, function(na) { + var v = dom.getAttrib(n, na); + + if (v && !pa[na]) + pa[na] = v; + }); + } + + delete pa.width; + delete pa.height; + + im.title = this._serialize(pa); + + return im; + }, + + _parse : function(s) { + return tinymce.util.JSON.parse('{' + s + '}'); + }, + + _serialize : function(o) { + return tinymce.util.JSON.serialize(o).replace(/[{}]/g, ''); + } + }); + + // Register plugin + tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/flash.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/flash.gif new file mode 100755 index 0000000000000000000000000000000000000000..cb192e6ceda8d19ad8e7d08dd1cfde0aa72ead2a GIT binary patch literal 241 zcmVOzlLa+Za}7>m0&NpCfJ0FQc3~F7DE)S%o1)Qi1n@vxX46qnD4hRS-NE*Pw!4UvE=#^N( literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/flv_player.swf b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/flv_player.swf new file mode 100755 index 0000000000000000000000000000000000000000..042c2ab969e98a6fdbe08848c4a73bd2c41de906 GIT binary patch literal 11668 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 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/quicktime.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/quicktime.gif new file mode 100755 index 0000000000000000000000000000000000000000..3b0499145b16138249f653a1a3f2c80230fb292c GIT binary patch literal 303 zcmV+~0nq+ONk%w1VGsZi0K^{vH>m7Qv+~s9^fsC5ZpZP=*zu3F=Jxpf8k_5u%JNv6 z=md-84VLU4w)kSE=yI&-yw>b=v+SqE?+kq47pC+YrR?bJ^yu>Zyvpn;hTp*6^mM!O zu+8$^=JX7bb<~J01ZTA{q@86#&8&6~H`Ss{{?p%K!-p%L6P2TpFYz90?pD06UU# BbnE~C literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/realmedia.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/realmedia.gif new file mode 100755 index 0000000000000000000000000000000000000000..fdfe0b9ac05869ae845fdd828eaad97cc0c69dbc GIT binary patch literal 439 zcmV;o0Z9HwNk%w1VI=?(0K^{vQcz8xz}f&njBB06v9GQ`Jv%NdDHCI&z`wqZw$(Lw zuFTBL!Pe#<92tv>h)9OE1Xh}vnVEHSaeb-GByg#tqM_B*)YRkdSdqTuipLaF8n=^^LJP4|1^gGRdo_Rl+a*grZQ1hw@Zo1ikN$oB{QbRq&z?QIckdq1aE3;Fq_(WV>Kc7gjQtQh+9OrtFhn-)LUqD<|MOIl_!(Ed#pPRE;S)g;ew3>pd zn`Wa(lc2DGa)peFw3f88dp-|`@*)AXj;@(8hwDr|7Sxsp;&YxjN*Y{PBB!TIU|!b7Zgv0OaG5)&Kwi literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/trans.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/trans.gif new file mode 100755 index 0000000000000000000000000000000000000000..388486517fa8da13ebd150e8f65d5096c3e10c3a GIT binary patch literal 43 ncmZ?wbhEHbWMp7un7{x9ia%KxMSyG_5FaGNz{KRj$Y2csb)f_x literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/windowsmedia.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/img/windowsmedia.gif new file mode 100755 index 0000000000000000000000000000000000000000..ab50f2d887a0843b116ef598e5a005e5601d18d0 GIT binary patch literal 415 zcmV;Q0bu?|Nk%w1VGjTg0M$PL`E^qkEu+z?1&N?x_*pRg{rx~kg!#|I<>uyug^O^t z0hZGrt*x!>$1C!zn`W5@`ts6_uMW)2%<0NUEKIo?SIPPE=}U0}7Z(?JcX!y=*;bF< zCWz-=h7+2ao9)(dOHM;+X=xs9)%!~xc&ICMZdRYdUQ2$^@9y(6X3NCIz{cM7f^Z=Q z1_tQ95kgl8b%R%OiYTIo7LSdE^@}A^8LW002J#EC2ui01p5U000KOz@O0K01zUifeIyT9%!RzMDgehG|mwLz+Eh; z7Z~iE zrX?OfJ^>XeDJK)xJuWOB3_l1N0Ra>g4Gk^=ED0V6LI?>4;Q|6OB{LplLMRLg8U5-E J?0y6R06W6!pgRBn literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/js/embed.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/js/embed.js new file mode 100755 index 00000000..f8dc8105 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/media/js/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += ''; + + h += ''); + +function init() { + var pl = "", f, val; + var type = "flash", fe, i; + + ed = tinyMCEPopup.editor; + + tinyMCEPopup.resizeToInnerSize(); + f = document.forms[0] + + fe = ed.selection.getNode(); + if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { + pl = fe.title; + + switch (ed.dom.getAttrib(fe, 'class')) { + case 'mceItemFlash': + type = 'flash'; + break; + + case 'mceItemFlashVideo': + type = 'flv'; + break; + + case 'mceItemShockWave': + type = 'shockwave'; + break; + + case 'mceItemWindowsMedia': + type = 'wmp'; + break; + + case 'mceItemQuickTime': + type = 'qt'; + break; + + case 'mceItemRealMedia': + type = 'rmp'; + break; + } + + document.forms[0].insert.value = ed.getLang('update', 'Insert', true); + } + + document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var html = getMediaListHTML('medialist','src','media','media'); + if (html == "") + document.getElementById("linklistrow").style.display = 'none'; + else + document.getElementById("linklistcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('filebrowser')) + document.getElementById('src').style.width = '230px'; + + // Setup form + if (pl != "") { + pl = tinyMCEPopup.editor.plugins.media._parse(pl); + + switch (type) { + case "flash": + setBool(pl, 'flash', 'play'); + setBool(pl, 'flash', 'loop'); + setBool(pl, 'flash', 'menu'); + setBool(pl, 'flash', 'swliveconnect'); + setStr(pl, 'flash', 'quality'); + setStr(pl, 'flash', 'scale'); + setStr(pl, 'flash', 'salign'); + setStr(pl, 'flash', 'wmode'); + setStr(pl, 'flash', 'base'); + setStr(pl, 'flash', 'flashvars'); + break; + + case "qt": + setBool(pl, 'qt', 'loop'); + setBool(pl, 'qt', 'autoplay'); + setBool(pl, 'qt', 'cache'); + setBool(pl, 'qt', 'controller'); + setBool(pl, 'qt', 'correction'); + setBool(pl, 'qt', 'enablejavascript'); + setBool(pl, 'qt', 'kioskmode'); + setBool(pl, 'qt', 'autohref'); + setBool(pl, 'qt', 'playeveryframe'); + setBool(pl, 'qt', 'tarsetcache'); + setStr(pl, 'qt', 'scale'); + setStr(pl, 'qt', 'starttime'); + setStr(pl, 'qt', 'endtime'); + setStr(pl, 'qt', 'tarset'); + setStr(pl, 'qt', 'qtsrcchokespeed'); + setStr(pl, 'qt', 'volume'); + setStr(pl, 'qt', 'qtsrc'); + break; + + case "shockwave": + setBool(pl, 'shockwave', 'sound'); + setBool(pl, 'shockwave', 'progress'); + setBool(pl, 'shockwave', 'autostart'); + setBool(pl, 'shockwave', 'swliveconnect'); + setStr(pl, 'shockwave', 'swvolume'); + setStr(pl, 'shockwave', 'swstretchstyle'); + setStr(pl, 'shockwave', 'swstretchhalign'); + setStr(pl, 'shockwave', 'swstretchvalign'); + break; + + case "wmp": + setBool(pl, 'wmp', 'autostart'); + setBool(pl, 'wmp', 'enabled'); + setBool(pl, 'wmp', 'enablecontextmenu'); + setBool(pl, 'wmp', 'fullscreen'); + setBool(pl, 'wmp', 'invokeurls'); + setBool(pl, 'wmp', 'mute'); + setBool(pl, 'wmp', 'stretchtofit'); + setBool(pl, 'wmp', 'windowlessvideo'); + setStr(pl, 'wmp', 'balance'); + setStr(pl, 'wmp', 'baseurl'); + setStr(pl, 'wmp', 'captioningid'); + setStr(pl, 'wmp', 'currentmarker'); + setStr(pl, 'wmp', 'currentposition'); + setStr(pl, 'wmp', 'defaultframe'); + setStr(pl, 'wmp', 'playcount'); + setStr(pl, 'wmp', 'rate'); + setStr(pl, 'wmp', 'uimode'); + setStr(pl, 'wmp', 'volume'); + break; + + case "rmp": + setBool(pl, 'rmp', 'autostart'); + setBool(pl, 'rmp', 'loop'); + setBool(pl, 'rmp', 'autogotourl'); + setBool(pl, 'rmp', 'center'); + setBool(pl, 'rmp', 'imagestatus'); + setBool(pl, 'rmp', 'maintainaspect'); + setBool(pl, 'rmp', 'nojava'); + setBool(pl, 'rmp', 'prefetch'); + setBool(pl, 'rmp', 'shuffle'); + setStr(pl, 'rmp', 'console'); + setStr(pl, 'rmp', 'controls'); + setStr(pl, 'rmp', 'numloop'); + setStr(pl, 'rmp', 'scriptcallbacks'); + break; + } + + setStr(pl, null, 'src'); + setStr(pl, null, 'id'); + setStr(pl, null, 'name'); + setStr(pl, null, 'vspace'); + setStr(pl, null, 'hspace'); + setStr(pl, null, 'bgcolor'); + setStr(pl, null, 'align'); + setStr(pl, null, 'width'); + setStr(pl, null, 'height'); + + if ((val = ed.dom.getAttrib(fe, "width")) != "") + pl.width = f.width.value = val; + + if ((val = ed.dom.getAttrib(fe, "height")) != "") + pl.height = f.height.value = val; + + oldWidth = pl.width ? parseInt(pl.width) : 0; + oldHeight = pl.height ? parseInt(pl.height) : 0; + } else + oldWidth = oldHeight = 0; + + selectByValue(f, 'media_type', type); + changedType(type); + updateColor('bgcolor_pick', 'bgcolor'); + + TinyMCE_EditableSelects.init(); + generatePreview(); +} + +function insertMedia() { + var fe, f = document.forms[0], h; + + tinyMCEPopup.restoreSelection(); + + if (!AutoValidator.validate(f)) { + tinyMCEPopup.alert(ed.getLang('invalid_data')); + return false; + } + + f.width.value = f.width.value == "" ? 100 : f.width.value; + f.height.value = f.height.value == "" ? 100 : f.height.value; + + fe = ed.selection.getNode(); + if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { + switch (f.media_type.options[f.media_type.selectedIndex].value) { + case "flash": + fe.className = "mceItemFlash"; + break; + + case "flv": + fe.className = "mceItemFlashVideo"; + break; + + case "shockwave": + fe.className = "mceItemShockWave"; + break; + + case "qt": + fe.className = "mceItemQuickTime"; + break; + + case "wmp": + fe.className = "mceItemWindowsMedia"; + break; + + case "rmp": + fe.className = "mceItemRealMedia"; + break; + } + + if (fe.width != f.width.value || fe.height != f.height.value) + ed.execCommand('mceRepaint'); + + fe.title = serializeParameters(); + fe.width = f.width.value; + fe.height = f.height.value; + fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : ''); + fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : ''); + fe.align = f.align.options[f.align.selectedIndex].value; + } else { + h = ' 0) { + var html = ""; + + html += ''; + + return html; + } + + return ""; +} + +function getType(v) { + var fo, i, c, el, x, f = document.forms[0]; + + fo = ed.getParam("media_types", "flash=swf;flv=flv;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'); + + // YouTube + if (v.match(/watch\?v=(.+)(.*)/)) { + f.width.value = '425'; + f.height.value = '350'; + f.src.value = 'http://www.youtube.com/v/' + v.match(/v=(.*)(.*)/)[0].split('=')[1]; + return 'flash'; + } + + // Google video + if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) { + f.width.value = '425'; + f.height.value = '326'; + f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en'; + return 'flash'; + } + + for (i=0; i 0 ? s.substring(0, s.length - 1) : s; + + return s; +} + +function setBool(pl, p, n) { + if (typeof(pl[n]) == "undefined") + return; + + document.forms[0].elements[p + "_" + n].checked = pl[n] != 'false'; +} + +function setStr(pl, p, n) { + var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n]; + + if (typeof(pl[n]) == "undefined") + return; + + if (e.type == "text") + e.value = pl[n]; + else + selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]); +} + +function getBool(p, n, d, tv, fv) { + var v = document.forms[0].elements[p + "_" + n].checked; + + tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'"; + fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'"; + + return (v == d) ? '' : n + (v ? ':' + tv + ',' : ":\'" + fv + "\',"); +} + +function getStr(p, n, d) { + var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; + var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; + + if (n == 'src') + v = tinyMCEPopup.editor.convertURL(v, 'src', null); + + return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',"); +} + +function getInt(p, n, d) { + var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; + var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; + + return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ","); +} + +function jsEncode(s) { + s = s.replace(new RegExp('\\\\', 'g'), '\\\\'); + s = s.replace(new RegExp('"', 'g'), '\\"'); + s = s.replace(new RegExp("'", 'g'), "\\'"); + + return s; +} + +function generatePreview(c) { + var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh; + + p.innerHTML = ''; + + nw = parseInt(f.width.value); + nh = parseInt(f.height.value); + + if (f.width.value != "" && f.height.value != "") { + if (f.constrain.checked) { + if (c == 'width' && oldWidth != 0) { + wp = nw / oldWidth; + nh = Math.round(wp * nh); + f.height.value = nh; + } else if (c == 'height' && oldHeight != 0) { + hp = nh / oldHeight; + nw = Math.round(hp * nw); + f.width.value = nw; + } + } + } + + if (f.width.value != "") + oldWidth = nw; + + if (f.height.value != "") + oldHeight = nh; + + // After constrain + pl = serializeParameters(); + + switch (f.media_type.options[f.media_type.selectedIndex].value) { + case "flash": + cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; + codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; + type = 'application/x-shockwave-flash'; + break; + + case "shockwave": + cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000'; + codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; + type = 'application/x-director'; + break; + + case "qt": + cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'; + codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; + type = 'video/quicktime'; + break; + + case "wmp": + cls = ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6'; + codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + type = 'application/x-mplayer2'; + break; + + case "rmp": + cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; + codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + type = 'audio/x-pn-realaudio-plugin'; + break; + } + + if (pl == '') { + p.innerHTML = ''; + return; + } + + pl = tinyMCEPopup.editor.plugins.media._parse(pl); + + if (!pl.src) { + p.innerHTML = ''; + return; + } + + pl.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(pl.src); + pl.width = !pl.width ? 100 : pl.width; + pl.height = !pl.height ? 100 : pl.height; + pl.id = !pl.id ? 'obj' : pl.id; + pl.name = !pl.name ? 'eobj' : pl.name; + pl.align = !pl.align ? '' : pl.align; + + // Avoid annoying warning about insecure items + if (!tinymce.isIE || document.location.protocol != 'https:') { + h += ''; + + for (n in pl) { + h += ''; + + // Add extra url parameter if it's an absolute URL + if (n == 'src' && pl[n].indexOf('://') != -1) + h += ''; + } + } + + h += ' + + + {#media_dlg.title} + + + + + + + + + +
+ + +
+
+
+ {#media_dlg.general} + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ + + + + + +
x   
+
+
+ +
+ {#media_dlg.preview} + +
+
+ +
+
+ {#media_dlg.advanced} + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
 
+
+
+ +
+ {#media_dlg.flash_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + + + + + + + +
+
+ +
+ {#media_dlg.flv_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.qt_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+  
+ + + + + +
 
+
+
+ +
+ {#media_dlg.wmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.rmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+   +
+
+ +
+ {#media_dlg.shockwave_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin.js new file mode 100755 index 00000000..eb40a6a3 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Nonbreaking",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceNonBreaking",function(){a.execCommand("mceInsertContent",false,(a.plugins.visualchars&&a.plugins.visualchars.state)?' ':" ")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(tinymce.isIE&&f.keyCode==9){d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");tinymce.dom.Event.cancel(f)}})}},getInfo:function(){return{longname:"Nonbreaking space",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("nonbreaking",tinymce.plugins.Nonbreaking)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin_src.js new file mode 100755 index 00000000..ca83ee26 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/nonbreaking/editor_plugin_src.js @@ -0,0 +1,53 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Nonbreaking', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceNonBreaking', function() { + ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? ' ' : ' '); + }); + + // Register buttons + ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'}); + + if (ed.getParam('nonbreaking_force_tab')) { + ed.onKeyDown.add(function(ed, e) { + if (tinymce.isIE && e.keyCode == 9) { + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + tinymce.dom.Event.cancel(e); + } + }); + } + }, + + getInfo : function() { + return { + longname : 'Nonbreaking space', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + + // Private methods + }); + + // Register plugin + tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin.js new file mode 100755 index 00000000..9945cd85 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.dom.Event;tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(d,e){var f=this,c,b;f.editor=d;c=d.getParam("noneditable_editable_class","mceEditable");b=d.getParam("noneditable_noneditable_class","mceNonEditable");d.onNodeChange.addToTop(function(h,g,k){var j,i;j=h.dom.getParent(h.selection.getStart(),function(l){return h.dom.hasClass(l,b)});i=h.dom.getParent(h.selection.getEnd(),function(l){return h.dom.hasClass(l,b)});if(j||i){f._setDisabled(1);return false}else{f._setDisabled(0)}})},getInfo:function(){return{longname:"Non editable elements",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_block:function(c,d){var b=d.keyCode;if((b>32&&b<41)||(b>111&&b<124)){return}return a.cancel(d)},_setDisabled:function(d){var c=this,b=c.editor;tinymce.each(b.controlManager.controls,function(e){e.setDisabled(d)});if(d!==c.disabled){if(d){b.onKeyDown.addToTop(c._block);b.onKeyPress.addToTop(c._block);b.onKeyUp.addToTop(c._block);b.onPaste.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin_src.js new file mode 100755 index 00000000..656c971b --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/noneditable/editor_plugin_src.js @@ -0,0 +1,90 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var Event = tinymce.dom.Event; + + tinymce.create('tinymce.plugins.NonEditablePlugin', { + init : function(ed, url) { + var t = this, editClass, nonEditClass; + + t.editor = ed; + editClass = ed.getParam("noneditable_editable_class", "mceEditable"); + nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable"); + + ed.onNodeChange.addToTop(function(ed, cm, n) { + var sc, ec; + + // Block if start or end is inside a non editable element + sc = ed.dom.getParent(ed.selection.getStart(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + ec = ed.dom.getParent(ed.selection.getEnd(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + // Block or unblock + if (sc || ec) { + t._setDisabled(1); + return false; + } else + t._setDisabled(0); + }); + }, + + getInfo : function() { + return { + longname : 'Non editable elements', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _block : function(ed, e) { + var k = e.keyCode; + + // Don't block arrow keys, pg up/down, and F1-F12 + if ((k > 32 && k < 41) || (k > 111 && k < 124)) + return; + + return Event.cancel(e); + }, + + _setDisabled : function(s) { + var t = this, ed = t.editor; + + tinymce.each(ed.controlManager.controls, function(c) { + c.setDisabled(s); + }); + + if (s !== t.disabled) { + if (s) { + ed.onKeyDown.addToTop(t._block); + ed.onKeyPress.addToTop(t._block); + ed.onKeyUp.addToTop(t._block); + ed.onPaste.addToTop(t._block); + } else { + ed.onKeyDown.remove(t._block); + ed.onKeyPress.remove(t._block); + ed.onKeyUp.remove(t._block); + ed.onPaste.remove(t._block); + } + + t.disabled = s; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/css/content.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/css/content.css new file mode 100755 index 00000000..c949d58c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/css/content.css @@ -0,0 +1 @@ +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../img/pagebreak.gif) no-repeat center top;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin.js new file mode 100755 index 00000000..a212f696 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f='',a="mcePageBreak",c=b.getParam("pagebreak_separator",""),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.settings.content_css!==false){b.dom.loadCSS(d+"/css/content.css")}if(b.theme.onResolveName){b.theme.onResolveName.add(function(g,h){if(h.node.nodeName=="IMG"&&b.dom.hasClass(h.node,a)){h.name="pagebreak"}})}});b.onClick.add(function(g,h){h=h.target;if(h.nodeName==="IMG"&&g.dom.hasClass(h,a)){g.selection.select(h)}});b.onNodeChange.add(function(h,g,i){g.setActive("pagebreak",i.nodeName==="IMG"&&h.dom.hasClass(i,a))});b.onBeforeSetContent.add(function(g,h){h.content=h.content.replace(e,f)});b.onPostProcess.add(function(g,h){if(h.get){h.content=h.content.replace(/]+>/g,function(i){if(i.indexOf('class="mcePageBreak')!==-1){i=c}return i})}})},getInfo:function(){return{longname:"PageBreak",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("pagebreak",tinymce.plugins.PageBreakPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin_src.js new file mode 100755 index 00000000..4e1eb0a7 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/editor_plugin_src.js @@ -0,0 +1,77 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.PageBreakPlugin', { + init : function(ed, url) { + var pb = '', cls = 'mcePageBreak', sep = ed.getParam('pagebreak_separator', ''), pbRE; + + pbRE = new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) {return '\\' + a;}), 'g'); + + // Register commands + ed.addCommand('mcePageBreak', function() { + ed.execCommand('mceInsertContent', 0, pb); + }); + + // Register buttons + ed.addButton('pagebreak', {title : 'pagebreak.desc', cmd : cls}); + + ed.onInit.add(function() { + if (ed.settings.content_css !== false) + ed.dom.loadCSS(url + "/css/content.css"); + + if (ed.theme.onResolveName) { + ed.theme.onResolveName.add(function(th, o) { + if (o.node.nodeName == 'IMG' && ed.dom.hasClass(o.node, cls)) + o.name = 'pagebreak'; + }); + } + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'IMG' && ed.dom.hasClass(e, cls)) + ed.selection.select(e); + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('pagebreak', n.nodeName === 'IMG' && ed.dom.hasClass(n, cls)); + }); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = o.content.replace(pbRE, pb); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.get) + o.content = o.content.replace(/]+>/g, function(im) { + if (im.indexOf('class="mcePageBreak') !== -1) + im = sep; + + return im; + }); + }); + }, + + getInfo : function() { + return { + longname : 'PageBreak', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('pagebreak', tinymce.plugins.PageBreakPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/img/pagebreak.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/img/pagebreak.gif new file mode 100755 index 0000000000000000000000000000000000000000..acdf4085f3068c4c0a1d6855f4b80dae8bac3068 GIT binary patch literal 325 zcmV-L0lNN2Nk%w1VPpUd0J9GO`>v<{=;ru;boX6P{`2zsmyZ3>&HK5t_;hIbi-G;z z+4`cI{KdfcXj}GCLjV8&A^8LW000jFEC2ui0Av6R000E?@X1N5y*TU5yZ>M)j$|1M z4Ouvb$pHu>IW8BZq|n;U0s@T!VM5~w1_+1X!EiVl!&PITYdjT!ffYfpt{jAfv%qvh zA63WUHSlr7LkeyaV4(pM0f50(II?RD4RtMg4-E+tFhdAy5{3c=0}3Bg9Y8`B2To20 zR%SO62L%9}0H+dzoKB$+2TOwzUrwi{XiBM^4V#>63q3!LsU3u93zH8CdwqY%62;1g z0g8ze$k93lWExp`CUe|K4qOWk17ZeJ0|5pDP6+}};{>bI@lOWj=kf}r2sHp7w9-Ie XK%9UG6W(*AX-vY05F<*&5CH%?Gwy&_ literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/img/trans.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/pagebreak/img/trans.gif new file mode 100755 index 0000000000000000000000000000000000000000..388486517fa8da13ebd150e8f65d5096c3e10c3a GIT binary patch literal 43 ncmZ?wbhEHbWMp7un7{x9ia%KxMSyG_5FaGNz{KRj$Y2csb)f_x literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/editor_plugin.js new file mode 100755 index 00000000..77a74896 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.each,d=null,a={paste_auto_cleanup_on_paste:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(e,f){return e.getParam(f,a[f])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(e,f){var g=this;g.editor=e;g.url=f;g.onPreProcess=new tinymce.util.Dispatcher(g);g.onPostProcess=new tinymce.util.Dispatcher(g);g.onPreProcess.add(g._preProcess);g.onPostProcess.add(g._postProcess);g.onPreProcess.add(function(j,k){e.execCallback("paste_preprocess",j,k)});g.onPostProcess.add(function(j,k){e.execCallback("paste_postprocess",j,k)});e.pasteAsPlainText=false;function i(l,j){var k=e.dom;g.onPreProcess.dispatch(g,l);l.node=k.create("div",0,l.content);g.onPostProcess.dispatch(g,l);l.content=e.serializer.serialize(l.node,{getInner:1});if((!j)&&(e.pasteAsPlainText)){g._insertPlainText(e,k,l.content);if(!b(e,"paste_text_sticky")){e.pasteAsPlainText=false;e.controlManager.setActive("pastetext",false)}}else{if(/<(p|h[1-6]|ul|ol)/.test(l.content)){g._insertBlockContent(e,k,l.content)}else{g._insert(l.content)}}}e.addCommand("mceInsertClipboardContent",function(j,k){i(k,true)});if(!b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(k,j){var l=tinymce.util.Cookie;e.pasteAsPlainText=!e.pasteAsPlainText;e.controlManager.setActive("pastetext",e.pasteAsPlainText);if((e.pasteAsPlainText)&&(!l.get("tinymcePasteText"))){if(b(e,"paste_text_sticky")){e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}else{e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}if(!b(e,"paste_text_notifyalways")){l.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}e.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});e.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function h(s){var m,q,k,l=e.selection,p=e.dom,r=e.getBody(),j;if(e.pasteAsPlainText&&(s.clipboardData||p.doc.dataTransfer)){s.preventDefault();i({content:(s.clipboardData||p.doc.dataTransfer).getData("Text").replace(/\r?\n/g,"
")});return}if(p.get("_mcePaste")){return}m=p.add(r,"div",{id:"_mcePaste","class":"mcePaste"},'\uFEFF
');if(r!=e.getDoc().body){j=p.getPos(e.selection.getStart(),r).y}else{j=r.scrollTop}p.setStyles(m,{position:"absolute",left:-10000,top:j,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){k=p.doc.body.createTextRange();k.moveToElementText(m);k.execCommand("Paste");p.remove(m);if(m.innerHTML==="\uFEFF"){e.execCommand("mcePasteWord");s.preventDefault();return}i({content:m.innerHTML});return tinymce.dom.Event.cancel(s)}else{function o(n){n.preventDefault()}p.bind(e.getDoc(),"mousedown",o);p.bind(e.getDoc(),"keydown",o);q=e.selection.getRng();m=m.firstChild;k=e.getDoc().createRange();k.setStart(m,0);k.setEnd(m,1);l.setRng(k);window.setTimeout(function(){var t="",n=p.select("div.mcePaste");c(n,function(v){var u=v.firstChild;if(u&&u.nodeName=="DIV"&&u.style.marginTop&&u.style.backgroundColor){p.remove(u,1)}c(p.select("div.mcePaste",v),function(w){p.remove(w,1)});c(p.select("span.Apple-style-span",v),function(w){p.remove(w,1)});c(p.select("br[_mce_bogus]",v),function(w){p.remove(w)});t+=v.innerHTML});c(n,function(u){p.remove(u)});if(q){l.setRng(q)}i({content:t});p.unbind(e.getDoc(),"mousedown",o);p.unbind(e.getDoc(),"keydown",o)},0)}}if(b(e,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){e.onKeyDown.add(function(j,k){if(((tinymce.isMac?k.metaKey:k.ctrlKey)&&k.keyCode==86)||(k.shiftKey&&k.keyCode==45)){h(k)}})}else{e.onPaste.addToTop(function(j,k){return h(k)})}}if(b(e,"paste_block_drop")){e.onInit.add(function(){e.dom.bind(e.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(j){j.preventDefault();j.stopPropagation();return false})})}g._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(i,f){var l=this.editor,k=f.content,q=tinymce.grep,p=tinymce.explode,g=tinymce.trim,m,j;function e(h){c(h,function(o){if(o.constructor==RegExp){k=k.replace(o,"")}else{k=k.replace(o[0],o[1])}})}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(k)||f.wordContent){f.wordContent=true;e([/^\s*( )+/gi,/( |]*>)+\s*$/gi]);if(b(l,"paste_convert_headers_to_strong")){k=k.replace(/

]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"

$1

")}if(b(l,"paste_convert_middot_lists")){e([[//gi,"$&__MCE_ITEM__"],[/(]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"]])}e([//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\u00a0"]]);do{m=k.length;k=k.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(m!=k.length);if(b(l,"paste_retain_style_properties").replace(/^none$/i,"").length==0){k=k.replace(/<\/?span[^>]*>/gi,"")}else{e([[/([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(u,h,t){var v=[],o=0,r=p(g(t).replace(/"/gi,"'"),";");c(r,function(s){var w,y,z=p(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":v[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":v[o++]="text-align:"+y;return;case"vert-align":v[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":v[o++]="color:"+y;return;case"mso-background":case"mso-highlight":v[o++]="background:"+y;return;case"mso-default-height":v[o++]="min-height:"+x(y);return;case"mso-default-width":v[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":v[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){v[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){v[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}v[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+v.join(";")+'"'}else{return h}}]])}}if(b(l,"paste_convert_headers_to_strong")){e([[/]*>/gi,"

"],[/<\/h[1-6][^>]*>/gi,"

"]])}j=b(l,"paste_strip_class_attributes");if(j!=="none"){function n(r,o){if(j==="all"){return""}var h=q(p(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(s){return(/^(?!mso)/i.test(s))});return h.length?' class="'+h.join(" ")+'"':""}k=k.replace(/ class="([^"]+)"/gi,n);k=k.replace(/ class=(\w+)/gi,n)}if(b(l,"paste_remove_spans")){k=k.replace(/<\/?span[^>]*>/gi,"")}f.content=k},_postProcess:function(h,j){var g=this,f=g.editor,i=f.dom,e;if(j.wordContent){c(i.select("a",j.node),function(k){if(!k.href||k.href.indexOf("#_Toc")!=-1){i.remove(k,1)}});if(b(f,"paste_convert_middot_lists")){g._convertLists(h,j)}e=b(f,"paste_retain_style_properties");if((tinymce.is(e,"string"))&&(e!=="all")&&(e!=="*")){e=tinymce.explode(e.replace(/^none$/i,""));c(i.select("*",j.node),function(n){var o={},l=0,m,p,k;if(e){for(m=0;m0){i.setStyles(n,o)}else{if(n.nodeName=="SPAN"&&!n.className){i.remove(n,true)}}})}}if(b(f,"paste_remove_styles")||(b(f,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(i.select("*[style]",j.node),function(k){k.removeAttribute("style");k.removeAttribute("_mce_style")})}else{if(tinymce.isWebKit){c(i.select("*",j.node),function(k){k.removeAttribute("_mce_style")})}}},_convertLists:function(h,f){var j=h.editor.dom,i,m,e=-1,g,n=[],l,k;c(j.select("p",f.node),function(u){var r,v="",t,s,o,q;for(r=u.firstChild;r&&r.nodeType==3;r=r.nextSibling){v+=r.nodeValue}v=u.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/ /g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0*/.test(v)){t="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0{2,}/.test(v)){t="ol"}if(t){g=parseFloat(u.style.marginLeft||0);if(g>e){n.push(g)}if(!i||t!=l){i=j.create(t);j.insertAfter(i,u)}else{if(g>e){i=m.appendChild(j.create(t))}else{if(g]*>/gi,"");if(t=="ul"&&/^[\u2022\u00b7\u00a7\u00d8o]/.test(p)){j.remove(w)}else{if(/^[\s\S]*\w+\.( |\u00a0)*\s*/.test(p)){j.remove(w)}}});s=u.innerHTML;if(t=="ul"){s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o]\s*( |\u00a0)+\s*/,"")}else{s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.( |\u00a0)+\s*/,"")}m=i.appendChild(j.create("li",0,s));j.remove(u);e=g;l=t}else{i=e=0}});k=f.node.innerHTML;if(k.indexOf("__MCE_ITEM__")!=-1){f.node.innerHTML=k.replace(/__MCE_ITEM__/g,"")}},_insertBlockContent:function(l,h,m){var f,j,g=l.selection,q,n,e,o,i,k="mce_marker";function p(t){var s;if(tinymce.isIE){s=l.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(false);s.select()}else{g.select(t,1);g.collapse(false)}}this._insert('',1);j=h.get(k);f=h.getParent(j,"p,h1,h2,h3,h4,h5,h6,ul,ol,th,td");if(f&&!/TD|TH/.test(f.nodeName)){j=h.split(f,j);c(h.create("div",0,m).childNodes,function(r){q=j.parentNode.insertBefore(r.cloneNode(true),j)});p(q)}else{h.setOuterHTML(j,m);g.select(l.getBody(),1);g.collapse(0)}while(n=h.get(k)){h.remove(n)}n=g.getStart();e=h.getViewPort(l.getWin());o=l.dom.getPos(n).y;i=n.clientHeight;if(oe.y+e.h){l.getDoc().body.scrollTop=o0)){if(!d){d=("34,quot,38,amp,39,apos,60,lt,62,gt,"+j.serializer.settings.entities).split(",")}if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/ /gi," "],[/&(#\d+|[a-z0-9]{1,10});/gi,function(i,h){if(h.charAt(0)==="#"){return String.fromCharCode(h.slice(1))}else{return((i=y(d,h))>0)?String.fromCharCode(d[i-1]):" "}}],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.encode(v);if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"
"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"

"],[/\n/g,"
"]])}}if((l=v.indexOf("

"))!=-1){k=v.lastIndexOf("

");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+' ');window.setTimeout(function(){var h=x.get("_plain_text_marker"),B,i,A,w;s.select(h,false);z.execCommand("Delete",false,null);h=null;B=s.getStart();i=x.getViewPort(n);A=x.getPos(B).y;w=B.clientHeight;if((Ai.y+i.h)){z.body.scrollTop=A

]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "

$1

"); + } + + if (getParam(ed, "paste_convert_middot_lists")) { + process([ + [//gi, '$&__MCE_ITEM__'], // Convert supportLists to a list item marker + [/(]+(?:mso-list:|:\s*symbol)[^>]+>)/gi, '$1__MCE_ITEM__'] // Convert mso-list and symbol spans to item markers + ]); + } + + process([ + // Word comments like conditional comments etc + //gi, + + // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, MS Office namespaced tags, and a few other tags + /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, + + // Convert into for line-though + [/<(\/?)s>/gi, "<$1strike>"], + + // Replace nsbp entites to char since it's easier to handle + [/ /gi, "\u00a0"] + ]); + + // Remove bad attributes, with or without quotes, ensuring that attribute text is really inside a tag. + // If JavaScript had a RegExp look-behind, we could have integrated this with the last process() array and got rid of the loop. But alas, it does not, so we cannot. + do { + len = h.length; + h = h.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi, "$1"); + } while (len != h.length); + + // Remove all spans if no styles is to be retained + if (getParam(ed, "paste_retain_style_properties").replace(/^none$/i, "").length == 0) { + h = h.replace(/<\/?span[^>]*>/gi, ""); + } else { + // We're keeping styles, so at least clean them up. + // CSS Reference: http://msdn.microsoft.com/en-us/library/aa155477.aspx + + process([ + // Convert ___ to string of alternating breaking/non-breaking spaces of same length + [/([\s\u00a0]*)<\/span>/gi, + function(str, spaces) { + return (spaces.length > 0)? spaces.replace(/./, " ").slice(Math.floor(spaces.length/2)).split("").join("\u00a0") : ""; + } + ], + + // Examine all styles: delete junk, transform some, and keep the rest + [/(<[a-z][^>]*)\sstyle="([^"]*)"/gi, + function(str, tag, style) { + var n = [], + i = 0, + s = explode(trim(style).replace(/"/gi, "'"), ";"); + + // Examine each style definition within the tag's style attribute + each(s, function(v) { + var name, value, + parts = explode(v, ":"); + + function ensureUnits(v) { + return v + ((v !== "0") && (/\d$/.test(v)))? "px" : ""; + } + + if (parts.length == 2) { + name = parts[0].toLowerCase(); + value = parts[1].toLowerCase(); + + // Translate certain MS Office styles into their CSS equivalents + switch (name) { + case "mso-padding-alt": + case "mso-padding-top-alt": + case "mso-padding-right-alt": + case "mso-padding-bottom-alt": + case "mso-padding-left-alt": + case "mso-margin-alt": + case "mso-margin-top-alt": + case "mso-margin-right-alt": + case "mso-margin-bottom-alt": + case "mso-margin-left-alt": + case "mso-table-layout-alt": + case "mso-height": + case "mso-width": + case "mso-vertical-align-alt": + n[i++] = name.replace(/^mso-|-alt$/g, "") + ":" + ensureUnits(value); + return; + + case "horiz-align": + n[i++] = "text-align:" + value; + return; + + case "vert-align": + n[i++] = "vertical-align:" + value; + return; + + case "font-color": + case "mso-foreground": + n[i++] = "color:" + value; + return; + + case "mso-background": + case "mso-highlight": + n[i++] = "background:" + value; + return; + + case "mso-default-height": + n[i++] = "min-height:" + ensureUnits(value); + return; + + case "mso-default-width": + n[i++] = "min-width:" + ensureUnits(value); + return; + + case "mso-padding-between-alt": + n[i++] = "border-collapse:separate;border-spacing:" + ensureUnits(value); + return; + + case "text-line-through": + if ((value == "single") || (value == "double")) { + n[i++] = "text-decoration:line-through"; + } + return; + + case "mso-zero-height": + if (value == "yes") { + n[i++] = "display:none"; + } + return; + } + + // Eliminate all MS Office style definitions that have no CSS equivalent by examining the first characters in the name + if (/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(name)) { + return; + } + + // If it reached this point, it must be a valid CSS style + n[i++] = name + ":" + parts[1]; // Lower-case name, but keep value case + } + }); + + // If style attribute contained any valid styles the re-write it; otherwise delete style attribute. + if (i > 0) { + return tag + ' style="' + n.join(';') + '"'; + } else { + return tag; + } + } + ] + ]); + } + } + + // Replace headers with + if (getParam(ed, "paste_convert_headers_to_strong")) { + process([ + [/]*>/gi, "

"], + [/<\/h[1-6][^>]*>/gi, "

"] + ]); + } + + // Class attribute options are: leave all as-is ("none"), remove all ("all"), or remove only those starting with mso ("mso"). + // Note:- paste_strip_class_attributes: "none", verify_css_classes: true is also a good variation. + stripClass = getParam(ed, "paste_strip_class_attributes"); + + if (stripClass !== "none") { + function removeClasses(match, g1) { + if (stripClass === "all") + return ''; + + var cls = grep(explode(g1.replace(/^(["'])(.*)\1$/, "$2"), " "), + function(v) { + return (/^(?!mso)/i.test(v)); + } + ); + + return cls.length ? ' class="' + cls.join(" ") + '"' : ''; + }; + + h = h.replace(/ class="([^"]+)"/gi, removeClasses); + h = h.replace(/ class=(\w+)/gi, removeClasses); + } + + // Remove spans option + if (getParam(ed, "paste_remove_spans")) { + h = h.replace(/<\/?span[^>]*>/gi, ""); + } + + //console.log('After preprocess:' + h); + + o.content = h; + }, + + /** + * Various post process items. + */ + _postProcess : function(pl, o) { + var t = this, ed = t.editor, dom = ed.dom, styleProps; + + if (o.wordContent) { + // Remove named anchors or TOC links + each(dom.select('a', o.node), function(a) { + if (!a.href || a.href.indexOf('#_Toc') != -1) + dom.remove(a, 1); + }); + + if (getParam(ed, "paste_convert_middot_lists")) { + t._convertLists(pl, o); + } + + // Process styles + styleProps = getParam(ed, "paste_retain_style_properties"); // retained properties + + // Process only if a string was specified and not equal to "all" or "*" + if ((tinymce.is(styleProps, "string")) && (styleProps !== "all") && (styleProps !== "*")) { + styleProps = tinymce.explode(styleProps.replace(/^none$/i, "")); + + // Retains some style properties + each(dom.select('*', o.node), function(el) { + var newStyle = {}, npc = 0, i, sp, sv; + + // Store a subset of the existing styles + if (styleProps) { + for (i = 0; i < styleProps.length; i++) { + sp = styleProps[i]; + sv = dom.getStyle(el, sp); + + if (sv) { + newStyle[sp] = sv; + npc++; + } + } + } + + // Remove all of the existing styles + dom.setAttrib(el, 'style', ''); + + if (styleProps && npc > 0) + dom.setStyles(el, newStyle); // Add back the stored subset of styles + else // Remove empty span tags that do not have class attributes + if (el.nodeName == 'SPAN' && !el.className) + dom.remove(el, true); + }); + } + } + + // Remove all style information or only specifically on WebKit to avoid the style bug on that browser + if (getParam(ed, "paste_remove_styles") || (getParam(ed, "paste_remove_styles_if_webkit") && tinymce.isWebKit)) { + each(dom.select('*[style]', o.node), function(el) { + el.removeAttribute('style'); + el.removeAttribute('_mce_style'); + }); + } else { + if (tinymce.isWebKit) { + // We need to compress the styles on WebKit since if you paste it will become + // Removing the mce_style that contains the real value will force the Serializer engine to compress the styles + each(dom.select('*', o.node), function(el) { + el.removeAttribute('_mce_style'); + }); + } + } + }, + + /** + * Converts the most common bullet and number formats in Office into a real semantic UL/LI list. + */ + _convertLists : function(pl, o) { + var dom = pl.editor.dom, listElm, li, lastMargin = -1, margin, levels = [], lastType, html; + + // Convert middot lists into real semantic lists + each(dom.select('p', o.node), function(p) { + var sib, val = '', type, html, idx, parents; + + // Get text node value at beginning of paragraph + for (sib = p.firstChild; sib && sib.nodeType == 3; sib = sib.nextSibling) + val += sib.nodeValue; + + val = p.innerHTML.replace(/<\/?\w+[^>]*>/gi, '').replace(/ /g, '\u00a0'); + + // Detect unordered lists look for bullets + if (/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0*/.test(val)) + type = 'ul'; + + // Detect ordered lists 1., a. or ixv. + if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0{2,}/.test(val)) + type = 'ol'; + + // Check if node value matches the list pattern: o   + if (type) { + margin = parseFloat(p.style.marginLeft || 0); + + if (margin > lastMargin) + levels.push(margin); + + if (!listElm || type != lastType) { + listElm = dom.create(type); + dom.insertAfter(listElm, p); + } else { + // Nested list element + if (margin > lastMargin) { + listElm = li.appendChild(dom.create(type)); + } else if (margin < lastMargin) { + // Find parent level based on margin value + idx = tinymce.inArray(levels, margin); + parents = dom.getParents(listElm.parentNode, type); + listElm = parents[parents.length - 1 - idx] || listElm; + } + } + + // Remove middot or number spans if they exists + each(dom.select('span', p), function(span) { + var html = span.innerHTML.replace(/<\/?\w+[^>]*>/gi, ''); + + // Remove span with the middot or the number + if (type == 'ul' && /^[\u2022\u00b7\u00a7\u00d8o]/.test(html)) + dom.remove(span); + else if (/^[\s\S]*\w+\.( |\u00a0)*\s*/.test(html)) + dom.remove(span); + }); + + html = p.innerHTML; + + // Remove middot/list items + if (type == 'ul') + html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^[\u2022\u00b7\u00a7\u00d8o]\s*( |\u00a0)+\s*/, ''); + else + html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^\s*\w+\.( |\u00a0)+\s*/, ''); + + // Create li and add paragraph data into the new li + li = listElm.appendChild(dom.create('li', 0, html)); + dom.remove(p); + + lastMargin = margin; + lastType = type; + } else + listElm = lastMargin = 0; // End list element + }); + + // Remove any left over makers + html = o.node.innerHTML; + if (html.indexOf('__MCE_ITEM__') != -1) + o.node.innerHTML = html.replace(/__MCE_ITEM__/g, ''); + }, + + /** + * This method will split the current block parent and insert the contents inside the split position. + * This logic can be improved so text nodes at the start/end remain in the start/end block elements + */ + _insertBlockContent : function(ed, dom, content) { + var parentBlock, marker, sel = ed.selection, last, elm, vp, y, elmHeight, markerId = 'mce_marker'; + + function select(n) { + var r; + + if (tinymce.isIE) { + r = ed.getDoc().body.createTextRange(); + r.moveToElementText(n); + r.collapse(false); + r.select(); + } else { + sel.select(n, 1); + sel.collapse(false); + } + } + + // Insert a marker for the caret position + this._insert('', 1); + marker = dom.get(markerId); + parentBlock = dom.getParent(marker, 'p,h1,h2,h3,h4,h5,h6,ul,ol,th,td'); + + // If it's a parent block but not a table cell + if (parentBlock && !/TD|TH/.test(parentBlock.nodeName)) { + // Split parent block + marker = dom.split(parentBlock, marker); + + // Insert nodes before the marker + each(dom.create('div', 0, content).childNodes, function(n) { + last = marker.parentNode.insertBefore(n.cloneNode(true), marker); + }); + + // Move caret after marker + select(last); + } else { + dom.setOuterHTML(marker, content); + sel.select(ed.getBody(), 1); + sel.collapse(0); + } + + // Remove marker if it's left + while (elm = dom.get(markerId)) + dom.remove(elm); + + // Get element, position and height + elm = sel.getStart(); + vp = dom.getViewPort(ed.getWin()); + y = ed.dom.getPos(elm).y; + elmHeight = elm.clientHeight; + + // Is element within viewport if not then scroll it into view + if (y < vp.y || y + elmHeight > vp.y + vp.h) + ed.getDoc().body.scrollTop = y < vp.y ? y : y - vp.h + 25; + }, + + /** + * Inserts the specified contents at the caret position. + */ + _insert : function(h, skip_undo) { + var ed = this.editor, r = ed.selection.getRng(); + + // First delete the contents seems to work better on WebKit when the selection spans multiple list items or multiple table cells. + if (!ed.selection.isCollapsed() && r.startContainer != r.endContainer) + ed.getDoc().execCommand('Delete', false, null); + + // It's better to use the insertHTML method on Gecko since it will combine paragraphs correctly before inserting the contents + ed.execCommand(tinymce.isGecko ? 'insertHTML' : 'mceInsertContent', false, h, {skip_undo : skip_undo}); + }, + + /** + * Instead of the old plain text method which tried to re-create a paste operation, the + * new approach adds a plain text mode toggle switch that changes the behavior of paste. + * This function is passed the same input that the regular paste plugin produces. + * It performs additional scrubbing and produces (and inserts) the plain text. + * This approach leverages all of the great existing functionality in the paste + * plugin, and requires minimal changes to add the new functionality. + * Speednet - June 2009 + */ + _insertPlainText : function(ed, dom, h) { + var i, len, pos, rpos, node, breakElms, before, after, + w = ed.getWin(), + d = ed.getDoc(), + sel = ed.selection, + is = tinymce.is, + inArray = tinymce.inArray, + linebr = getParam(ed, "paste_text_linebreaktype"), + rl = getParam(ed, "paste_text_replacements"); + + function process(items) { + each(items, function(v) { + if (v.constructor == RegExp) + h = h.replace(v, ""); + else + h = h.replace(v[0], v[1]); + }); + }; + + if ((typeof(h) === "string") && (h.length > 0)) { + if (!entities) + entities = ("34,quot,38,amp,39,apos,60,lt,62,gt," + ed.serializer.settings.entities).split(","); + + // If HTML content with line-breaking tags, then remove all cr/lf chars because only tags will break a line + if (/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(h)) { + process([ + /[\n\r]+/g + ]); + } else { + // Otherwise just get rid of carriage returns (only need linefeeds) + process([ + /\r+/g + ]); + } + + process([ + [/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi, "\n\n"], // Block tags get a blank line after them + [/]*>|<\/tr>/gi, "\n"], // Single linebreak for
tags and table rows + [/<\/t[dh]>\s*]*>/gi, "\t"], // Table cells get tabs betweem them + /<[a-z!\/?][^>]*>/gi, // Delete all remaining tags + [/ /gi, " "], // Convert non-break spaces to regular spaces (remember, *plain text*) + [ + // HTML entity + /&(#\d+|[a-z0-9]{1,10});/gi, + + // Replace with actual character + function(e, s) { + if (s.charAt(0) === "#") { + return String.fromCharCode(s.slice(1)); + } + else { + return ((e = inArray(entities, s)) > 0)? String.fromCharCode(entities[e-1]) : " "; + } + } + ], + [/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"], // Cool little RegExp deletes whitespace around linebreak chars. + [/\n{3,}/g, "\n\n"], // Max. 2 consecutive linebreaks + /^\s+|\s+$/g // Trim the front & back + ]); + + h = dom.encode(h); + + // Delete any highlighted text before pasting + if (!sel.isCollapsed()) { + d.execCommand("Delete", false, null); + } + + // Perform default or custom replacements + if (is(rl, "array") || (is(rl, "array"))) { + process(rl); + } + else if (is(rl, "string")) { + process(new RegExp(rl, "gi")); + } + + // Treat paragraphs as specified in the config + if (linebr == "none") { + process([ + [/\n+/g, " "] + ]); + } + else if (linebr == "br") { + process([ + [/\n/g, "
"] + ]); + } + else { + process([ + /^\s+|\s+$/g, + [/\n\n/g, "

"], + [/\n/g, "
"] + ]); + } + + // This next piece of code handles the situation where we're pasting more than one paragraph of plain + // text, and we are pasting the content into the middle of a block node in the editor. The block + // node gets split at the selection point into "Para A" and "Para B" (for the purposes of explaining). + // The first paragraph of the pasted text is appended to "Para A", and the last paragraph of the + // pasted text is prepended to "Para B". Any other paragraphs of pasted text are placed between + // "Para A" and "Para B". This code solves a host of problems with the original plain text plugin and + // now handles styles correctly. (Pasting plain text into a styled paragraph is supposed to make the + // plain text take the same style as the existing paragraph.) + if ((pos = h.indexOf("

")) != -1) { + rpos = h.lastIndexOf("

"); + node = sel.getNode(); + breakElms = []; // Get list of elements to break + + do { + if (node.nodeType == 1) { + // Don't break tables and break at body + if (node.nodeName == "TD" || node.nodeName == "BODY") { + break; + } + + breakElms[breakElms.length] = node; + } + } while (node = node.parentNode); + + // Are we in the middle of a block node? + if (breakElms.length > 0) { + before = h.substring(0, pos); + after = ""; + + for (i=0, len=breakElms.length; i"; + after += "<" + breakElms[breakElms.length-i-1].nodeName.toLowerCase() + ">"; + } + + if (pos == rpos) { + h = before + after + h.substring(pos+7); + } + else { + h = before + h.substring(pos+4, rpos+4) + after + h.substring(rpos+7); + } + } + } + + // Insert content at the caret, plus add a marker for repositioning the caret + ed.execCommand("mceInsertRawHTML", false, h + ' '); + + // Reposition the caret to the marker, which was placed immediately after the inserted content. + // Needs to be done asynchronously (in window.setTimeout) or else it doesn't work in all browsers. + // The second part of the code scrolls the content up if the caret is positioned off-screen. + // This is only necessary for WebKit browsers, but it doesn't hurt to use for all. + window.setTimeout(function() { + var marker = dom.get('_plain_text_marker'), + elm, vp, y, elmHeight; + + sel.select(marker, false); + d.execCommand("Delete", false, null); + marker = null; + + // Get element, position and height + elm = sel.getStart(); + vp = dom.getViewPort(w); + y = dom.getPos(elm).y; + elmHeight = elm.clientHeight; + + // Is element within viewport if not then scroll it into view + if ((y < vp.y) || (y + elmHeight > vp.y + vp.h)) { + d.body.scrollTop = y < vp.y ? y : y - vp.h + 25; + } + }, 0); + } + }, + + /** + * This method will open the old style paste dialogs. Some users might want the old behavior but still use the new cleanup engine. + */ + _legacySupport : function() { + var t = this, ed = t.editor; + + // Register command(s) for backwards compatibility + ed.addCommand("mcePasteWord", function() { + ed.windowManager.open({ + file: t.url + "/pasteword.htm", + width: parseInt(getParam(ed, "paste_dialog_width")), + height: parseInt(getParam(ed, "paste_dialog_height")), + inline: 1 + }); + }); + + if (getParam(ed, "paste_text_use_dialog")) { + ed.addCommand("mcePasteText", function() { + ed.windowManager.open({ + file : t.url + "/pastetext.htm", + width: parseInt(getParam(ed, "paste_dialog_width")), + height: parseInt(getParam(ed, "paste_dialog_height")), + inline : 1 + }); + }); + } + + // Register button for backwards compatibility + ed.addButton("pasteword", {title : "paste.paste_word_desc", cmd : "mcePasteWord"}); + } + }); + + // Register plugin + tinymce.PluginManager.add("paste", tinymce.plugins.PastePlugin); +})(); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pastetext.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pastetext.js new file mode 100755 index 00000000..c524f9eb --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pastetext.js @@ -0,0 +1,36 @@ +tinyMCEPopup.requireLangPack(); + +var PasteTextDialog = { + init : function() { + this.resize(); + }, + + insert : function() { + var h = tinyMCEPopup.dom.encode(document.getElementById('content').value), lines; + + // Convert linebreaks into paragraphs + if (document.getElementById('linebreaks').checked) { + lines = h.split(/\r?\n/); + if (lines.length > 1) { + h = ''; + tinymce.each(lines, function(row) { + h += '

' + row + '

'; + }); + } + } + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('content'); + + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } +}; + +tinyMCEPopup.onInit.add(PasteTextDialog.init, PasteTextDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pasteword.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pasteword.js new file mode 100755 index 00000000..a52731c3 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/js/pasteword.js @@ -0,0 +1,51 @@ +tinyMCEPopup.requireLangPack(); + +var PasteWordDialog = { + init : function() { + var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = ''; + + // Create iframe + el.innerHTML = ''; + ifr = document.getElementById('iframe'); + doc = ifr.contentWindow.document; + + // Force absolute CSS urls + css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")]; + css = css.concat(tinymce.explode(ed.settings.content_css) || []); + tinymce.each(css, function(u) { + cssHTML += ''; + }); + + // Write content into iframe + doc.open(); + doc.write('' + cssHTML + ''); + doc.close(); + + doc.designMode = 'on'; + this.resize(); + + window.setTimeout(function() { + ifr.contentWindow.focus(); + }, 10); + }, + + insert : function() { + var h = document.getElementById('iframe').contentWindow.document.body.innerHTML; + + tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true}); + tinyMCEPopup.close(); + }, + + resize : function() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('iframe'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 90) + 'px'; + } + } +}; + +tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/langs/en_dlg.js new file mode 100755 index 00000000..eeac7789 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/langs/en_dlg.js @@ -0,0 +1,5 @@ +tinyMCE.addI18n('en.paste_dlg',{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pastetext.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pastetext.htm new file mode 100755 index 00000000..b6559454 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pastetext.htm @@ -0,0 +1,27 @@ + + + {#paste.paste_text_desc} + + + + +
+
{#paste.paste_text_desc}
+ +
+ +
+ +
+ +
{#paste_dlg.text_title}
+ + + +
+ + +
+
+ + \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pasteword.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pasteword.htm new file mode 100755 index 00000000..0f6bb412 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/paste/pasteword.htm @@ -0,0 +1,21 @@ + + + {#paste.paste_word_desc} + + + + +
+
{#paste.paste_word_desc}
+ +
{#paste_dlg.word_title}
+ +
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin.js new file mode 100755 index 00000000..507909c5 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Preview",{init:function(a,b){var d=this,c=tinymce.explode(a.settings.content_css);d.editor=a;tinymce.each(c,function(f,e){c[e]=a.documentBaseURI.toAbsolute(f)});a.addCommand("mcePreview",function(){a.windowManager.open({file:a.getParam("plugin_preview_pageurl",b+"/preview.html"),width:parseInt(a.getParam("plugin_preview_width","550")),height:parseInt(a.getParam("plugin_preview_height","600")),resizable:"yes",scrollbars:"yes",popup_css:c?c.join(","):a.baseURI.toAbsolute("themes/"+a.settings.theme+"/skins/"+a.settings.skin+"/content.css"),inline:a.getParam("plugin_preview_inline",1)},{base:a.documentBaseURI.getURI()})});a.addButton("preview",{title:"preview.preview_desc",cmd:"mcePreview"})},getInfo:function(){return{longname:"Preview",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("preview",tinymce.plugins.Preview)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin_src.js new file mode 100755 index 00000000..80f00f0d --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/editor_plugin_src.js @@ -0,0 +1,53 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Preview', { + init : function(ed, url) { + var t = this, css = tinymce.explode(ed.settings.content_css); + + t.editor = ed; + + // Force absolute CSS urls + tinymce.each(css, function(u, k) { + css[k] = ed.documentBaseURI.toAbsolute(u); + }); + + ed.addCommand('mcePreview', function() { + ed.windowManager.open({ + file : ed.getParam("plugin_preview_pageurl", url + "/preview.html"), + width : parseInt(ed.getParam("plugin_preview_width", "550")), + height : parseInt(ed.getParam("plugin_preview_height", "600")), + resizable : "yes", + scrollbars : "yes", + popup_css : css ? css.join(',') : ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css"), + inline : ed.getParam("plugin_preview_inline", 1) + }, { + base : ed.documentBaseURI.getURI() + }); + }); + + ed.addButton('preview', {title : 'preview.preview_desc', cmd : 'mcePreview'}); + }, + + getInfo : function() { + return { + longname : 'Preview', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('preview', tinymce.plugins.Preview); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/example.html b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/example.html new file mode 100755 index 00000000..b2c3d90c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/example.html @@ -0,0 +1,28 @@ + + + + + +Example of a custom preview page + + + +Editor contents:
+
+ +
+ + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/jscripts/embed.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/jscripts/embed.js new file mode 100755 index 00000000..f8dc8105 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/preview/jscripts/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += ''; + + h += ' + + + + + +{#preview.preview_desc} + + + + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin.js new file mode 100755 index 00000000..b5b3a55e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Print",{init:function(a,b){a.addCommand("mcePrint",function(){a.getWin().print()});a.addButton("print",{title:"print.print_desc",cmd:"mcePrint"})},getInfo:function(){return{longname:"Print",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("print",tinymce.plugins.Print)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin_src.js new file mode 100755 index 00000000..3933fe65 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/print/editor_plugin_src.js @@ -0,0 +1,34 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Print', { + init : function(ed, url) { + ed.addCommand('mcePrint', function() { + ed.getWin().print(); + }); + + ed.addButton('print', {title : 'print.print_desc', cmd : 'mcePrint'}); + }, + + getInfo : function() { + return { + longname : 'Print', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('print', tinymce.plugins.Print); +})(); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin.js new file mode 100755 index 00000000..8e939966 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Save",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceSave",c._save,c);a.addCommand("mceCancel",c._cancel,c);a.addButton("save",{title:"save.save_desc",cmd:"mceSave"});a.addButton("cancel",{title:"save.cancel_desc",cmd:"mceCancel"});a.onNodeChange.add(c._nodeChange,c);a.addShortcut("ctrl+s",a.getLang("save.save_desc"),"mceSave")},getInfo:function(){return{longname:"Save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_nodeChange:function(b,a,c){var b=this.editor;if(b.getParam("save_enablewhendirty")){a.setDisabled("save",!b.isDirty());a.setDisabled("cancel",!b.isDirty())}},_save:function(){var c=this.editor,a,e,d,b;a=tinymce.DOM.get(c.id).form||tinymce.DOM.getParent(c.id,"form");if(c.getParam("save_enablewhendirty")&&!c.isDirty()){return}tinyMCE.triggerSave();if(e=c.getParam("save_onsavecallback")){if(c.execCallback("save_onsavecallback",c)){c.startContent=tinymce.trim(c.getContent({format:"raw"}));c.nodeChanged()}return}if(a){c.isNotDirty=true;if(a.onsubmit==null||a.onsubmit()!=false){a.submit()}c.nodeChanged()}else{c.windowManager.alert("Error: No form element found.")}},_cancel:function(){var a=this.editor,c,b=tinymce.trim(a.startContent);if(c=a.getParam("save_oncancelcallback")){a.execCallback("save_oncancelcallback",a);return}a.setContent(b);a.undoManager.clear();a.nodeChanged()}});tinymce.PluginManager.add("save",tinymce.plugins.Save)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin_src.js new file mode 100755 index 00000000..f5a3de8f --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/save/editor_plugin_src.js @@ -0,0 +1,101 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.Save', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceSave', t._save, t); + ed.addCommand('mceCancel', t._cancel, t); + + // Register buttons + ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'}); + ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'}); + + ed.onNodeChange.add(t._nodeChange, t); + ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave'); + }, + + getInfo : function() { + return { + longname : 'Save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var ed = this.editor; + + if (ed.getParam('save_enablewhendirty')) { + cm.setDisabled('save', !ed.isDirty()); + cm.setDisabled('cancel', !ed.isDirty()); + } + }, + + // Private methods + + _save : function() { + var ed = this.editor, formObj, os, i, elementId; + + formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form'); + + if (ed.getParam("save_enablewhendirty") && !ed.isDirty()) + return; + + tinyMCE.triggerSave(); + + // Use callback instead + if (os = ed.getParam("save_onsavecallback")) { + if (ed.execCallback('save_onsavecallback', ed)) { + ed.startContent = tinymce.trim(ed.getContent({format : 'raw'})); + ed.nodeChanged(); + } + + return; + } + + if (formObj) { + ed.isNotDirty = true; + + if (formObj.onsubmit == null || formObj.onsubmit() != false) + formObj.submit(); + + ed.nodeChanged(); + } else + ed.windowManager.alert("Error: No form element found."); + }, + + _cancel : function() { + var ed = this.editor, os, h = tinymce.trim(ed.startContent); + + // Use callback instead + if (os = ed.getParam("save_oncancelcallback")) { + ed.execCallback('save_oncancelcallback', ed); + return; + } + + ed.setContent(h); + ed.undoManager.clear(); + ed.nodeChanged(); + } + }); + + // Register plugin + tinymce.PluginManager.add('save', tinymce.plugins.Save); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/css/searchreplace.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/css/searchreplace.css new file mode 100755 index 00000000..ecdf58c7 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/css/searchreplace.css @@ -0,0 +1,6 @@ +.panel_wrapper {height:85px;} +.panel_wrapper div.current {height:85px;} + +/* IE */ +* html .panel_wrapper {height:100px;} +* html .panel_wrapper div.current {height:100px;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin.js new file mode 100755 index 00000000..cd9c985b --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){a.windowManager.open({file:c+"/searchreplace.htm",width:420+parseInt(a.getLang("searchreplace.delta_width",0)),height:170+parseInt(a.getLang("searchreplace.delta_height",0)),inline:1,auto_focus:0},{mode:d,search_string:a.selection.getContent({format:"text"}),plugin_url:c})}a.addCommand("mceSearch",function(){b("search")});a.addCommand("mceReplace",function(){b("replace")});a.addButton("search",{title:"searchreplace.search_desc",cmd:"mceSearch"});a.addButton("replace",{title:"searchreplace.replace_desc",cmd:"mceReplace"});a.addShortcut("ctrl+f","searchreplace.search_desc","mceSearch")},getInfo:function(){return{longname:"Search/Replace",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("searchreplace",tinymce.plugins.SearchReplacePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin_src.js new file mode 100755 index 00000000..1433a06a --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/editor_plugin_src.js @@ -0,0 +1,57 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.SearchReplacePlugin', { + init : function(ed, url) { + function open(m) { + ed.windowManager.open({ + file : url + '/searchreplace.htm', + width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)), + height : 170 + parseInt(ed.getLang('searchreplace.delta_height', 0)), + inline : 1, + auto_focus : 0 + }, { + mode : m, + search_string : ed.selection.getContent({format : 'text'}), + plugin_url : url + }); + }; + + // Register commands + ed.addCommand('mceSearch', function() { + open('search'); + }); + + ed.addCommand('mceReplace', function() { + open('replace'); + }); + + // Register buttons + ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'}); + ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'}); + + ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch'); + }, + + getInfo : function() { + return { + longname : 'Search/Replace', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/js/searchreplace.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/js/searchreplace.js new file mode 100755 index 00000000..0137ba0f --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/js/searchreplace.js @@ -0,0 +1,138 @@ +tinyMCEPopup.requireLangPack(); + +var SearchReplaceDialog = { + init : function(ed) { + var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); + + this.switchMode(m); + + f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); + + // Focus input field + f[m + '_panel_searchstring'].focus(); + }, + + switchMode : function(m) { + var f, lm = this.lastMode; + + if (lm != m) { + f = document.forms[0]; + + if (lm) { + f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value; + f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked; + f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked; + f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked; + } + + mcTabs.displayTab(m + '_tab', m + '_panel'); + document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none"; + document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none"; + this.lastMode = m; + } + }, + + searchNext : function(a) { + var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0; + + // Get input + f = document.forms[0]; + s = f[m + '_panel_searchstring'].value; + b = f[m + '_panel_backwardsu'].checked; + ca = f[m + '_panel_casesensitivebox'].checked; + rs = f['replace_panel_replacestring'].value; + + if (tinymce.isIE) { + r = ed.getDoc().selection.createRange(); + } + + if (s == '') + return; + + function fix() { + // Correct Firefox graphics glitches + r = se.getRng().cloneRange(); + ed.getDoc().execCommand('SelectAll', false, null); + se.setRng(r); + }; + + function replace() { + if (tinymce.isIE) + ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE + else + ed.getDoc().execCommand('InsertHTML', false, rs); + }; + + // IE flags + if (ca) + fl = fl | 4; + + switch (a) { + case 'all': + // Move caret to beginning of text + ed.execCommand('SelectAll'); + ed.selection.collapse(true); + + if (tinymce.isIE) { + while (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + replace(); + fo = 1; + + if (b) { + r.moveEnd("character", -(rs.length)); // Otherwise will loop forever + } + } + + tinyMCEPopup.storeSelection(); + } else { + while (w.find(s, ca, b, false, false, false, false)) { + replace(); + fo = 1; + } + } + + if (fo) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.allreplaced')); + else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + return; + + case 'current': + if (!ed.selection.isCollapsed()) + replace(); + + break; + } + + se.collapse(b); + r = se.getRng(); + + if (tinymce.isIE) { + r = ed.getDoc().selection.createRange(); + } + + // Whats the point + if (!s) + return; + + if (tinymce.isIE) { + if (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + } else + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + + tinyMCEPopup.storeSelection(); + } else { + if (!w.find(s, ca, b, false, false, false, false)) + tinyMCEPopup.alert(ed.getLang('searchreplace_dlg.notfound')); + else + fix(); + } + } +}; + +tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/langs/en_dlg.js new file mode 100755 index 00000000..370959af --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/langs/en_dlg.js @@ -0,0 +1,16 @@ +tinyMCE.addI18n('en.searchreplace_dlg',{ +searchnext_desc:"Find again", +notfound:"The search has been completed. The search string could not be found.", +search_title:"Find", +replace_title:"Find/Replace", +allreplaced:"All occurrences of the search string were replaced.", +findwhat:"Find what", +replacewith:"Replace with", +direction:"Direction", +up:"Up", +down:"Down", +mcase:"Match case", +findnext:"Find next", +replace:"Replace", +replaceall:"Replace all" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/searchreplace.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/searchreplace.htm new file mode 100755 index 00000000..d0424cfc --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/searchreplace/searchreplace.htm @@ -0,0 +1,99 @@ + + + + {#searchreplace_dlg.replace_title} + + + + + + + +
+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + +
+
+ + + + + +
+
+
+ +
+ + + + + + + + + + + + + + + +
+ + + + + + + + +
+
+ + + + + +
+
+
+ +
+ +
+ + + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/css/content.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/css/content.css new file mode 100755 index 00000000..24efa021 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/css/content.css @@ -0,0 +1 @@ +.mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin.js new file mode 100755 index 00000000..a9ec3b9c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.util.JSONRequest,c=tinymce.each,b=tinymce.DOM;tinymce.create("tinymce.plugins.SpellcheckerPlugin",{getInfo:function(){return{longname:"Spellchecker",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker",version:tinymce.majorVersion+"."+tinymce.minorVersion}},init:function(e,f){var g=this,d;g.url=f;g.editor=e;g.rpcUrl=e.getParam("spellchecker_rpc_url","{backend}");if(g.rpcUrl=="{backend}"){if(tinymce.isIE){return}g.hasSupport=true;e.onContextMenu.addToTop(function(h,i){if(g.active){return false}})}e.addCommand("mceSpellCheck",function(){if(g.rpcUrl=="{backend}"){g.editor.getBody().spellcheck=g.active=!g.active;return}if(!g.active){e.setProgressState(1);g._sendRPC("checkWords",[g.selectedLang,g._getWords()],function(h){if(h.length>0){g.active=1;g._markWords(h);e.setProgressState(0);e.nodeChanged()}else{e.setProgressState(0);if(e.getParam("spellchecker_report_no_misspellings",true)){e.windowManager.alert("spellchecker.no_mpell")}}})}else{g._done()}});e.onInit.add(function(){if(e.settings.content_css!==false){e.dom.loadCSS(f+"/css/content.css")}});e.onClick.add(g._showMenu,g);e.onContextMenu.add(g._showMenu,g);e.onBeforeGetContent.add(function(){if(g.active){g._removeWords()}});e.onNodeChange.add(function(i,h){h.setActive("spellchecker",g.active)});e.onSetContent.add(function(){g._done()});e.onBeforeGetContent.add(function(){g._done()});e.onBeforeExecCommand.add(function(h,i){if(i=="mceFullScreen"){g._done()}});g.languages={};c(e.getParam("spellchecker_languages","+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv","hash"),function(i,h){if(h.indexOf("+")===0){h=h.substring(1);g.selectedLang=i}g.languages[h]=i})},createControl:function(h,d){var f=this,g,e=f.editor;if(h=="spellchecker"){if(f.rpcUrl=="{backend}"){if(f.hasSupport){g=d.createButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f})}return g}g=d.createSplitButton(h,{title:"spellchecker.desc",cmd:"mceSpellCheck",scope:f});g.onRenderMenu.add(function(j,i){i.add({title:"spellchecker.langs","class":"mceMenuItemTitle"}).setDisabled(1);c(f.languages,function(n,m){var p={icon:1},l;p.onclick=function(){l.setSelected(1);f.selectedItem.setSelected(0);f.selectedItem=l;f.selectedLang=n};p.title=m;l=i.add(p);l.setSelected(n==f.selectedLang);if(n==f.selectedLang){f.selectedItem=l}})});return g}},_walk:function(i,g){var h=this.editor.getDoc(),e;if(h.createTreeWalker){e=h.createTreeWalker(i,NodeFilter.SHOW_TEXT,null,false);while((i=e.nextNode())!=null){g.call(this,i)}}else{tinymce.walk(i,g,"childNodes")}},_getSeparators:function(){var e="",d,f=this.editor.getParam("spellchecker_word_separator_chars",'\\s!"#$%&()*+,-./:;<=>?@[]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c');for(d=0;d$1$2');q=q.replace(g,'$1$2');j.replace(j.create("span",{"class":"mceItemHidden"},q),r)}}});l.moveToBookmark(m)},_showMenu:function(h,j){var i=this,h=i.editor,d=i._menu,l,k=h.dom,g=k.getViewPort(h.getWin()),f=j.target;j=0;if(!d){l=b.getPos(h.getContentAreaContainer());d=h.controlManager.createDropMenu("spellcheckermenu",{offset_x:l.x,offset_y:l.y,"class":"mceNoIcons"});i._menu=d}if(k.hasClass(f,"mceItemHiddenSpellWord")){d.removeAll();d.add({title:"spellchecker.wait","class":"mceMenuItemTitle"}).setDisabled(1);i._sendRPC("getSuggestions",[i.selectedLang,k.decode(f.innerHTML)],function(m){var e;d.removeAll();if(m.length>0){d.add({title:"spellchecker.sug","class":"mceMenuItemTitle"}).setDisabled(1);c(m,function(n){d.add({title:n,onclick:function(){k.replace(h.getDoc().createTextNode(n),f);i._checkDone()}})});d.addSeparator()}else{d.add({title:"spellchecker.no_sug","class":"mceMenuItemTitle"}).setDisabled(1)}e=i.editor.getParam("spellchecker_enable_ignore_rpc","");d.add({title:"spellchecker.ignore_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});d.add({title:"spellchecker.ignore_words",onclick:function(){var n=f.innerHTML;i._removeWords(k.decode(n));i._checkDone();if(e){h.setProgressState(1);i._sendRPC("ignoreWords",[i.selectedLang,n],function(o){h.setProgressState(0)})}}});if(i.editor.getParam("spellchecker_enable_learn_rpc")){d.add({title:"spellchecker.learn_word",onclick:function(){var n=f.innerHTML;k.remove(f,1);i._checkDone();h.setProgressState(1);i._sendRPC("learnWord",[i.selectedLang,n],function(o){h.setProgressState(0)})}})}d.update()});h.selection.select(f);l=k.getPos(f);d.showMenu(l.x,l.y+f.offsetHeight-g.y);return tinymce.dom.Event.cancel(j)}else{d.hideMenu()}},_checkDone:function(){var e=this,d=e.editor,g=d.dom,f;c(g.select("span"),function(h){if(h&&g.hasClass(h,"mceItemHiddenSpellWord")){f=true;return false}});if(!f){e._done()}},_done:function(){var d=this,e=d.active;if(d.active){d.active=0;d._removeWords();if(d._menu){d._menu.hideMenu()}if(e){d.editor.nodeChanged()}}},_sendRPC:function(e,g,d){var f=this;a.sendRPC({url:f.rpcUrl,method:e,params:g,success:d,error:function(i,h){f.editor.setProgressState(0);f.editor.windowManager.alert(i.errstr||("Error response: "+h.responseText))}})}});tinymce.PluginManager.add("spellchecker",tinymce.plugins.SpellcheckerPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin_src.js new file mode 100755 index 00000000..d8680baf --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/editor_plugin_src.js @@ -0,0 +1,417 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var JSONRequest = tinymce.util.JSONRequest, each = tinymce.each, DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.SpellcheckerPlugin', { + getInfo : function() { + return { + longname : 'Spellchecker', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + init : function(ed, url) { + var t = this, cm; + + t.url = url; + t.editor = ed; + t.rpcUrl = ed.getParam("spellchecker_rpc_url", "{backend}"); + + if (t.rpcUrl == '{backend}') { + // Sniff if the browser supports native spellchecking (Don't know of a better way) + if (tinymce.isIE) + return; + + t.hasSupport = true; + + // Disable the context menu when spellchecking is active + ed.onContextMenu.addToTop(function(ed, e) { + if (t.active) + return false; + }); + } + + // Register commands + ed.addCommand('mceSpellCheck', function() { + if (t.rpcUrl == '{backend}') { + // Enable/disable native spellchecker + t.editor.getBody().spellcheck = t.active = !t.active; + return; + } + + if (!t.active) { + ed.setProgressState(1); + t._sendRPC('checkWords', [t.selectedLang, t._getWords()], function(r) { + if (r.length > 0) { + t.active = 1; + t._markWords(r); + ed.setProgressState(0); + ed.nodeChanged(); + } else { + ed.setProgressState(0); + + if (ed.getParam('spellchecker_report_no_misspellings', true)) + ed.windowManager.alert('spellchecker.no_mpell'); + } + }); + } else + t._done(); + }); + + ed.onInit.add(function() { + if (ed.settings.content_css !== false) + ed.dom.loadCSS(url + '/css/content.css'); + }); + + ed.onClick.add(t._showMenu, t); + ed.onContextMenu.add(t._showMenu, t); + ed.onBeforeGetContent.add(function() { + if (t.active) + t._removeWords(); + }); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('spellchecker', t.active); + }); + + ed.onSetContent.add(function() { + t._done(); + }); + + ed.onBeforeGetContent.add(function() { + t._done(); + }); + + ed.onBeforeExecCommand.add(function(ed, cmd) { + if (cmd == 'mceFullScreen') + t._done(); + }); + + // Find selected language + t.languages = {}; + each(ed.getParam('spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv', 'hash'), function(v, k) { + if (k.indexOf('+') === 0) { + k = k.substring(1); + t.selectedLang = v; + } + + t.languages[k] = v; + }); + }, + + createControl : function(n, cm) { + var t = this, c, ed = t.editor; + + if (n == 'spellchecker') { + // Use basic button if we use the native spellchecker + if (t.rpcUrl == '{backend}') { + // Create simple toggle button if we have native support + if (t.hasSupport) + c = cm.createButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + return c; + } + + c = cm.createSplitButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + c.onRenderMenu.add(function(c, m) { + m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(t.languages, function(v, k) { + var o = {icon : 1}, mi; + + o.onclick = function() { + mi.setSelected(1); + t.selectedItem.setSelected(0); + t.selectedItem = mi; + t.selectedLang = v; + }; + + o.title = k; + mi = m.add(o); + mi.setSelected(v == t.selectedLang); + + if (v == t.selectedLang) + t.selectedItem = mi; + }) + }); + + return c; + } + }, + + // Internal functions + + _walk : function(n, f) { + var d = this.editor.getDoc(), w; + + if (d.createTreeWalker) { + w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false); + + while ((n = w.nextNode()) != null) + f.call(this, n); + } else + tinymce.walk(n, f, 'childNodes'); + }, + + _getSeparators : function() { + var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c'); + + // Build word separator regexp + for (i=0; i$1$2'); + v = v.replace(r3, '$1$2'); + + dom.replace(dom.create('span', {'class' : 'mceItemHidden'}, v), n); + } + } + }); + + se.moveToBookmark(b); + }, + + _showMenu : function(ed, e) { + var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; + + e = 0; // Fixes IE memory leak + + if (!m) { + p1 = DOM.getPos(ed.getContentAreaContainer()); + //p2 = DOM.getPos(ed.getContainer()); + + m = ed.controlManager.createDropMenu('spellcheckermenu', { + offset_x : p1.x, + offset_y : p1.y, + 'class' : 'mceNoIcons' + }); + + t._menu = m; + } + + if (dom.hasClass(wordSpan, 'mceItemHiddenSpellWord')) { + m.removeAll(); + m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(wordSpan.innerHTML)], function(r) { + var ignoreRpc; + + m.removeAll(); + + if (r.length > 0) { + m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(r, function(v) { + m.add({title : v, onclick : function() { + dom.replace(ed.getDoc().createTextNode(v), wordSpan); + t._checkDone(); + }}); + }); + + m.addSeparator(); + } else + m.add({title : 'spellchecker.no_sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + ignoreRpc = t.editor.getParam("spellchecker_enable_ignore_rpc", ''); + m.add({ + title : 'spellchecker.ignore_word', + onclick : function() { + var word = wordSpan.innerHTML; + + dom.remove(wordSpan, 1); + t._checkDone(); + + // tell the server if we need to + if (ignoreRpc) { + ed.setProgressState(1); + t._sendRPC('ignoreWord', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + } + }); + + m.add({ + title : 'spellchecker.ignore_words', + onclick : function() { + var word = wordSpan.innerHTML; + + t._removeWords(dom.decode(word)); + t._checkDone(); + + // tell the server if we need to + if (ignoreRpc) { + ed.setProgressState(1); + t._sendRPC('ignoreWords', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + } + }); + + + if (t.editor.getParam("spellchecker_enable_learn_rpc")) { + m.add({ + title : 'spellchecker.learn_word', + onclick : function() { + var word = wordSpan.innerHTML; + + dom.remove(wordSpan, 1); + t._checkDone(); + + ed.setProgressState(1); + t._sendRPC('learnWord', [t.selectedLang, word], function(r) { + ed.setProgressState(0); + }); + } + }); + } + + m.update(); + }); + + ed.selection.select(wordSpan); + p1 = dom.getPos(wordSpan); + m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y); + + return tinymce.dom.Event.cancel(e); + } else + m.hideMenu(); + }, + + _checkDone : function() { + var t = this, ed = t.editor, dom = ed.dom, o; + + each(dom.select('span'), function(n) { + if (n && dom.hasClass(n, 'mceItemHiddenSpellWord')) { + o = true; + return false; + } + }); + + if (!o) + t._done(); + }, + + _done : function() { + var t = this, la = t.active; + + if (t.active) { + t.active = 0; + t._removeWords(); + + if (t._menu) + t._menu.hideMenu(); + + if (la) + t.editor.nodeChanged(); + } + }, + + _sendRPC : function(m, p, cb) { + var t = this; + + JSONRequest.sendRPC({ + url : t.rpcUrl, + method : m, + params : p, + success : cb, + error : function(e, x) { + t.editor.setProgressState(0); + t.editor.windowManager.alert(e.errstr || ('Error response: ' + x.responseText)); + } + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('spellchecker', tinymce.plugins.SpellcheckerPlugin); +})(); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/img/wline.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/spellchecker/img/wline.gif new file mode 100755 index 0000000000000000000000000000000000000000..7d0a4dbca03cc13177a359a5f175dda819fdf464 GIT binary patch literal 46 ycmZ?wbhEHbWMN=tXkcXcqowu#|9{1wEQ|~cj0`#qKmd|qU}ANVOOs?}um%7FLkRf* literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/css/props.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/css/props.css new file mode 100755 index 00000000..eb1f2649 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/css/props.css @@ -0,0 +1,13 @@ +#text_font {width:250px;} +#text_size {width:70px;} +.mceAddSelectValue {background:#DDD;} +select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;} +#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;} +#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;} +#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;} +.panel_wrapper div.current {padding-top:10px;height:230px;} +.delim {border-left:1px solid gray;} +.tdelim {border-bottom:1px solid gray;} +#block_display {width:145px;} +#list_type {width:115px;} +.disabled {background:#EEE;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin.js new file mode 100755 index 00000000..cab2153c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:320+parseInt(a.getLang("style.delta_height",0)),inline:1},{plugin_url:b,style_text:a.selection.getNode().style.cssText})});a.addCommand("mceSetElementStyle",function(d,c){if(e=a.selection.getNode()){a.dom.setAttrib(e,"style",c);a.execCommand("mceRepaint")}});a.onNodeChange.add(function(d,c,f){c.setDisabled("styleprops",f.nodeName==="BODY")});a.addButton("styleprops",{title:"style.desc",cmd:"mceStyleProps"})},getInfo:function(){return{longname:"Style",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("style",tinymce.plugins.StylePlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin_src.js new file mode 100755 index 00000000..5f7755f1 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/editor_plugin_src.js @@ -0,0 +1,55 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.StylePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceStyleProps', function() { + ed.windowManager.open({ + file : url + '/props.htm', + width : 480 + parseInt(ed.getLang('style.delta_width', 0)), + height : 320 + parseInt(ed.getLang('style.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + style_text : ed.selection.getNode().style.cssText + }); + }); + + ed.addCommand('mceSetElementStyle', function(ui, v) { + if (e = ed.selection.getNode()) { + ed.dom.setAttrib(e, 'style', v); + ed.execCommand('mceRepaint'); + } + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setDisabled('styleprops', n.nodeName === 'BODY'); + }); + + // Register buttons + ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'}); + }, + + getInfo : function() { + return { + longname : 'Style', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/js/props.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/js/props.js new file mode 100755 index 00000000..a8dd93de --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/js/props.js @@ -0,0 +1,641 @@ +tinyMCEPopup.requireLangPack(); + +var defaultFonts = "" + + "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Courier New, Courier, mono=Courier New, Courier, mono;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + + "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + + "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif"; + +var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger"; +var defaultMeasurement = "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultSpacingMeasurement = "pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%"; +var defaultIndentMeasurement = "pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%"; +var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900"; +var defaultTextStyle = "normal;italic;oblique"; +var defaultVariant = "normal;small-caps"; +var defaultLineHeight = "normal"; +var defaultAttachment = "fixed;scroll"; +var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y"; +var defaultPosH = "left;center;right"; +var defaultPosV = "top;center;bottom"; +var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom"; +var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none"; +var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset"; +var defaultBorderWidth = "thin;medium;thick"; +var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none"; + +function init() { + var ce = document.getElementById('container'), h; + + ce.style.cssText = tinyMCEPopup.getWindowArg('style_text'); + + h = getBrowserHTML('background_image_browser','background_image','image','advimage'); + document.getElementById("background_image_browser").innerHTML = h; + + document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color'); + document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color'); + document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top'); + document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right'); + document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom'); + document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left'); + + fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true); + fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true); + fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true); + fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true); + fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true); + fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true); + fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true); + fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true); + fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true); + + fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true); + fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true); + + fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true); + fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true); + fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true); + fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true); + fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true); + fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true); + fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true); + + fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true); + fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true); + fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true); + + fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true); + + fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true); + fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true); + + fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true); + fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true); + + fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true); + + fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true); + + TinyMCE_EditableSelects.init(); + setupFormData(); + showDisabledControls(); +} + +function setupFormData() { + var ce = document.getElementById('container'), f = document.forms[0], s, b, i; + + // Setup text fields + + selectByValue(f, 'text_font', ce.style.fontFamily, true, true); + selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true); + selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize)); + selectByValue(f, 'text_weight', ce.style.fontWeight, true, true); + selectByValue(f, 'text_style', ce.style.fontStyle, true, true); + selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true); + selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight)); + selectByValue(f, 'text_case', ce.style.textTransform, true, true); + selectByValue(f, 'text_variant', ce.style.fontVariant, true, true); + f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color); + updateColor('text_color_pick', 'text_color'); + f.text_underline.checked = inStr(ce.style.textDecoration, 'underline'); + f.text_overline.checked = inStr(ce.style.textDecoration, 'overline'); + f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through'); + f.text_blink.checked = inStr(ce.style.textDecoration, 'blink'); + + // Setup background fields + + f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor); + updateColor('background_color_pick', 'background_color'); + f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true); + selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true); + selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true); + selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0))); + selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true); + selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1))); + + // Setup block fields + + selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true); + selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing)); + selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true); + selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing)); + selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true); + selectByValue(f, 'block_text_align', ce.style.textAlign, true, true); + f.block_text_indent.value = getNum(ce.style.textIndent); + selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent)); + selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true); + selectByValue(f, 'block_display', ce.style.display, true, true); + + // Setup box fields + + f.box_width.value = getNum(ce.style.width); + selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width)); + + f.box_height.value = getNum(ce.style.height); + selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height)); + + if (tinymce.isGecko) + selectByValue(f, 'box_float', ce.style.cssFloat, true, true); + else + selectByValue(f, 'box_float', ce.style.styleFloat, true, true); + + selectByValue(f, 'box_clear', ce.style.clear, true, true); + + setupBox(f, ce, 'box_padding', 'padding', ''); + setupBox(f, ce, 'box_margin', 'margin', ''); + + // Setup border fields + + setupBox(f, ce, 'border_style', 'border', 'Style'); + setupBox(f, ce, 'border_width', 'border', 'Width'); + setupBox(f, ce, 'border_color', 'border', 'Color'); + + updateColor('border_color_top_pick', 'border_color_top'); + updateColor('border_color_right_pick', 'border_color_right'); + updateColor('border_color_bottom_pick', 'border_color_bottom'); + updateColor('border_color_left_pick', 'border_color_left'); + + f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value); + f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value); + f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value); + f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value); + + // Setup list fields + + selectByValue(f, 'list_type', ce.style.listStyleType, true, true); + selectByValue(f, 'list_position', ce.style.listStylePosition, true, true); + f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + // Setup box fields + + selectByValue(f, 'positioning_type', ce.style.position, true, true); + selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true); + selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true); + f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : ""; + + f.positioning_width.value = getNum(ce.style.width); + selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width)); + + f.positioning_height.value = getNum(ce.style.height); + selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height)); + + setupBox(f, ce, 'positioning_placement', '', '', ['top', 'right', 'bottom', 'left']); + + s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1"); + s = s.replace(/,/g, ' '); + + if (!hasEqualValues([getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)])) { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = getNum(getVal(s, 1)); + selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1))); + f.positioning_clip_bottom.value = getNum(getVal(s, 2)); + selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2))); + f.positioning_clip_left.value = getNum(getVal(s, 3)); + selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3))); + } else { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value; + } + +// setupBox(f, ce, '', 'border', 'Color'); +} + +function getMeasurement(s) { + return s.replace(/^([0-9.]+)(.*)$/, "$2"); +} + +function getNum(s) { + if (new RegExp('^(?:[0-9.]+)(?:[a-z%]+)$', 'gi').test(s)) + return s.replace(/[^0-9.]/g, ''); + + return s; +} + +function inStr(s, n) { + return new RegExp(n, 'gi').test(s); +} + +function getVal(s, i) { + var a = s.split(' '); + + if (a.length > 1) + return a[i]; + + return ""; +} + +function setValue(f, n, v) { + if (f.elements[n].type == "text") + f.elements[n].value = v; + else + selectByValue(f, n, v, true, true); +} + +function setupBox(f, ce, fp, pr, sf, b) { + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (isSame(ce, pr, sf, b)) { + f.elements[fp + "_same"].checked = true; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + f.elements[fp + "_right"].value = ""; + f.elements[fp + "_right"].disabled = true; + f.elements[fp + "_bottom"].value = ""; + f.elements[fp + "_bottom"].disabled = true; + f.elements[fp + "_left"].value = ""; + f.elements[fp + "_left"].disabled = true; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + f.elements[fp + "_left_measurement"].disabled = true; + f.elements[fp + "_bottom_measurement"].disabled = true; + f.elements[fp + "_right_measurement"].disabled = true; + } + } else { + f.elements[fp + "_same"].checked = false; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); + f.elements[fp + "_right"].disabled = false; + + setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); + f.elements[fp + "_bottom"].disabled = false; + + setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left"].disabled = false; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); + selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); + selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left_measurement"].disabled = false; + f.elements[fp + "_bottom_measurement"].disabled = false; + f.elements[fp + "_right_measurement"].disabled = false; + } + } +} + +function isSame(e, pr, sf, b) { + var a = [], i, x; + + if (typeof(b) == "undefined") + b = ['Top', 'Right', 'Bottom', 'Left']; + + if (typeof(sf) == "undefined" || sf == null) + sf = ""; + + a[0] = e.style[pr + b[0] + sf]; + a[1] = e.style[pr + b[1] + sf]; + a[2] = e.style[pr + b[2] + sf]; + a[3] = e.style[pr + b[3] + sf]; + + for (i=0; i 0 ? s.substring(1) : s; + + if (f.text_none.checked) + s = "none"; + + ce.style.textDecoration = s; + + // Build background styles + + ce.style.backgroundColor = f.background_color.value; + ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; + ce.style.backgroundRepeat = f.background_repeat.value; + ce.style.backgroundAttachment = f.background_attachment.value; + + if (f.background_hpos.value != "") { + s = ""; + s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; + s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); + ce.style.backgroundPosition = s; + } + + // Build block styles + + ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); + ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); + ce.style.verticalAlign = f.block_vertical_alignment.value; + ce.style.textAlign = f.block_text_align.value; + ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); + ce.style.whiteSpace = f.block_whitespace.value; + ce.style.display = f.block_display.value; + + // Build box styles + + ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); + ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); + ce.style.styleFloat = f.box_float.value; + + if (tinymce.isGecko) + ce.style.cssFloat = f.box_float.value; + + ce.style.clear = f.box_clear.value; + + if (!f.box_padding_same.checked) { + ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); + ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); + ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); + } else + ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + + if (!f.box_margin_same.checked) { + ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); + ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); + ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); + } else + ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + + // Build border styles + + if (!f.border_style_same.checked) { + ce.style.borderTopStyle = f.border_style_top.value; + ce.style.borderRightStyle = f.border_style_right.value; + ce.style.borderBottomStyle = f.border_style_bottom.value; + ce.style.borderLeftStyle = f.border_style_left.value; + } else + ce.style.borderStyle = f.border_style_top.value; + + if (!f.border_width_same.checked) { + ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); + ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); + ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); + } else + ce.style.borderWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + + if (!f.border_color_same.checked) { + ce.style.borderTopColor = f.border_color_top.value; + ce.style.borderRightColor = f.border_color_right.value; + ce.style.borderBottomColor = f.border_color_bottom.value; + ce.style.borderLeftColor = f.border_color_left.value; + } else + ce.style.borderColor = f.border_color_top.value; + + // Build list styles + + ce.style.listStyleType = f.list_type.value; + ce.style.listStylePosition = f.list_position.value; + ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; + + // Build positioning styles + + ce.style.position = f.positioning_type.value; + ce.style.visibility = f.positioning_visibility.value; + + if (ce.style.width == "") + ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); + + if (ce.style.height == "") + ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); + + ce.style.zIndex = f.positioning_zindex.value; + ce.style.overflow = f.positioning_overflow.value; + + if (!f.positioning_placement_same.checked) { + ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); + ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); + ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); + } else { + s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.top = s; + ce.style.right = s; + ce.style.bottom = s; + ce.style.left = s; + } + + if (!f.positioning_clip_same.checked) { + s = "rect("; + s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); + s += ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } else { + s = "rect("; + t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; + s += t + " "; + s += t + " "; + s += t + " "; + s += t + ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } + + ce.style.cssText = ce.style.cssText; +} + +function isNum(s) { + return new RegExp('[0-9]+', 'g').test(s); +} + +function showDisabledControls() { + var f = document.forms, i, a; + + for (i=0; i 1) { + addSelectValue(f, s, p[0], p[1]); + + if (se) + selectByValue(f, s, p[1]); + } else { + addSelectValue(f, s, p[0], p[0]); + + if (se) + selectByValue(f, s, p[0]); + } + } +} + +function toggleSame(ce, pre) { + var el = document.forms[0].elements, i; + + if (ce.checked) { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = true; + el[pre + "_bottom"].disabled = true; + el[pre + "_left"].disabled = true; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = true; + el[pre + "_bottom_measurement"].disabled = true; + el[pre + "_left_measurement"].disabled = true; + } + } else { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = false; + el[pre + "_bottom"].disabled = false; + el[pre + "_left"].disabled = false; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = false; + el[pre + "_bottom_measurement"].disabled = false; + el[pre + "_left_measurement"].disabled = false; + } + } + + showDisabledControls(); +} + +function synch(fr, to) { + var f = document.forms[0]; + + f.elements[to].value = f.elements[fr].value; + + if (f.elements[fr + "_measurement"]) + selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/langs/en_dlg.js new file mode 100755 index 00000000..5026313e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/langs/en_dlg.js @@ -0,0 +1,63 @@ +tinyMCE.addI18n('en.style_dlg',{ +title:"Edit CSS Style", +apply:"Apply", +text_tab:"Text", +background_tab:"Background", +block_tab:"Block", +box_tab:"Box", +border_tab:"Border", +list_tab:"List", +positioning_tab:"Positioning", +text_props:"Text", +text_font:"Font", +text_size:"Size", +text_weight:"Weight", +text_style:"Style", +text_variant:"Variant", +text_lineheight:"Line height", +text_case:"Case", +text_color:"Color", +text_decoration:"Decoration", +text_overline:"overline", +text_underline:"underline", +text_striketrough:"strikethrough", +text_blink:"blink", +text_none:"none", +background_color:"Background color", +background_image:"Background image", +background_repeat:"Repeat", +background_attachment:"Attachment", +background_hpos:"Horizontal position", +background_vpos:"Vertical position", +block_wordspacing:"Word spacing", +block_letterspacing:"Letter spacing", +block_vertical_alignment:"Vertical alignment", +block_text_align:"Text align", +block_text_indent:"Text indent", +block_whitespace:"Whitespace", +block_display:"Display", +box_width:"Width", +box_height:"Height", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Same for all", +top:"Top", +right:"Right", +bottom:"Bottom", +left:"Left", +margin:"Margin", +style:"Style", +width:"Width", +height:"Height", +color:"Color", +list_type:"Type", +bullet_image:"Bullet image", +position:"Position", +positioning_type:"Type", +visibility:"Visibility", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/props.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/props.htm new file mode 100755 index 00000000..549ed040 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/style/props.htm @@ -0,0 +1,723 @@ + + + + {#style_dlg.title} + + + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
 
+
+ +
+ + + +
+ + + + + + +
+ +  
+
+ +
+ + + + + +
 
+
{#style_dlg.text_decoration} + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + +
 
+
+ + + + + + +
 
+
+ + + + + + +
 
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
 
+
+ + + + + + +
 
+
+ + + + + + +
 
+
+
+ +
+ + + + + + + + + + + + + + +
+ + + + + + +
 
+
   
+ + + + + + +
 
+
   
+
+
+ {#style_dlg.padding} + + + + + + + + + + + + + + + + + + + + + + +
 
+ + + + + + +
 
+
+ + + + + + +
 
+
+ + + + + + +
 
+
+ + + + + + +
 
+
+
+
+ +
+
+ {#style_dlg.margin} + + + + + + + + + + + + + + + + + + + + + + +
 
+ + + + + + +
 
+
+ + + + + + +
 
+
+ + + + + + +
 
+
+ + + + + + +
 
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  {#style_dlg.style} {#style_dlg.width} {#style_dlg.color}
      
{#style_dlg.top}   + + + + + + +
 
+
  + + + + + +
 
+
{#style_dlg.right}   + + + + + + +
 
+
  + + + + + +
 
+
{#style_dlg.bottom}   + + + + + + +
 
+
  + + + + + +
 
+
{#style_dlg.left}   + + + + + + +
 
+
  + + + + + +
 
+
+
+ +
+ + + + + + + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
   
+ + + + + + +
 
+
   
+ + + + + + +
 
+
   
+ +
+
+ {#style_dlg.placement} + + + + + + + + + + + + + + + + + + + + + + +
 
{#style_dlg.top} + + + + + + +
 
+
{#style_dlg.right} + + + + + + +
 
+
{#style_dlg.bottom} + + + + + + +
 
+
{#style_dlg.left} + + + + + + +
 
+
+
+
+ +
+
+ {#style_dlg.clip} + + + + + + + + + + + + + + + + + + + + + + +
 
{#style_dlg.top} + + + + + + +
 
+
{#style_dlg.right} + + + + + + +
 
+
{#style_dlg.bottom} + + + + + + +
 
+
{#style_dlg.left} + + + + + + +
 
+
+
+
+
+
+
+ +
+ + + +
+
+ +
+
+
+ + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin.js new file mode 100755 index 00000000..27d24402 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.DOM,a=tinymce.dom.Event,d=tinymce.each,b=tinymce.explode;tinymce.create("tinymce.plugins.TabFocusPlugin",{init:function(f,g){function e(i,j){if(j.keyCode===9){return a.cancel(j)}}function h(l,p){var j,m,o,n,k;function q(i){o=c.getParent(l.id,"form");n=o.elements;if(o){d(n,function(s,r){if(s.id==l.id){j=r;return false}});if(i>0){for(m=j+1;m=0;m--){if(n[m].type!="hidden"){return n[m]}}}}return null}if(p.keyCode===9){k=b(l.getParam("tab_focus",l.getParam("tabfocus_elements",":prev,:next")));if(k.length==1){k[1]=k[0];k[0]=":prev"}if(p.shiftKey){if(k[0]==":prev"){n=q(-1)}else{n=c.get(k[0])}}else{if(k[1]==":next"){n=q(1)}else{n=c.get(k[1])}}if(n){if(l=tinymce.get(n.id||n.name)){l.focus()}else{window.setTimeout(function(){window.focus();n.focus()},10)}return a.cancel(p)}}}f.onKeyUp.add(e);if(tinymce.isGecko){f.onKeyPress.add(h);f.onKeyDown.add(e)}else{f.onKeyDown.add(h)}f.onInit.add(function(){d(c.select("a:first,a:last",f.getContainer()),function(i){a.add(i,"focus",function(){f.focus()})})})},getInfo:function(){return{longname:"Tabfocus",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("tabfocus",tinymce.plugins.TabFocusPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin_src.js new file mode 100755 index 00000000..c2be2f40 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/tabfocus/editor_plugin_src.js @@ -0,0 +1,112 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, explode = tinymce.explode; + + tinymce.create('tinymce.plugins.TabFocusPlugin', { + init : function(ed, url) { + function tabCancel(ed, e) { + if (e.keyCode === 9) + return Event.cancel(e); + }; + + function tabHandler(ed, e) { + var x, i, f, el, v; + + function find(d) { + f = DOM.getParent(ed.id, 'form'); + el = f.elements; + + if (f) { + each(el, function(e, i) { + if (e.id == ed.id) { + x = i; + return false; + } + }); + + if (d > 0) { + for (i = x + 1; i < el.length; i++) { + if (el[i].type != 'hidden') + return el[i]; + } + } else { + for (i = x - 1; i >= 0; i--) { + if (el[i].type != 'hidden') + return el[i]; + } + } + } + + return null; + }; + + if (e.keyCode === 9) { + v = explode(ed.getParam('tab_focus', ed.getParam('tabfocus_elements', ':prev,:next'))); + + if (v.length == 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + + // Find element to focus + if (e.shiftKey) { + if (v[0] == ':prev') + el = find(-1); + else + el = DOM.get(v[0]); + } else { + if (v[1] == ':next') + el = find(1); + else + el = DOM.get(v[1]); + } + + if (el) { + if (ed = tinymce.get(el.id || el.name)) + ed.focus(); + else + window.setTimeout(function() {window.focus();el.focus();}, 10); + + return Event.cancel(e); + } + } + }; + + ed.onKeyUp.add(tabCancel); + + if (tinymce.isGecko) { + ed.onKeyPress.add(tabHandler); + ed.onKeyDown.add(tabCancel); + } else + ed.onKeyDown.add(tabHandler); + + ed.onInit.add(function() { + each(DOM.select('a:first,a:last', ed.getContainer()), function(n) { + Event.add(n, 'focus', function() {ed.focus();}); + }); + }); + }, + + getInfo : function() { + return { + longname : 'Tabfocus', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/tabfocus', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('tabfocus', tinymce.plugins.TabFocusPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/cell.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/cell.htm new file mode 100755 index 00000000..d243e1d8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/cell.htm @@ -0,0 +1,178 @@ + + + + {#table_dlg.cell_title} + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/cell.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/cell.css new file mode 100755 index 00000000..a067ecdf --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/cell.css @@ -0,0 +1,17 @@ +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; +} \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/row.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/row.css new file mode 100755 index 00000000..1f7755da --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/row.css @@ -0,0 +1,25 @@ +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/table.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/table.css new file mode 100755 index 00000000..d11c3f69 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/css/table.css @@ -0,0 +1,13 @@ +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 245px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin.js new file mode 100755 index 00000000..484f81c3 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin.js @@ -0,0 +1 @@ +(function(c){var d=c.each;function b(f,g){var h=g.ownerDocument,e=h.createRange(),j;e.setStartBefore(g);e.setEnd(f.endContainer,f.endOffset);j=h.createElement("body");j.appendChild(e.cloneContents());return j.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length==0}function a(G,F,J){var f,K,C,o;s();o=F.getParent(J.getStart(),"th,td");if(o){K=E(o);C=H();o=w(K.x,K.y)}function z(M,L){M=M.cloneNode(L);M.removeAttribute("id");return M}function s(){var L=0;f=[];d(["thead","tbody","tfoot"],function(M){var N=F.select("> "+M+" tr",G);d(N,function(O,P){P+=L;d(F.select("> td, > th",O),function(V,Q){var R,S,T,U;if(f[P]){while(f[P][Q]){Q++}}T=h(V,"rowspan");U=h(V,"colspan");for(S=P;S'}return false}},"childNodes");L=z(L,false);L.rowSpan=L.colSpan=1;if(M){L.appendChild(M)}else{if(!c.isIE){L.innerHTML='
'}}return L}function q(){var L=F.createRng();d(F.select("tr",G),function(M){if(M.cells.length==0){F.remove(M)}});if(F.select("tr",G).length==0){L.setStartAfter(G);L.setEndAfter(G);J.setRng(L);F.remove(G);return}d(F.select("thead,tbody,tfoot",G),function(M){if(M.rows.length==0){F.remove(M)}});s();row=f[Math.min(f.length-1,K.y)];if(row){J.select(row[Math.min(row.length-1,K.x)].elm,true);J.collapse(true)}}function t(R,P,T,Q){var O,M,L,N,S;O=f[P][R].elm.parentNode;for(L=1;L<=T;L++){O=F.getNext(O,"tr");if(O){for(M=R;M>=0;M--){S=f[P+L][M].elm;if(S.parentNode==O){for(N=1;N<=Q;N++){F.insertAfter(e(S),S)}break}}if(M==-1){for(N=1;N<=Q;N++){O.insertBefore(e(O.cells[0]),O.cells[0])}}}}}function B(){d(f,function(L,M){d(L,function(O,N){var R,Q,S,P;if(j(O)){O=O.elm;R=h(O,"colspan");Q=h(O,"rowspan");if(R>1||Q>1){O.colSpan=O.rowSpan=1;for(P=0;P1){Q.rowSpan=rowSpan+1;continue}}else{if(L>0&&f[L-1][P]){T=f[L-1][P].elm;rowSpan=h(T,"rowspan");if(rowSpan>1){T.rowSpan=rowSpan+1;continue}}}M=e(Q);M.colSpan=Q.colSpan;S.appendChild(M);N=Q}}if(S.hasChildNodes()){if(!O){F.insertAfter(S,R)}else{R.parentNode.insertBefore(S,R)}}}function g(M){var N,L;d(f,function(O,P){d(O,function(R,Q){if(j(R)){N=Q;if(M){return false}}});if(M){return !N}});d(f,function(R,S){var O=R[N].elm,P,Q;if(O!=L){Q=h(O,"colspan");P=h(O,"rowspan");if(Q==1){if(!M){F.insertAfter(e(O),O);t(N,S,P-1,Q)}else{O.parentNode.insertBefore(e(O),O);t(N,S,P-1,Q)}}else{O.colSpan++}L=O}})}function n(){var L=[];d(f,function(M,N){d(M,function(P,O){if(j(P)&&c.inArray(L,O)===-1){d(f,function(S){var Q=S[O].elm,R;R=h(Q,"colspan");if(R>1){Q.colSpan=R-1}else{F.remove(Q)}});L.push(O)}})});q()}function m(){var M;function L(P){var O,Q,N;O=F.getNext(P,"tr");d(P.cells,function(R){var S=h(R,"rowspan");if(S>1){R.rowSpan=S-1;Q=E(R);t(Q.x,Q.y,1,1)}});Q=E(P.cells[0]);d(f[Q.y],function(R){var S;R=R.elm;if(R!=N){S=h(R,"rowspan");if(S<=1){F.remove(R)}else{R.rowSpan=S-1}N=R}})}M=k();d(M.reverse(),function(N){L(N)});q()}function D(){var L=k();F.remove(L);q();return L}function I(){var L=k();d(L,function(N,M){L[M]=z(N,true)});return L}function A(N,M){var O=k(),L=O[M?0:O.length-1],P=L.cells.length;d(f,function(R){var Q;P=0;d(R,function(T,S){if(T.real){P+=T.colspan}if(T.elm.parentNode==L){Q=1}});if(Q){return false}});if(!M){N.reverse()}d(N,function(S){var R=S.cells.length,Q;for(i=0;iM){M=Q}if(P>L){L=P}if(R.real){T=R.colspan-1;S=R.rowspan-1;if(T){if(Q+T>M){M=Q+T}}if(S){if(P+S>L){L=P+S}}}}})});return{x:M,y:L}}function u(R){var O,N,T,S,M,L,P,Q;C=E(R);if(K&&C){O=Math.min(K.x,C.x);N=Math.min(K.y,C.y);T=Math.max(K.x,C.x);S=Math.max(K.y,C.y);M=T;L=S;for(y=N;y<=L;y++){R=f[y][O];if(!R.real){if(O-(R.colspan-1)M){M=x+P}}if(Q){if(y+Q>L){L=y+Q}}}}}F.removeClass(F.select("td.mceSelected,th.mceSelected"),"mceSelected");for(y=N;y<=L;y++){for(x=O;x<=M;x++){F.addClass(f[y][x].elm,"mceSelected")}}}}c.extend(this,{deleteTable:r,split:B,merge:p,insertRow:l,insertCol:g,deleteCols:n,deleteRows:m,cutRows:D,copyRows:I,pasteRows:A,getPos:E,setStartCell:v,setEndCell:u})}c.create("tinymce.plugins.TablePlugin",{init:function(f,g){var e,k;function j(n){var m=f.selection,l=f.dom.getParent(n||m.getNode(),"table");if(l){return new a(l,f.dom,m)}}function h(){f.getBody().style.webkitUserSelect="";f.dom.removeClass(f.dom.select("td.mceSelected,th.mceSelected"),"mceSelected")}d([["table","table.desc","mceInsertTable",true],["delete_table","table.del","mceTableDelete"],["delete_col","table.delete_col_desc","mceTableDeleteCol"],["delete_row","table.delete_row_desc","mceTableDeleteRow"],["col_after","table.col_after_desc","mceTableInsertColAfter"],["col_before","table.col_before_desc","mceTableInsertColBefore"],["row_after","table.row_after_desc","mceTableInsertRowAfter"],["row_before","table.row_before_desc","mceTableInsertRowBefore"],["row_props","table.row_desc","mceTableRowProps",true],["cell_props","table.cell_desc","mceTableCellProps",true],["split_cells","table.split_cells_desc","mceTableSplitCells",true],["merge_cells","table.merge_cells_desc","mceTableMergeCells",true]],function(l){f.addButton(l[0],{title:l[1],cmd:l[2],ui:l[3]})});if(!c.isIE){f.onClick.add(function(l,m){m=m.target;if(m.nodeName==="TABLE"){l.selection.select(m)}})}f.onNodeChange.add(function(m,l,q){var o;q=m.selection.getStart();o=m.dom.getParent(q,"td,th,caption");l.setActive("table",q.nodeName==="TABLE"||!!o);if(o&&o.nodeName==="CAPTION"){o=0}l.setDisabled("delete_table",!o);l.setDisabled("delete_col",!o);l.setDisabled("delete_table",!o);l.setDisabled("delete_row",!o);l.setDisabled("col_after",!o);l.setDisabled("col_before",!o);l.setDisabled("row_after",!o);l.setDisabled("row_before",!o);l.setDisabled("row_props",!o);l.setDisabled("cell_props",!o);l.setDisabled("split_cells",!o);l.setDisabled("merge_cells",!o)});f.onInit.add(function(m){var l,p,q=m.dom,n;e=m.windowManager;m.onMouseDown.add(function(r,s){if(s.button!=2){h();p=q.getParent(s.target,"td,th");l=q.getParent(p,"table")}});q.bind(m.getDoc(),"mouseover",function(u){var s,r,t=u.target;if(p&&(n||t!=p)&&(t.nodeName=="TD"||t.nodeName=="TH")){r=q.getParent(t,"table");if(r==l){if(!n){n=j(r);n.setStartCell(p);m.getBody().style.webkitUserSelect="none"}n.setEndCell(t)}s=m.selection.getSel();if(s.removeAllRanges){s.removeAllRanges()}else{s.empty()}u.preventDefault()}});m.onMouseUp.add(function(A,B){var s,u=A.selection,C,D=u.getSel(),r,v,t,z;if(p){if(n){A.getBody().style.webkitUserSelect=""}function w(E,G){var F=new c.dom.TreeWalker(E,E);do{if(E.nodeType==3&&c.trim(E.nodeValue).length!=0){if(G){s.setStart(E,0)}else{s.setEnd(E,E.nodeValue.length)}return}if(E.nodeName=="BR"){if(G){s.setStartBefore(E)}else{s.setEndBefore(E)}return}}while(E=(G?F.next():F.prev()))}C=q.select("td.mceSelected,th.mceSelected");if(C.length>0){s=q.createRng();v=C[0];z=C[C.length-1];w(v,1);r=new c.dom.TreeWalker(v,q.getParent(C[0],"table"));do{if(v.nodeName=="TD"||v.nodeName=="TH"){if(!q.hasClass(v,"mceSelected")){break}t=v}}while(v=r.next());w(t);u.setRng(s)}A.nodeChanged();p=n=l=null}});m.onKeyUp.add(function(r,s){h()});if(m&&m.plugins.contextmenu){m.plugins.contextmenu.onContextMenu.add(function(t,r,v){var w,u=m.selection,s=u.getNode()||m.getBody();if(m.dom.getParent(v,"td")||m.dom.getParent(v,"th")||m.dom.select("td.mceSelected,th.mceSelected").length){r.removeAll();if(s.nodeName=="A"&&!m.dom.getAttrib(s,"name")){r.add({title:"advanced.link_desc",icon:"link",cmd:m.plugins.advlink?"mceAdvLink":"mceLink",ui:true});r.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});r.addSeparator()}if(s.nodeName=="IMG"&&s.className.indexOf("mceItem")==-1){r.add({title:"advanced.image_desc",icon:"image",cmd:m.plugins.advimage?"mceAdvImage":"mceImage",ui:true});r.addSeparator()}r.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",value:{action:"insert"}});r.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable"});r.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete"});r.addSeparator();w=r.addMenu({title:"table.cell"});w.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps"});w.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells"});w.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells"});w=r.addMenu({title:"table.row"});w.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps"});w.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});w.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});w.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});w.addSeparator();w.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});w.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});w.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"}).setDisabled(!k);w.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"}).setDisabled(!k);w=r.addMenu({title:"table.col"});w.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});w.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});w.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{r.add({title:"table.desc",icon:"table",cmd:"mceInsertTable"})}})}if(!c.isIE){function o(){var r;for(r=m.getBody().lastChild;r&&r.nodeType==3&&!r.nodeValue.length;r=r.previousSibling){}if(r&&r.nodeName=="TABLE"){m.dom.add(m.getBody(),"p",null,'
')}}if(c.isGecko){m.onKeyDown.add(function(s,u){var r,t,v=s.dom;if(u.keyCode==37||u.keyCode==38){r=s.selection.getRng();t=v.getParent(r.startContainer,"table");if(t&&s.getBody().firstChild==t){if(b(r,t)){r=v.createRng();r.setStartBefore(t);r.setEndBefore(t);s.selection.setRng(r);u.preventDefault()}}}})}m.onKeyUp.add(o);m.onSetContent.add(o);m.onVisualAid.add(o);m.onPreProcess.add(function(r,t){var s=t.node.lastChild;if(s&&s.childNodes.length==1&&s.firstChild.nodeName=="BR"){r.dom.remove(s)}});o()}});d({mceTableSplitCells:function(l){l.split()},mceTableMergeCells:function(m){var n,o,l;l=f.dom.getParent(f.selection.getNode(),"th,td");if(l){n=l.rowSpan;o=l.colSpan}if(!f.dom.select("td.mceSelected,th.mceSelected").length){e.open({url:g+"/merge_cells.htm",width:240+parseInt(f.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(f.getLang("table.merge_cells_delta_height",0)),inline:1},{rows:n,cols:o,onaction:function(p){m.merge(l,p.cols,p.rows)},plugin_url:g})}else{m.merge()}},mceTableInsertRowBefore:function(l){l.insertRow(true)},mceTableInsertRowAfter:function(l){l.insertRow()},mceTableInsertColBefore:function(l){l.insertCol(true)},mceTableInsertColAfter:function(l){l.insertCol()},mceTableDeleteCol:function(l){l.deleteCols()},mceTableDeleteRow:function(l){l.deleteRows()},mceTableCutRow:function(l){k=l.cutRows()},mceTableCopyRow:function(l){k=l.copyRows()},mceTablePasteRowBefore:function(l){l.pasteRows(k,true)},mceTablePasteRowAfter:function(l){l.pasteRows(k)},mceTableDelete:function(l){l.deleteTable()}},function(m,l){f.addCommand(l,function(){var n=j();if(n){m(n);f.execCommand("mceRepaint");h()}})});d({mceInsertTable:function(l){e.open({url:g+"/table.htm",width:400+parseInt(f.getLang("table.table_delta_width",0)),height:320+parseInt(f.getLang("table.table_delta_height",0)),inline:1},{plugin_url:g,action:l?l.action:0})},mceTableRowProps:function(){e.open({url:g+"/row.htm",width:400+parseInt(f.getLang("table.rowprops_delta_width",0)),height:295+parseInt(f.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:g})},mceTableCellProps:function(){e.open({url:g+"/cell.htm",width:400+parseInt(f.getLang("table.cellprops_delta_width",0)),height:295+parseInt(f.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:g})}},function(m,l){f.addCommand(l,function(n,o){m(o)})})}});c.PluginManager.add("table",c.plugins.TablePlugin)})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin_src.js new file mode 100755 index 00000000..8c30e204 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/editor_plugin_src.js @@ -0,0 +1,1139 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function(tinymce) { + var each = tinymce.each; + + // Checks if the selection/caret is at the start of the specified block element + function isAtStart(rng, par) { + var doc = par.ownerDocument, rng2 = doc.createRange(), elm; + + rng2.setStartBefore(par); + rng2.setEnd(rng.endContainer, rng.endOffset); + + elm = doc.createElement('body'); + elm.appendChild(rng2.cloneContents()); + + // Check for text characters of other elements that should be treated as content + return elm.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi, '-').replace(/<[^>]+>/g, '').length == 0; + }; + + /** + * Table Grid class. + */ + function TableGrid(table, dom, selection) { + var grid, startPos, endPos, selectedCell; + + buildGrid(); + selectedCell = dom.getParent(selection.getStart(), 'th,td'); + if (selectedCell) { + startPos = getPos(selectedCell); + endPos = findEndPos(); + selectedCell = getCell(startPos.x, startPos.y); + } + + function cloneNode(node, children) { + node = node.cloneNode(children); + node.removeAttribute('id'); + + return node; + } + + function buildGrid() { + var startY = 0; + + grid = []; + + each(['thead', 'tbody', 'tfoot'], function(part) { + var rows = dom.select('> ' + part + ' tr', table); + + each(rows, function(tr, y) { + y += startY; + + each(dom.select('> td, > th', tr), function(td, x) { + var x2, y2, rowspan, colspan; + + // Skip over existing cells produced by rowspan + if (grid[y]) { + while (grid[y][x]) + x++; + } + + // Get col/rowspan from cell + rowspan = getSpanVal(td, 'rowspan'); + colspan = getSpanVal(td, 'colspan'); + + // Fill out rowspan/colspan right and down + for (y2 = y; y2 < y + rowspan; y2++) { + if (!grid[y2]) + grid[y2] = []; + + for (x2 = x; x2 < x + colspan; x2++) { + grid[y2][x2] = { + part : part, + real : y2 == y && x2 == x, + elm : td, + rowspan : rowspan, + colspan : colspan + }; + } + } + }); + }); + + startY += rows.length; + }); + }; + + function getCell(x, y) { + var row; + + row = grid[y]; + if (row) + return row[x]; + }; + + function getSpanVal(td, name) { + return parseInt(td.getAttribute(name) || 1); + }; + + function isCellSelected(cell) { + return dom.hasClass(cell.elm, 'mceSelected') || cell == selectedCell; + }; + + function getSelectedRows() { + var rows = []; + + each(table.rows, function(row) { + each(row.cells, function(cell) { + if (dom.hasClass(cell, 'mceSelected') || cell == selectedCell.elm) { + rows.push(row); + return false; + } + }); + }); + + return rows; + }; + + function deleteTable() { + var rng = dom.createRng(); + + rng.setStartAfter(table); + rng.setEndAfter(table); + + selection.setRng(rng); + + dom.remove(table); + }; + + function cloneCell(cell) { + var formatNode; + + // Clone formats + tinymce.walk(cell, function(node) { + var curNode; + + if (node.nodeType == 3) { + each(dom.getParents(node.parentNode, null, cell).reverse(), function(node) { + node = cloneNode(node, false); + + if (!formatNode) + formatNode = curNode = node; + else if (curNode) + curNode.appendChild(node); + + curNode = node; + }); + + // Add something to the inner node + if (curNode) + curNode.innerHTML = tinymce.isIE ? ' ' : '
'; + + return false; + } + }, 'childNodes'); + + cell = cloneNode(cell, false); + cell.rowSpan = cell.colSpan = 1; + + if (formatNode) { + cell.appendChild(formatNode); + } else { + if (!tinymce.isIE) + cell.innerHTML = '
'; + } + + return cell; + }; + + function cleanup() { + var rng = dom.createRng(); + + // Empty rows + each(dom.select('tr', table), function(tr) { + if (tr.cells.length == 0) + dom.remove(tr); + }); + + // Empty table + if (dom.select('tr', table).length == 0) { + rng.setStartAfter(table); + rng.setEndAfter(table); + selection.setRng(rng); + dom.remove(table); + return; + } + + // Empty header/body/footer + each(dom.select('thead,tbody,tfoot', table), function(part) { + if (part.rows.length == 0) + dom.remove(part); + }); + + // Restore selection to start position if it still exists + buildGrid(); + + // Restore the selection to the closest table position + row = grid[Math.min(grid.length - 1, startPos.y)]; + if (row) { + selection.select(row[Math.min(row.length - 1, startPos.x)].elm, true); + selection.collapse(true); + } + }; + + function fillLeftDown(x, y, rows, cols) { + var tr, x2, r, c, cell; + + tr = grid[y][x].elm.parentNode; + for (r = 1; r <= rows; r++) { + tr = dom.getNext(tr, 'tr'); + + if (tr) { + // Loop left to find real cell + for (x2 = x; x2 >= 0; x2--) { + cell = grid[y + r][x2].elm; + + if (cell.parentNode == tr) { + // Append clones after + for (c = 1; c <= cols; c++) + dom.insertAfter(cloneCell(cell), cell); + + break; + } + } + + if (x2 == -1) { + // Insert nodes before first cell + for (c = 1; c <= cols; c++) + tr.insertBefore(cloneCell(tr.cells[0]), tr.cells[0]); + } + } + } + }; + + function split() { + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan, newCell, i; + + if (isCellSelected(cell)) { + cell = cell.elm; + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan > 1 || rowSpan > 1) { + cell.colSpan = cell.rowSpan = 1; + + // Insert cells right + for (i = 0; i < colSpan - 1; i++) + dom.insertAfter(cloneCell(cell), cell); + + fillLeftDown(x, y, rowSpan - 1, colSpan); + } + } + }); + }); + }; + + function merge(cell, cols, rows) { + var startX, startY, endX, endY, x, y, startCell, endCell, cell, children; + + // Use specified cell and cols/rows + if (cell) { + pos = getPos(cell); + startX = pos.x; + startY = pos.y; + endX = startX + (cols - 1); + endY = startY + (rows - 1); + } else { + // Use selection + startX = startPos.x; + startY = startPos.y; + endX = endPos.x; + endY = endPos.y; + } + + // Find start/end cells + startCell = getCell(startX, startY); + endCell = getCell(endX, endY); + + // Check if the cells exists and if they are of the same part for example tbody = tbody + if (startCell && endCell && startCell.part == endCell.part) { + // Split and rebuild grid + split(); + buildGrid(); + + // Set row/col span to start cell + startCell = getCell(startX, startY).elm; + startCell.colSpan = (endX - startX) + 1; + startCell.rowSpan = (endY - startY) + 1; + + // Remove other cells and add it's contents to the start cell + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + cell = grid[y][x].elm; + + if (cell != startCell) { + // Move children to startCell + children = tinymce.grep(cell.childNodes); + each(children, function(node, i) { + // Jump over last BR element + if (node.nodeName != 'BR' || i != children.length - 1) + startCell.appendChild(node); + }); + + // Remove cell + dom.remove(cell); + } + } + } + + // Remove empty rows etc and restore caret location + cleanup(); + } + }; + + function insertRow(before) { + var posY, cell, lastCell, x, rowElm, newRow, newCell, otherCell; + + // Find first/last row + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + cell = cell.elm; + rowElm = cell.parentNode; + newRow = cloneNode(rowElm, false); + posY = y; + + if (before) + return false; + } + }); + + if (before) + return !posY; + }); + + for (x = 0; x < grid[0].length; x++) { + cell = grid[posY][x].elm; + + if (cell != lastCell) { + if (!before) { + rowSpan = getSpanVal(cell, 'rowspan'); + if (rowSpan > 1) { + cell.rowSpan = rowSpan + 1; + continue; + } + } else { + // Check if cell above can be expanded + if (posY > 0 && grid[posY - 1][x]) { + otherCell = grid[posY - 1][x].elm; + rowSpan = getSpanVal(otherCell, 'rowspan'); + if (rowSpan > 1) { + otherCell.rowSpan = rowSpan + 1; + continue; + } + } + } + + // Insert new cell into new row + newCell = cloneCell(cell) + newCell.colSpan = cell.colSpan; + newRow.appendChild(newCell); + + lastCell = cell; + } + } + + if (newRow.hasChildNodes()) { + if (!before) + dom.insertAfter(newRow, rowElm); + else + rowElm.parentNode.insertBefore(newRow, rowElm); + } + }; + + function insertCol(before) { + var posX, lastCell; + + // Find first/last column + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + posX = x; + + if (before) + return false; + } + }); + + if (before) + return !posX; + }); + + each(grid, function(row, y) { + var cell = row[posX].elm, rowSpan, colSpan; + + if (cell != lastCell) { + colSpan = getSpanVal(cell, 'colspan'); + rowSpan = getSpanVal(cell, 'rowspan'); + + if (colSpan == 1) { + if (!before) { + dom.insertAfter(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } else { + cell.parentNode.insertBefore(cloneCell(cell), cell); + fillLeftDown(posX, y, rowSpan - 1, colSpan); + } + } else + cell.colSpan++; + + lastCell = cell; + } + }); + }; + + function deleteCols() { + var cols = []; + + // Get selected column indexes + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell) && tinymce.inArray(cols, x) === -1) { + each(grid, function(row) { + var cell = row[x].elm, colSpan; + + colSpan = getSpanVal(cell, 'colspan'); + + if (colSpan > 1) + cell.colSpan = colSpan - 1; + else + dom.remove(cell); + }); + + cols.push(x); + } + }); + }); + + cleanup(); + }; + + function deleteRows() { + var rows; + + function deleteRow(tr) { + var nextTr, pos, lastCell; + + nextTr = dom.getNext(tr, 'tr'); + + // Move down row spanned cells + each(tr.cells, function(cell) { + var rowSpan = getSpanVal(cell, 'rowspan'); + + if (rowSpan > 1) { + cell.rowSpan = rowSpan - 1; + pos = getPos(cell); + fillLeftDown(pos.x, pos.y, 1, 1); + } + }); + + // Delete cells + pos = getPos(tr.cells[0]); + each(grid[pos.y], function(cell) { + var rowSpan; + + cell = cell.elm; + + if (cell != lastCell) { + rowSpan = getSpanVal(cell, 'rowspan'); + + if (rowSpan <= 1) + dom.remove(cell); + else + cell.rowSpan = rowSpan - 1; + + lastCell = cell; + } + }); + }; + + // Get selected rows and move selection out of scope + rows = getSelectedRows(); + + // Delete all selected rows + each(rows.reverse(), function(tr) { + deleteRow(tr); + }); + + cleanup(); + }; + + function cutRows() { + var rows = getSelectedRows(); + + dom.remove(rows); + cleanup(); + + return rows; + }; + + function copyRows() { + var rows = getSelectedRows(); + + each(rows, function(row, i) { + rows[i] = cloneNode(row, true); + }); + + return rows; + }; + + function pasteRows(rows, before) { + var selectedRows = getSelectedRows(), + targetRow = selectedRows[before ? 0 : selectedRows.length - 1], + targetCellCount = targetRow.cells.length; + + // Calc target cell count + each(grid, function(row) { + var match; + + targetCellCount = 0; + each(row, function(cell, x) { + if (cell.real) + targetCellCount += cell.colspan; + + if (cell.elm.parentNode == targetRow) + match = 1; + }); + + if (match) + return false; + }); + + if (!before) + rows.reverse(); + + each(rows, function(row) { + var cellCount = row.cells.length, cell; + + // Remove col/rowspans + for (i = 0; i < cellCount; i++) { + cell = row.cells[i]; + cell.colSpan = cell.rowSpan = 1; + } + + // Needs more cells + for (i = cellCount; i < targetCellCount; i++) + row.appendChild(cloneCell(row.cells[cellCount - 1])); + + // Needs less cells + for (i = targetCellCount; i < cellCount; i++) + dom.remove(row.cells[i]); + + // Add before/after + if (before) + targetRow.parentNode.insertBefore(row, targetRow); + else + dom.insertAfter(row, targetRow); + }); + }; + + function getPos(target) { + var pos; + + each(grid, function(row, y) { + each(row, function(cell, x) { + if (cell.elm == target) { + pos = {x : x, y : y}; + return false; + } + }); + + return !pos; + }); + + return pos; + }; + + function setStartCell(cell) { + startPos = getPos(cell); + }; + + function findEndPos() { + var pos, maxX, maxY; + + maxX = maxY = 0; + + each(grid, function(row, y) { + each(row, function(cell, x) { + var colSpan, rowSpan; + + if (isCellSelected(cell)) { + cell = grid[y][x]; + + if (x > maxX) + maxX = x; + + if (y > maxY) + maxY = y; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) + maxX = x + colSpan; + } + + if (rowSpan) { + if (y + rowSpan > maxY) + maxY = y + rowSpan; + } + } + } + }); + }); + + return {x : maxX, y : maxY}; + }; + + function setEndCell(cell) { + var startX, startY, endX, endY, maxX, maxY, colSpan, rowSpan; + + endPos = getPos(cell); + + if (startPos && endPos) { + // Get start/end positions + startX = Math.min(startPos.x, endPos.x); + startY = Math.min(startPos.y, endPos.y); + endX = Math.max(startPos.x, endPos.x); + endY = Math.max(startPos.y, endPos.y); + + // Expand end positon to include spans + maxX = endX; + maxY = endY; + + // Expand startX + for (y = startY; y <= maxY; y++) { + cell = grid[y][startX]; + + if (!cell.real) { + if (startX - (cell.colspan - 1) < startX) + startX -= cell.colspan - 1; + } + } + + // Expand startY + for (x = startX; x <= maxX; x++) { + cell = grid[startY][x]; + + if (!cell.real) { + if (startY - (cell.rowspan - 1) < startY) + startY -= cell.rowspan - 1; + } + } + + // Find max X, Y + for (y = startY; y <= endY; y++) { + for (x = startX; x <= endX; x++) { + cell = grid[y][x]; + + if (cell.real) { + colSpan = cell.colspan - 1; + rowSpan = cell.rowspan - 1; + + if (colSpan) { + if (x + colSpan > maxX) + maxX = x + colSpan; + } + + if (rowSpan) { + if (y + rowSpan > maxY) + maxY = y + rowSpan; + } + } + } + } + + // Remove current selection + dom.removeClass(dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + + // Add new selection + for (y = startY; y <= maxY; y++) { + for (x = startX; x <= maxX; x++) + dom.addClass(grid[y][x].elm, 'mceSelected'); + } + } + }; + + // Expose to public + tinymce.extend(this, { + deleteTable : deleteTable, + split : split, + merge : merge, + insertRow : insertRow, + insertCol : insertCol, + deleteCols : deleteCols, + deleteRows : deleteRows, + cutRows : cutRows, + copyRows : copyRows, + pasteRows : pasteRows, + getPos : getPos, + setStartCell : setStartCell, + setEndCell : setEndCell + }); + }; + + tinymce.create('tinymce.plugins.TablePlugin', { + init : function(ed, url) { + var winMan, clipboardRows; + + function createTableGrid(node) { + var selection = ed.selection, tblElm = ed.dom.getParent(node || selection.getNode(), 'table'); + + if (tblElm) + return new TableGrid(tblElm, ed.dom, selection); + }; + + function cleanup() { + // Restore selection possibilities + ed.getBody().style.webkitUserSelect = ''; + ed.dom.removeClass(ed.dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + }; + + // Register buttons + each([ + ['table', 'table.desc', 'mceInsertTable', true], + ['delete_table', 'table.del', 'mceTableDelete'], + ['delete_col', 'table.delete_col_desc', 'mceTableDeleteCol'], + ['delete_row', 'table.delete_row_desc', 'mceTableDeleteRow'], + ['col_after', 'table.col_after_desc', 'mceTableInsertColAfter'], + ['col_before', 'table.col_before_desc', 'mceTableInsertColBefore'], + ['row_after', 'table.row_after_desc', 'mceTableInsertRowAfter'], + ['row_before', 'table.row_before_desc', 'mceTableInsertRowBefore'], + ['row_props', 'table.row_desc', 'mceTableRowProps', true], + ['cell_props', 'table.cell_desc', 'mceTableCellProps', true], + ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], + ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] + ], function(c) { + ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); + }); + + // Select whole table is a table border is clicked + if (!tinymce.isIE) { + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'TABLE') + ed.selection.select(e); + }); + } + + // Handle node change updates + ed.onNodeChange.add(function(ed, cm, n) { + var p; + + n = ed.selection.getStart(); + p = ed.dom.getParent(n, 'td,th,caption'); + cm.setActive('table', n.nodeName === 'TABLE' || !!p); + + // Disable table tools if we are in caption + if (p && p.nodeName === 'CAPTION') + p = 0; + + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_col', !p); + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_row', !p); + cm.setDisabled('col_after', !p); + cm.setDisabled('col_before', !p); + cm.setDisabled('row_after', !p); + cm.setDisabled('row_before', !p); + cm.setDisabled('row_props', !p); + cm.setDisabled('cell_props', !p); + cm.setDisabled('split_cells', !p); + cm.setDisabled('merge_cells', !p); + }); + + ed.onInit.add(function(ed) { + var startTable, startCell, dom = ed.dom, tableGrid; + + winMan = ed.windowManager; + + // Add cell selection logic + ed.onMouseDown.add(function(ed, e) { + if (e.button != 2) { + cleanup(); + + startCell = dom.getParent(e.target, 'td,th'); + startTable = dom.getParent(startCell, 'table'); + } + }); + + dom.bind(ed.getDoc(), 'mouseover', function(e) { + var sel, table, target = e.target; + + if (startCell && (tableGrid || target != startCell) && (target.nodeName == 'TD' || target.nodeName == 'TH')) { + table = dom.getParent(target, 'table'); + if (table == startTable) { + if (!tableGrid) { + tableGrid = createTableGrid(table); + tableGrid.setStartCell(startCell); + + ed.getBody().style.webkitUserSelect = 'none'; + } + + tableGrid.setEndCell(target); + } + + // Remove current selection + sel = ed.selection.getSel(); + + if (sel.removeAllRanges) + sel.removeAllRanges(); + else + sel.empty(); + + e.preventDefault(); + } + }); + + ed.onMouseUp.add(function(ed, e) { + var rng, sel = ed.selection, selectedCells, nativeSel = sel.getSel(), walker, node, lastNode, endNode; + + // Move selection to startCell + if (startCell) { + if (tableGrid) + ed.getBody().style.webkitUserSelect = ''; + + function setPoint(node, start) { + var walker = new tinymce.dom.TreeWalker(node, node); + + do { + // Text node + if (node.nodeType == 3 && tinymce.trim(node.nodeValue).length != 0) { + if (start) + rng.setStart(node, 0); + else + rng.setEnd(node, node.nodeValue.length); + + return; + } + + // BR element + if (node.nodeName == 'BR') { + if (start) + rng.setStartBefore(node); + else + rng.setEndBefore(node); + + return; + } + } while (node = (start ? walker.next() : walker.prev())); + }; + + // Try to expand text selection as much as we can only Gecko supports cell selection + selectedCells = dom.select('td.mceSelected,th.mceSelected'); + if (selectedCells.length > 0) { + rng = dom.createRng(); + node = selectedCells[0]; + endNode = selectedCells[selectedCells.length - 1]; + + setPoint(node, 1); + walker = new tinymce.dom.TreeWalker(node, dom.getParent(selectedCells[0], 'table')); + + do { + if (node.nodeName == 'TD' || node.nodeName == 'TH') { + if (!dom.hasClass(node, 'mceSelected')) + break; + + lastNode = node; + } + } while (node = walker.next()); + + setPoint(lastNode); + + sel.setRng(rng); + } + + ed.nodeChanged(); + startCell = tableGrid = startTable = null; + } + }); + + ed.onKeyUp.add(function(ed, e) { + cleanup(); + }); + + // Add context menu + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { + var sm, se = ed.selection, el = se.getNode() || ed.getBody(); + + if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th') || ed.dom.select('td.mceSelected,th.mceSelected').length) { + m.removeAll(); + + if (el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) { + m.add({title : 'advanced.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'advanced.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + m.addSeparator(); + } + + if (el.nodeName == 'IMG' && el.className.indexOf('mceItem') == -1) { + m.add({title : 'advanced.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + m.addSeparator(); + } + + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', value : {action : 'insert'}}); + m.add({title : 'table.props_desc', icon : 'table_props', cmd : 'mceInsertTable'}); + m.add({title : 'table.del', icon : 'delete_table', cmd : 'mceTableDelete'}); + m.addSeparator(); + + // Cell menu + sm = m.addMenu({title : 'table.cell'}); + sm.add({title : 'table.cell_desc', icon : 'cell_props', cmd : 'mceTableCellProps'}); + sm.add({title : 'table.split_cells_desc', icon : 'split_cells', cmd : 'mceTableSplitCells'}); + sm.add({title : 'table.merge_cells_desc', icon : 'merge_cells', cmd : 'mceTableMergeCells'}); + + // Row menu + sm = m.addMenu({title : 'table.row'}); + sm.add({title : 'table.row_desc', icon : 'row_props', cmd : 'mceTableRowProps'}); + sm.add({title : 'table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'}); + sm.add({title : 'table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'}); + sm.add({title : 'table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'}); + sm.addSeparator(); + sm.add({title : 'table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'}); + sm.add({title : 'table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'}); + sm.add({title : 'table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'}).setDisabled(!clipboardRows); + sm.add({title : 'table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'}).setDisabled(!clipboardRows); + + // Column menu + sm = m.addMenu({title : 'table.col'}); + sm.add({title : 'table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'}); + sm.add({title : 'table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'}); + sm.add({title : 'table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'}); + } else + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable'}); + }); + } + + // Fixes an issue on Gecko where it's impossible to place the caret behind a table + // This fix will force a paragraph element after the table but only when the forced_root_block setting is enabled + if (!tinymce.isIE) { + function fixTableCaretPos() { + var last; + + // Skip empty text nodes form the end + for (last = ed.getBody().lastChild; last && last.nodeType == 3 && !last.nodeValue.length; last = last.previousSibling) ; + + if (last && last.nodeName == 'TABLE') + ed.dom.add(ed.getBody(), 'p', null, '
'); + }; + + // Fixes an bug where it's impossible to place the caret before a table in Gecko + // this fix solves it by detecting when the caret is at the beginning of such a table + // and then manually moves the caret infront of the table + if (tinymce.isGecko) { + ed.onKeyDown.add(function(ed, e) { + var rng, table, dom = ed.dom; + + // On gecko it's not possible to place the caret before a table + if (e.keyCode == 37 || e.keyCode == 38) { + rng = ed.selection.getRng(); + table = dom.getParent(rng.startContainer, 'table'); + + if (table && ed.getBody().firstChild == table) { + if (isAtStart(rng, table)) { + rng = dom.createRng(); + + rng.setStartBefore(table); + rng.setEndBefore(table); + + ed.selection.setRng(rng); + + e.preventDefault(); + } + } + } + }); + } + + ed.onKeyUp.add(fixTableCaretPos); + ed.onSetContent.add(fixTableCaretPos); + ed.onVisualAid.add(fixTableCaretPos); + + ed.onPreProcess.add(function(ed, o) { + var last = o.node.lastChild; + + if (last && last.childNodes.length == 1 && last.firstChild.nodeName == 'BR') + ed.dom.remove(last); + }); + + fixTableCaretPos(); + } + }); + + // Register action commands + each({ + mceTableSplitCells : function(grid) { + grid.split(); + }, + + mceTableMergeCells : function(grid) { + var rowSpan, colSpan, cell; + + cell = ed.dom.getParent(ed.selection.getNode(), 'th,td'); + if (cell) { + rowSpan = cell.rowSpan; + colSpan = cell.colSpan; + } + + if (!ed.dom.select('td.mceSelected,th.mceSelected').length) { + winMan.open({ + url : url + '/merge_cells.htm', + width : 240 + parseInt(ed.getLang('table.merge_cells_delta_width', 0)), + height : 110 + parseInt(ed.getLang('table.merge_cells_delta_height', 0)), + inline : 1 + }, { + rows : rowSpan, + cols : colSpan, + onaction : function(data) { + grid.merge(cell, data.cols, data.rows); + }, + plugin_url : url + }); + } else + grid.merge(); + }, + + mceTableInsertRowBefore : function(grid) { + grid.insertRow(true); + }, + + mceTableInsertRowAfter : function(grid) { + grid.insertRow(); + }, + + mceTableInsertColBefore : function(grid) { + grid.insertCol(true); + }, + + mceTableInsertColAfter : function(grid) { + grid.insertCol(); + }, + + mceTableDeleteCol : function(grid) { + grid.deleteCols(); + }, + + mceTableDeleteRow : function(grid) { + grid.deleteRows(); + }, + + mceTableCutRow : function(grid) { + clipboardRows = grid.cutRows(); + }, + + mceTableCopyRow : function(grid) { + clipboardRows = grid.copyRows(); + }, + + mceTablePasteRowBefore : function(grid) { + grid.pasteRows(clipboardRows, true); + }, + + mceTablePasteRowAfter : function(grid) { + grid.pasteRows(clipboardRows); + }, + + mceTableDelete : function(grid) { + grid.deleteTable(); + } + }, function(func, name) { + ed.addCommand(name, function() { + var grid = createTableGrid(); + + if (grid) { + func(grid); + ed.execCommand('mceRepaint'); + cleanup(); + } + }); + }); + + // Register dialog commands + each({ + mceInsertTable : function(val) { + winMan.open({ + url : url + '/table.htm', + width : 400 + parseInt(ed.getLang('table.table_delta_width', 0)), + height : 320 + parseInt(ed.getLang('table.table_delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + action : val ? val.action : 0 + }); + }, + + mceTableRowProps : function() { + winMan.open({ + url : url + '/row.htm', + width : 400 + parseInt(ed.getLang('table.rowprops_delta_width', 0)), + height : 295 + parseInt(ed.getLang('table.rowprops_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }, + + mceTableCellProps : function() { + winMan.open({ + url : url + '/cell.htm', + width : 400 + parseInt(ed.getLang('table.cellprops_delta_width', 0)), + height : 295 + parseInt(ed.getLang('table.cellprops_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + } + }, function(func, name) { + ed.addCommand(name, function(ui, val) { + func(val); + }); + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('table', tinymce.plugins.TablePlugin); +})(tinymce); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/cell.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/cell.js new file mode 100755 index 00000000..b5fc1fda --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/js/cell.js @@ -0,0 +1,286 @@ +tinyMCEPopup.requireLangPack(); + +var ed; + +function init() { + ed = tinyMCEPopup.editor; + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = ed; + var tdElm = ed.dom.getParent(ed.selection.getStart(), "td,th"); + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = ed.dom.getAttrib(tdElm, 'align'); + var valign = ed.dom.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = ed.dom.getAttrib(tdElm, 'class'); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + var id = ed.dom.getAttrib(tdElm, 'id'); + var lang = ed.dom.getAttrib(tdElm, 'lang'); + var dir = ed.dom.getAttrib(tdElm, 'dir'); + var scope = ed.dom.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + TinyMCE_EditableSelects.init(); + + if (!ed.dom.hasClass(tdElm, 'mceSelected')) { + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = ed.dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className, true, true); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + } else + tinyMCEPopup.dom.hide('action'); +} + +function updateAction() { + var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0]; + + tinyMCEPopup.restoreSelection(); + el = ed.selection.getStart(); + tdElm = ed.dom.getParent(el, "td,th"); + trElm = ed.dom.getParent(el, "tr"); + tableElm = ed.dom.getParent(el, "table"); + + // Cell is selected + if (ed.dom.hasClass(tdElm, 'mceSelected')) { + // Update all selected sells + tinymce.each(ed.dom.select('td.mceSelected,th.mceSelected'), function(td) { + updateCell(td); + }); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + ed.execCommand('mceBeginUndoLevel'); + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + function doUpdate(s) { + if (s) { + updateCell(tdElm); + + ed.addVisual(); + ed.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + } + }; + + if (ed.getParam("accessibility_warnings", 1)) { + if (celltype == "th" && scope == "") + tinyMCEPopup.confirm(ed.getLang('table_dlg.missing_scope', '', true), doUpdate); + else + doUpdate(1); + + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i 0) { + tinymce.each(tableElm.rows, function(tr) { + var i; + + for (i = 0; i < tr.cells.length; i++) { + if (dom.hasClass(tr.cells[i], 'mceSelected')) { + updateRow(tr, true); + return; + } + } + }); + + inst.addVisual(); + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + tinyMCEPopup.close(); + return; + } + + inst.execCommand('mceBeginUndoLevel'); + + switch (action) { + case "row": + updateRow(trElm); + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.col_limit').replace(/\{\$cols\}/g, colLimit)); + return false; + } else if (rowLimit && rows > rowLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.row_limit').replace(/\{\$rows\}/g, rowLimit)); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + tinyMCEPopup.alert(inst.getLang('table_dlg.cell_limit').replace(/\{\$cells\}/g, cellLimit)); + return false; + } + + // Update table + if (action == "update") { + inst.execCommand('mceBeginUndoLevel'); + + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + dom.setAttrib(elm, 'border', border); + dom.setAttrib(elm, 'align', align); + dom.setAttrib(elm, 'frame', frame); + dom.setAttrib(elm, 'rules', rules); + dom.setAttrib(elm, 'class', className); + dom.setAttrib(elm, 'style', style); + dom.setAttrib(elm, 'id', id); + dom.setAttrib(elm, 'summary', summary); + dom.setAttrib(elm, 'dir', dir); + dom.setAttrib(elm, 'lang', lang); + + capEl = inst.dom.select('caption', elm)[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + + if (!tinymce.isIE) + capEl.innerHTML = '
'; + + elm.insertBefore(capEl, elm.firstChild); + } + + if (width && inst.settings.inline_styles) { + dom.setStyle(elm, 'width', width); + dom.setAttrib(elm, 'width', ''); + } else { + dom.setAttrib(elm, 'width', width, true); + dom.setStyle(elm, 'width', ''); + } + + // Remove these since they are not valid XHTML + dom.setAttrib(elm, 'borderColor', ''); + dom.setAttrib(elm, 'bgColor', ''); + dom.setAttrib(elm, 'background', ''); + + if (height && inst.settings.inline_styles) { + dom.setStyle(elm, 'height', height); + dom.setAttrib(elm, 'height', ''); + } else { + dom.setAttrib(elm, 'height', height, true); + dom.setStyle(elm, 'height', ''); + } + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + +/* if (tinyMCEPopup.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + }*/ + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + inst.addVisual(); + + // Fix for stange MSIE align bug + //elm.outerHTML = elm.outerHTML; + + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.execCommand('mceRepaint'); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += ''); + + tinymce.each('h1,h2,h3,h4,h5,h6,p'.split(','), function(n) { + if (patt) + patt += ','; + + patt += n + ' ._mce_marker'; + }); + + tinymce.each(inst.dom.select(patt), function(n) { + inst.dom.split(inst.dom.getParent(n, 'h1,h2,h3,h4,h5,h6,p'), n); + }); + + dom.setOuterHTML(dom.select('br._mce_marker')[0], html); + } else + inst.execCommand('mceInsertContent', false, html); + + tinymce.each(dom.select('table[_mce_new]'), function(node) { + var td = dom.select('td', node); + + try { + // IE9 might fail to do this selection + inst.selection.select(td[0], true); + inst.selection.collapse(); + } catch (ex) { + // Ignore + } + + dom.setAttrib(node, '_mce_new', ''); + }); + + inst.addVisual(); + inst.execCommand('mceEndUndoLevel'); + + tinyMCEPopup.close(); +} + +function makeAttrib(attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib]; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value == "") + return ""; + + // XML encode it + value = value.replace(/&/g, '&'); + value = value.replace(/\"/g, '"'); + value = value.replace(//g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules = "", frame = ""; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var formObj = document.forms[0]; + var elm = dom.getParent(inst.selection.getNode(), "table"); + + action = tinyMCEPopup.getWindowArg('action'); + + if (!action) + action = elm ? "update" : "insert"; + + if (elm && action != "insert") { + var rowsAr = elm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = dom.parseStyle(dom.getAttrib(elm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = dom.getAttrib(elm, 'cellpadding', ""); + cellspacing = dom.getAttrib(elm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = dom.getAttrib(elm, 'align', align); + frame = dom.getAttrib(elm, 'frame'); + rules = dom.getAttrib(elm, 'rules'); + className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); + id = dom.getAttrib(elm, 'id'); + summary = dom.getAttrib(elm, 'summary'); + style = dom.serializeStyle(st); + dir = dom.getAttrib(elm, 'dir'); + lang = dom.getAttrib(elm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + formObj.insert.value = inst.getLang('update'); + } + + addClassesToList('class', "table_styles"); + TinyMCE_EditableSelects.init(); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'tframe', frame); + selectByValue(formObj, 'rules', rules); + selectByValue(formObj, 'class', className, true, true); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + +/* var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = "";*/ + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/langs/en_dlg.js new file mode 100755 index 00000000..000332a3 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/langs/en_dlg.js @@ -0,0 +1,74 @@ +tinyMCE.addI18n('en.table_dlg',{ +general_tab:"General", +advanced_tab:"Advanced", +general_props:"General properties", +advanced_props:"Advanced properties", +rowtype:"Row in table part", +title:"Insert/Modify table", +width:"Width", +height:"Height", +cols:"Cols", +rows:"Rows", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Border", +align:"Alignment", +align_default:"Default", +align_left:"Left", +align_right:"Right", +align_middle:"Center", +row_title:"Table row properties", +cell_title:"Table cell properties", +cell_type:"Cell type", +valign:"Vertical alignment", +align_top:"Top", +align_bottom:"Bottom", +bordercolor:"Border color", +bgcolor:"Background color", +merge_cells_title:"Merge table cells", +id:"Id", +style:"Style", +langdir:"Language direction", +langcode:"Language code", +mime:"Target MIME type", +ltr:"Left to right", +rtl:"Right to left", +bgimage:"Background image", +summary:"Summary", +td:"Data", +th:"Header", +cell_cell:"Update current cell", +cell_row:"Update all cells in row", +cell_all:"Update all cells in table", +row_row:"Update current row", +row_odd:"Update odd rows in table", +row_even:"Update even rows in table", +row_all:"Update all rows in table", +thead:"Table Head", +tbody:"Table Body", +tfoot:"Table Foot", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"You've exceeded the maximum number of columns of {$cols}.", +row_limit:"You've exceeded the maximum number of rows of {$rows}.", +cell_limit:"You've exceeded the maximum number of cells of {$cells}.", +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.", +caption:"Table caption", +frame:"Frame", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Rules", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/merge_cells.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/merge_cells.htm new file mode 100755 index 00000000..9736ed8c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/merge_cells.htm @@ -0,0 +1,32 @@ + + + + {#table_dlg.merge_cells_title} + + + + + + +
+
+ {#table_dlg.merge_cells_title} + + + + + + + + + +
{#table_dlg.cols}:
{#table_dlg.rows}:
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/row.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/row.htm new file mode 100755 index 00000000..092e6c82 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/row.htm @@ -0,0 +1,155 @@ + + + + {#table_dlg.row_title} + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/table.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/table.htm new file mode 100755 index 00000000..f2690392 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/table/table.htm @@ -0,0 +1,187 @@ + + + + {#table_dlg.title} + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/blank.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/blank.htm new file mode 100755 index 00000000..ecde53fa --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/blank.htm @@ -0,0 +1,12 @@ + + + blank_page + + + + + + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/css/template.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/css/template.css new file mode 100755 index 00000000..2d23a493 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/css/template.css @@ -0,0 +1,23 @@ +#frmbody { + padding: 10px; + background-color: #FFF; + border: 1px solid #CCC; +} + +.frmRow { + margin-bottom: 10px; +} + +#templatesrc { + border: none; + width: 320px; + height: 240px; +} + +.title { + padding-bottom: 5px; +} + +.mceActionPanel { + padding-top: 5px; +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/editor_plugin.js new file mode 100755 index 00000000..ebe3c27d --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.each;tinymce.create("tinymce.plugins.TemplatePlugin",{init:function(b,c){var d=this;d.editor=b;b.addCommand("mceTemplate",function(e){b.windowManager.open({file:c+"/template.htm",width:b.getParam("template_popup_width",750),height:b.getParam("template_popup_height",600),inline:1},{plugin_url:c})});b.addCommand("mceInsertTemplate",d._insertTemplate,d);b.addButton("template",{title:"template.desc",cmd:"mceTemplate"});b.onPreProcess.add(function(e,g){var f=e.dom;a(f.select("div",g.node),function(h){if(f.hasClass(h,"mceTmpl")){a(f.select("*",h),function(i){if(f.hasClass(i,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){i.innerHTML=d._getDateTime(new Date(),e.getParam("template_mdate_format",e.getLang("template.mdate_format")))}});d._replaceVals(h)}})})},getInfo:function(){return{longname:"Template plugin",author:"Moxiecode Systems AB",authorurl:"http://www.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_insertTemplate:function(i,j){var k=this,g=k.editor,f,c,d=g.dom,b=g.selection.getContent();f=j.content;a(k.editor.getParam("template_replace_values"),function(l,h){if(typeof(l)!="function"){f=f.replace(new RegExp("\\{\\$"+h+"\\}","g"),l)}});c=d.create("div",null,f);n=d.select(".mceTmpl",c);if(n&&n.length>0){c=d.create("div",null);c.appendChild(n[0].cloneNode(true))}function e(l,h){return new RegExp("\\b"+h+"\\b","g").test(l.className)}a(d.select("*",c),function(h){if(e(h,g.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_cdate_format",g.getLang("template.cdate_format")))}if(e(h,g.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))){h.innerHTML=k._getDateTime(new Date(),g.getParam("template_mdate_format",g.getLang("template.mdate_format")))}if(e(h,g.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))){h.innerHTML=b}});k._replaceVals(c);g.execCommand("mceInsertContent",false,c.innerHTML);g.addVisual()},_replaceVals:function(c){var d=this.editor.dom,b=this.editor.getParam("template_replace_values");a(d.select("*",c),function(f){a(b,function(g,e){if(d.hasClass(f,e)){if(typeof(b[e])=="function"){b[e](f)}}})})},_getDateTime:function(e,b){if(!b){return""}function c(g,d){var f;g=""+g;if(g.length 0) { + el = dom.create('div', null); + el.appendChild(n[0].cloneNode(true)); + } + + function hasClass(n, c) { + return new RegExp('\\b' + c + '\\b', 'g').test(n.className); + }; + + each(dom.select('*', el), function(n) { + // Replace cdate + if (hasClass(n, ed.getParam('template_cdate_classes', 'cdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_cdate_format", ed.getLang("template.cdate_format"))); + + // Replace mdate + if (hasClass(n, ed.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) + n.innerHTML = t._getDateTime(new Date(), ed.getParam("template_mdate_format", ed.getLang("template.mdate_format"))); + + // Replace selection + if (hasClass(n, ed.getParam('template_selected_content_classes', 'selcontent').replace(/\s+/g, '|'))) + n.innerHTML = sel; + }); + + t._replaceVals(el); + + ed.execCommand('mceInsertContent', false, el.innerHTML); + ed.addVisual(); + }, + + _replaceVals : function(e) { + var dom = this.editor.dom, vl = this.editor.getParam('template_replace_values'); + + each(dom.select('*', e), function(e) { + each(vl, function(v, k) { + if (dom.hasClass(e, k)) { + if (typeof(vl[k]) == 'function') + vl[k](e); + } + }); + }); + }, + + _getDateTime : function(d, fmt) { + if (!fmt) + return ""; + + function addZeros(value, len) { + var i; + + value = "" + value; + + if (value.length < len) { + for (i=0; i<(len-value.length); i++) + value = "0" + value; + } + + return value; + } + + fmt = fmt.replace("%D", "%m/%d/%y"); + fmt = fmt.replace("%r", "%I:%M:%S %p"); + fmt = fmt.replace("%Y", "" + d.getFullYear()); + fmt = fmt.replace("%y", "" + d.getYear()); + fmt = fmt.replace("%m", addZeros(d.getMonth()+1, 2)); + fmt = fmt.replace("%d", addZeros(d.getDate(), 2)); + fmt = fmt.replace("%H", "" + addZeros(d.getHours(), 2)); + fmt = fmt.replace("%M", "" + addZeros(d.getMinutes(), 2)); + fmt = fmt.replace("%S", "" + addZeros(d.getSeconds(), 2)); + fmt = fmt.replace("%I", "" + ((d.getHours() + 11) % 12 + 1)); + fmt = fmt.replace("%p", "" + (d.getHours() < 12 ? "AM" : "PM")); + fmt = fmt.replace("%B", "" + this.editor.getLang("template_months_long").split(',')[d.getMonth()]); + fmt = fmt.replace("%b", "" + this.editor.getLang("template_months_short").split(',')[d.getMonth()]); + fmt = fmt.replace("%A", "" + this.editor.getLang("template_day_long").split(',')[d.getDay()]); + fmt = fmt.replace("%a", "" + this.editor.getLang("template_day_short").split(',')[d.getDay()]); + fmt = fmt.replace("%%", "%"); + + return fmt; + } + }); + + // Register plugin + tinymce.PluginManager.add('template', tinymce.plugins.TemplatePlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/js/template.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/js/template.js new file mode 100755 index 00000000..24045d73 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/template/js/template.js @@ -0,0 +1,106 @@ +tinyMCEPopup.requireLangPack(); + +var TemplateDialog = { + preInit : function() { + var url = tinyMCEPopup.getParam("template_external_list_url"); + + if (url != null) + document.write(''); + }, + + init : function() { + var ed = tinyMCEPopup.editor, tsrc, sel, x, u; + + tsrc = ed.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x'); + }); + }, + + selectTemplate : function(u, ti) { + var d = window.frames['templatesrc'].document, x, tsrc = this.tsrc; + + if (!u) + return; + + d.body.innerHTML = this.templateHTML = this.getFileContents(u); + + for (x=0; x + + {#template_dlg.title} + + + + + +
+
+
{#template_dlg.desc}
+
+ +
+
+
+
+ {#template_dlg.preview} + +
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin.js new file mode 100755 index 00000000..94719f93 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.VisualChars",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceVisualChars",c._toggleVisualChars,c);a.addButton("visualchars",{title:"visualchars.desc",cmd:"mceVisualChars"});a.onBeforeGetContent.add(function(d,e){if(c.state&&e.format!="raw"&&!e.draft){c.state=true;c._toggleVisualChars(false)}})},getInfo:function(){return{longname:"Visual characters",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_toggleVisualChars:function(m){var p=this,k=p.editor,a,g,j,n=k.getDoc(),o=k.getBody(),l,q=k.selection,e,c,f;p.state=!p.state;k.controlManager.setActive("visualchars",p.state);if(m){f=q.getBookmark()}if(p.state){a=[];tinymce.walk(o,function(b){if(b.nodeType==3&&b.nodeValue&&b.nodeValue.indexOf("\u00a0")!=-1){a.push(b)}},"childNodes");for(g=0;g$1');c=k.dom.create("div",null,l);while(node=c.lastChild){k.dom.insertAfter(node,a[g])}k.dom.remove(a[g])}}else{a=k.dom.select("span.mceItemNbsp",o);for(g=a.length-1;g>=0;g--){k.dom.remove(a[g],1)}}q.moveToBookmark(f)}});tinymce.PluginManager.add("visualchars",tinymce.plugins.VisualChars)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin_src.js new file mode 100755 index 00000000..35856e26 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/visualchars/editor_plugin_src.js @@ -0,0 +1,83 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.VisualChars', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceVisualChars', t._toggleVisualChars, t); + + // Register buttons + ed.addButton('visualchars', {title : 'visualchars.desc', cmd : 'mceVisualChars'}); + + ed.onBeforeGetContent.add(function(ed, o) { + if (t.state && o.format != 'raw' && !o.draft) { + t.state = true; + t._toggleVisualChars(false); + } + }); + }, + + getInfo : function() { + return { + longname : 'Visual characters', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _toggleVisualChars : function(bookmark) { + var t = this, ed = t.editor, nl, i, h, d = ed.getDoc(), b = ed.getBody(), nv, s = ed.selection, bo, div, bm; + + t.state = !t.state; + ed.controlManager.setActive('visualchars', t.state); + + if (bookmark) + bm = s.getBookmark(); + + if (t.state) { + nl = []; + tinymce.walk(b, function(n) { + if (n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1) + nl.push(n); + }, 'childNodes'); + + for (i = 0; i < nl.length; i++) { + nv = nl[i].nodeValue; + nv = nv.replace(/(\u00a0)/g, '$1'); + + div = ed.dom.create('div', null, nv); + while (node = div.lastChild) + ed.dom.insertAfter(node, nl[i]); + + ed.dom.remove(nl[i]); + } + } else { + nl = ed.dom.select('span.mceItemNbsp', b); + + for (i = nl.length - 1; i >= 0; i--) + ed.dom.remove(nl[i], 1); + } + + s.moveToBookmark(bm); + } + }); + + // Register plugin + tinymce.PluginManager.add('visualchars', tinymce.plugins.VisualChars); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin.js new file mode 100755 index 00000000..a099e6a8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(a,b){var c=this,d=0;c.countre=a.getParam("wordcount_countregex",/\S\s+/g);c.cleanre=a.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$¿'"_+=\\\/-]*/g);c.id=a.id+"-word-count";a.onPostRender.add(function(f,e){var g,h;h=f.getParam("wordcount_target_id");if(!h){g=tinymce.DOM.get(f.id+"_path_row");if(g){tinymce.DOM.add(g.parentNode,"div",{style:"float: right"},f.getLang("wordcount.words","Words: ")+'0')}}else{tinymce.DOM.add(h,"span",{},'0')}});a.onInit.add(function(e){e.selection.onSetContent.add(function(){c._count(e)});c._count(e)});a.onSetContent.add(function(e){c._count(e)});a.onKeyUp.add(function(f,g){if(g.keyCode==d){return}if(13==g.keyCode||8==d||46==d){c._count(f)}d=g.keyCode})},_count:function(b){var c=this,a=0;if(c.block){return}c.block=1;setTimeout(function(){var d=b.getContent({format:"raw"});if(d){d=d.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");d=d.replace(c.cleanre,"");d.replace(c.countre,function(){a++})}tinymce.DOM.setHTML(c.id,a.toString());setTimeout(function(){c.block=0},2000)},1)},getInfo:function(){return{longname:"Word Count plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("wordcount",tinymce.plugins.WordCount)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin_src.js new file mode 100755 index 00000000..5cb92fa0 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/wordcount/editor_plugin_src.js @@ -0,0 +1,98 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.WordCount', { + block : 0, + id : null, + countre : null, + cleanre : null, + + init : function(ed, url) { + var t = this, last = 0; + + t.countre = ed.getParam('wordcount_countregex', /\S\s+/g); + t.cleanre = ed.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$¿'"_+=\\\/-]*/g); + t.id = ed.id + '-word-count'; + + ed.onPostRender.add(function(ed, cm) { + var row, id; + + // Add it to the specified id or the theme advanced path + id = ed.getParam('wordcount_target_id'); + if (!id) { + row = tinymce.DOM.get(ed.id + '_path_row'); + + if (row) + tinymce.DOM.add(row.parentNode, 'div', {'style': 'float: right'}, ed.getLang('wordcount.words', 'Words: ') + '0'); + } else + tinymce.DOM.add(id, 'span', {}, '0'); + }); + + ed.onInit.add(function(ed) { + ed.selection.onSetContent.add(function() { + t._count(ed); + }); + + t._count(ed); + }); + + ed.onSetContent.add(function(ed) { + t._count(ed); + }); + + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == last) + return; + + if (13 == e.keyCode || 8 == last || 46 == last) + t._count(ed); + + last = e.keyCode; + }); + }, + + _count : function(ed) { + var t = this, tc = 0; + + // Keep multiple calls from happening at the same time + if (t.block) + return; + + t.block = 1; + + setTimeout(function() { + var tx = ed.getContent({format : 'raw'}); + + if (tx) { + tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' '); // remove html tags and space chars + tx = tx.replace(t.cleanre, ''); // remove numbers and punctuation + tx.replace(t.countre, function() {tc++;}); // count the words + } + + tinymce.DOM.setHTML(t.id, tc.toString()); + + setTimeout(function() {t.block = 0;}, 2000); + }, 1); + }, + + getInfo: function() { + return { + longname : 'Word Count plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/wordcount', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.PluginManager.add('wordcount', tinymce.plugins.WordCount); +})(); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/abbr.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/abbr.htm new file mode 100755 index 00000000..3aeac0de --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/abbr.htm @@ -0,0 +1,141 @@ + + + + {#xhtmlxtras_dlg.title_abbr_element} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/acronym.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/acronym.htm new file mode 100755 index 00000000..31ee7b70 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/acronym.htm @@ -0,0 +1,141 @@ + + + + {#xhtmlxtras_dlg.title_acronym_element} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/attributes.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/attributes.htm new file mode 100755 index 00000000..17054da3 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/attributes.htm @@ -0,0 +1,148 @@ + + + + {#xhtmlxtras_dlg.attribs_title} + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.attribute_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
+ +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.attribute_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/cite.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/cite.htm new file mode 100755 index 00000000..d0a3e3a8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/cite.htm @@ -0,0 +1,141 @@ + + + + {#xhtmlxtras_dlg.title_cite_element} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/attributes.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/attributes.css new file mode 100755 index 00000000..9a6a235c --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/attributes.css @@ -0,0 +1,11 @@ +.panel_wrapper div.current { + height: 290px; +} + +#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { + width: 200px; +} + +#events_panel input { + width: 200px; +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/popup.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/popup.css new file mode 100755 index 00000000..c09acaef --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/css/popup.css @@ -0,0 +1,9 @@ +input.field, select.field {width:200px;} +input.picker {width:179px; margin-left: 5px;} +input.disabled {border-color:#F2F2F2;} +img.picker {vertical-align:text-bottom; cursor:pointer;} +h1 {padding: 0 0 5px 0;} +.panel_wrapper div.current {height:160px;} +#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} +a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.png') -140px -20px;} +#datetime {width:180px;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/del.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/del.htm new file mode 100755 index 00000000..8b07fa84 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/del.htm @@ -0,0 +1,161 @@ + + + + {#xhtmlxtras_dlg.title_del_element} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
: + + + + + +
+
:
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin.js new file mode 100755 index 00000000..a9393ad6 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.XHTMLXtrasPlugin",{init:function(a,b){a.addCommand("mceCite",function(){a.windowManager.open({file:b+"/cite.htm",width:350+parseInt(a.getLang("xhtmlxtras.cite_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.cite_delta_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAcronym",function(){a.windowManager.open({file:b+"/acronym.htm",width:350+parseInt(a.getLang("xhtmlxtras.acronym_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.acronym_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceAbbr",function(){a.windowManager.open({file:b+"/abbr.htm",width:350+parseInt(a.getLang("xhtmlxtras.abbr_delta_width",0)),height:250+parseInt(a.getLang("xhtmlxtras.abbr_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceDel",function(){a.windowManager.open({file:b+"/del.htm",width:340+parseInt(a.getLang("xhtmlxtras.del_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.del_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceIns",function(){a.windowManager.open({file:b+"/ins.htm",width:340+parseInt(a.getLang("xhtmlxtras.ins_delta_width",0)),height:310+parseInt(a.getLang("xhtmlxtras.ins_delta_width",0)),inline:1},{plugin_url:b})});a.addCommand("mceAttributes",function(){a.windowManager.open({file:b+"/attributes.htm",width:380,height:370,inline:1},{plugin_url:b})});a.addButton("cite",{title:"xhtmlxtras.cite_desc",cmd:"mceCite"});a.addButton("acronym",{title:"xhtmlxtras.acronym_desc",cmd:"mceAcronym"});a.addButton("abbr",{title:"xhtmlxtras.abbr_desc",cmd:"mceAbbr"});a.addButton("del",{title:"xhtmlxtras.del_desc",cmd:"mceDel"});a.addButton("ins",{title:"xhtmlxtras.ins_desc",cmd:"mceIns"});a.addButton("attribs",{title:"xhtmlxtras.attribs_desc",cmd:"mceAttributes"});a.onNodeChange.add(function(d,c,f,e){f=d.dom.getParent(f,"CITE,ACRONYM,ABBR,DEL,INS");c.setDisabled("cite",e);c.setDisabled("acronym",e);c.setDisabled("abbr",e);c.setDisabled("del",e);c.setDisabled("ins",e);c.setDisabled("attribs",f&&f.nodeName=="BODY");c.setActive("cite",0);c.setActive("acronym",0);c.setActive("abbr",0);c.setActive("del",0);c.setActive("ins",0);if(f){do{c.setDisabled(f.nodeName.toLowerCase(),0);c.setActive(f.nodeName.toLowerCase(),1)}while(f=f.parentNode)}});a.onPreInit.add(function(){a.dom.create("abbr")})},getInfo:function(){return{longname:"XHTML Xtras Plugin",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("xhtmlxtras",tinymce.plugins.XHTMLXtrasPlugin)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin_src.js new file mode 100755 index 00000000..5f9d9bd5 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/editor_plugin_src.js @@ -0,0 +1,132 @@ +/** + * editor_plugin_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.XHTMLXtrasPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceCite', function() { + ed.windowManager.open({ + file : url + '/cite.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.cite_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.cite_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAcronym', function() { + ed.windowManager.open({ + file : url + '/acronym.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAbbr', function() { + ed.windowManager.open({ + file : url + '/abbr.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceDel', function() { + ed.windowManager.open({ + file : url + '/del.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.del_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.del_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceIns', function() { + ed.windowManager.open({ + file : url + '/ins.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.ins_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.ins_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAttributes', function() { + ed.windowManager.open({ + file : url + '/attributes.htm', + width : 380, + height : 370, + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('cite', {title : 'xhtmlxtras.cite_desc', cmd : 'mceCite'}); + ed.addButton('acronym', {title : 'xhtmlxtras.acronym_desc', cmd : 'mceAcronym'}); + ed.addButton('abbr', {title : 'xhtmlxtras.abbr_desc', cmd : 'mceAbbr'}); + ed.addButton('del', {title : 'xhtmlxtras.del_desc', cmd : 'mceDel'}); + ed.addButton('ins', {title : 'xhtmlxtras.ins_desc', cmd : 'mceIns'}); + ed.addButton('attribs', {title : 'xhtmlxtras.attribs_desc', cmd : 'mceAttributes'}); + + ed.onNodeChange.add(function(ed, cm, n, co) { + n = ed.dom.getParent(n, 'CITE,ACRONYM,ABBR,DEL,INS'); + + cm.setDisabled('cite', co); + cm.setDisabled('acronym', co); + cm.setDisabled('abbr', co); + cm.setDisabled('del', co); + cm.setDisabled('ins', co); + cm.setDisabled('attribs', n && n.nodeName == 'BODY'); + cm.setActive('cite', 0); + cm.setActive('acronym', 0); + cm.setActive('abbr', 0); + cm.setActive('del', 0); + cm.setActive('ins', 0); + + // Activate all + if (n) { + do { + cm.setDisabled(n.nodeName.toLowerCase(), 0); + cm.setActive(n.nodeName.toLowerCase(), 1); + } while (n = n.parentNode); + } + }); + + ed.onPreInit.add(function() { + // Fixed IE issue where it can't handle these elements correctly + ed.dom.create('abbr'); + }); + }, + + getInfo : function() { + return { + longname : 'XHTML Xtras Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('xhtmlxtras', tinymce.plugins.XHTMLXtrasPlugin); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/ins.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/ins.htm new file mode 100755 index 00000000..6c5470cf --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/ins.htm @@ -0,0 +1,161 @@ + + + + {#xhtmlxtras_dlg.title_ins_element} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
: + + + + + +
+
:
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/abbr.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/abbr.js new file mode 100755 index 00000000..4b51a257 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/abbr.js @@ -0,0 +1,28 @@ +/** + * abbr.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('abbr'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAbbr() { + SXE.insertElement('abbr'); + tinyMCEPopup.close(); +} + +function removeAbbr() { + SXE.removeElement('abbr'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/acronym.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/acronym.js new file mode 100755 index 00000000..6ec2f887 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/acronym.js @@ -0,0 +1,28 @@ +/** + * acronym.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('acronym'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAcronym() { + SXE.insertElement('acronym'); + tinyMCEPopup.close(); +} + +function removeAcronym() { + SXE.removeElement('acronym'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/attributes.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/attributes.js new file mode 100755 index 00000000..d62a219e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/attributes.js @@ -0,0 +1,126 @@ +/** + * attributes.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + tinyMCEPopup.resizeToInnerSize(); + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var elm = inst.selection.getNode(); + var f = document.forms[0]; + var onclick = dom.getAttrib(elm, 'onclick'); + + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + setFormValue('style', dom.getAttrib(elm, "style")); + setFormValue('dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); + className = dom.getAttrib(elm, 'class'); + + addClassesToList('classlist', 'advlink_styles'); + selectByValue(f, 'classlist', className, true); + + TinyMCE_EditableSelects.init(); +} + +function setFormValue(name, value) { + if(value && document.forms[0].elements[name]){ + document.forms[0].elements[name].value = value; + } +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + setAllAttribs(elm); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value != "") { + dom.setAttrib(elm, attrib.toLowerCase(), value); + + if (attrib == "style") + attrib = "style.cssText"; + + if (attrib.substring(0, 2) == 'on') + value = 'return true;' + value; + + if (attrib == "class") + attrib = "className"; + + elm[attrib]=value; + } else + elm.removeAttribute(attrib); +} + +function setAllAttribs(elm) { + var f = document.forms[0]; + + setAttrib(elm, 'title'); + setAttrib(elm, 'id'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(f, 'classlist')); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'tabindex'); + setAttrib(elm, 'accesskey'); + setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup'); + + // Refresh in old MSIE +// if (tinyMCE.isMSIE5) +// elm.outerHTML = elm.outerHTML; +} + +function insertAttribute() { + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/cite.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/cite.js new file mode 100755 index 00000000..009b7154 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/cite.js @@ -0,0 +1,28 @@ +/** + * cite.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('cite'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertCite() { + SXE.insertElement('cite'); + tinyMCEPopup.close(); +} + +function removeCite() { + SXE.removeElement('cite'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/del.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/del.js new file mode 100755 index 00000000..e25bacec --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/del.js @@ -0,0 +1,53 @@ +/** + * del.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('del'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); +} + +function insertDel() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); + + tinyMCEPopup.execCommand('mceBeginUndoLevel'); + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('del'); + var elementArray = tinymce.grep(SXE.inst.dom.select('del'), function(n) {return n.id == '#sxe_temp_del#';}); + for (var i=0; i 0) { + tagName = element_name; + + insertInlineElement(element_name); + var elementArray = tinymce.grep(SXE.inst.dom.select(element_name)); + for (var i=0; i -1) ? true : false; +} + +SXE.removeClass = function(elm,cl) { + if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) { + return true; + } + var classNames = elm.className.split(" "); + var newClassNames = ""; + for (var x = 0, cnl = classNames.length; x < cnl; x++) { + if (classNames[x] != cl) { + newClassNames += (classNames[x] + " "); + } + } + elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end +} + +SXE.addClass = function(elm,cl) { + if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl; + return true; +} + +function insertInlineElement(en) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + ed.getDoc().execCommand('FontName', false, 'mceinline'); + tinymce.each(dom.select('span,font'), function(n) { + if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline') + dom.replace(dom.create(en, {_mce_new : 1}), n, 1); + }); +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/ins.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/ins.js new file mode 100755 index 00000000..2e04ee98 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/plugins/xhtmlxtras/js/ins.js @@ -0,0 +1,52 @@ +/** + * ins.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +function init() { + SXE.initElementDialog('ins'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); +} + +function insertIns() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS'); + tinyMCEPopup.execCommand('mceBeginUndoLevel'); + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('INS'); + var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';}); + for (var i=0; i + + + {#advanced_dlg.about_title} + + + + + + + +
+
+

{#advanced_dlg.about_title}

+

Version: ()

+

TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL + by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

+

Copyright © 2003-2008, Moxiecode Systems AB, All rights reserved.

+

For more information about this software visit the TinyMCE website.

+ +
+ Got Moxie? + Hosted By Sourceforge + Also on freshmeat +
+
+ +
+
+

{#advanced_dlg.about_loaded}

+ +
+
+ +

 

+
+
+ +
+
+
+
+ +
+ +
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/anchor.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/anchor.htm new file mode 100755 index 00000000..2bc63fcf --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/anchor.htm @@ -0,0 +1,26 @@ + + + + {#advanced_dlg.anchor_title} + + + + +
+ + + + + + + + +
{#advanced_dlg.anchor_title}
{#advanced_dlg.anchor_name}:
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/charmap.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/charmap.htm new file mode 100755 index 00000000..3991b814 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/charmap.htm @@ -0,0 +1,52 @@ + + + + {#advanced_dlg.charmap_title} + + + + + + + + + + + + + + + +
{#advanced_dlg.charmap_title}
+ + + + + + + + + +
 
 
+
+ + + + + + + + + + + + + + + + +
HTML-Code
 
 
NUM-Code
 
+
+ + + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/color_picker.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/color_picker.htm new file mode 100755 index 00000000..096e7550 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/color_picker.htm @@ -0,0 +1,73 @@ + + + + {#advanced_dlg.colorpicker_title} + + + + + +
+ + +
+
+
+ {#advanced_dlg.colorpicker_picker_title} +
+ + +
+ +
+ +
+
+
+
+ +
+
+ {#advanced_dlg.colorpicker_palette_title} +
+ +
+ +
+
+
+ +
+
+ {#advanced_dlg.colorpicker_named_title} +
+ +
+ +
+ +
+ {#advanced_dlg.colorpicker_name} +
+
+
+
+ +
+ + +
+ +
+ +
+
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/editor_template.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/editor_template.js new file mode 100755 index 00000000..c5a1719a --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/editor_template.js @@ -0,0 +1 @@ +(function(e){var d=e.DOM,b=e.dom.Event,h=e.extend,f=e.each,a=e.util.Cookie,g,c=e.explode;e.ThemeManager.requireLangPack("advanced");e.create("tinymce.themes.AdvancedTheme",{sizes:[8,10,12,14,18,24,36],controls:{bold:["bold_desc","Bold"],italic:["italic_desc","Italic"],underline:["underline_desc","Underline"],strikethrough:["striketrough_desc","Strikethrough"],justifyleft:["justifyleft_desc","JustifyLeft"],justifycenter:["justifycenter_desc","JustifyCenter"],justifyright:["justifyright_desc","JustifyRight"],justifyfull:["justifyfull_desc","JustifyFull"],bullist:["bullist_desc","InsertUnorderedList"],numlist:["numlist_desc","InsertOrderedList"],outdent:["outdent_desc","Outdent"],indent:["indent_desc","Indent"],cut:["cut_desc","Cut"],copy:["copy_desc","Copy"],paste:["paste_desc","Paste"],undo:["undo_desc","Undo"],redo:["redo_desc","Redo"],link:["link_desc","mceLink"],unlink:["unlink_desc","unlink"],image:["image_desc","mceImage"],cleanup:["cleanup_desc","mceCleanup"],help:["help_desc","mceHelp"],code:["code_desc","mceCodeEditor"],hr:["hr_desc","InsertHorizontalRule"],removeformat:["removeformat_desc","RemoveFormat"],sub:["sub_desc","subscript"],sup:["sup_desc","superscript"],forecolor:["forecolor_desc","ForeColor"],forecolorpicker:["forecolor_desc","mceForeColor"],backcolor:["backcolor_desc","HiliteColor"],backcolorpicker:["backcolor_desc","mceBackColor"],charmap:["charmap_desc","mceCharMap"],visualaid:["visualaid_desc","mceToggleVisualAid"],anchor:["anchor_desc","mceInsertAnchor"],newdocument:["newdocument_desc","mceNewDocument"],blockquote:["blockquote_desc","mceBlockQuote"]},stateControls:["bold","italic","underline","strikethrough","bullist","numlist","justifyleft","justifycenter","justifyright","justifyfull","sub","sup","blockquote"],init:function(j,k){var l=this,m,i,n;l.editor=j;l.url=k;l.onResolveName=new e.util.Dispatcher(this);l.settings=m=h({theme_advanced_path:true,theme_advanced_toolbar_location:"bottom",theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1,theme_advanced_font_sizes:"1,2,3,4,5,6,7",readonly:j.settings.readonly},j.settings);if(!m.font_size_style_values){m.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(e.is(m.theme_advanced_font_sizes,"string")){m.font_size_style_values=e.explode(m.font_size_style_values);m.font_size_classes=e.explode(m.font_size_classes||"");n={};j.settings.theme_advanced_font_sizes=m.theme_advanced_font_sizes;f(j.getParam("theme_advanced_font_sizes","","hash"),function(q,p){var o;if(p==q&&q>=1&&q<=7){p=q+" ("+l.sizes[q-1]+"pt)";o=m.font_size_classes[q-1];q=m.font_size_style_values[q-1]||(l.sizes[q-1]+"pt")}if(/^\s*\./.test(q)){o=q.replace(/\./g,"")}n[p]=o?{"class":o}:{fontSize:q}});m.theme_advanced_font_sizes=n}if((i=m.theme_advanced_path_location)&&i!="none"){m.theme_advanced_statusbar_location=m.theme_advanced_path_location}if(m.theme_advanced_statusbar_location=="none"){m.theme_advanced_statusbar_location=0}j.onInit.add(function(){if(!j.settings.readonly){j.onNodeChange.add(l._nodeChanged,l)}if(j.settings.content_css!==false){j.dom.loadCSS(j.baseURI.toAbsolute(k+"/skins/"+j.settings.skin+"/content.css"))}});j.onSetProgressState.add(function(q,o,r){var s,t=q.id,p;if(o){l.progressTimer=setTimeout(function(){s=q.getContainer();s=s.insertBefore(d.create("DIV",{style:"position:relative"}),s.firstChild);p=d.get(q.id+"_tbl");d.add(s,"div",{id:t+"_blocker","class":"mceBlocker",style:{width:p.clientWidth+2,height:p.clientHeight+2}});d.add(s,"div",{id:t+"_progress","class":"mceProgress",style:{left:p.clientWidth/2,top:p.clientHeight/2}})},r||0)}else{d.remove(t+"_blocker");d.remove(t+"_progress");clearTimeout(l.progressTimer)}});d.loadCSS(m.editor_css?j.documentBaseURI.toAbsolute(m.editor_css):k+"/skins/"+j.settings.skin+"/ui.css");if(m.skin_variant){d.loadCSS(k+"/skins/"+j.settings.skin+"/ui_"+m.skin_variant+".css")}},createControl:function(l,i){var j,k;if(k=i.createControl(l)){return k}switch(l){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu()}if((j=this.controls[l])){return i.createButton(l,{title:"advanced."+j[0],cmd:j[1],ui:j[2],value:j[3]})}},execCommand:function(k,j,l){var i=this["_"+k];if(i){i.call(this,j,l);return true}return false},_importClasses:function(k){var i=this.editor,j=i.controlManager.get("styleselect");if(j.getLength()==0){f(i.dom.getClasses(),function(n,l){var m="style_"+l;i.formatter.register(m,{inline:"span",attributes:{"class":n["class"]},selector:"*"});j.add(n["class"],m)})}},_createStyleSelect:function(m){var k=this,i=k.editor,j=i.controlManager,l;l=j.createListBox("styleselect",{title:"advanced.style_select",onselect:function(o){var p,n=[];f(l.items,function(q){n.push(q.value)});i.focus();i.undoManager.add();p=i.formatter.matchAll(n);if(!o||p[0]==o){i.formatter.remove(p[0])}else{i.formatter.apply(o)}i.undoManager.add();i.nodeChanged();return false}});i.onInit.add(function(){var o=0,n=i.getParam("style_formats");if(n){f(n,function(p){var q,r=0;f(p,function(){r++});if(r>1){q=p.name=p.name||"style_"+(o++);i.formatter.register(q,p);l.add(p.title,q)}else{l.add(p.title)}})}else{f(i.getParam("theme_advanced_styles","","hash"),function(r,q){var p;if(r){p="style_"+(o++);i.formatter.register(p,{inline:"span",classes:r,selector:"*"});l.add(k.editor.translate(q),p)}})}});if(l.getLength()==0){l.onPostRender.add(function(o,p){if(!l.NativeListBox){b.add(p.id+"_text","focus",k._importClasses,k);b.add(p.id+"_text","mousedown",k._importClasses,k);b.add(p.id+"_open","focus",k._importClasses,k);b.add(p.id+"_open","mousedown",k._importClasses,k)}else{b.add(p.id,"focus",k._importClasses,k)}})}return l},_createFontSelect:function(){var k,j=this,i=j.editor;k=i.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(l){var m=k.items[k.selectedIndex];if(!l&&m){i.execCommand("FontName",false,m.value);return}i.execCommand("FontName",false,l);k.select(function(n){return l==n});return false}});if(k){f(i.getParam("theme_advanced_fonts",j.settings.theme_advanced_fonts,"hash"),function(m,l){k.add(i.translate(l),m,{style:m.indexOf("dings")==-1?"font-family:"+m:""})})}return k},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(i){var o=n.items[n.selectedIndex];if(!i&&o){o=o.value;if(o["class"]){k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}return}if(i["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:i["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,i.fontSize)}n.select(function(p){return i==p});return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(o,i){var p=o.fontSize;if(p>=1&&p<=7){p=m.sizes[parseInt(p)-1]+"pt"}n.add(i,o,{style:"font-size:"+p,"class":"mceFontSize"+(l++)+(" "+(o["class"]||""))})})}return n},_createBlockFormats:function(){var k,i={p:"advanced.paragraph",address:"advanced.address",pre:"advanced.pre",h1:"advanced.h1",h2:"advanced.h2",h3:"advanced.h3",h4:"advanced.h4",h5:"advanced.h5",h6:"advanced.h6",div:"advanced.div",blockquote:"advanced.blockquote",code:"advanced.code",dt:"advanced.dt",dd:"advanced.dd",samp:"advanced.samp"},j=this;k=j.editor.controlManager.createListBox("formatselect",{title:"advanced.block",cmd:"FormatBlock"});if(k){f(j.editor.getParam("theme_advanced_blockformats",j.settings.theme_advanced_blockformats,"hash"),function(m,l){k.add(j.editor.translate(l!=m?l:i[m]),m,{"class":"mce_formatPreview mce_"+m})})}return k},_createForeColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_text_colors){l.colors=i}if(k.theme_advanced_default_foreground_color){l.default_color=k.theme_advanced_default_foreground_color}l.title="advanced.forecolor_desc";l.cmd="ForeColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("forecolor",l);return m},_createBackColorMenu:function(){var m,j=this,k=j.settings,l={},i;if(k.theme_advanced_more_colors){l.more_colors_func=function(){j._mceColorPicker(0,{color:m.value,func:function(n){m.setColor(n)}})}}if(i=k.theme_advanced_background_colors){l.colors=i}if(k.theme_advanced_default_background_color){l.default_color=k.theme_advanced_default_background_color}l.title="advanced.backcolor_desc";l.cmd="HiliteColor";l.scope=this;m=j.editor.controlManager.createColorSplitButton("backcolor",l);return m},renderUI:function(k){var m,l,q,v=this,r=v.editor,w=v.settings,u,j,i;m=j=d.create("span",{id:r.id+"_parent","class":"mceEditor "+r.settings.skin+"Skin"+(w.skin_variant?" "+r.settings.skin+"Skin"+v._ufirst(w.skin_variant):"")});if(!d.boxModel){m=d.add(m,"div",{"class":"mceOldBoxModel"})}m=u=d.add(m,"table",{id:r.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});m=q=d.add(m,"tbody");switch((w.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":l=v._rowLayout(w,q,k);break;case"customlayout":l=r.execCallback("theme_advanced_custom_layout",w,q,k,j);break;default:l=v._simpleLayout(w,q,k,j)}m=k.targetNode;i=d.stdMode?u.getElementsByTagName("tr"):u.rows;d.addClass(i[0],"mceFirst");d.addClass(i[i.length-1],"mceLast");f(d.select("tr",q),function(o){d.addClass(o.firstChild,"mceFirst");d.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(d.get(w.theme_advanced_toolbar_container)){d.get(w.theme_advanced_toolbar_container).appendChild(j)}else{d.insertAfter(j,m)}b.add(r.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){v._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return b.cancel(n)}});if(!r.getParam("accessibility_focus")){b.add(d.add(j,"a",{href:"#"},""),"focus",function(){tinyMCE.get(r.id).focus()})}if(w.theme_advanced_toolbar_location=="external"){k.deltaHeight=0}v.deltaHeight=k.deltaHeight;k.targetNode=null;return{iframeContainer:l,editorContainer:r.id+"_parent",sizeContainer:u,deltaHeight:k.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:e.majorVersion+"."+e.minorVersion}},resizeBy:function(i,j){var k=d.get(this.editor.id+"_tbl");this.resizeTo(k.clientWidth+i,k.clientHeight+j)},resizeTo:function(i,m,k){var j=this.editor,l=this.settings,n=d.get(j.id+"_tbl"),o=d.get(j.id+"_ifr");i=Math.max(l.theme_advanced_resizing_min_width||100,i);m=Math.max(l.theme_advanced_resizing_min_height||100,m);i=Math.min(l.theme_advanced_resizing_max_width||65535,i);m=Math.min(l.theme_advanced_resizing_max_height||65535,m);d.setStyle(n,"height","");d.setStyle(o,"height",m);if(l.theme_advanced_resize_horizontal){d.setStyle(n,"width","");d.setStyle(o,"width",i);if(i"))}q.push(d.createHTML("a",{href:"#",accesskey:"q",title:r.getLang("advanced.toolbar_focus")},""));for(p=1;(y=A["theme_advanced_buttons"+p]);p++){m=j.createToolbar("toolbar"+p,{"class":"mceToolbarRow"+p});if(A["theme_advanced_buttons"+p+"_add"]){y+=","+A["theme_advanced_buttons"+p+"_add"]}if(A["theme_advanced_buttons"+p+"_add_before"]){y=A["theme_advanced_buttons"+p+"_add_before"]+","+y}z._addControls(y,m);q.push(m.renderHTML());k.deltaHeight-=A.theme_advanced_row_height}q.push(d.createHTML("a",{href:"#",accesskey:"z",title:r.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+r.id+"').focus();"},""));d.setHTML(l,q.join(""))},_addStatusBar:function(m,j){var k,v=this,p=v.editor,w=v.settings,i,q,u,l;k=d.add(m,"tr");k=l=d.add(k,"td",{"class":"mceStatusbar"});k=d.add(k,"div",{id:p.id+"_path_row"},w.theme_advanced_path?p.translate("advanced.path")+": ":" ");d.add(k,"a",{href:"#",accesskey:"x"});if(w.theme_advanced_resizing){d.add(l,"a",{id:p.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize"});if(w.theme_advanced_resizing_use_cookie){p.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+p.id+"_size"),r=d.get(p.id+"_tbl");if(!n){return}v.resizeTo(n.cw,n.ch)})}p.onPostRender.add(function(){b.add(p.id+"_resize","click",function(n){n.preventDefault()});b.add(p.id+"_resize","mousedown",function(D){var t,r,s,o,C,z,A,F,n,E,x;function y(G){G.preventDefault();n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E)}function B(G){b.remove(d.doc,"mousemove",t);b.remove(p.getDoc(),"mousemove",r);b.remove(d.doc,"mouseup",s);b.remove(p.getDoc(),"mouseup",o);n=A+(G.screenX-C);E=F+(G.screenY-z);v.resizeTo(n,E,true)}D.preventDefault();C=D.screenX;z=D.screenY;x=d.get(v.editor.id+"_ifr");A=n=x.clientWidth;F=E=x.clientHeight;t=b.add(d.doc,"mousemove",y);r=b.add(p.getDoc(),"mousemove",y);s=b.add(d.doc,"mouseup",B);o=b.add(p.getDoc(),"mouseup",B)})})}j.deltaHeight-=21;k=m=null},_nodeChanged:function(r,z,l,x,j){var C=this,i,y=0,B,u,D=C.settings,A,k,w,m,q;e.each(C.stateControls,function(n){z.setActive(n,r.queryCommandState(C.controls[n][1]))});function o(p){var s,n=j.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s= 1 && v <= 7) { + k = v + ' (' + t.sizes[v - 1] + 'pt)'; + cl = s.font_size_classes[v - 1]; + v = s.font_size_style_values[v - 1] || (t.sizes[v - 1] + 'pt'); + } + + if (/^\s*\./.test(v)) + cl = v.replace(/\./g, ''); + + o[k] = cl ? {'class' : cl} : {fontSize : v}; + }); + + s.theme_advanced_font_sizes = o; + } + + if ((v = s.theme_advanced_path_location) && v != 'none') + s.theme_advanced_statusbar_location = s.theme_advanced_path_location; + + if (s.theme_advanced_statusbar_location == 'none') + s.theme_advanced_statusbar_location = 0; + + // Init editor + ed.onInit.add(function() { + if (!ed.settings.readonly) + ed.onNodeChange.add(t._nodeChanged, t); + + if (ed.settings.content_css !== false) + ed.dom.loadCSS(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css")); + }); + + ed.onSetProgressState.add(function(ed, b, ti) { + var co, id = ed.id, tb; + + if (b) { + t.progressTimer = setTimeout(function() { + co = ed.getContainer(); + co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild); + tb = DOM.get(ed.id + '_tbl'); + + DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}}); + DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}}); + }, ti || 0); + } else { + DOM.remove(id + '_blocker'); + DOM.remove(id + '_progress'); + clearTimeout(t.progressTimer); + } + }); + + DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/" + ed.settings.skin + "/ui.css"); + + if (s.skin_variant) + DOM.loadCSS(url + "/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css"); + }, + + createControl : function(n, cf) { + var cd, c; + + if (c = cf.createControl(n)) + return c; + + switch (n) { + case "styleselect": + return this._createStyleSelect(); + + case "formatselect": + return this._createBlockFormats(); + + case "fontselect": + return this._createFontSelect(); + + case "fontsizeselect": + return this._createFontSizeSelect(); + + case "forecolor": + return this._createForeColorMenu(); + + case "backcolor": + return this._createBackColorMenu(); + } + + if ((cd = this.controls[n])) + return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]}); + }, + + execCommand : function(cmd, ui, val) { + var f = this['_' + cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + + return false; + }, + + _importClasses : function(e) { + var ed = this.editor, ctrl = ed.controlManager.get('styleselect'); + + if (ctrl.getLength() == 0) { + each(ed.dom.getClasses(), function(o, idx) { + var name = 'style_' + idx; + + ed.formatter.register(name, { + inline : 'span', + attributes : {'class' : o['class']}, + selector : '*' + }); + + ctrl.add(o['class'], name); + }); + } + }, + + _createStyleSelect : function(n) { + var t = this, ed = t.editor, ctrlMan = ed.controlManager, ctrl; + + // Setup style select box + ctrl = ctrlMan.createListBox('styleselect', { + title : 'advanced.style_select', + onselect : function(name) { + var matches, formatNames = []; + + each(ctrl.items, function(item) { + formatNames.push(item.value); + }); + + ed.focus(); + ed.undoManager.add(); + + // Toggle off the current format + matches = ed.formatter.matchAll(formatNames); + if (!name || matches[0] == name) + ed.formatter.remove(matches[0]); + else + ed.formatter.apply(name); + + ed.undoManager.add(); + ed.nodeChanged(); + + return false; // No auto select + } + }); + + // Handle specified format + ed.onInit.add(function() { + var counter = 0, formats = ed.getParam('style_formats'); + + if (formats) { + each(formats, function(fmt) { + var name, keys = 0; + + each(fmt, function() {keys++;}); + + if (keys > 1) { + name = fmt.name = fmt.name || 'style_' + (counter++); + ed.formatter.register(name, fmt); + ctrl.add(fmt.title, name); + } else + ctrl.add(fmt.title); + }); + } else { + each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) { + var name; + + if (val) { + name = 'style_' + (counter++); + + ed.formatter.register(name, { + inline : 'span', + classes : val, + selector : '*' + }); + + ctrl.add(t.editor.translate(key), name); + } + }); + } + }); + + // Auto import classes if the ctrl box is empty + if (ctrl.getLength() == 0) { + ctrl.onPostRender.add(function(ed, n) { + if (!ctrl.NativeListBox) { + Event.add(n.id + '_text', 'focus', t._importClasses, t); + Event.add(n.id + '_text', 'mousedown', t._importClasses, t); + Event.add(n.id + '_open', 'focus', t._importClasses, t); + Event.add(n.id + '_open', 'mousedown', t._importClasses, t); + } else + Event.add(n.id, 'focus', t._importClasses, t); + }); + } + + return ctrl; + }, + + _createFontSelect : function() { + var c, t = this, ed = t.editor; + + c = ed.controlManager.createListBox('fontselect', { + title : 'advanced.fontdefault', + onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + ed.execCommand('FontName', false, cur.value); + return; + } + + ed.execCommand('FontName', false, v); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + return false; // No auto select + } + }); + + if (c) { + each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) { + c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''}); + }); + } + + return c; + }, + + _createFontSizeSelect : function() { + var t = this, ed = t.editor, c, i = 0, cl = []; + + c = ed.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', onselect : function(v) { + var cur = c.items[c.selectedIndex]; + + if (!v && cur) { + cur = cur.value; + + if (cur['class']) { + ed.formatter.toggle('fontsize_class', {value : cur['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else { + ed.execCommand('FontSize', false, cur.fontSize); + } + + return; + } + + if (v['class']) { + ed.focus(); + ed.undoManager.add(); + ed.formatter.toggle('fontsize_class', {value : v['class']}); + ed.undoManager.add(); + ed.nodeChanged(); + } else + ed.execCommand('FontSize', false, v.fontSize); + + // Fake selection, execCommand will fire a nodeChange and update the selection + c.select(function(sv) { + return v == sv; + }); + + return false; // No auto select + }}); + + if (c) { + each(t.settings.theme_advanced_font_sizes, function(v, k) { + var fz = v.fontSize; + + if (fz >= 1 && fz <= 7) + fz = t.sizes[parseInt(fz) - 1] + 'pt'; + + c.add(k, v, {'style' : 'font-size:' + fz, 'class' : 'mceFontSize' + (i++) + (' ' + (v['class'] || ''))}); + }); + } + + return c; + }, + + _createBlockFormats : function() { + var c, fmts = { + p : 'advanced.paragraph', + address : 'advanced.address', + pre : 'advanced.pre', + h1 : 'advanced.h1', + h2 : 'advanced.h2', + h3 : 'advanced.h3', + h4 : 'advanced.h4', + h5 : 'advanced.h5', + h6 : 'advanced.h6', + div : 'advanced.div', + blockquote : 'advanced.blockquote', + code : 'advanced.code', + dt : 'advanced.dt', + dd : 'advanced.dd', + samp : 'advanced.samp' + }, t = this; + + c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', cmd : 'FormatBlock'}); + if (c) { + each(t.editor.getParam('theme_advanced_blockformats', t.settings.theme_advanced_blockformats, 'hash'), function(v, k) { + c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v}); + }); + } + + return c; + }, + + _createForeColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_text_colors) + o.colors = v; + + if (s.theme_advanced_default_foreground_color) + o.default_color = s.theme_advanced_default_foreground_color; + + o.title = 'advanced.forecolor_desc'; + o.cmd = 'ForeColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('forecolor', o); + + return c; + }, + + _createBackColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_background_colors) + o.colors = v; + + if (s.theme_advanced_default_background_color) + o.default_color = s.theme_advanced_default_background_color; + + o.title = 'advanced.backcolor_desc'; + o.cmd = 'HiliteColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('backcolor', o); + + return c; + }, + + renderUI : function(o) { + var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl; + + n = p = DOM.create('span', {id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '')}); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0}); + n = tb = DOM.add(n, 'tbody'); + + switch ((s.theme_advanced_layout_manager || '').toLowerCase()) { + case "rowlayout": + ic = t._rowLayout(s, tb, o); + break; + + case "customlayout": + ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p); + break; + + default: + ic = t._simpleLayout(s, tb, o, p); + } + + n = o.targetNode; + + // Add classes to first and last TRs + nl = DOM.stdMode ? sc.getElementsByTagName('tr') : sc.rows; // Quick fix for IE 8 + DOM.addClass(nl[0], 'mceFirst'); + DOM.addClass(nl[nl.length - 1], 'mceLast'); + + // Add classes to first and last TDs + each(DOM.select('tr', tb), function(n) { + DOM.addClass(n.firstChild, 'mceFirst'); + DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast'); + }); + + if (DOM.get(s.theme_advanced_toolbar_container)) + DOM.get(s.theme_advanced_toolbar_container).appendChild(p); + else + DOM.insertAfter(p, n); + + Event.add(ed.id + '_path_row', 'click', function(e) { + e = e.target; + + if (e.nodeName == 'A') { + t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1')); + + return Event.cancel(e); + } + }); +/* + if (DOM.get(ed.id + '_path_row')) { + Event.add(ed.id + '_tbl', 'mouseover', function(e) { + var re; + + e = e.target; + + if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) { + re = DOM.get(ed.id + '_path_row'); + t.lastPath = re.innerHTML; + DOM.setHTML(re, e.parentNode.title); + } + }); + + Event.add(ed.id + '_tbl', 'mouseout', function(e) { + if (t.lastPath) { + DOM.setHTML(ed.id + '_path_row', t.lastPath); + t.lastPath = 0; + } + }); + } +*/ + + if (!ed.getParam('accessibility_focus')) + Event.add(DOM.add(p, 'a', {href : '#'}, ''), 'focus', function() {tinyMCE.get(ed.id).focus();}); + + if (s.theme_advanced_toolbar_location == 'external') + o.deltaHeight = 0; + + t.deltaHeight = o.deltaHeight; + o.targetNode = null; + + return { + iframeContainer : ic, + editorContainer : ed.id + '_parent', + sizeContainer : sc, + deltaHeight : o.deltaHeight + }; + }, + + getInfo : function() { + return { + longname : 'Advanced theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + }, + + resizeBy : function(dw, dh) { + var e = DOM.get(this.editor.id + '_tbl'); + + this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); + }, + + resizeTo : function(w, h, store) { + var ed = this.editor, s = this.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr'); + + // Boundery fix box + w = Math.max(s.theme_advanced_resizing_min_width || 100, w); + h = Math.max(s.theme_advanced_resizing_min_height || 100, h); + w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w); + h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h); + + // Resize iframe and container + DOM.setStyle(e, 'height', ''); + DOM.setStyle(ifr, 'height', h); + + if (s.theme_advanced_resize_horizontal) { + DOM.setStyle(e, 'width', ''); + DOM.setStyle(ifr, 'width', w); + + // Make sure that the size is never smaller than the over all ui + if (w < e.clientWidth) { + w = e.clientWidth; + DOM.setStyle(ifr, 'width', e.clientWidth); + } + } + + // Store away the size + if (store && s.theme_advanced_resizing_use_cookie) { + Cookie.setHash("TinyMCE_" + ed.id + "_size", { + cw : w, + ch : h + }); + } + }, + + destroy : function() { + var id = this.editor.id; + + Event.clear(id + '_resize'); + Event.clear(id + '_path_row'); + Event.clear(id + '_external_close'); + }, + + // Internal functions + + _simpleLayout : function(s, tb, o, p) { + var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c; + + if (s.readonly) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + return ic; + } + + // Create toolbar container at top + if (lo == 'top') + t._addToolbars(tb, o); + + // Create external toolbar + if (lo == 'external') { + n = c = DOM.create('div', {style : 'position:relative'}); + n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'}); + DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'}); + n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0}); + etb = DOM.add(n, 'tbody'); + + if (p.firstChild.className == 'mceOldBoxModel') + p.firstChild.appendChild(c); + else + p.insertBefore(c, p.firstChild); + + t._addToolbars(etb, o); + + ed.onMouseUp.add(function() { + var e = DOM.get(ed.id + '_external'); + DOM.show(e); + + DOM.hide(lastExtID); + + var f = Event.add(ed.id + '_external_close', 'click', function() { + DOM.hide(ed.id + '_external'); + Event.remove(ed.id + '_external_close', 'click', f); + }); + + DOM.show(e); + DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1); + + // Fixes IE rendering bug + DOM.hide(e); + DOM.show(e); + e.style.filter = ''; + + lastExtID = ed.id + '_external'; + + e = null; + }); + } + + if (sl == 'top') + t._addStatusBar(tb, o); + + // Create iframe container + if (!s.theme_advanced_toolbar_container) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + } + + // Create toolbar container at bottom + if (lo == 'bottom') + t._addToolbars(tb, o); + + if (sl == 'bottom') + t._addStatusBar(tb, o); + + return ic; + }, + + _rowLayout : function(s, tb, o) { + var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a; + + dc = s.theme_advanced_containers_default_class || ''; + da = s.theme_advanced_containers_default_align || 'center'; + + each(explode(s.theme_advanced_containers || ''), function(c, i) { + var v = s['theme_advanced_container_' + c] || ''; + + switch (v.toLowerCase()) { + case 'mceeditor': + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + break; + + case 'mceelementpath': + t._addStatusBar(tb, o); + break; + + default: + a = (s['theme_advanced_container_' + c + '_align'] || da).toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(tb, 'tr'), 'td', { + 'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da + }); + + to = cf.createToolbar("toolbar" + i); + t._addControls(v, to); + DOM.setHTML(n, to.renderHTML()); + o.deltaHeight -= s.theme_advanced_row_height; + } + }); + + return ic; + }, + + _addControls : function(v, tb) { + var t = this, s = t.settings, di, cf = t.editor.controlManager; + + if (s.theme_advanced_disable && !t._disabled) { + di = {}; + + each(explode(s.theme_advanced_disable), function(v) { + di[v] = 1; + }); + + t._disabled = di; + } else + di = t._disabled; + + each(explode(v), function(n) { + var c; + + if (di && di[n]) + return; + + // Compatiblity with 2.x + if (n == 'tablecontrols') { + each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) { + n = t.createControl(n, cf); + + if (n) + tb.add(n); + }); + + return; + } + + c = t.createControl(n, cf); + + if (c) + tb.add(c); + }); + }, + + _addToolbars : function(c, o) { + var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a; + + a = s.theme_advanced_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr'), 'td', {'class' : 'mceToolbar ' + a}); + + if (!ed.getParam('accessibility_focus')) + h.push(DOM.createHTML('a', {href : '#', onfocus : 'tinyMCE.get(\'' + ed.id + '\').focus();'}, '')); + + h.push(DOM.createHTML('a', {href : '#', accesskey : 'q', title : ed.getLang("advanced.toolbar_focus")}, '')); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_advanced_buttons' + i]); i++) { + tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i}); + + if (s['theme_advanced_buttons' + i + '_add']) + v += ',' + s['theme_advanced_buttons' + i + '_add']; + + if (s['theme_advanced_buttons' + i + '_add_before']) + v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v; + + t._addControls(v, tb); + + //n.appendChild(n = tb.render()); + h.push(tb.renderHTML()); + + o.deltaHeight -= s.theme_advanced_row_height; + } + + h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '')); + DOM.setHTML(n, h.join('')); + }, + + _addStatusBar : function(tb, o) { + var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td; + + n = DOM.add(tb, 'tr'); + n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); + n = DOM.add(n, 'div', {id : ed.id + '_path_row'}, s.theme_advanced_path ? ed.translate('advanced.path') + ': ' : ' '); + DOM.add(n, 'a', {href : '#', accesskey : 'x'}); + + if (s.theme_advanced_resizing) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize'}); + + if (s.theme_advanced_resizing_use_cookie) { + ed.onPostRender.add(function() { + var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl'); + + if (!o) + return; + + t.resizeTo(o.cw, o.ch); + }); + } + + ed.onPostRender.add(function() { + Event.add(ed.id + '_resize', 'click', function(e) { + e.preventDefault(); + }); + + Event.add(ed.id + '_resize', 'mousedown', function(e) { + var mouseMoveHandler1, mouseMoveHandler2, + mouseUpHandler1, mouseUpHandler2, + startX, startY, startWidth, startHeight, width, height, ifrElm; + + function resizeOnMove(e) { + e.preventDefault(); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + + t.resizeTo(width, height); + }; + + function endResize(e) { + // Stop listening + Event.remove(DOM.doc, 'mousemove', mouseMoveHandler1); + Event.remove(ed.getDoc(), 'mousemove', mouseMoveHandler2); + Event.remove(DOM.doc, 'mouseup', mouseUpHandler1); + Event.remove(ed.getDoc(), 'mouseup', mouseUpHandler2); + + width = startWidth + (e.screenX - startX); + height = startHeight + (e.screenY - startY); + t.resizeTo(width, height, true); + }; + + e.preventDefault(); + + // Get the current rect size + startX = e.screenX; + startY = e.screenY; + ifrElm = DOM.get(t.editor.id + '_ifr'); + startWidth = width = ifrElm.clientWidth; + startHeight = height = ifrElm.clientHeight; + + // Register envent handlers + mouseMoveHandler1 = Event.add(DOM.doc, 'mousemove', resizeOnMove); + mouseMoveHandler2 = Event.add(ed.getDoc(), 'mousemove', resizeOnMove); + mouseUpHandler1 = Event.add(DOM.doc, 'mouseup', endResize); + mouseUpHandler2 = Event.add(ed.getDoc(), 'mouseup', endResize); + }); + }); + } + + o.deltaHeight -= 21; + n = tb = null; + }, + + _nodeChanged : function(ed, cm, n, co, ob) { + var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, formatNames, matches; + + tinymce.each(t.stateControls, function(c) { + cm.setActive(c, ed.queryCommandState(t.controls[c][1])); + }); + + function getParent(name) { + var i, parents = ob.parents, func = name; + + if (typeof(name) == 'string') { + func = function(node) { + return node.nodeName == name; + }; + } + + for (i = 0; i < parents.length; i++) { + if (func(parents[i])) + return parents[i]; + } + }; + + cm.setActive('visualaid', ed.hasVisual); + cm.setDisabled('undo', !ed.undoManager.hasUndo() && !ed.typing); + cm.setDisabled('redo', !ed.undoManager.hasRedo()); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = getParent('A'); + if (c = cm.get('link')) { + if (!p || !p.name) { + c.setDisabled(!p && co); + c.setActive(!!p); + } + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name); + } + + if (c = cm.get('anchor')) { + c.setActive(!!p && p.name); + } + + p = getParent('IMG'); + if (c = cm.get('image')) + c.setActive(!!p && n.className.indexOf('mceItem') == -1); + + if (c = cm.get('styleselect')) { + t._importClasses(); + + formatNames = []; + each(c.items, function(item) { + formatNames.push(item.value); + }); + + matches = ed.formatter.matchAll(formatNames); + c.select(matches[0]); + } + + if (c = cm.get('formatselect')) { + p = getParent(DOM.isBlock); + + if (p) + c.select(p.nodeName.toLowerCase()); + } + + // Find out current fontSize, fontFamily and fontClass + getParent(function(n) { + if (n.nodeName === 'SPAN') { + if (!cl && n.className) + cl = n.className; + + if (!fz && n.style.fontSize) + fz = n.style.fontSize; + + if (!fn && n.style.fontFamily) + fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase(); + } + + return false; + }); + + if (c = cm.get('fontselect')) { + c.select(function(v) { + return v.replace(/^([^,]+).*/, '$1').toLowerCase() == fn; + }); + } + + // Select font size + if (c = cm.get('fontsizeselect')) { + // Use computed style + if (s.theme_advanced_runtime_fontsize && !fz && !cl) + fz = ed.dom.getStyle(n, 'fontSize', true); + + c.select(function(v) { + if (v.fontSize && v.fontSize === fz) + return true; + + if (v['class'] && v['class'] === cl) + return true; + }); + } + + if (s.theme_advanced_path && s.theme_advanced_statusbar_location) { + p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'}); + DOM.setHTML(p, ''); + + getParent(function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + /*if (n.getAttribute('_mce_bogus')) + return; +*/ + // Ignore non element and hidden elements + if (n.nodeType != 1 || n.nodeName === 'BR' || (DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved'))) + return; + + // Fake name + if (v = DOM.getAttrib(n, 'mce_name')) + na = v; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML') + na = n.scopeName + ':' + na; + + // Remove internal prefix + na = na.replace(/mce\:/g, ''); + + // Handle node name + switch (na) { + case 'b': + na = 'strong'; + break; + + case 'i': + na = 'em'; + break; + + case 'img': + if (v = DOM.getAttrib(n, 'src')) + ti += 'src: ' + v + ' '; + + break; + + case 'a': + if (v = DOM.getAttrib(n, 'name')) { + ti += 'name: ' + v + ' '; + na += '#' + v; + } + + if (v = DOM.getAttrib(n, 'href')) + ti += 'href: ' + v + ' '; + + break; + + case 'font': + if (v = DOM.getAttrib(n, 'face')) + ti += 'font: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'size')) + ti += 'size: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'color')) + ti += 'color: ' + v + ' '; + + break; + + case 'span': + if (v = DOM.getAttrib(n, 'style')) + ti += 'style: ' + v + ' '; + + break; + } + + if (v = DOM.getAttrib(n, 'id')) + ti += 'id: ' + v + ' '; + + if (v = n.className) { + v = v.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, '') + + if (v) { + ti += 'class: ' + v + ' '; + + if (DOM.isBlock(n) || na == 'img' || na == 'span') + na += '.' + v; + } + } + + na = na.replace(/(html:)/g, ''); + na = {name : na, node : n, title : ti}; + t.onResolveName.dispatch(t, na); + ti = na.title; + na = na.name; + + //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');"; + pi = DOM.create('a', {'href' : "javascript:;", onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(DOM.doc.createTextNode(' \u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + } + }, + + // Commands gets called by execCommand + + _sel : function(v) { + this.editor.execCommand('mceSelectNodeDepth', false, v); + }, + + _mceInsertAnchor : function(ui, v) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/anchor.htm', + width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)), + height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceCharMap : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/charmap.htm', + width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceHelp : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/about.htm', + width : 480, + height : 380, + inline : true + }, { + theme_url : this.url + }); + }, + + _mceColorPicker : function(u, v) { + var ed = this.editor; + + v = v || {}; + + ed.windowManager.open({ + url : this.url + '/color_picker.htm', + width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)), + close_previous : false, + inline : true + }, { + input_color : v.color, + func : v.func, + theme_url : this.url + }); + }, + + _mceCodeEditor : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/source_editor.htm', + width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)), + height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)), + inline : true, + resizable : true, + maximizable : true + }, { + theme_url : this.url + }); + }, + + _mceImage : function(ui, val) { + var ed = this.editor; + + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + url : this.url + '/image.htm', + width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)), + height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceLink : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : this.url + '/link.htm', + width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)), + height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceNewDocument : function() { + var ed = this.editor; + + ed.windowManager.confirm('advanced.newdocument', function(s) { + if (s) + ed.execCommand('mceSetContent', false, ''); + }); + }, + + _mceForeColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.fgColor, + func : function(co) { + t.fgColor = co; + t.editor.execCommand('ForeColor', false, co); + } + }); + }, + + _mceBackColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.bgColor, + func : function(co) { + t.bgColor = co; + t.editor.execCommand('HiliteColor', false, co); + } + }); + }, + + _ufirst : function(s) { + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + }); + + tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme); +}(tinymce)); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/image.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/image.htm new file mode 100755 index 00000000..f30d6706 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/image.htm @@ -0,0 +1,80 @@ + + + + {#advanced_dlg.image_title} + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ x +
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/colorpicker.jpg b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/colorpicker.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b4c542d107b25f68a9d4f9d7a109d0565d1f1437 GIT binary patch literal 3189 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 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/icons.gif1 b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/icons.gif1 new file mode 100755 index 0000000000000000000000000000000000000000..e46de5333082869b9bdab2576a554a2f9d01a966 GIT binary patch literal 11794 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 F{{gR&nqvR} literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/icons.png b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/img/icons.png new file mode 100755 index 0000000000000000000000000000000000000000..72229397bc71c61f05222bae72abd827ecfcd577 GIT binary patch literal 9622 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 literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/about.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/about.js new file mode 100755 index 00000000..5cee9ed8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/about.js @@ -0,0 +1,72 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + var ed, tcont; + + tinyMCEPopup.resizeToInnerSize(); + ed = tinyMCEPopup.editor; + + // Give FF some time + window.setTimeout(insertHelpIFrame, 10); + + tcont = document.getElementById('plugintablecontainer'); + document.getElementById('plugins_tab').style.display = 'none'; + + var html = ""; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + + tinymce.each(ed.plugins, function(p, n) { + var info; + + if (!p.getInfo) + return; + + html += ''; + + info = p.getInfo(); + + if (info.infourl != null && info.infourl != '') + html += ''; + else + html += ''; + + if (info.authorurl != null && info.authorurl != '') + html += ''; + else + html += ''; + + html += ''; + html += ''; + + document.getElementById('plugins_tab').style.display = ''; + + }); + + html += ''; + html += '
' + ed.getLang('advanced_dlg.about_plugin') + '' + ed.getLang('advanced_dlg.about_author') + '' + ed.getLang('advanced_dlg.about_version') + '
' + info.longname + '' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
'; + + tcont.innerHTML = html; + + tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; + tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate; +} + +function insertHelpIFrame() { + var html; + + if (tinyMCEPopup.getParam('docs_url')) { + html = ''; + document.getElementById('iframecontainer').innerHTML = html; + document.getElementById('help_tab').style.display = 'block'; + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/anchor.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/anchor.js new file mode 100755 index 00000000..7fe78105 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/anchor.js @@ -0,0 +1,37 @@ +tinyMCEPopup.requireLangPack(); + +var AnchorDialog = { + init : function(ed) { + var action, elm, f = document.forms[0]; + + this.editor = ed; + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + v = ed.dom.getAttrib(elm, 'name'); + + if (v) { + this.action = 'update'; + f.anchorName.value = v; + } + + f.insert.value = ed.getLang(elm ? 'update' : 'insert'); + }, + + update : function() { + var ed = this.editor, elm, name = document.forms[0].anchorName.value; + + tinyMCEPopup.restoreSelection(); + + if (this.action != 'update') + ed.selection.collapse(1); + + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + if (elm) + elm.name = name; + else + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : name, 'class' : 'mceItemAnchor'}, '')); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/charmap.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/charmap.js new file mode 100755 index 00000000..8c5aea17 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/charmap.js @@ -0,0 +1,335 @@ +/** + * charmap.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +tinyMCEPopup.requireLangPack(); + +var charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true,'lozenge'], + ['♠', '♠', false,'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +tinyMCEPopup.onInit.add(function() { + tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); +}); + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20, i; + var html = ''; + var cols=-1; + + for (i=0; i' + + '' + + charmap[i][1] + + ''; + if ((cols+1) % charsPerRow == 0) + html += ''; + } + } + + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i '; + } + + html += '
'; + + return html; +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/color_picker.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/color_picker.js new file mode 100755 index 00000000..fd9700f2 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/color_picker.js @@ -0,0 +1,253 @@ +tinyMCEPopup.requireLangPack(); + +var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false; + +var colors = [ + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +]; + +var named = { + '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown', + '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod', + '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen', + '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue', + '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue', + '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue', + '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen', + '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey', + '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue', + '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin', + '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid', + '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue', + '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen', + '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen' +}; + +function init() { + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')); + + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } +} + +function insertAction() { + var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func'); + + tinyMCEPopup.restoreSelection(); + + if (f) + f(color); + + tinyMCEPopup.close(); +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color.toLowerCase(); +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + if (!col) + return col; + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return {r : r, g : g, b : b}; + } + + return null; +} + +function generatePicker() { + var el = document.getElementById('light'), h = '', i; + + for (i = 0; i < detail; i++){ + h += '
'; + } + + el.innerHTML = h; +} + +function generateWebColors() { + var el = document.getElementById('webcolors'), h = '', i; + + if (el.className == 'generated') + return; + + h += '' + + ''; + + for (i=0; i' + + '' + + ''; + if ((i+1) % 18 == 0) + h += ''; + } + + h += '
'; + + el.innerHTML = h; + el.className = 'generated'; +} + +function generateNamedColors() { + var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; + + if (el.className == 'generated') + return; + + for (n in named) { + v = named[n]; + h += '' + } + + el.innerHTML = h; + el.className = 'generated'; +} + +function dechex(n) { + return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16); +} + +function computeColor(e) { + var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB; + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0); + + partWidth = document.getElementById('colors').width / 6; + partDetail = detail / 2; + imHeight = document.getElementById('colors').height; + + r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255; + g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth); + b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth); + + coef = (imHeight - y) / imHeight; + r = 128 + (r - 128) * coef; + g = 128 + (g - 128) * coef; + b = 128 + (b - 128) * coef; + + changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b)); + updateLight(r, g, b); +} + +function updateLight(r, g, b) { + var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color; + + for (i=0; i=0) && (i'); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '180px'; + + e = ed.selection.getNode(); + + this.fillFileList('image_list', 'tinyMCEImageList'); + + if (e.nodeName == 'IMG') { + f.src.value = ed.dom.getAttrib(e, 'src'); + f.alt.value = ed.dom.getAttrib(e, 'alt'); + f.border.value = this.getAttrib(e, 'border'); + f.vspace.value = this.getAttrib(e, 'vspace'); + f.hspace.value = this.getAttrib(e, 'hspace'); + f.width.value = ed.dom.getAttrib(e, 'width'); + f.height.value = ed.dom.getAttrib(e, 'height'); + f.insert.value = ed.getLang('update'); + this.styleVal = ed.dom.getAttrib(e, 'style'); + selectByValue(f, 'image_list', f.src.value); + selectByValue(f, 'align', this.getAttrib(e, 'align')); + this.updateStyle(); + } + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + update : function() { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (!ed.settings.inline_styles) { + args = tinymce.extend(args, { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }); + } else + args.style = this.styleVal; + + tinymce.extend(args, { + src : f.src.value, + alt : f.alt.value, + width : f.width.value, + height : f.height.value + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + st = tinyMCEPopup.dom.parseStyle(this.styleVal); + + // Handle align + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') { + st['float'] = v; + delete st['vertical-align']; + } else { + st['vertical-align'] = v; + delete st['float']; + } + } else { + delete st['float']; + delete st['vertical-align']; + } + + // Handle border + v = f.border.value; + if (v || v == '0') { + if (v == '0') + st['border'] = '0'; + else + st['border'] = v + 'px solid black'; + } else + delete st['border']; + + // Handle hspace + v = f.hspace.value; + if (v) { + delete st['margin']; + st['margin-left'] = v + 'px'; + st['margin-right'] = v + 'px'; + } else { + delete st['margin-left']; + delete st['margin-right']; + } + + // Handle vspace + v = f.vspace.value; + if (v) { + delete st['margin']; + st['margin-top'] = v + 'px'; + st['margin-bottom'] = v + 'px'; + } else { + delete st['margin-top']; + delete st['margin-bottom']; + } + + // Merge + st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img'); + this.styleVal = dom.serializeStyle(st, 'img'); + } + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.width.value = f.height.value = ""; + }, + + updateImageData : function() { + var f = document.forms[0], t = ImageDialog; + + if (f.width.value == "") + f.width.value = t.preloadImg.width; + + if (f.height.value == "") + f.height.value = t.preloadImg.height; + }, + + getImageData : function() { + var f = document.forms[0]; + + this.preloadImg = new Image(); + this.preloadImg.onload = this.updateImageData; + this.preloadImg.onerror = this.resetImageData; + this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/link.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/link.js new file mode 100755 index 00000000..f67a5bc8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/link.js @@ -0,0 +1,156 @@ +tinyMCEPopup.requireLangPack(); + +var LinkDialog = { + preInit : function() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link'); + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + this.fillClassList('class_list'); + this.fillFileList('link_list', 'tinyMCELinkList'); + this.fillTargetList('target_list'); + + if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) { + f.href.value = ed.dom.getAttrib(e, 'href'); + f.linktitle.value = ed.dom.getAttrib(e, 'title'); + f.insert.value = ed.getLang('update'); + selectByValue(f, 'link_list', f.href.value); + selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target')); + selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class')); + } + }, + + update : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor, e, b; + + tinyMCEPopup.restoreSelection(); + e = ed.dom.getParent(ed.selection.getNode(), 'A'); + + // Remove element if there is no href + if (!f.href.value) { + if (e) { + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + b = ed.selection.getBookmark(); + ed.dom.remove(e, 1); + ed.selection.moveToBookmark(b); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + } + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + // Create new anchor elements + if (e == null) { + ed.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); + + tinymce.each(ed.dom.select("a"), function(n) { + if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') { + e = n; + + ed.dom.setAttribs(e, { + href : f.href.value, + title : f.linktitle.value, + target : f.target_list ? getSelectValue(f, "target_list") : null, + 'class' : f.class_list ? getSelectValue(f, "class_list") : null + }); + } + }); + } else { + ed.dom.setAttribs(e, { + href : f.href.value, + title : f.linktitle.value, + target : f.target_list ? getSelectValue(f, "target_list") : null, + 'class' : f.class_list ? getSelectValue(f, "class_list") : null + }); + } + + // Don't move caret if selection was image + if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') { + ed.focus(); + ed.selection.select(e); + ed.selection.collapse(0); + tinyMCEPopup.storeSelection(); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + }, + + checkPrefix : function(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external'))) + n.value = 'http://' + n.value; + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillTargetList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v; + + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self'); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank'); + + if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) { + tinymce.each(v.split(','), function(v) { + v = v.split('='); + lst.options[lst.options.length] = new Option(v[0], v[1]); + }); + } + } +}; + +LinkDialog.preInit(); +tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog); diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/source_editor.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/source_editor.js new file mode 100755 index 00000000..aca38bd8 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/js/source_editor.js @@ -0,0 +1,56 @@ +tinyMCEPopup.requireLangPack(); +tinyMCEPopup.onInit.add(onLoadInit); + +function saveContent() { + tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true}); + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + // Remove Gecko spellchecking + if (tinymce.isGecko) + document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); + + document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true}); + + if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) { + setWrap('soft'); + document.getElementById('wraped').checked = true; + } + + resizeInputs(); +} + +function setWrap(val) { + var v, n, s = document.getElementById('htmlSource'); + + s.wrap = val; + + if (!tinymce.isIE) { + v = s.value; + n = s.cloneNode(false); + n.setAttribute("wrap", val); + s.parentNode.replaceChild(n, s); + n.value = v; + } +} + +function toggleWordWrap(elm) { + if (elm.checked) + setWrap('soft'); + else + setWrap('off'); +} + +function resizeInputs() { + var vp = tinyMCEPopup.dom.getViewPort(window), el; + + el = document.getElementById('htmlSource'); + + if (el) { + el.style.width = (vp.w - 20) + 'px'; + el.style.height = (vp.h - 65) + 'px'; + } +} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en.js new file mode 100755 index 00000000..69694b1f --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('en.advanced',{ +style_select:"Styles", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +justifyleft_desc:"Align left", +justifycenter_desc:"Align center", +justifyright_desc:"Align right", +justifyfull_desc:"Align full", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +outdent_desc:"Outdent", +indent_desc:"Indent", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +link_desc:"Insert/edit link", +unlink_desc:"Unlink", +image_desc:"Insert/edit image", +cleanup_desc:"Cleanup messy code", +code_desc:"Edit HTML Source", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Insert horizontal ruler", +removeformat_desc:"Remove formatting", +custom1_desc:"Your custom description here", +forecolor_desc:"Select text color", +backcolor_desc:"Select background color", +charmap_desc:"Insert custom character", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"Insert/edit anchor", +cut_desc:"Cut", +copy_desc:"Copy", +paste_desc:"Paste", +image_props_desc:"Image properties", +newdocument_desc:"New document", +help_desc:"Help", +blockquote_desc:"Blockquote", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", +path:"Path", +newdocument:"Are you sure you want clear all contents?", +toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", +more_colors:"More colors" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en_dlg.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en_dlg.js new file mode 100755 index 00000000..9d124d7d --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/langs/en_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('en.advanced_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Insert/edit anchor", +anchor_name:"Anchor name", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Select a color", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"Color:", +colorpicker_name:"Name:", +charmap_title:"Select custom character", +image_title:"Insert/edit image", +image_src:"Image URL", +image_alt:"Image description", +image_list:"Image list", +image_border:"Border", +image_dimensions:"Dimensions", +image_vspace:"Vertical space", +image_hspace:"Horizontal space", +image_align:"Alignment", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"Insert/edit link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"Title", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"Link list" +}); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/link.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/link.htm new file mode 100755 index 00000000..7565b9ae --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/link.htm @@ -0,0 +1,58 @@ + + + + {#advanced_dlg.link_title} + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+
+ +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/content.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/content.css new file mode 100755 index 00000000..9fba0431 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/content.css @@ -0,0 +1,36 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} +ins {border-bottom:1px solid green; text-decoration: none; color:green} +del {color:red; text-decoration:line-through} +cite {border-bottom:1px dashed blue} +acronym {border-bottom:1px dotted #CCC; cursor:help} +abbr {border-bottom:1px dashed #CCC; cursor:help} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/dialog.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/dialog.css new file mode 100755 index 00000000..e95adf82 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/dialog.css @@ -0,0 +1,117 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} +.nowrap {white-space: nowrap} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#insert {background:url(img/buttons.png) 0 -52px} +#cancel {background:url(img/buttons.png) 0 0; float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.png) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.png) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/buttons.png b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/buttons.png new file mode 100755 index 0000000000000000000000000000000000000000..7dd58418ba7cfe58ae7efdf174e0b223fe3aa6a0 GIT binary patch literal 3274 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 SLTQbO*E^TJI;F+RU=09Vu@yA{ literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/menu_check.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/default/img/menu_check.gif new file mode 100755 index 0000000000000000000000000000000000000000..adfdddccd7cac62a17d68873fa53c248bff8351a GIT binary patch literal 70 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 R!Sp}^Mt9BhYjvGt{|88cricIl literal 0 HcmV?d00001 diff --git a/resources/library/interactive/barre_prof.wgt/images/stick-but-aminus.png b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg_black.png old mode 100644 new mode 100755 similarity index 70% rename from resources/library/interactive/barre_prof.wgt/images/stick-but-aminus.png rename to resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg_black.png index a251317abee9ef501c11af1f14d4120a76997771..8996c7493e8a58c9c40845cbe8abdc3e6730716d GIT binary patch delta 1037 zcmV+o1oHdn7ML9&iBL{Q4GJ0x0000DNk~Le000130000&2nGNE0MpnJ$+01G3JnBj zK}|sb0I`mI`%#mVkqRz<1G7m)K~#9!>|4)k6G0Sy8}?q0O0fs81t~O8g;FBMvtGT3 zSW3`>_@{_aHHU!hvE(8Yie|;MglbW-h(!-pXfgDrSnChWX2(N{O(v6MW_P|#HoOOW znDot?_r894GqWFYUcG%U2w;` zttM5CFb1QThs@VBw(PH(?*<|!fGw?q%-1xw?5~>diXeyuU|Z`T^EHhv`>W3u`&*#FuMQ)tDj@gnL?+ zxAm_gB0;6{hE)7Um$l7e>&Ne1W6JjfLOsnUkHcDX{8g_)L`17zrR&;ZV(Y}$snNA{ zh3$QHu0!IiJXwRq?iF9_s_e%Eu&s5F`I^R-{Z;c5&)|N4=BUSDKPCoSS_hf0X>8eF zHJ=#_XE66*?!nxH753}*pO*2#kDmkIgRft`V&pH^q^c3d;N6{%UB_X}^SlvMzWGPX zkQ&`d3u2$jN-N9K;vXW%%x1ISPi$>N^39Ev%_ohu4o{DsYzH{~bpeuau~>8vanqmX z^&BTc0CsMF*3AE9p=GF4m5GRG>Y7~?HkWX_<(bR9eLg=9`L3sCeUoee9Qc$N3u?gF z(Qr_{4~8e5D1f8IR%&uKz8diY4E(l5#6hVlGlSz`F!x|^59StOr$q>E5!e>dnZbVI z80=hp(9WP|HzP9m7zgK6``tk7FZE!sQdK6xs>z^#Z?gnuWN;-M#QvfL?xIGWod6De zyAPVdM~^7YHOeZ@*;!wzLsT1AVNoq;)u~jK6Sv8U*6XNvdZX<#o12{Y@=zO}&R1nV zMOZmS_?_QHB$vU1bc$dGqZ#ZE1HecI<6c)XgKgm8*O|e6V({*_=Dj z3?$co93ZCWc_TZAw{Yw49Y)Ger7An9-zuB_R#?|izg0$=tF6+SS{PMV2RLmN{Qf|6 zv_=osQEE*rtg5SHItn;a)eZ$PAJZ6MTW8fi0h}OKh#E7P8O%MHTLiZVZV|)E;3HKz zgzDQ5OHtxXNA+a}TiN79wLs43?6K-Quq{GR)DuMD)*fu4`Z9xu_7ssM2JJA1f*Fhl7^&3Swj?RwMC9f*Ra#TaffCkL!E*xw@V@~7aD~?1tE{V+00000NkvXX Hu0mjfnbYx2 delta 217 zcmbOs`$9~yGr-TCmrII^fq{Y7)59eQNQ(in1P2?C{I`$Sd!u48*W@K!+Vu>RJzX3_ zDsCnH`TyUZS(ibWx%a?|gNxbt*_$Iba2gpIDHT^rN=RH;@MiOoXCY!rS40dA41PG> zRJ+2(Wx8Tv`ote0hC607Ha?VOWWfGQdt zCj~XvE?gIV?7)E!tS19By?FgvwcH})CrR)#GdqiHWHau&rm&bTnc)D#S8p+K!!`>> QplcaCUHx3vIVCg!06#`a^8f$< diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg_silver.png b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/img/button_bg_silver.png new file mode 100755 index 0000000000000000000000000000000000000000..bd5d2550c06d83c1141b78c5af7217e89559fc32 GIT binary patch literal 5358 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 M07*qoM6N<$f@g#ZbN~PV literal 0 HcmV?d00001 diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui.css new file mode 100755 index 00000000..80283167 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui.css @@ -0,0 +1,215 @@ +/* Reset */ +.o2k7Skin table, .o2k7Skin tbody, .o2k7Skin a, .o2k7Skin img, .o2k7Skin tr, .o2k7Skin div, .o2k7Skin td, .o2k7Skin iframe, .o2k7Skin span, .o2k7Skin *, .o2k7Skin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left} +.o2k7Skin a:hover, .o2k7Skin a:link, .o2k7Skin a:visited, .o2k7Skin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.o2k7Skin table td {vertical-align:middle} + +/* Containers */ +.o2k7Skin table {background:#E5EFFD} +.o2k7Skin iframe {display:block; background:#FFF} +.o2k7Skin .mceToolbar {height:26px} + +/* External */ +.o2k7Skin .mceExternalToolbar {position:absolute; border:1px solid #ABC6DD; border-bottom:0; display:none} +.o2k7Skin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.o2k7Skin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.png) -820px 0} + +/* Layout */ +.o2k7Skin table.mceLayout {border:0; border-left:1px solid #ABC6DD; border-right:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceFirst td {border-top:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceLast td {border-bottom:1px solid #ABC6DD} +.o2k7Skin table.mceToolbar, .o2k7Skin tr.mceFirst .mceToolbar tr td, .o2k7Skin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0} +.o2k7Skin .mceIframeContainer {border-top:1px solid #ABC6DD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceStatusbar {display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px} +.o2k7Skin .mceStatusbar div {float:left; padding:2px} +.o2k7Skin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.png) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} +.o2k7Skin .mceStatusbar a:hover {text-decoration:underline} +.o2k7Skin table.mceToolbar {margin-left:3px} +.o2k7Skin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; margin-left:3px;} +.o2k7Skin .mceToolbar td.mceFirst span {margin:0} +.o2k7Skin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7Skin .mceToolbar .mceToolbarEndListBox span, .o2k7Skin .mceToolbar .mceToolbarStartListBox span {display:none} +.o2k7Skin span.mceIcon, .o2k7Skin img.mceIcon {display:block; width:20px; height:20px} +.o2k7Skin .mceIcon {background:url(../../img/icons.png) no-repeat 20px 20px} +.o2k7Skin td.mceCenter {text-align:center;} +.o2k7Skin td.mceCenter table {margin:0 auto; text-align:left;} +.o2k7Skin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.o2k7Skin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7Skin a.mceButton span, .o2k7Skin a.mceButton img {margin-left:1px} +.o2k7Skin .mceOldBoxModel a.mceButton span, .o2k7Skin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} +.o2k7Skin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7Skin a.mceButtonActive, .o2k7Skin a.mceButtonSelected {background-position:0 -44px} +.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.o2k7Skin .mceButtonLabeled {width:auto} +.o2k7Skin .mceButtonLabeled span.mceIcon {float:left} +.o2k7Skin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} +.o2k7Skin .mceButtonDisabled .mceButtonLabel {color:#888} + +/* Separator */ +.o2k7Skin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* ListBox */ +.o2k7Skin .mceListBox {margin-left:3px} +.o2k7Skin .mceListBox, .o2k7Skin .mceListBox a {display:block} +.o2k7Skin .mceListBox .mceText {padding-left:4px; text-align:left; width:70px; border:1px solid #b3c7e1; border-right:0; background:#eaf2fb; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.o2k7Skin .mceListBox .mceOpen {width:14px; height:22px; background:url(img/button_bg.png) -66px 0} +.o2k7Skin table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF} +.o2k7Skin table.mceListBoxEnabled:hover .mceOpen, .o2k7Skin .mceListBoxHover .mceOpen, .o2k7Skin .mceListBoxSelected .mceOpen {background-position:-66px -22px} +.o2k7Skin .mceListBoxDisabled .mceText {color:gray} +.o2k7Skin .mceListBoxMenu {overflow:auto; overflow-x:hidden} +.o2k7Skin .mceOldBoxModel .mceListBox .mceText {height:22px} +.o2k7Skin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px; border:1px solid #b3c7e1; background:#FFF;} + +/* SplitButton */ +.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px} +.o2k7Skin .mceSplitButton {background:url(img/button_bg.png)} +.o2k7Skin .mceSplitButton a.mceAction {width:22px} +.o2k7Skin .mceSplitButton span.mceAction {width:22px; background-image:url(../../img/icons.png)} +.o2k7Skin .mceSplitButton a.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0} +.o2k7Skin .mceSplitButton span.mceOpen {display:none} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background:url(img/button_bg.png) 0 -22px} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceOpen, .o2k7Skin .mceSplitButtonHover a.mceOpen, .o2k7Skin .mceSplitButtonSelected a.mceOpen {background-position:-44px -44px} +.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.o2k7Skin .mceSplitButtonActive {background-position:0 -44px} + +/* ColorSplitButton */ +.o2k7Skin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.o2k7Skin .mceColorSplitMenu td {padding:2px} +.o2k7Skin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.o2k7Skin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.o2k7Skin a.mceMoreColors:hover {border:1px solid #0A246A} +.o2k7Skin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a;overflow:hidden} +.o2k7Skin .mce_forecolor span.mceAction, .o2k7Skin .mce_backcolor span.mceAction {height:15px;overflow:hidden} + +/* Menu */ +.o2k7Skin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #ABC6DD} +.o2k7Skin .mceNoIcons span.mceIcon {width:0;} +.o2k7Skin .mceNoIcons a .mceText {padding-left:10px} +.o2k7Skin .mceMenu table {background:#FFF} +.o2k7Skin .mceMenu a, .o2k7Skin .mceMenu span, .o2k7Skin .mceMenu {display:block} +.o2k7Skin .mceMenu td {height:20px} +.o2k7Skin .mceMenu a {position:relative;padding:3px 0 4px 0} +.o2k7Skin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block} +.o2k7Skin .mceMenu span.mceText, .o2k7Skin .mceMenu .mcePreview {font-size:11px} +.o2k7Skin .mceMenu pre.mceText {font-family:Monospace} +.o2k7Skin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.o2k7Skin .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.o2k7Skin td.mceMenuItemSeparator {background:#DDD; height:1px} +.o2k7Skin .mceMenuItemTitle a {border:0; background:#E5EFFD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.o2k7Skin .mceMenuItemDisabled .mceText {color:#888} +.o2k7Skin .mceMenuItemSelected .mceIcon {background:url(../default/img/menu_check.gif)} +.o2k7Skin .mceNoIcons .mceMenuItemSelected a {background:url(../default/img/menu_arrow.gif) no-repeat -6px center} +.o2k7Skin .mceMenu span.mceMenuLine {display:none} +.o2k7Skin .mceMenuItemSub a {background:url(../default/img/menu_arrow.gif) no-repeat top right;} + +/* Progress,Resize */ +.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} +.o2k7Skin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Formats */ +.o2k7Skin .mce_formatPreview a {font-size:10px} +.o2k7Skin .mce_p span.mceText {} +.o2k7Skin .mce_address span.mceText {font-style:italic} +.o2k7Skin .mce_pre span.mceText {font-family:monospace} +.o2k7Skin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.o2k7Skin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.o2k7Skin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.o2k7Skin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.o2k7Skin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.o2k7Skin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.o2k7Skin span.mce_bold {background-position:0 0} +.o2k7Skin span.mce_italic {background-position:-60px 0} +.o2k7Skin span.mce_underline {background-position:-140px 0} +.o2k7Skin span.mce_strikethrough {background-position:-120px 0} +.o2k7Skin span.mce_undo {background-position:-160px 0} +.o2k7Skin span.mce_redo {background-position:-100px 0} +.o2k7Skin span.mce_cleanup {background-position:-40px 0} +.o2k7Skin span.mce_bullist {background-position:-20px 0} +.o2k7Skin span.mce_numlist {background-position:-80px 0} +.o2k7Skin span.mce_justifyleft {background-position:-460px 0} +.o2k7Skin span.mce_justifyright {background-position:-480px 0} +.o2k7Skin span.mce_justifycenter {background-position:-420px 0} +.o2k7Skin span.mce_justifyfull {background-position:-440px 0} +.o2k7Skin span.mce_anchor {background-position:-200px 0} +.o2k7Skin span.mce_indent {background-position:-400px 0} +.o2k7Skin span.mce_outdent {background-position:-540px 0} +.o2k7Skin span.mce_link {background-position:-500px 0} +.o2k7Skin span.mce_unlink {background-position:-640px 0} +.o2k7Skin span.mce_sub {background-position:-600px 0} +.o2k7Skin span.mce_sup {background-position:-620px 0} +.o2k7Skin span.mce_removeformat {background-position:-580px 0} +.o2k7Skin span.mce_newdocument {background-position:-520px 0} +.o2k7Skin span.mce_image {background-position:-380px 0} +.o2k7Skin span.mce_help {background-position:-340px 0} +.o2k7Skin span.mce_code {background-position:-260px 0} +.o2k7Skin span.mce_hr {background-position:-360px 0} +.o2k7Skin span.mce_visualaid {background-position:-660px 0} +.o2k7Skin span.mce_charmap {background-position:-240px 0} +.o2k7Skin span.mce_paste {background-position:-560px 0} +.o2k7Skin span.mce_copy {background-position:-700px 0} +.o2k7Skin span.mce_cut {background-position:-680px 0} +.o2k7Skin span.mce_blockquote {background-position:-220px 0} +.o2k7Skin .mce_forecolor span.mceAction {background-position:-720px 0} +.o2k7Skin .mce_backcolor span.mceAction {background-position:-760px 0} +.o2k7Skin span.mce_forecolorpicker {background-position:-720px 0} +.o2k7Skin span.mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.o2k7Skin span.mce_advhr {background-position:-0px -20px} +.o2k7Skin span.mce_ltr {background-position:-20px -20px} +.o2k7Skin span.mce_rtl {background-position:-40px -20px} +.o2k7Skin span.mce_emotions {background-position:-60px -20px} +.o2k7Skin span.mce_fullpage {background-position:-80px -20px} +.o2k7Skin span.mce_fullscreen {background-position:-100px -20px} +.o2k7Skin span.mce_iespell {background-position:-120px -20px} +.o2k7Skin span.mce_insertdate {background-position:-140px -20px} +.o2k7Skin span.mce_inserttime {background-position:-160px -20px} +.o2k7Skin span.mce_absolute {background-position:-180px -20px} +.o2k7Skin span.mce_backward {background-position:-200px -20px} +.o2k7Skin span.mce_forward {background-position:-220px -20px} +.o2k7Skin span.mce_insert_layer {background-position:-240px -20px} +.o2k7Skin span.mce_insertlayer {background-position:-260px -20px} +.o2k7Skin span.mce_movebackward {background-position:-280px -20px} +.o2k7Skin span.mce_moveforward {background-position:-300px -20px} +.o2k7Skin span.mce_media {background-position:-320px -20px} +.o2k7Skin span.mce_nonbreaking {background-position:-340px -20px} +.o2k7Skin span.mce_pastetext {background-position:-360px -20px} +.o2k7Skin span.mce_pasteword {background-position:-380px -20px} +.o2k7Skin span.mce_selectall {background-position:-400px -20px} +.o2k7Skin span.mce_preview {background-position:-420px -20px} +.o2k7Skin span.mce_print {background-position:-440px -20px} +.o2k7Skin span.mce_cancel {background-position:-460px -20px} +.o2k7Skin span.mce_save {background-position:-480px -20px} +.o2k7Skin span.mce_replace {background-position:-500px -20px} +.o2k7Skin span.mce_search {background-position:-520px -20px} +.o2k7Skin span.mce_styleprops {background-position:-560px -20px} +.o2k7Skin span.mce_table {background-position:-580px -20px} +.o2k7Skin span.mce_cell_props {background-position:-600px -20px} +.o2k7Skin span.mce_delete_table {background-position:-620px -20px} +.o2k7Skin span.mce_delete_col {background-position:-640px -20px} +.o2k7Skin span.mce_delete_row {background-position:-660px -20px} +.o2k7Skin span.mce_col_after {background-position:-680px -20px} +.o2k7Skin span.mce_col_before {background-position:-700px -20px} +.o2k7Skin span.mce_row_after {background-position:-720px -20px} +.o2k7Skin span.mce_row_before {background-position:-740px -20px} +.o2k7Skin span.mce_merge_cells {background-position:-760px -20px} +.o2k7Skin span.mce_table_props {background-position:-980px -20px} +.o2k7Skin span.mce_row_props {background-position:-780px -20px} +.o2k7Skin span.mce_split_cells {background-position:-800px -20px} +.o2k7Skin span.mce_template {background-position:-820px -20px} +.o2k7Skin span.mce_visualchars {background-position:-840px -20px} +.o2k7Skin span.mce_abbr {background-position:-860px -20px} +.o2k7Skin span.mce_acronym {background-position:-880px -20px} +.o2k7Skin span.mce_attribs {background-position:-900px -20px} +.o2k7Skin span.mce_cite {background-position:-920px -20px} +.o2k7Skin span.mce_del {background-position:-940px -20px} +.o2k7Skin span.mce_ins {background-position:-960px -20px} +.o2k7Skin span.mce_pagebreak {background-position:0 -40px} +.o2k7Skin span.mce_restoredraft {background-position:-20px -40px} +.o2k7Skin span.mce_spellchecker {background-position:-540px -20px} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_black.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_black.css new file mode 100755 index 00000000..153f0c38 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_black.css @@ -0,0 +1,8 @@ +/* Black */ +.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton a.mceOpen, .o2k7SkinBlack .mceListBox a.mceOpen {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack table, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} +.o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} +.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7SkinBlack .mceListBoxHover .mceText, .o2k7SkinBlack .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} +.o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} +.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7SkinBlack .mceSplitButtonHover a.mceAction, .o2k7SkinBlack .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7SkinBlack .mceMenu .mceMenuItemActive {background-color:#FFE7A1} \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_silver.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_silver.css new file mode 100755 index 00000000..7fe3b45e --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/skins/o2k7/ui_silver.css @@ -0,0 +1,5 @@ +/* Silver */ +.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton a.mceOpen, .o2k7SkinSilver .mceListBox a.mceOpen {background-image:url(img/button_bg_silver.png)} +.o2k7SkinSilver table, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} +.o2k7SkinSilver .mceListBox .mceText {background:#FFF} +.o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/source_editor.htm b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/source_editor.htm new file mode 100755 index 00000000..5957bbd1 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/advanced/source_editor.htm @@ -0,0 +1,25 @@ + + + {#advanced_dlg.code_title} + + + + +
+
{#advanced_dlg.code_title}
+ +
+ +
+ +
+ + + +
+ + +
+
+ + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template.js new file mode 100755 index 00000000..ed89abc0 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.ThemeManager.requireLangPack("simple");tinymce.create("tinymce.themes.SimpleTheme",{init:function(c,d){var e=this,b=["Bold","Italic","Underline","Strikethrough","InsertUnorderedList","InsertOrderedList"],f=c.settings;e.editor=c;c.onInit.add(function(){c.onNodeChange.add(function(h,g){tinymce.each(b,function(i){g.get(i.toLowerCase()).setActive(h.queryCommandState(i))})});c.dom.loadCSS(d+"/skins/"+f.skin+"/content.css")});a.loadCSS((f.editor_css?c.documentBaseURI.toAbsolute(f.editor_css):"")||d+"/skins/"+f.skin+"/ui.css")},renderUI:function(h){var e=this,i=h.targetNode,b,c,d=e.editor,f=d.controlManager,g;i=a.insertAfter(a.create("span",{id:d.id+"_container","class":"mceEditor "+d.settings.skin+"SimpleSkin"}),i);i=g=a.add(i,"table",{cellPadding:0,cellSpacing:0,"class":"mceLayout"});i=c=a.add(i,"tbody");i=a.add(c,"tr");i=b=a.add(a.add(i,"td"),"div",{"class":"mceIframeContainer"});i=a.add(a.add(c,"tr",{"class":"last"}),"td",{"class":"mceToolbar mceLast",align:"center"});c=e.toolbar=f.createToolbar("tools1");c.add(f.createButton("bold",{title:"simple.bold_desc",cmd:"Bold"}));c.add(f.createButton("italic",{title:"simple.italic_desc",cmd:"Italic"}));c.add(f.createButton("underline",{title:"simple.underline_desc",cmd:"Underline"}));c.add(f.createButton("strikethrough",{title:"simple.striketrough_desc",cmd:"Strikethrough"}));c.add(f.createSeparator());c.add(f.createButton("undo",{title:"simple.undo_desc",cmd:"Undo"}));c.add(f.createButton("redo",{title:"simple.redo_desc",cmd:"Redo"}));c.add(f.createSeparator());c.add(f.createButton("cleanup",{title:"simple.cleanup_desc",cmd:"mceCleanup"}));c.add(f.createSeparator());c.add(f.createButton("insertunorderedlist",{title:"simple.bullist_desc",cmd:"InsertUnorderedList"}));c.add(f.createButton("insertorderedlist",{title:"simple.numlist_desc",cmd:"InsertOrderedList"}));c.renderTo(i);return{iframeContainer:b,editorContainer:d.id+"_container",sizeContainer:g,deltaHeight:-20}},getInfo:function(){return{longname:"Simple theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add("simple",tinymce.themes.SimpleTheme)})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template_src.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template_src.js new file mode 100755 index 00000000..4b862d49 --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/editor_template_src.js @@ -0,0 +1,85 @@ +/** + * editor_template_src.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var DOM = tinymce.DOM; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('simple'); + + tinymce.create('tinymce.themes.SimpleTheme', { + init : function(ed, url) { + var t = this, states = ['Bold', 'Italic', 'Underline', 'Strikethrough', 'InsertUnorderedList', 'InsertOrderedList'], s = ed.settings; + + t.editor = ed; + + ed.onInit.add(function() { + ed.onNodeChange.add(function(ed, cm) { + tinymce.each(states, function(c) { + cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c)); + }); + }); + + ed.dom.loadCSS(url + "/skins/" + s.skin + "/content.css"); + }); + + DOM.loadCSS((s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : '') || url + "/skins/" + s.skin + "/ui.css"); + }, + + renderUI : function(o) { + var t = this, n = o.targetNode, ic, tb, ed = t.editor, cf = ed.controlManager, sc; + + n = DOM.insertAfter(DOM.create('span', {id : ed.id + '_container', 'class' : 'mceEditor ' + ed.settings.skin + 'SimpleSkin'}), n); + n = sc = DOM.add(n, 'table', {cellPadding : 0, cellSpacing : 0, 'class' : 'mceLayout'}); + n = tb = DOM.add(n, 'tbody'); + + // Create iframe container + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(DOM.add(n, 'td'), 'div', {'class' : 'mceIframeContainer'}); + + // Create toolbar container + n = DOM.add(DOM.add(tb, 'tr', {'class' : 'last'}), 'td', {'class' : 'mceToolbar mceLast', align : 'center'}); + + // Create toolbar + tb = t.toolbar = cf.createToolbar("tools1"); + tb.add(cf.createButton('bold', {title : 'simple.bold_desc', cmd : 'Bold'})); + tb.add(cf.createButton('italic', {title : 'simple.italic_desc', cmd : 'Italic'})); + tb.add(cf.createButton('underline', {title : 'simple.underline_desc', cmd : 'Underline'})); + tb.add(cf.createButton('strikethrough', {title : 'simple.striketrough_desc', cmd : 'Strikethrough'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('undo', {title : 'simple.undo_desc', cmd : 'Undo'})); + tb.add(cf.createButton('redo', {title : 'simple.redo_desc', cmd : 'Redo'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('cleanup', {title : 'simple.cleanup_desc', cmd : 'mceCleanup'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('insertunorderedlist', {title : 'simple.bullist_desc', cmd : 'InsertUnorderedList'})); + tb.add(cf.createButton('insertorderedlist', {title : 'simple.numlist_desc', cmd : 'InsertOrderedList'})); + tb.renderTo(n); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_container', + sizeContainer : sc, + deltaHeight : -20 + }; + }, + + getInfo : function() { + return { + longname : 'Simple theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + } + }); + + tinymce.ThemeManager.add('simple', tinymce.themes.SimpleTheme); +})(); \ No newline at end of file diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/img/icons.gif b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/img/icons.gif new file mode 100755 index 0000000000000000000000000000000000000000..16af141ff0eea376a889b1e8d28e9c1cacaaab16 GIT binary patch literal 1440 zcmV;R1z-9{Nk%w1VaNa!0QUd@Ib*`7v&H}b0P*i`B{WZ*I4YI8{iDPCZ*XyWj;?N! z&ooP8CcKTM%}ImAk&d@bUef&=iA% zhPA3sm56OYcjMRI^s}jof~E0n!SIozxs`y)bZpaM%~elOt(xIz_1F@`xREtxwxO@X zElsNLx;f_MIwnTOux@bk@5r<-;@s){f~fMSskU>S&vlpdmZGk)n^Ks084*pfMo5}`Y)@uBrt7q^ z_xb)XxI@^-XhLVQWPPfUtMQSg&Xb6UQhU2=S3pa1!Lhs1Kwz1)!P59aI6r5pthLM4 zE-ud4`aC>8zybolqcQ$sRq*)W>+kl^)!br%x2LJkVv+Dui1Oh7|6z>ag023Luhg%= z;=sbh)RP30t>V}2$H?fg=;-%zOTU8v0MO8l85I$+z}bYP#G9DS_#hs}n3hj*tissz zAwYQh{QX~VkH5&*9YTcu{{H^`{_yYcW|;u|{Qilm^upTyi?sd!nVG)6{{LrW`s5%! zQETJeu@Y0sB3Qy+jGVB@-BWO)C1U{h_4v@?@UEu*S8lPiucH6>|4vxO2|0#LaF@v0 z@ZaCy@c8hkxVXaB{z|fT@U~;Hv$d$T$J*xpqPpE8TH+G^0=vlI+KzIEuZN}B@UYO} z&dtoGp5{=vw)ErQRcDJbQgSxGf8JYL_`X^{uFH_9uqY`f`}_Of)zF}&w4mVd!0r05 zoM3>k!2kdMA^8LW00930EC2ui0LTCo000R80RIUbNU)&6g9sBUT*$DY!-o(fN}Ncs zqQ#3CGiuz(v7^V2AVW@EluM+^lPFV4B&kwhfCK?JZW}S8Lq-x8D(>2KU{_0tBn}8A zagb%p1Q&P-6u`78(}*2LRH3FT;{^Z%ooYoWl!#X%K7Tem@Rf*AgGMWAZK^N;uLKrJ zgqs_6Dufyfw<06~AZA3KR{>nO09GJYj!yq2Mo2^;St0-;UpPxp*8_}f6+Z>JE!?&a z+dPb*b~hYDra%-%J`C}|)xna%9$;-yz|zc`Z6DmMS)p07fiENwe4t=jwVQEwY|=zo zxL=@s=&E6Qp)TGXT_1)l*emUVx)m?~6;Hl)c5^2e&KlH&3v877L9rfP;Fp}T4iu?af8AOXd@5C0(U&fK3z8Av u{UxbK{GV5n0qIFo39F z0|Fuljv|T(BSQ!p5HV~?*h3Ps5wakJY=n@6EN||_KcMGhpE~!RdrsY7J*Vp254XTd z;$(mKjQ`0ErrS&*2-@K1>m6i>&W3dyvBt1(4v4+@&i<2~1gQA3L`kms^I*EAPuI$34N!)_3tAwUXYV)wY9Yit2Wk$xsidZ)x6#|6D4Q9pHwz*LNL zR3ohAiP;r0Pf4Fw)4r&vd<6@&sAUQ?Y@wDVQ1irEwm`WcgZW}LPqbR|o>_;TsqdPp z!?N1(+>ZtTN!&fL_;GR(&rwePE~^1BxE25y=*U1v2bzAM zV*wo(=oLUc40Lk<76ZKsC@^4^s8lFleu@(g{KGg|owSrn8ZPY8qfocj? zko4*~pcTOC1)voIofPPn0K5YDxAlCKo`(Vp74R|vC`oz+31~%XL5Eg^)rz`wQk+(T zgB5hJ$_45#`mb^c821B{NHBo}lm1}BACSTTIa*JS1(Y~Ii3ccZ0-&eE><57R5ayHs zZaK^;hq>i|Uj^oB^mBFkxq2|)pyoGf=3artHqAntb`hfybN~q!NP2*@7f5knX%NT= zIw=7xj{!MJCmRPV6j)9MN)}MDfrTh12FFZW-d(2)zkA}Iw}va@97PA zPB~b31B9JGHVjs1K*0c78K7hWawa^L0Vr88Ef1)Ldi*urV45DEt{b|h!$!ef(R$o( zdRzkh`7#(S(2wMUu|jQosJ1;!*Kt;dJ_}=`!BiDI{R+^V21aZG z75=|fC=m%QB%w8QwBh~tC_KC&=o=_4$UoSS{uPG$DE6sNL3Gb zHaEAnvajXgIIo|i{IKmoi`j{^{+2+3#kVJS9C~)$@x$f^M%yDnev0=lP7K1_2!d{# z8zJl=$Y>=56&ov%LeRqQ;|ROk<`4q9y>J(OE^)^i3y3&0FuVI$p$)t6Ez2f9V8YGl zQ`k_XPUfBX;(6suMA5GJ%hmrzRM#VNUJ3-VX*t?{ReXNg#;?@D&(prgq3)qd@`uCW zqZW*<0$&Svd?Eq%rRNv@ykn%LZ z%qu@`tI`wawqA5IJ?2i#<9})S-ihBU`(0w=ze}%(p{+~56Spq;wYlekp8P1NDe!$}K~zeE@#AZXkTLhNH;=4FYjQbwj{PT&*eDkc?BYEb>ZC83T5zjV#HXlr7A{WxJHA#(ECIwH^uo2gpqj*0I z3BK%r83=kEvR|>Q@>Ij`??V=~A$uwb4K6N^P{g9}KucA+vhQf1rB5K!!pCg*E^Vjl z6Bb@_H=A4RTtsWG8o4lgua80rJ7Q5X$a^C5zHq>z#A$P?*|4OCZcBIr-!x+eqbsXl zUT)F^g@%R({}f7gk2r}8{s|duV#tuB5Hsd4o(8*hiF%!S)lBDA8vAuj6|sJ(3dit@ z7gRT6y)*G(=00Mn!|Bq!M7NE5mgkcl!`oix<*rksk)qJJ@QS6KCClpE+#8;#hhy_> zers-l`pMGBH&!;=x8PodnBi7wE@n6v|2NSAzrTM`+2q*WB%CX4Ijd-Exmcf- zk&&@Vns*?5|dm~TwI*;Ys}wm0ul!f z@$Qafa5e90296=-?elClwew^db}Jb!|Dg(DvJhqo6(U+eWGhvB`;P6&<*~sMD`O>= z_2w3aA&pdM;afcnapd{)oajbYQd9>+OdO4yZ(|AC8MXcN&ra6q55dKz`F`W<|_O*zz zHQNDU&xO5-3lCdwa%CPZm(w%FT?dD3(eiB@Dcc`pbq4~pp+m#zd1SKtVrSW5!$91{ zS?TfBUtVXTijH2%uB+LapL!wWeo<(U&%rLKp3wZo5y zu1`*x5hp$I@*_R_5Pp%qN$ZWqoMb79hid&Auag8TNv`pS%J8vnf;9SP$?*lb*TS9g jOFhQVOf<93y6ezG3NjjhNqE}uJ%apv{JmR_N9X(x7#|e+ delta 119 zcmaE--Y%xt8Q|y6%O%Cdz`(%k>ERLtq#1!&h=UDC&I;eMXQN^<*W@K!+8zu>o-U3d z6}NJZZ{$6oAi!eq+O9kGf8~S*rTKkb$0j}GO*3dJ-PIIZ!Ns|+iRrHHj!*my8dY2t UZRZ&N0nK9YboFyt=akR{0RCMjj{pDw diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/o2k7/ui.css b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/o2k7/ui.css new file mode 100755 index 00000000..6922f47d --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/themes/simple/skins/o2k7/ui.css @@ -0,0 +1,35 @@ +/* Reset */ +.o2k7SimpleSkin table, .o2k7SimpleSkin tbody, .o2k7SimpleSkin a, .o2k7SimpleSkin img, .o2k7SimpleSkin tr, .o2k7SimpleSkin div, .o2k7SimpleSkin td, .o2k7SimpleSkin iframe, .o2k7SimpleSkin span, .o2k7SimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000} + +/* Containers */ +.o2k7SimpleSkin {position:relative} +.o2k7SimpleSkin table.mceLayout {background:#E5EFFD; border:1px solid #ABC6DD;} +.o2k7SimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #ABC6DD;} +.o2k7SimpleSkin .mceToolbar {height:26px;} + +/* Layout */ +.o2k7SimpleSkin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; } +.o2k7SimpleSkin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7SimpleSkin span.mceIcon, .o2k7SimpleSkin img.mceIcon {display:block; width:20px; height:20px} +.o2k7SimpleSkin .mceIcon {background:url(../../img/icons.png) no-repeat 20px 20px} + +/* Button */ +.o2k7SimpleSkin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7SimpleSkin a.mceButton span, .o2k7SimpleSkin a.mceButton img {margin:1px 0 0 1px} +.o2k7SimpleSkin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7SimpleSkin a.mceButtonActive {background-position:0 -44px} +.o2k7SimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +/* Separator */ +.o2k7SimpleSkin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* Theme */ +.o2k7SimpleSkin span.mce_bold {background-position:0 0} +.o2k7SimpleSkin span.mce_italic {background-position:-60px 0} +.o2k7SimpleSkin span.mce_underline {background-position:-140px 0} +.o2k7SimpleSkin span.mce_strikethrough {background-position:-120px 0} +.o2k7SimpleSkin span.mce_undo {background-position:-160px 0} +.o2k7SimpleSkin span.mce_redo {background-position:-100px 0} +.o2k7SimpleSkin span.mce_cleanup {background-position:-40px 0} +.o2k7SimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} +.o2k7SimpleSkin span.mce_insertorderedlist {background-position:-80px 0} diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/tiny_mce.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/tiny_mce.js new file mode 100755 index 00000000..ad7053ca --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/tiny_mce.js @@ -0,0 +1 @@ +(function(d){var a=/^\s*|\s*$/g,e,c="B".replace(/A(.)|B/,"$1")==="$1";var b={majorVersion:"3",minorVersion:"3.9.3",releaseDate:"2010-12-20",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=d.opera&&opera.buildNumber;s.isWebKit=/WebKit/.test(g);s.isIE=!s.isWebKit&&!s.isOpera&&(/MSIE/gi).test(g)&&(/Explorer/gi).test(o.appName);s.isIE6=s.isIE&&/MSIE [56]/.test(g);s.isGecko=!s.isWebKit&&/Gecko/.test(g);s.isMac=g.indexOf("Mac")!=-1;s.isAir=/adobeair/i.test(g);s.isIDevice=/(iPad|iPhone)/.test(g);if(d.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m=c.length){for(e=0,b=g.length;e=c.length||g[e]!=c[e]){f=e+1;break}}}if(g.length=g.length||g[e]!=c[e]){f=e+1;break}}}if(f==1){return h}for(e=0,b=g.length-(f-1);e=0;c--){if(f[c].length==0||f[c]=="."){continue}if(f[c]==".."){b++;continue}if(b>0){b--;continue}h.push(f[c])}c=e.length-b;if(c<=0){g=h.reverse().join("/")}else{g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")}if(g.indexOf("/")!==0){g="/"+g}if(d&&g.lastIndexOf("/")!==g.length-1){g+=d}return g},getURI:function(d){var c,b=this;if(!b.source||d){c="";if(!d){if(b.protocol){c+=b.protocol+"://"}if(b.userInfo){c+=b.userInfo+"@"}if(b.host){c+=b.host}if(b.port){c+=":"+b.port}}if(b.path){c+=b.path}if(b.query){c+="?"+b.query}if(b.anchor){c+="#"+b.anchor}b.source=c}return b.source}})})();(function(){var a=tinymce.each;tinymce.create("static tinymce.util.Cookie",{getHash:function(d){var b=this.get(d),c;if(b){a(b.split("&"),function(e){e=e.split("=");c=c||{};c[unescape(e[0])]=unescape(e[1])})}return c},setHash:function(j,b,g,f,i,c){var h="";a(b,function(e,d){h+=(!h?"":"&")+escape(d)+"="+escape(e)});this.set(j,h,g,f,i,c)},get:function(i){var h=document.cookie,g,f=i+"=",d;if(!h){return}d=h.indexOf("; "+f);if(d==-1){d=h.indexOf(f);if(d!=0){return null}}else{d+=2}g=h.indexOf(";",d);if(g==-1){g=h.length}return unescape(h.substring(d+f.length,g))},set:function(i,b,g,f,h,c){document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")},remove:function(e,b){var c=new Date();c.setTime(c.getTime()-1000);this.set(e,"",c,b,c)}})})();tinymce.create("static tinymce.util.JSON",{serialize:function(e){var c,a,d=tinymce.util.JSON.serialize,b;if(e==null){return"null"}b=typeof e;if(b=="string"){a="\bb\tt\nn\ff\rr\"\"''\\\\";return'"'+e.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g,function(g,f){c=a.indexOf(f);if(c+1){return"\\"+a.charAt(c+1)}g=f.charCodeAt().toString(16);return"\\u"+"0000".substring(g.length)+g})+'"'}if(b=="object"){if(e.hasOwnProperty&&e instanceof Array){for(c=0,a="[";c0?",":"")+d(e[c])}return a+"]"}a="{";for(c in e){a+=typeof e[c]!="function"?(a.length>1?',"':'"')+c+'":'+d(e[c]):""}return a+"}"}return""+e},parse:function(s){try{return eval("("+s+")")}catch(ex){}}});tinymce.create("static tinymce.util.XHR",{send:function(g){var a,e,b=window,h=0;g.scope=g.scope||this;g.success_scope=g.success_scope||g.scope;g.error_scope=g.error_scope||g.scope;g.async=g.async===false?false:true;g.data=g.data||"";function d(i){a=0;try{a=new ActiveXObject(i)}catch(c){}return a}a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");if(a){if(a.overrideMimeType){a.overrideMimeType(g.content_type)}a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);if(g.content_type){a.setRequestHeader("Content-Type",g.content_type)}a.setRequestHeader("X-Requested-With","XMLHttpRequest");a.send(g.data);function f(){if(!g.async||a.readyState==4||h++>10000){if(g.success&&h<10000&&a.status==200){g.success.call(g.success_scope,""+a.responseText,a,g)}else{if(g.error){g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)}}a=null}else{b.setTimeout(f,10)}}if(!g.async){return f()}e=b.setTimeout(f,10)}}});(function(){var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;tinymce.create("tinymce.util.JSONRequest",{JSONRequest:function(d){this.settings=c({},d);this.count=0},send:function(f){var e=f.error,d=f.success;f=c(this.settings,f);f.success=function(h,g){h=b.parse(h);if(typeof(h)=="undefined"){h={error:"JSON Parse error."}}if(h.error){e.call(f.error_scope||f.scope,h.error,g)}else{d.call(f.success_scope||f.scope,h.result)}};f.error=function(h,g){e.call(f.error_scope||f.scope,h,g)};f.data=b.serialize({id:f.id||"c"+(this.count++),method:f.method,params:f.params});f.content_type="application/json";a.send(f)},"static":{sendRPC:function(d){return new tinymce.util.JSONRequest().send(d)}}})}());(function(m){var k=m.each,j=m.is,i=m.isWebKit,d=m.isIE,a=/^(H[1-6R]|P|DIV|ADDRESS|PRE|FORM|T(ABLE|BODY|HEAD|FOOT|H|R|D)|LI|OL|UL|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|MENU|ISINDEX|SAMP)$/,e=g("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),f=g("src,href,style,coords,shape"),c={"&":"&",'"':""","<":"<",">":">"},n=/[<>&\"]/g,b=/^([a-z0-9],?)+$/i,h=/<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)(\s*\/?)>/g,l=/(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;function g(q){var p={},o;q=q.split(",");for(o=q.length;o>=0;o--){p[q[o]]=1}return p}m.create("tinymce.dom.DOMUtils",{doc:null,root:null,files:null,pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,props:{"for":"htmlFor","class":"className",className:"className",checked:"checked",disabled:"disabled",maxlength:"maxLength",readonly:"readOnly",selected:"selected",value:"value",id:"id",name:"name",type:"type"},DOMUtils:function(u,q){var p=this,o;p.doc=u;p.win=window;p.files={};p.cssFlicker=false;p.counter=0;p.stdMode=u.documentMode>=8;p.boxModel=!m.isIE||u.compatMode=="CSS1Compat"||p.stdMode;p.settings=q=m.extend({keep_values:false,hex_colors:1,process_html:1},q);if(m.isIE6){try{u.execCommand("BackgroundImageCache",false,true)}catch(r){p.cssFlicker=true}}if(q.valid_styles){p._styles={};k(q.valid_styles,function(t,s){p._styles[s]=m.explode(t)})}m.addUnload(p.destroy,p)},getRoot:function(){var o=this,p=o.settings;return(p&&o.get(p.root_element))||o.doc.body},getViewPort:function(p){var q,o;p=!p?this.win:p;q=p.document;o=this.boxModel?q.documentElement:q.body;return{x:p.pageXOffset||o.scrollLeft,y:p.pageYOffset||o.scrollTop,w:p.innerWidth||o.clientWidth,h:p.innerHeight||o.clientHeight}},getRect:function(s){var r,o=this,q;s=o.get(s);r=o.getPos(s);q=o.getSize(s);return{x:r.x,y:r.y,w:q.w,h:q.h}},getSize:function(r){var p=this,o,q;r=p.get(r);o=p.getStyle(r,"width");q=p.getStyle(r,"height");if(o.indexOf("px")===-1){o=0}if(q.indexOf("px")===-1){q=0}return{w:parseInt(o)||r.offsetWidth||r.clientWidth,h:parseInt(q)||r.offsetHeight||r.clientHeight}},getParent:function(q,p,o){return this.getParents(q,p,o,false)},getParents:function(z,v,s,y){var q=this,p,u=q.settings,x=[];z=q.get(z);y=y===undefined;if(u.strict_root){s=s||q.getRoot()}if(j(v,"string")){p=v;if(v==="*"){v=function(o){return o.nodeType==1}}else{v=function(o){return q.is(o,p)}}}while(z){if(z==s||!z.nodeType||z.nodeType===9){break}if(!v||v(z)){if(y){x.push(z)}else{return z}}z=z.parentNode}return y?x:null},get:function(o){var p;if(o&&this.doc&&typeof(o)=="string"){p=o;o=this.doc.getElementById(o);if(o&&o.id!==p){return this.doc.getElementsByName(p)[1]}}return o},getNext:function(p,o){return this._findSib(p,o,"nextSibling")},getPrev:function(p,o){return this._findSib(p,o,"previousSibling")},add:function(s,v,o,r,u){var q=this;return this.run(s,function(y){var x,t;x=j(v,"string")?q.doc.createElement(v):v;q.setAttribs(x,o);if(r){if(r.nodeType){x.appendChild(r)}else{q.setHTML(x,r)}}return !u?y.appendChild(x):x})},create:function(q,o,p){return this.add(this.doc.createElement(q),q,o,p,1)},createHTML:function(v,p,s){var u="",r=this,q;u+="<"+v;for(q in p){if(p.hasOwnProperty(q)){u+=" "+q+'="'+r.encode(p[q])+'"'}}if(typeof(s)!="undefined"){return u+">"+s+""}return u+" />"},remove:function(o,p){return this.run(o,function(r){var q,s;q=r.parentNode;if(!q){return null}if(p){while(s=r.firstChild){if(!m.isIE||s.nodeType!==3||s.nodeValue){q.insertBefore(s,r)}else{r.removeChild(s)}}}return q.removeChild(r)})},setStyle:function(r,o,p){var q=this;return q.run(r,function(v){var u,t;u=v.style;o=o.replace(/-(\D)/g,function(x,s){return s.toUpperCase()});if(q.pixelStyles.test(o)&&(m.is(p,"number")||/^[\-0-9\.]+$/.test(p))){p+="px"}switch(o){case"opacity":if(d){u.filter=p===""?"":"alpha(opacity="+(p*100)+")";if(!r.currentStyle||!r.currentStyle.hasLayout){u.display="inline-block"}}u[o]=u["-moz-opacity"]=u["-khtml-opacity"]=p||"";break;case"float":d?u.styleFloat=p:u.cssFloat=p;break;default:u[o]=p||""}if(q.settings.update_styles){q.setAttrib(v,"_mce_style")}})},getStyle:function(r,o,q){r=this.get(r);if(!r){return false}if(this.doc.defaultView&&q){o=o.replace(/[A-Z]/g,function(s){return"-"+s});try{return this.doc.defaultView.getComputedStyle(r,null).getPropertyValue(o)}catch(p){return null}}o=o.replace(/-(\D)/g,function(t,s){return s.toUpperCase()});if(o=="float"){o=d?"styleFloat":"cssFloat"}if(r.currentStyle&&q){return r.currentStyle[o]}return r.style[o]},setStyles:function(u,v){var q=this,r=q.settings,p;p=r.update_styles;r.update_styles=0;k(v,function(o,s){q.setStyle(u,s,o)});r.update_styles=p;if(r.update_styles){q.setAttrib(u,r.cssText)}},setAttrib:function(q,r,o){var p=this;if(!q||!r){return}if(p.settings.strict){r=r.toLowerCase()}return this.run(q,function(u){var t=p.settings;switch(r){case"style":if(!j(o,"string")){k(o,function(s,x){p.setStyle(u,x,s)});return}if(t.keep_values){if(o&&!p._isRes(o)){u.setAttribute("_mce_style",o,2)}else{u.removeAttribute("_mce_style",2)}}u.style.cssText=o;break;case"class":u.className=o||"";break;case"src":case"href":if(t.keep_values){if(t.url_converter){o=t.url_converter.call(t.url_converter_scope||p,o,r,u)}p.setAttrib(u,"_mce_"+r,o,2)}break;case"shape":u.setAttribute("_mce_style",o);break}if(j(o)&&o!==null&&o.length!==0){u.setAttribute(r,""+o,2)}else{u.removeAttribute(r,2)}})},setAttribs:function(q,r){var p=this;return this.run(q,function(o){k(r,function(s,t){p.setAttrib(o,t,s)})})},getAttrib:function(r,s,q){var o,p=this;r=p.get(r);if(!r||r.nodeType!==1){return false}if(!j(q)){q=""}if(/^(src|href|style|coords|shape)$/.test(s)){o=r.getAttribute("_mce_"+s);if(o){return o}}if(d&&p.props[s]){o=r[p.props[s]];o=o&&o.nodeValue?o.nodeValue:o}if(!o){o=r.getAttribute(s,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(s)){if(r[p.props[s]]===true&&o===""){return s}return o?s:""}if(r.nodeName==="FORM"&&r.getAttributeNode(s)){return r.getAttributeNode(s).nodeValue}if(s==="style"){o=o||r.style.cssText;if(o){o=p.serializeStyle(p.parseStyle(o),r.nodeName);if(p.settings.keep_values&&!p._isRes(o)){r.setAttribute("_mce_style",o)}}}if(i&&s==="class"&&o){o=o.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(d){switch(s){case"rowspan":case"colspan":if(o===1){o=""}break;case"size":if(o==="+0"||o===20||o===0){o=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(o===0){o=""}break;case"hspace":if(o===-1){o=""}break;case"maxlength":case"tabindex":if(o===32768||o===2147483647||o==="32768"){o=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(o===65535){return s}return q;case"shape":o=o.toLowerCase();break;default:if(s.indexOf("on")===0&&o){o=m._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+o)}}}return(o!==undefined&&o!==null&&o!=="")?""+o:q},getPos:function(A,s){var p=this,o=0,z=0,u,v=p.doc,q;A=p.get(A);s=s||v.body;if(A){if(d&&!p.stdMode){A=A.getBoundingClientRect();u=p.boxModel?v.documentElement:v.body;o=p.getStyle(p.select("html")[0],"borderWidth");o=(o=="medium"||p.boxModel&&!p.isIE6)&&2||o;return{x:A.left+u.scrollLeft-o,y:A.top+u.scrollTop-o}}q=A;while(q&&q!=s&&q.nodeType){o+=q.offsetLeft||0;z+=q.offsetTop||0;q=q.offsetParent}q=A.parentNode;while(q&&q!=s&&q.nodeType){o-=q.scrollLeft||0;z-=q.scrollTop||0;q=q.parentNode}}return{x:o,y:z}},parseStyle:function(r){var u=this,v=u.settings,x={};if(!r){return x}function p(D,A,C){var z,B,o,y;z=x[D+"-top"+A];if(!z){return}B=x[D+"-right"+A];if(z!=B){return}o=x[D+"-bottom"+A];if(B!=o){return}y=x[D+"-left"+A];if(o!=y){return}x[C]=y;delete x[D+"-top"+A];delete x[D+"-right"+A];delete x[D+"-bottom"+A];delete x[D+"-left"+A]}function q(y,s,o,A){var z;z=x[s];if(!z){return}z=x[o];if(!z){return}z=x[A];if(!z){return}x[y]=x[s]+" "+x[o]+" "+x[A];delete x[s];delete x[o];delete x[A]}r=r.replace(/&(#?[a-z0-9]+);/g,"&$1_MCE_SEMI_");k(r.split(";"),function(s){var o,t=[];if(s){s=s.replace(/_MCE_SEMI_/g,";");s=s.replace(/url\([^\)]+\)/g,function(y){t.push(y);return"url("+t.length+")"});s=s.split(":");o=m.trim(s[1]);o=o.replace(/url\(([^\)]+)\)/g,function(z,y){return t[parseInt(y)-1]});o=o.replace(/rgb\([^\)]+\)/g,function(y){return u.toHex(y)});if(v.url_converter){o=o.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g,function(y,z){return"url("+v.url_converter.call(v.url_converter_scope||u,u.decode(z),"style",null)+")"})}x[m.trim(s[0]).toLowerCase()]=o}});p("border","","border");p("border","-width","border-width");p("border","-color","border-color");p("border","-style","border-style");p("padding","","padding");p("margin","","margin");q("border","border-width","border-style","border-color");if(d){if(x.border=="medium none"){x.border=""}}return x},serializeStyle:function(v,p){var q=this,r="";function u(s,o){if(o&&s){if(o.indexOf("-")===0){return}switch(o){case"font-weight":if(s==700){s="bold"}break;case"color":case"background-color":s=s.toLowerCase();break}r+=(r?" ":"")+o+": "+s+";"}}if(p&&q._styles){k(q._styles["*"],function(o){u(v[o],o)});k(q._styles[p.toLowerCase()],function(o){u(v[o],o)})}else{k(v,u)}return r},loadCSS:function(o){var q=this,r=q.doc,p;if(!o){o=""}p=q.select("head")[0];k(o.split(","),function(s){var t;if(q.files[s]){return}q.files[s]=true;t=q.create("link",{rel:"stylesheet",href:m._addVer(s)});if(d&&r.documentMode&&r.recalc){t.onload=function(){r.recalc();t.onload=null}}p.appendChild(t)})},addClass:function(o,p){return this.run(o,function(q){var r;if(!p){return 0}if(this.hasClass(q,p)){return q.className}r=this.removeClass(q,p);return q.className=(r!=""?(r+" "):"")+p})},removeClass:function(q,r){var o=this,p;return o.run(q,function(t){var s;if(o.hasClass(t,r)){if(!p){p=new RegExp("(^|\\s+)"+r+"(\\s+|$)","g")}s=t.className.replace(p," ");s=m.trim(s!=" "?s:"");t.className=s;if(!s){t.removeAttribute("class");t.removeAttribute("className")}return s}return t.className})},hasClass:function(p,o){p=this.get(p);if(!p||!o){return false}return(" "+p.className+" ").indexOf(" "+o+" ")!==-1},show:function(o){return this.setStyle(o,"display","block")},hide:function(o){return this.setStyle(o,"display","none")},isHidden:function(o){o=this.get(o);return !o||o.style.display=="none"||this.getStyle(o,"display")=="none"},uniqueId:function(o){return(!o?"mce_":o)+(this.counter++)},setHTML:function(q,p){var o=this;return this.run(q,function(v){var r,t,s,z,u,r;p=o.processHTML(p);if(d){function y(){while(v.firstChild){v.firstChild.removeNode()}try{v.innerHTML="
"+p;v.removeChild(v.firstChild)}catch(x){r=o.create("div");r.innerHTML="
"+p;k(r.childNodes,function(B,A){if(A){v.appendChild(B)}})}}if(o.settings.fix_ie_paragraphs){p=p.replace(/

<\/p>|]+)><\/p>|/gi,' 

')}y();if(o.settings.fix_ie_paragraphs){s=v.getElementsByTagName("p");for(t=s.length-1,r=0;t>=0;t--){z=s[t];if(!z.hasChildNodes()){if(!z._mce_keep){r=1;break}z.removeAttribute("_mce_keep")}}}if(r){p=p.replace(/

]+)>|

/ig,'

');p=p.replace(/<\/p>/gi,"
");y();if(o.settings.fix_ie_paragraphs){s=v.getElementsByTagName("DIV");for(t=s.length-1;t>=0;t--){z=s[t];if(z._mce_tmp){u=o.doc.createElement("p");z.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi,function(A,x){var B;if(x!=="_mce_tmp"){B=z.getAttribute(x);if(!B&&x==="class"){B=z.className}u.setAttribute(x,B)}});for(r=0;r]+)\/>|/gi,"",r);if(q.keep_values){if(/)/g,"\n");t=t.replace(/^[\r\n]*|[\r\n]*$/g,"");t=t.replace(/^\s*(\/\/\s*|\]\]>|-->|\]\]-->)\s*$/g,"");return t}r=r.replace(/]+|)>([\s\S]*?)<\/script>/gi,function(s,x,t){if(!x){x=' type="text/javascript"'}x=x.replace(/src=\"([^\"]+)\"?/i,function(y,z){if(q.url_converter){z=p.encode(q.url_converter.call(q.url_converter_scope||p,p.decode(z),"src","script"))}return'_mce_src="'+z+'"'});if(m.trim(t)){v.push(o(t));t=""}return""+t+""});r=r.replace(/]+|)>([\s\S]*?)<\/style>/gi,function(s,x,t){if(t){v.push(o(t));t=""}return""+t+""});r=r.replace(/]+|)>([\s\S]*?)<\/noscript>/g,function(s,x,t){return""})}r=m._replace(//g,"",r);function u(s){return s.replace(h,function(y,z,x,t){return"<"+z+x.replace(l,function(B,A,E,D,C){var F;A=A.toLowerCase();E=E||D||C||"";if(e[A]){if(E==="false"||E==="0"){return}return A+'="'+A+'"'}if(f[A]&&x.indexOf("_mce_"+A)==-1){F=p.decode(E);if(q.url_converter&&(A=="src"||A=="href")){F=q.url_converter.call(q.url_converter_scope||p,F,A,z)}if(A=="style"){F=p.serializeStyle(p.parseStyle(F),A)}return A+'="'+E+'" _mce_'+A+'="'+p.encode(F)+'"'}return B})+t+">"})}r=u(r);r=r.replace(/MCE_SCRIPT:([0-9]+)/g,function(t,s){return v[s]})}return r},getOuterHTML:function(o){var p;o=this.get(o);if(!o){return null}if(o.outerHTML!==undefined){return o.outerHTML}p=(o.ownerDocument||this.doc).createElement("body");p.appendChild(o.cloneNode(true));return p.innerHTML},setOuterHTML:function(r,p,s){var o=this;function q(u,t,x){var y,v;v=x.createElement("body");v.innerHTML=t;y=v.lastChild;while(y){o.insertAfter(y.cloneNode(true),u);y=y.previousSibling}o.remove(u)}return this.run(r,function(u){u=o.get(u);if(u.nodeType==1){s=s||u.ownerDocument||o.doc;if(d){try{if(d&&u.nodeType==1){u.outerHTML=p}else{q(u,p,s)}}catch(t){q(u,p,s)}}else{q(u,p,s)}}})},decode:function(p){var q,r,o;if(/&[\w#]+;/.test(p)){q=this.doc.createElement("div");q.innerHTML=p;r=q.firstChild;o="";if(r){do{o+=r.nodeValue}while(r=r.nextSibling)}return o||p}return p},encode:function(o){return(""+o).replace(n,function(p){return c[p]})},insertAfter:function(o,p){p=this.get(p);return this.run(o,function(r){var q,s;q=p.parentNode;s=p.nextSibling;if(s){q.insertBefore(r,s)}else{q.appendChild(r)}return r})},isBlock:function(o){if(o.nodeType&&o.nodeType!==1){return false}o=o.nodeName||o;return a.test(o)},replace:function(s,r,p){var q=this;if(j(r,"array")){s=s.cloneNode(true)}return q.run(r,function(t){if(p){k(m.grep(t.childNodes),function(o){s.appendChild(o)})}return t.parentNode.replaceChild(s,t)})},rename:function(r,o){var q=this,p;if(r.nodeName!=o.toUpperCase()){p=q.create(o);k(q.getAttribs(r),function(s){q.setAttrib(p,s.nodeName,q.getAttrib(r,s.nodeName))});q.replace(p,r,1)}return p||r},findCommonAncestor:function(q,o){var r=q,p;while(r){p=o;while(p&&r!=p){p=p.parentNode}if(r==p){break}r=r.parentNode}if(!r&&q.ownerDocument){return q.ownerDocument.documentElement}return r},toHex:function(o){var q=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(o);function p(r){r=parseInt(r).toString(16);return r.length>1?r:"0"+r}if(q){o="#"+p(q[1])+p(q[2])+p(q[3]);return o}return o},getClasses:function(){var s=this,o=[],r,u={},v=s.settings.class_filter,q;if(s.classes){return s.classes}function x(t){k(t.imports,function(y){x(y)});k(t.cssRules||t.rules,function(y){switch(y.type||1){case 1:if(y.selectorText){k(y.selectorText.split(","),function(z){z=z.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(z)||!/\.[\w\-]+$/.test(z)){return}q=z;z=m._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",z);if(v&&!(z=v(z,q))){return}if(!u[z]){o.push({"class":z});u[z]=1}})}break;case 3:x(y.styleSheet);break}})}try{k(s.doc.styleSheets,x)}catch(p){}if(o.length>0){s.classes=o}return o},run:function(u,r,q){var p=this,v;if(p.doc&&typeof(u)==="string"){u=p.get(u)}if(!u){return false}q=q||this;if(!u.nodeType&&(u.length||u.length===0)){v=[];k(u,function(s,o){if(s){if(typeof(s)=="string"){s=p.doc.getElementById(s)}v.push(r.call(q,s,o))}});return v}return r.call(q,u)},getAttribs:function(q){var p;q=this.get(q);if(!q){return[]}if(d){p=[];if(q.nodeName=="OBJECT"){return q.attributes}if(q.nodeName==="OPTION"&&this.getAttrib(q,"selected")){p.push({specified:1,nodeName:"selected"})}q.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(o){p.push({specified:1,nodeName:o})});return p}return q.attributes},destroy:function(p){var o=this;if(o.events){o.events.destroy()}o.win=o.doc=o.root=o.events=null;if(!p){m.removeUnload(o.destroy)}},createRng:function(){var o=this.doc;return o.createRange?o.createRange():new m.dom.Range(this)},nodeIndex:function(s,t){var o=0,q,r,p;if(s){for(q=s.nodeType,s=s.previousSibling,r=s;s;s=s.previousSibling){p=s.nodeType;if(t&&p==3){if(p==q||!s.nodeValue.length){continue}}o++;q=p}}return o},split:function(u,s,y){var z=this,o=z.createRng(),v,q,x;function p(A){var t,r=A.childNodes;if(A.nodeType==1&&A.getAttribute("_mce_type")=="bookmark"){return}for(t=r.length-1;t>=0;t--){p(r[t])}if(A.nodeType!=9){if(A.nodeType==3&&A.nodeValue.length>0){if(!z.isBlock(A.parentNode)||m.trim(A.nodeValue).length>0){return}}if(A.nodeType==1){r=A.childNodes;if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("_mce_type")=="bookmark"){A.parentNode.insertBefore(r[0],A)}if(r.length||/^(br|hr|input|img)$/i.test(A.nodeName)){return}}z.remove(A)}return A}if(u&&s){o.setStart(u.parentNode,z.nodeIndex(u));o.setEnd(s.parentNode,z.nodeIndex(s));v=o.extractContents();o=z.createRng();o.setStart(s.parentNode,z.nodeIndex(s)+1);o.setEnd(u.parentNode,z.nodeIndex(u)+1);q=o.extractContents();x=u.parentNode;x.insertBefore(p(v),u);if(y){x.replaceChild(y,s)}else{x.insertBefore(s,u)}x.insertBefore(p(q),u);z.remove(u);return y||s}},bind:function(s,o,r,q){var p=this;if(!p.events){p.events=new m.dom.EventUtils()}return p.events.add(s,o,r,q||this)},unbind:function(r,o,q){var p=this;if(!p.events){p.events=new m.dom.EventUtils()}return p.events.remove(r,o,q)},_findSib:function(r,o,p){var q=this,s=o;if(r){if(j(s,"string")){s=function(t){return q.is(t,o)}}for(r=r[p];r;r=r[p]){if(s(r)){return r}}}return null},_isRes:function(o){return/^(top|left|bottom|right|width|height)/i.test(o)||/;\s*(top|left|bottom|right|width|height)/i.test(o)}});m.DOM=new m.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;k(N,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:D,commonAncestorContainer:e,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:q,setEnd:s,setStartBefore:g,setStartAfter:I,setEndBefore:J,setEndAfter:u,collapse:A,selectNode:x,selectNodeContents:F,compareBoundaryPoints:v,deleteContents:p,extractContents:H,cloneContents:d,insertNode:C,surroundContents:M,cloneRange:K});function q(V,t){B(D,V,t)}function s(V,t){B(R,V,t)}function g(t){q(t.parentNode,n(t))}function I(t){q(t.parentNode,n(t)+1)}function J(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function A(t){if(t){N[P]=N[h];N[z]=N[U]}else{N[h]=N[P];N[U]=N[z]}N.collapsed=D}function x(t){g(t);u(t)}function F(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(W,X){var Z=N[h],Y=N[U],V=N[P],t=N[z];if(W===0){return G(Z,Y,Z,Y)}if(W===1){return G(Z,Y,V,t)}if(W===2){return G(V,t,V,t)}if(W===3){return G(V,t,Z,Y)}}function p(){m(j)}function H(){return m(S)}function d(){return m(E)}function C(Y){var V=this[h],t=this[U],X,W;if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){if(!t){V.parentNode.insertBefore(Y,V)}else{if(t>=V.nodeValue.length){c.insertAfter(Y,V)}else{X=V.splitText(t);V.parentNode.insertBefore(Y,X)}}}else{if(V.childNodes.length>0){W=V.childNodes[t]}if(W){V.insertBefore(Y,W)}else{V.appendChild(Y)}}}function M(V){var t=N.extractContents();N.insertNode(V);V.appendChild(t);N.selectNode(V)}function K(){return k(new b(c),{startContainer:N[h],startOffset:N[U],endContainer:N[P],endOffset:N[z],collapsed:N.collapsed,commonAncestorContainer:N.commonAncestorContainer})}function O(t,V){var W;if(t.nodeType==3){return t}if(V<0){return t}W=t.firstChild;while(W&&V>0){--V;W=W.nextSibling}if(W){return W}return t}function l(){return(N[h]==N[P]&&N[U]==N[z])}function G(X,Z,V,Y){var aa,W,t,ab,ad,ac;if(X==V){if(Z==Y){return 0}if(Z0){N.collapse(V)}}else{N.collapse(V)}N.collapsed=l();N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])}function m(ab){var aa,X=0,ad=0,V,Z,W,Y,t,ac;if(N[h]==N[P]){return f(ab)}for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[h]){return r(aa,ab)}++X}for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){if(V==N[P]){return T(aa,ab)}++ad}Z=ad-X;W=N[h];while(Z>0){W=W.parentNode;Z--}Y=N[P];while(Z<0){Y=Y.parentNode;Z++}for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){W=t;Y=ac}return o(W,Y,ab)}function f(Z){var ab,Y,X,aa,t,W,V;if(Z!=j){ab=e.createDocumentFragment()}if(N[U]==N[z]){return ab}if(N[h].nodeType==3){Y=N[h].nodeValue;X=Y.substring(N[U],N[z]);if(Z!=E){N[h].deleteData(N[U],N[z]-N[U]);N.collapse(D)}if(Z==j){return}ab.appendChild(e.createTextNode(X));return ab}aa=O(N[h],N[U]);t=N[z]-N[U];while(t>0){W=aa.nextSibling;V=y(aa,Z);if(ab){ab.appendChild(V)}--t;aa=W}if(Z!=E){N.collapse(D)}return ab}function r(ab,Y){var aa,Z,V,t,X,W;if(Y!=j){aa=e.createDocumentFragment()}Z=i(ab,Y);if(aa){aa.appendChild(Z)}V=n(ab);t=V-N[U];if(t<=0){if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}Z=ab.previousSibling;while(t>0){X=Z.previousSibling;W=y(Z,Y);if(aa){aa.insertBefore(W,aa.firstChild)}--t;Z=X}if(Y!=E){N.setEndBefore(ab);N.collapse(R)}return aa}function T(Z,Y){var ab,V,aa,t,X,W;if(Y!=j){ab=e.createDocumentFragment()}aa=Q(Z,Y);if(ab){ab.appendChild(aa)}V=n(Z);++V;t=N[z]-V;aa=Z.nextSibling;while(t>0){X=aa.nextSibling;W=y(aa,Y);if(ab){ab.appendChild(W)}--t;aa=X}if(Y!=E){N.setStartAfter(Z);N.collapse(D)}return ab}function o(Z,t,ac){var W,ae,Y,aa,ab,V,ad,X;if(ac!=j){ae=e.createDocumentFragment()}W=Q(Z,ac);if(ae){ae.appendChild(W)}Y=Z.parentNode;aa=n(Z);ab=n(t);++aa;V=ab-aa;ad=Z.nextSibling;while(V>0){X=ad.nextSibling;W=y(ad,ac);if(ae){ae.appendChild(W)}ad=X;--V}W=i(t,ac);if(ae){ae.appendChild(W)}if(ac!=E){N.setStartAfter(Z);N.collapse(D)}return ae}function i(aa,ab){var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];if(W==aa){return L(W,X,R,ab)}ac=W.parentNode;Z=L(ac,R,R,ab);while(ac){while(W){Y=W.previousSibling;t=L(W,X,R,ab);if(ab!=j){Z.insertBefore(t,Z.firstChild)}X=D;W=Y}if(ac==aa){return Z}W=ac.previousSibling;ac=ac.parentNode;V=L(ac,R,R,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function Q(aa,ab){var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;if(X==aa){return L(X,Y,D,ab)}ac=X.parentNode;Z=L(ac,R,D,ab);while(ac){while(X){W=X.nextSibling;t=L(X,Y,D,ab);if(ab!=j){Z.appendChild(t)}Y=D;X=W}if(ac==aa){return Z}X=ac.nextSibling;ac=ac.parentNode;V=L(ac,R,D,ab);if(ab!=j){V.appendChild(Z)}Z=V}}function L(t,Y,ab,ac){var X,W,Z,V,aa;if(Y){return y(t,ac)}if(t.nodeType==3){X=t.nodeValue;if(ab){V=N[U];W=X.substring(V);Z=X.substring(0,V)}else{V=N[z];W=X.substring(0,V);Z=X.substring(V)}if(ac!=E){t.nodeValue=Z}if(ac==j){return}aa=t.cloneNode(R);aa.nodeValue=W;return aa}if(ac==j){return}return t.cloneNode(R)}function y(V,t){if(t!=j){return t==E?V.cloneNode(D):V}V.parentNode.removeChild(V)}}a.Range=b})(tinymce.dom);(function(){function a(g){var i=this,j="\uFEFF",e,h,d=g.dom,c=true,f=false;function b(){var n=g.getRng(),k=d.createRng(),m,o;m=n.item?n.item(0):n.parentElement();if(m.ownerDocument!=d.doc){return k}if(n.item||!m.hasChildNodes()){k.setStart(m.parentNode,d.nodeIndex(m));k.setEnd(k.startContainer,k.startOffset+1);return k}o=g.isCollapsed();function l(s){var u,q,t,p,A=0,x,y,z,r,v;r=n.duplicate();r.collapse(s);u=d.create("a");z=r.parentElement();if(!z.hasChildNodes()){k[s?"setStart":"setEnd"](z,0);return}z.appendChild(u);r.moveToElementText(u);v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);if(v>0){k[s?"setStartAfter":"setEndAfter"](z);d.remove(u);return}p=tinymce.grep(z.childNodes);x=p.length-1;while(A<=x){y=Math.floor((A+x)/2);z.insertBefore(u,p[y]);r.moveToElementText(u);v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);if(v>0){A=y+1}else{if(v<0){x=y-1}else{found=true;break}}}q=v>0||y==0?u.nextSibling:u.previousSibling;if(q.nodeType==1){d.remove(u);t=d.nodeIndex(q);q=q.parentNode;if(!s||y>0){t++}}else{if(v>0||y==0){r.setEndPoint(s?"StartToStart":"EndToEnd",n);t=r.text.length}else{r.setEndPoint(s?"StartToStart":"EndToEnd",n);t=q.nodeValue.length-r.text.length}d.remove(u)}k[s?"setStart":"setEnd"](q,t)}l(true);if(!o){l()}return k}this.addRange=function(k){var p,n,m,r,u,s,t=g.dom.doc,o=t.body;function l(B){var x,A,v,z,y;v=d.create("a");x=B?m:u;A=B?r:s;z=p.duplicate();if(x==t){x=o;A=0}if(x.nodeType==3){x.parentNode.insertBefore(v,x);z.moveToElementText(v);z.moveStart("character",A);d.remove(v);p.setEndPoint(B?"StartToStart":"EndToEnd",z)}else{y=x.childNodes;if(y.length){if(A>=y.length){d.insertAfter(v,y[y.length-1])}else{x.insertBefore(v,y[A])}z.moveToElementText(v)}else{v=t.createTextNode(j);x.appendChild(v);z.moveToElementText(v.parentNode);z.collapse(c)}p.setEndPoint(B?"StartToStart":"EndToEnd",z);d.remove(v)}}this.destroy();m=k.startContainer;r=k.startOffset;u=k.endContainer;s=k.endOffset;p=o.createTextRange();if(m==u&&m.nodeType==1&&r==s-1){if(r==s-1){try{n=o.createControlRange();n.addElement(m.childNodes[r]);n.select();n.scrollIntoView();return}catch(q){}}}l(true);l();p.select();p.scrollIntoView()};this.getRangeAt=function(){if(!e||!tinymce.dom.RangeUtils.compareRanges(h,g.getRng())){e=b();h=g.getRng()}try{e.startContainer.nextSibling}catch(k){e=b();h=null}return e};this.destroy=function(){h=e=null}}tinymce.dom.TridentSelection=a})();(function(d){var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;d.create("tinymce.dom.EventUtils",{EventUtils:function(){this.inits=[];this.events=[]},add:function(m,p,l,j){var g,h=this,i=h.events,k;if(p instanceof Array){k=[];f(p,function(o){k.push(h.add(m,o,l,j))});return k}if(m&&m.hasOwnProperty&&m instanceof Array){k=[];f(m,function(n){n=c.get(n);k.push(h.add(n,p,l,j))});return k}m=c.get(m);if(!m){return}g=function(n){if(h.disabled){return}n=n||window.event;if(n&&b){if(!n.target){n.target=n.srcElement}d.extend(n,h._stoppers)}if(!j){return l(n)}return l.call(j,n)};if(p=="unload"){d.unloads.unshift({func:g});return g}if(p=="init"){if(h.domLoaded){g()}else{h.inits.push(g)}return g}i.push({obj:m,name:p,func:l,cfunc:g,scope:j});h._add(m,p,g);return l},remove:function(l,m,k){var h=this,g=h.events,i=false,j;if(l&&l.hasOwnProperty&&l instanceof Array){j=[];f(l,function(n){n=c.get(n);j.push(h.remove(n,m,k))});return j}l=c.get(l);f(g,function(o,n){if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){g.splice(n,1);h._remove(l,m,o.cfunc);i=true;return false}});return i},clear:function(l){var j=this,g=j.events,h,k;if(l){l=c.get(l);for(h=g.length-1;h>=0;h--){k=g[h];if(k.obj===l){j._remove(k.obj,k.name,k.cfunc);k.obj=k.cfunc=null;g.splice(h,1)}}}},cancel:function(g){if(!g){return false}this.stop(g);return this.prevent(g)},stop:function(g){if(g.stopPropagation){g.stopPropagation()}else{g.cancelBubble=true}return false},prevent:function(g){if(g.preventDefault){g.preventDefault()}else{g.returnValue=false}return false},destroy:function(){var g=this;f(g.events,function(j,h){g._remove(j.obj,j.name,j.cfunc);j.obj=j.cfunc=null});g.events=[];g=null},_add:function(h,i,g){if(h.attachEvent){h.attachEvent("on"+i,g)}else{if(h.addEventListener){h.addEventListener(i,g,false)}else{h["on"+i]=g}}},_remove:function(i,j,h){if(i){try{if(i.detachEvent){i.detachEvent("on"+j,h)}else{if(i.removeEventListener){i.removeEventListener(j,h,false)}else{i["on"+j]=null}}}catch(g){}}},_pageInit:function(h){var g=this;if(g.domLoaded){return}g.domLoaded=true;f(g.inits,function(i){i()});g.inits=[]},_wait:function(i){var g=this,h=i.document;if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){g.domLoaded=1;return}if(h.attachEvent){h.attachEvent("onreadystatechange",function(){if(h.readyState==="complete"){h.detachEvent("onreadystatechange",arguments.callee);g._pageInit(i)}});if(h.documentElement.doScroll&&i==i.top){(function(){if(g.domLoaded){return}try{h.documentElement.doScroll("left")}catch(j){setTimeout(arguments.callee,0);return}g._pageInit(i)})()}}else{if(h.addEventListener){g._add(i,"DOMContentLoaded",function(){g._pageInit(i)})}}g._add(i,"load",function(){g._pageInit(i)})},_stoppers:{preventDefault:function(){this.returnValue=false},stopPropagation:function(){this.cancelBubble=true}}});a=d.dom.Event=new d.dom.EventUtils();a._wait(window);d.addUnload(function(){a.destroy()})})(tinymce);(function(a){a.dom.Element=function(f,d){var b=this,e,c;b.settings=d=d||{};b.id=f;b.dom=e=d.dom||a.DOM;if(!a.isIE){c=e.get(b.id)}a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){b[g]=function(){var h=[f],j;for(j=0;j_';if(k.startContainer==l&&k.endContainer==l){l.body.innerHTML=j}else{k.deleteContents();if(l.body.childNodes.length==0){l.body.innerHTML=j}else{if(k.createContextualFragment){k.insertNode(k.createContextualFragment(j))}else{var m=l.createDocumentFragment(),f=l.createElement("div");m.appendChild(f);f.outerHTML=j;k.insertNode(m)}}}n=g.dom.get("__caret");k=l.createRange();k.setStartBefore(n);k.setEndBefore(n);g.setRng(k);g.dom.remove("__caret")}else{if(k.item){l.execCommand("Delete",false,null);k=g.getRng()}k.pasteHTML(j)}g.onSetContent.dispatch(g,i)},getStart:function(){var g=this.getRng(),h,f,j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}j=g.duplicate();j.collapse(1);h=j.parentElement();f=i=g.parentElement();while(i=i.parentNode){if(i==h){h=f;break}}if(h&&h.nodeName=="BODY"){return h.firstChild||h}return h}else{h=g.startContainer;if(h.nodeType==1&&h.hasChildNodes()){h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]}if(h&&h.nodeType==3){return h.parentNode}return h}},getEnd:function(){var g=this,h=g.getRng(),i,f;if(h.duplicate||h.item){if(h.item){return h.item(0)}h=h.duplicate();h.collapse(0);i=h.parentElement();if(i&&i.nodeName=="BODY"){return i.lastChild||i}return i}else{i=h.endContainer;f=h.endOffset;if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[f>0?f-1:f]}if(i&&i.nodeType==3){return i.parentNode}return i}},getBookmark:function(q,r){var u=this,m=u.dom,g,j,i,n,h,o,p,l="\uFEFF",s;function f(v,x){var t=0;d(m.select(v),function(z,y){if(z==x){t=y}});return t}if(q==2){function k(){var v=u.getRng(true),t=m.getRoot(),x={};function y(B,G){var A=B[G?"startContainer":"endContainer"],F=B[G?"startOffset":"endOffset"],z=[],C,E,D=0;if(A.nodeType==3){if(r){for(C=A.previousSibling;C&&C.nodeType==3;C=C.previousSibling){F+=C.nodeValue.length}}z.push(F)}else{E=A.childNodes;if(F>=E.length&&E.length){D=1;F=Math.max(0,E.length-1)}z.push(u.dom.nodeIndex(E[F],r)+D)}for(;A&&A!=t;A=A.parentNode){z.push(u.dom.nodeIndex(A,r))}return z}x.start=y(v,true);if(!u.isCollapsed()){x.end=y(v)}return x}return k()}if(q){return{rng:u.getRng()}}g=u.getRng();i=m.uniqueId();n=tinyMCE.activeEditor.selection.isCollapsed();s="overflow:hidden;line-height:0px";if(g.duplicate||g.item){if(!g.item){j=g.duplicate();g.collapse();g.pasteHTML(''+l+"");if(!n){j.collapse(false);j.pasteHTML(''+l+"")}}else{o=g.item(0);h=o.nodeName;return{name:h,index:f(h,o)}}}else{o=u.getNode();h=o.nodeName;if(h=="IMG"){return{name:h,index:f(h,o)}}j=g.cloneRange();if(!n){j.collapse(false);j.insertNode(m.create("span",{_mce_type:"bookmark",id:i+"_end",style:s},l))}g.collapse(true);g.insertNode(m.create("span",{_mce_type:"bookmark",id:i+"_start",style:s},l))}u.moveToBookmark({id:i,keep:1});return{id:i}},moveToBookmark:function(n){var r=this,l=r.dom,i,h,f,q,j,s,o,p;if(r.tridentSel){r.tridentSel.destroy()}if(n){if(n.start){f=l.createRng();q=l.getRoot();function g(z){var t=n[z?"start":"end"],v,x,y,u;if(t){for(x=q,v=t.length-1;v>=1;v--){u=x.childNodes;if(u.length){x=u[t[v]]}}if(z){f.setStart(x,t[0])}else{f.setEnd(x,t[0])}}}g(true);g();r.setRng(f)}else{if(n.id){function k(A){var u=l.get(n.id+"_"+A),z,t,x,y,v=n.keep;if(u){z=u.parentNode;if(A=="start"){if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}j=s=z;o=p=t}else{if(!v){t=l.nodeIndex(u)}else{z=u.firstChild;t=1}s=z;p=t}if(!v){y=u.previousSibling;x=u.nextSibling;d(c.grep(u.childNodes),function(B){if(B.nodeType==3){B.nodeValue=B.nodeValue.replace(/\uFEFF/g,"")}});while(u=l.get(n.id+"_"+A)){l.remove(u,1)}if(y&&x&&y.nodeType==x.nodeType&&y.nodeType==3&&!c.isOpera){t=y.nodeValue.length;y.appendData(x.nodeValue);l.remove(x);if(A=="start"){j=s=y;o=p=t}else{s=y;p=t}}}}}function m(t){if(!a&&l.isBlock(t)&&!t.innerHTML){t.innerHTML='
'}return t}k("start");k("end");if(j){f=l.createRng();f.setStart(m(j),o);f.setEnd(m(s),p);r.setRng(f)}}else{if(n.name){r.select(l.select(n.name)[n.index])}else{if(n.rng){r.setRng(n.rng)}}}}}},select:function(k,j){var i=this,l=i.dom,g=l.createRng(),f;f=l.nodeIndex(k);g.setStart(k.parentNode,f);g.setEnd(k.parentNode,f+1);if(j){function h(m,o){var n=new c.dom.TreeWalker(m,m);do{if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){if(o){g.setStart(m,0)}else{g.setEnd(m,m.nodeValue.length)}return}if(m.nodeName=="BR"){if(o){g.setStartBefore(m)}else{g.setEndBefore(m)}return}}while(m=(o?n.next():n.prev()))}h(k,1);h(k)}i.setRng(g);return k},isCollapsed:function(){var f=this,h=f.getRng(),g=f.getSel();if(!h||h.item){return false}if(h.compareEndPoints){return h.compareEndPoints("StartToEnd",h)===0}return !g||h.collapsed},collapse:function(f){var g=this,h=g.getRng(),i;if(h.item){i=h.item(0);h=this.win.document.body.createTextRange();h.moveToElementText(i)}h.collapse(!!f);g.setRng(h)},getSel:function(){var g=this,f=this.win;return f.getSelection?f.getSelection():f.document.selection},getRng:function(l){var g=this,h,i,k,j=g.win.document;if(l&&g.tridentSel){return g.tridentSel.getRangeAt(0)}try{if(h=g.getSel()){i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():j.createRange())}}catch(f){}if(c.isIE&&i.setStart&&j.selection.createRange().item){k=j.selection.createRange().item(0);i=j.createRange();i.setStartBefore(k);i.setEndAfter(k)}if(!i){i=j.createRange?j.createRange():j.body.createTextRange()}if(g.selectedRange&&g.explicitRange){if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){i=g.explicitRange}else{g.selectedRange=null;g.explicitRange=null}}return i},setRng:function(i){var h,g=this;if(!g.tridentSel){h=g.getSel();if(h){g.explicitRange=i;h.removeAllRanges();h.addRange(i);g.selectedRange=h.getRangeAt(0)}}else{if(i.cloneRange){g.tridentSel.addRange(i);return}try{i.select()}catch(f){}}},setNode:function(g){var f=this;f.setContent(f.dom.getOuterHTML(g));return g},getNode:function(){var g=this,f=g.getRng(),h=g.getSel(),i;if(f.setStart){if(!f){return g.dom.getRoot()}i=f.commonAncestorContainer;if(!f.collapsed){if(f.startContainer==f.endContainer){if(f.startOffset-f.endOffset<2){if(f.startContainer.hasChildNodes()){i=f.startContainer.childNodes[f.startOffset]}}}if(c.isWebKit&&h.anchorNode&&h.anchorNode.nodeType==1){return h.anchorNode.childNodes[h.anchorOffset]}}if(i&&i.nodeType==3){return i.parentNode}return i}return f.item?f.item(0):f.parentElement()},getSelectedBlocks:function(g,f){var i=this,j=i.dom,m,h,l,k=[];m=j.getParent(g||i.getStart(),j.isBlock);h=j.getParent(f||i.getEnd(),j.isBlock);if(m){k.push(m)}if(m&&h&&m!=h){l=m;while((l=l.nextSibling)&&l!=h){if(j.isBlock(l)){k.push(l)}}}if(h&&m!=h){k.push(h)}return k},destroy:function(g){var f=this;f.win=null;if(f.tridentSel){f.tridentSel.destroy()}if(!g){c.removeUnload(f.destroy)}},_fixIESelection:function(){var m=this.dom,l=m.doc,g=l.body,i,j;l.documentElement.unselectable=true;function k(n,q){var o=g.createTextRange();try{o.moveToPoint(n,q)}catch(p){o=null}return o}function h(o){var n;if(o.button){n=k(o.x,o.y);if(n){if(n.compareEndPoints("StartToStart",j)>0){n.setEndPoint("StartToStart",j)}else{n.setEndPoint("EndToEnd",j)}n.select()}}else{f()}}function f(){m.unbind(l,"mouseup",f);m.unbind(l,"mousemove",h);i=0}m.bind(l,"mousedown",function(n){if(n.target.nodeName==="HTML"){if(i){f()}i=1;j=k(n.x,n.y);if(j){m.bind(l,"mouseup",f);m.bind(l,"mousemove",h);m.win.focus();j.select()}}})}})})(tinymce);(function(a){a.create("tinymce.dom.XMLWriter",{node:null,XMLWriter:function(c){function b(){var e=document.implementation;if(!e||!e.createDocument){try{return new ActiveXObject("MSXML2.DOMDocument")}catch(d){}try{return new ActiveXObject("Microsoft.XmlDom")}catch(d){}}else{return e.createDocument("","",null)}}this.doc=b();this.valid=a.isOpera||a.isWebKit;this.reset()},reset:function(){var b=this,c=b.doc;if(c.firstChild){c.removeChild(c.firstChild)}b.node=c.appendChild(c.createElement("html"))},writeStartElement:function(c){var b=this;b.node=b.node.appendChild(b.doc.createElement(c))},writeAttribute:function(c,b){if(this.valid){b=b.replace(/>/g,"%MCGT%")}this.node.setAttribute(c,b)},writeEndElement:function(){this.node=this.node.parentNode},writeFullEndElement:function(){var b=this,c=b.node;c.appendChild(b.doc.createTextNode(""));b.node=c.parentNode},writeText:function(b){if(this.valid){b=b.replace(/>/g,"%MCGT%")}this.node.appendChild(this.doc.createTextNode(b))},writeCDATA:function(b){this.node.appendChild(this.doc.createCDATASection(b))},writeComment:function(b){if(a.isIE){b=b.replace(/^\-|\-$/g," ")}this.node.appendChild(this.doc.createComment(b.replace(/\-\-/g," ")))},getContent:function(){var b;b=this.doc.xml||new XMLSerializer().serializeToString(this.doc);b=b.replace(/<\?[^?]+\?>|]*>|<\/html>||]+>/g,"");b=b.replace(/ ?\/>/g," />");if(this.valid){b=b.replace(/\%MCGT%/g,">")}return b}})})(tinymce);(function(c){var d=/[&\"<>]/g,b=/[<>&]/g,a={"&":"&",'"':""","<":"<",">":">"};c.create("tinymce.dom.StringWriter",{str:null,tags:null,count:0,settings:null,indent:null,StringWriter:function(e){this.settings=c.extend({indent_char:" ",indentation:0},e);this.reset()},reset:function(){this.indent="";this.str="";this.tags=[];this.count=0},writeStartElement:function(e){this._writeAttributesEnd();this.writeRaw("<"+e);this.tags.push(e);this.inAttr=true;this.count++;this.elementCount=this.count;this.attrs={}},writeAttribute:function(g,e){var f=this;if(!f.attrs[g]){f.writeRaw(" "+f.encode(g,true)+'="'+f.encode(e,true)+'"');f.attrs[g]=e}},writeEndElement:function(){var e;if(this.tags.length>0){e=this.tags.pop();if(this._writeAttributesEnd(1)){this.writeRaw("")}if(this.settings.indentation>0){this.writeRaw("\n")}}},writeFullEndElement:function(){if(this.tags.length>0){this._writeAttributesEnd();this.writeRaw("");if(this.settings.indentation>0){this.writeRaw("\n")}}},writeText:function(e){this._writeAttributesEnd();this.writeRaw(this.encode(e));this.count++},writeCDATA:function(e){this._writeAttributesEnd();this.writeRaw("");this.count++},writeComment:function(e){this._writeAttributesEnd();this.writeRaw("");this.count++},writeRaw:function(e){this.str+=e},encode:function(f,e){return f.replace(e?d:b,function(g){return a[g]})},getContent:function(){return this.str},_writeAttributesEnd:function(e){if(!this.inAttr){return}this.inAttr=false;if(e&&this.elementCount==this.count){this.writeRaw(" />");return false}this.writeRaw(">");return true}})})(tinymce);(function(e){var g=e.extend,f=e.each,b=e.util.Dispatcher,d=e.isIE,a=e.isGecko;function c(h){return h.replace(/([?+*])/g,".$1")}e.create("tinymce.dom.Serializer",{Serializer:function(j){var i=this;i.key=0;i.onPreProcess=new b(i);i.onPostProcess=new b(i);try{i.writer=new e.dom.XMLWriter()}catch(h){i.writer=new e.dom.StringWriter()}if(e.isIE&&document.documentMode>8){i.writer=new e.dom.StringWriter()}i.settings=j=g({dom:e.DOM,valid_nodes:0,node_filter:0,attr_filter:0,invalid_attrs:/^(_mce_|_moz_|sizset|sizcache)/,closed:/^(br|hr|input|meta|img|link|param|area)$/,entity_encoding:"named",entities:"160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",valid_elements:"*[*]",extended_valid_elements:0,invalid_elements:0,fix_table_elements:1,fix_list_elements:true,fix_content_duplication:true,convert_fonts_to_spans:false,font_size_classes:0,apply_source_formatting:0,indent_mode:"simple",indent_char:"\t",indent_levels:1,remove_linebreaks:1,remove_redundant_brs:1,element_format:"xhtml"},j);i.dom=j.dom;i.schema=j.schema;if(j.entity_encoding=="named"&&!j.entities){j.entity_encoding="raw"}if(j.remove_redundant_brs){i.onPostProcess.add(function(k,l){l.content=l.content.replace(/(
\s*)+<\/(p|h[1-6]|div|li)>/gi,function(n,m,o){if(/^
\s*<\//.test(n)){return""}return n})})}if(j.element_format=="html"){i.onPostProcess.add(function(k,l){l.content=l.content.replace(/<([^>]+) \/>/g,"<$1>")})}if(j.fix_list_elements){i.onPreProcess.add(function(v,s){var l,z,y=["ol","ul"],u,t,q,k=/^(OL|UL)$/,A;function m(r,x){var o=x.split(","),p;while((r=r.previousSibling)!=null){for(p=0;p1){f(q[1].split("|"),function(u){var p={},t;k=k||[];u=u.replace(/::/g,"~");u=/^([!\-])?([\w*.?~_\-]+|)([=:<])?(.+)?$/.exec(u);u[2]=u[2].replace(/~/g,":");if(u[1]=="!"){r=r||[];r.push(u[2])}if(u[1]=="-"){for(t=0;t]*>)(.*?)(<\/script>)/g},{pattern:/(]*>)(.*?)(<\/noscript>)/g},{pattern:/(]*>)(.*?)(<\/style>)/g},{pattern:/(]*>)(.*?)(<\/pre>)/g,encode:1},{pattern:/()/g}]});j=l.content;if(k.entity_encoding!=="raw"){j=i._encode(j)}if(!n.set){j=e._replace(/

\s+<\/p>|]+)>\s+<\/p>/g,k.entity_encoding=="numeric"?" 

":" 

",j);if(k.remove_linebreaks){j=j.replace(/\r?\n|\r/g," ");j=e._replace(/(<[^>]+>)\s+/g,"$1 ",j);j=e._replace(/\s+(<\/[^>]+>)/g," $1",j);j=e._replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object) ([^>]+)>\s+/g,"<$1 $2>",j);j=e._replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>\s+/g,"<$1>",j);j=e._replace(/\s+<\/(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>/g,"",j)}if(k.apply_source_formatting&&k.indent_mode=="simple"){j=e._replace(/<(\/?)(ul|hr|table|meta|link|tbody|tr|object|body|head|html|map)(|[^>]+)>\s*/g,"\n<$1$2$3>\n",j);j=e._replace(/\s*<(p|h[1-6]|blockquote|div|title|style|pre|script|td|li|area)(|[^>]+)>/g,"\n<$1$2>",j);j=e._replace(/<\/(p|h[1-6]|blockquote|div|title|style|pre|script|td|li)>\s*/g,"\n",j);j=j.replace(/\n\n/g,"\n")}}j=i._unprotect(j,l);j=e._replace(//g,"",j);if(k.entity_encoding=="raw"){j=e._replace(/

 <\/p>|]+)> <\/p>/g,"\u00a0

",j)}j=j.replace(/]+|)>([\s\S]*?)<\/noscript>/g,function(h,p,o){return""+i.dom.decode(o.replace(//g,""))+""})}n.content=j},_serializeNode:function(E,J){var A=this,B=A.settings,y=A.writer,q,j,u,G,F,I,C,h,z,k,r,D,p,m,H,o,x;if(!B.node_filter||B.node_filter(E)){switch(E.nodeType){case 1:if(E.hasAttribute?E.hasAttribute("_mce_bogus"):E.getAttribute("_mce_bogus")){return}p=H=false;q=E.hasChildNodes();k=E.getAttribute("_mce_name")||E.nodeName.toLowerCase();o=E.getAttribute("_mce_type");if(o){if(!A._info.cleanup){p=true;return}else{H=1}}if(d){x=E.scopeName;if(x&&x!=="HTML"&&x!=="html"){k=x+":"+k}}if(k.indexOf("mce:")===0){k=k.substring(4)}if(!H){if(!A.validElementsRE||!A.validElementsRE.test(k)||(A.invalidElementsRE&&A.invalidElementsRE.test(k))||J){p=true;break}}if(d){if(B.fix_content_duplication){if(E._mce_serialized==A.key){return}E._mce_serialized=A.key}if(k.charAt(0)=="/"){k=k.substring(1)}}else{if(a){if(E.nodeName==="BR"&&E.getAttribute("type")=="_moz"){return}}}if(B.validate_children){if(A.elementName&&!A.schema.isValid(A.elementName,k)){p=true;break}A.elementName=k}r=A.findRule(k);if(!r){p=true;break}k=r.name||k;m=B.closed.test(k);if((!q&&r.noEmpty)||(d&&!k)){p=true;break}if(r.requiredAttribs){I=r.requiredAttribs;for(G=I.length-1;G>=0;G--){if(this.dom.getAttrib(E,I[G])!==""){break}}if(G==-1){p=true;break}}y.writeStartElement(k);if(r.attribs){for(G=0,C=r.attribs,F=C.length;G-1;G--){h=C[G];if(h.specified){I=h.nodeName.toLowerCase();if(B.invalid_attrs.test(I)||!r.validAttribsRE.test(I)){continue}D=A.findAttribRule(r,I);z=A._getAttrib(E,D,I);if(z!==null){y.writeAttribute(I,z)}}}}if(o&&H){y.writeAttribute("_mce_type",o)}if(k==="script"&&e.trim(E.innerHTML)){y.writeText("// ");y.writeCDATA(E.innerHTML.replace(/|<\[CDATA\[|\]\]>/g,""));q=false;break}if(r.padd){if(q&&(u=E.firstChild)&&u.nodeType===1&&E.childNodes.length===1){if(u.hasAttribute?u.hasAttribute("_mce_bogus"):u.getAttribute("_mce_bogus")){y.writeText("\u00a0")}}else{if(!q){y.writeText("\u00a0")}}}break;case 3:if(B.validate_children&&A.elementName&&!A.schema.isValid(A.elementName,"#text")){return}return y.writeText(E.nodeValue);case 4:return y.writeCDATA(E.nodeValue);case 8:return y.writeComment(E.nodeValue)}}else{if(E.nodeType==1){q=E.hasChildNodes()}}if(q&&!m){u=E.firstChild;while(u){A._serializeNode(u);A.elementName=k;u=u.nextSibling}}if(!p){if(!m){y.writeFullEndElement()}else{y.writeEndElement()}}},_protect:function(j){var i=this;j.items=j.items||[];function h(l){return l.replace(/[\r\n\\]/g,function(m){if(m==="\n"){return"\\n"}else{if(m==="\\"){return"\\\\"}}return"\\r"})}function k(l){return l.replace(/\\[\\rn]/g,function(m){if(m==="\\n"){return"\n"}else{if(m==="\\\\"){return"\\"}}return"\r"})}f(j.patterns,function(l){j.content=k(h(j.content).replace(l.pattern,function(n,o,m,p){m=k(m);if(l.encode){m=i._encode(m)}j.items.push(m);return o+""+p}))});return j},_unprotect:function(i,j){i=i.replace(/\"))}if(a&&j.ListBox){if(a.Button||a.SplitButton){e+=b.createHTML("td",{"class":"mceToolbarEnd"},b.createHTML("span",null,""))}}if(b.stdMode){e+=''+j.renderHTML()+""}else{e+=""+j.renderHTML()+""}if(f&&j.ListBox){if(f.Button||f.SplitButton){e+=b.createHTML("td",{"class":"mceToolbarStart"},b.createHTML("span",null,""))}}}g="mceToolbarEnd";if(j.Button){g+=" mceToolbarEndButton"}else{if(j.SplitButton){g+=" mceToolbarEndSplitButton"}else{if(j.ListBox){g+=" mceToolbarEndListBox"}}}e+=b.createHTML("td",{"class":g},b.createHTML("span",null,""));return b.createHTML("table",{id:l.id,"class":"mceToolbar"+(m["class"]?" "+m["class"]:""),cellpadding:"0",cellspacing:"0",align:l.settings.align||""},""+e+"")}});(function(b){var a=b.util.Dispatcher,c=b.each;b.create("tinymce.AddOnManager",{AddOnManager:function(){var d=this;d.items=[];d.urls={};d.lookup={};d.onAdd=new a(d)},get:function(d){return this.lookup[d]},requireLangPack:function(e){var d=b.settings;if(d&&d.language){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(e,d){this.items.push(d);this.lookup[e]=d;this.onAdd.dispatch(this,e,d);return d},load:function(h,e,d,g){var f=this;if(f.urls[h]){return}if(e.indexOf("/")!=0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}f.urls[h]=e.substring(0,e.lastIndexOf("/"));if(!f.lookup[h]){b.ScriptLoader.add(e,d,g)}}});b.PluginManager=new b.AddOnManager();b.ThemeManager=new b.AddOnManager()}(tinymce));(function(j){var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");if(!/[\/\\]$/.test(j.documentBaseURL)){j.documentBaseURL+="/"}j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);j.baseURI=new j.util.URI(j.baseURL);j.onBeforeUnload=new h(j);i.add(window,"beforeunload",function(l){j.onBeforeUnload.dispatch(j,l)});j.onAddEditor=new h(j);j.onRemoveEditor=new h(j);j.EditorManager=d(j,{editors:[],i18n:{},activeEditor:null,init:function(q){var n=this,p,l=j.ScriptLoader,u,o=[],m;function r(x,y,t){var v=x[y];if(!v){return}if(j.is(v,"string")){t=v.replace(/\.\w+$/,"");t=t?j.resolve(t):0;v=j.resolve(v)}return v.apply(t||this,Array.prototype.slice.call(arguments,2))}q=d({theme:"simple",language:"en"},q);n.settings=q;i.add(document,"init",function(){var s,v;r(q,"onpageload");switch(q.mode){case"exact":s=q.elements||"";if(s.length>0){g(e(s),function(x){if(k.get(x)){m=new j.Editor(x,q);o.push(m);m.render(1)}else{g(document.forms,function(y){g(y.elements,function(z){if(z.name===x){x="mce_editor_"+c++;k.setAttrib(z,"id",x);m=new j.Editor(x,q);o.push(m);m.render(1)}})})}})}break;case"textareas":case"specific_textareas":function t(y,x){return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)}g(k.select("textarea"),function(x){if(q.editor_deselector&&t(x,q.editor_deselector)){return}if(!q.editor_selector||t(x,q.editor_selector)){u=k.get(x.name);if(!x.id&&!u){x.id=x.name}if(!x.id||n.get(x.id)){x.id=k.uniqueId()}m=new j.Editor(x.id,q);o.push(m);m.render(1)}});break}if(q.oninit){s=v=0;g(o,function(x){v++;if(!x.initialized){x.onInit.add(function(){s++;if(s==v){r(q,"oninit")}})}else{s++}if(s==v){r(q,"oninit")}})}})},get:function(l){if(l===a){return this.editors}return this.editors[l]},getInstanceById:function(l){return this.get(l)},add:function(m){var l=this,n=l.editors;n[m.id]=m;n.push(m);l._setActive(m);l.onAddEditor.dispatch(l,m);if(j.adapter){j.adapter.patchEditor(m)}return m},remove:function(n){var m=this,l,o=m.editors;if(!o[n.id]){return null}delete o[n.id];for(l=0;l':"",visual_table_class:"mceItemTable",visual:1,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",apply_source_formatting:1,directionality:"ltr",forced_root_block:"p",valid_elements:"@[id|class|style|title|dir';if(F.document_base_url!=m.documentBaseURL){E.iframeHTML+=''}E.iframeHTML+='';if(m.relaxedDomain){E.iframeHTML+=''; + + bi = s.body_id || 'tinymce'; + if (bi.indexOf('=') != -1) { + bi = t.getParam('body_id', '', 'hash'); + bi = bi[t.id] || bi; + } + + bc = s.body_class || ''; + if (bc.indexOf('=') != -1) { + bc = t.getParam('body_class', '', 'hash'); + bc = bc[t.id] || ''; + } + + t.iframeHTML += ''; + + // Domain relaxing enabled, then set document domain + if (tinymce.relaxedDomain) { + // We need to write the contents here in IE since multiple writes messes up refresh button and back button + if (isIE || (tinymce.isOpera && parseFloat(opera.version()) >= 9.5)) + u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.tinyMCE.get("' + t.id + '");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'; + else if (tinymce.isOpera) + u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";document.close();ed.setupIframe();})()'; + } + + // Create iframe + n = DOM.add(o.iframeContainer, 'iframe', { + id : t.id + "_ifr", + src : u || 'javascript:""', // Workaround for HTTPS warning in IE6/7 + frameBorder : '0', + style : { + width : '100%', + height : h + } + }); + + t.contentAreaContainer = o.iframeContainer; + DOM.get(o.editorContainer).style.display = t.orgDisplay; + DOM.get(t.id).style.display = 'none'; + + if (!isIE || !tinymce.relaxedDomain) + t.setupIframe(); + + e = n = o = null; // Cleanup + }, + + setupIframe : function() { + var t = this, s = t.settings, e = DOM.get(t.id), d = t.getDoc(), h, b; + + // Setup iframe body + if (!isIE || !tinymce.relaxedDomain) { + d.open(); + d.write(t.iframeHTML); + d.close(); + } + + // Design mode needs to be added here Ctrl+A will fail otherwise + if (!isIE) { + try { + if (!s.readonly) + d.designMode = 'On'; + } catch (ex) { + // Will fail on Gecko if the editor is placed in an hidden container element + // The design mode will be set ones the editor is focused + } + } + + // IE needs to use contentEditable or it will display non secure items for HTTPS + if (isIE) { + // It will not steal focus if we hide it while setting contentEditable + b = t.getBody(); + DOM.hide(b); + + if (!s.readonly) + b.contentEditable = true; + + DOM.show(b); + } + + t.dom = new tinymce.dom.DOMUtils(t.getDoc(), { + keep_values : true, + url_converter : t.convertURL, + url_converter_scope : t, + hex_colors : s.force_hex_style_colors, + class_filter : s.class_filter, + update_styles : 1, + fix_ie_paragraphs : 1, + valid_styles : s.valid_styles + }); + + t.schema = new tinymce.dom.Schema(); + + t.serializer = new tinymce.dom.Serializer(extend(s, { + valid_elements : s.verify_html === false ? '*[*]' : s.valid_elements, + dom : t.dom, + schema : t.schema + })); + + t.selection = new tinymce.dom.Selection(t.dom, t.getWin(), t.serializer); + + t.formatter = new tinymce.Formatter(this); + + // Register default formats + t.formatter.register({ + alignleft : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'left'}}, + {selector : 'img,table', styles : {'float' : 'left'}} + ], + + aligncenter : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'center'}}, + {selector : 'img', styles : {display : 'block', marginLeft : 'auto', marginRight : 'auto'}}, + {selector : 'table', styles : {marginLeft : 'auto', marginRight : 'auto'}} + ], + + alignright : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'right'}}, + {selector : 'img,table', styles : {'float' : 'right'}} + ], + + alignfull : [ + {selector : 'p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li', styles : {textAlign : 'justify'}} + ], + + bold : [ + {inline : 'strong'}, + {inline : 'span', styles : {fontWeight : 'bold'}}, + {inline : 'b'} + ], + + italic : [ + {inline : 'em'}, + {inline : 'span', styles : {fontStyle : 'italic'}}, + {inline : 'i'} + ], + + underline : [ + {inline : 'span', styles : {textDecoration : 'underline'}, exact : true}, + {inline : 'u'} + ], + + strikethrough : [ + {inline : 'span', styles : {textDecoration : 'line-through'}, exact : true}, + {inline : 'u'} + ], + + forecolor : {inline : 'span', styles : {color : '%value'}, wrap_links : false}, + hilitecolor : {inline : 'span', styles : {backgroundColor : '%value'}, wrap_links : false}, + fontname : {inline : 'span', styles : {fontFamily : '%value'}}, + fontsize : {inline : 'span', styles : {fontSize : '%value'}}, + fontsize_class : {inline : 'span', attributes : {'class' : '%value'}}, + blockquote : {block : 'blockquote', wrapper : 1, remove : 'all'}, + + removeformat : [ + {selector : 'b,strong,em,i,font,u,strike', remove : 'all', split : true, expand : false, block_expand : true, deep : true}, + {selector : 'span', attributes : ['style', 'class'], remove : 'empty', split : true, expand : false, deep : true}, + {selector : '*', attributes : ['style', 'class'], split : false, expand : false, deep : true} + ] + }); + + // Register default block formats + each('p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp'.split(/\s/), function(name) { + t.formatter.register(name, {block : name, remove : 'all'}); + }); + + // Register user defined formats + t.formatter.register(t.settings.formats); + + t.undoManager = new tinymce.UndoManager(t); + + // Pass through + t.undoManager.onAdd.add(function(um, l) { + if (!l.initial) + return t.onChange.dispatch(t, l, um); + }); + + t.undoManager.onUndo.add(function(um, l) { + return t.onUndo.dispatch(t, l, um); + }); + + t.undoManager.onRedo.add(function(um, l) { + return t.onRedo.dispatch(t, l, um); + }); + + t.forceBlocks = new tinymce.ForceBlocks(t, { + forced_root_block : s.forced_root_block + }); + + t.editorCommands = new tinymce.EditorCommands(t); + + // Pass through + t.serializer.onPreProcess.add(function(se, o) { + return t.onPreProcess.dispatch(t, o, se); + }); + + t.serializer.onPostProcess.add(function(se, o) { + return t.onPostProcess.dispatch(t, o, se); + }); + + t.onPreInit.dispatch(t); + + if (!s.gecko_spellcheck) + t.getBody().spellcheck = 0; + + if (!s.readonly) + t._addEvents(); + + t.controlManager.onPostRender.dispatch(t, t.controlManager); + t.onPostRender.dispatch(t); + + if (s.directionality) + t.getBody().dir = s.directionality; + + if (s.nowrap) + t.getBody().style.whiteSpace = "nowrap"; + + if (s.custom_elements) { + function handleCustom(ed, o) { + each(explode(s.custom_elements), function(v) { + var n; + + if (v.indexOf('~') === 0) { + v = v.substring(1); + n = 'span'; + } else + n = 'div'; + + o.content = o.content.replace(new RegExp('<(' + v + ')([^>]*)>', 'g'), '<' + n + ' _mce_name="$1"$2>'); + o.content = o.content.replace(new RegExp('', 'g'), ''); + }); + }; + + t.onBeforeSetContent.add(handleCustom); + t.onPostProcess.add(function(ed, o) { + if (o.set) + handleCustom(ed, o); + }); + } + + if (s.handle_node_change_callback) { + t.onNodeChange.add(function(ed, cm, n) { + t.execCallback('handle_node_change_callback', t.id, n, -1, -1, true, t.selection.isCollapsed()); + }); + } + + if (s.save_callback) { + t.onSaveContent.add(function(ed, o) { + var h = t.execCallback('save_callback', t.id, o.content, t.getBody()); + + if (h) + o.content = h; + }); + } + + if (s.onchange_callback) { + t.onChange.add(function(ed, l) { + t.execCallback('onchange_callback', t, l); + }); + } + + if (s.convert_newlines_to_brs) { + t.onBeforeSetContent.add(function(ed, o) { + if (o.initial) + o.content = o.content.replace(/\r?\n/g, '
'); + }); + } + + if (s.fix_nesting && isIE) { + t.onBeforeSetContent.add(function(ed, o) { + o.content = t._fixNesting(o.content); + }); + } + + if (s.preformatted) { + t.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/^\s*/, ''); + o.content = o.content.replace(/<\/pre>\s*$/, ''); + + if (o.set) + o.content = '
' + o.content + '
'; + }); + } + + if (s.verify_css_classes) { + t.serializer.attribValueFilter = function(n, v) { + var s, cl; + + if (n == 'class') { + // Build regexp for classes + if (!t.classesRE) { + cl = t.dom.getClasses(); + + if (cl.length > 0) { + s = ''; + + each (cl, function(o) { + s += (s ? '|' : '') + o['class']; + }); + + t.classesRE = new RegExp('(' + s + ')', 'gi'); + } + } + + return !t.classesRE || /(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(v) || t.classesRE.test(v) ? v : ''; + } + + return v; + }; + } + + if (s.cleanup_callback) { + t.onBeforeSetContent.add(function(ed, o) { + o.content = t.execCallback('cleanup_callback', 'insert_to_editor', o.content, o); + }); + + t.onPreProcess.add(function(ed, o) { + if (o.set) + t.execCallback('cleanup_callback', 'insert_to_editor_dom', o.node, o); + + if (o.get) + t.execCallback('cleanup_callback', 'get_from_editor_dom', o.node, o); + }); + + t.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t.execCallback('cleanup_callback', 'insert_to_editor', o.content, o); + + if (o.get) + o.content = t.execCallback('cleanup_callback', 'get_from_editor', o.content, o); + }); + } + + if (s.save_callback) { + t.onGetContent.add(function(ed, o) { + if (o.save) + o.content = t.execCallback('save_callback', t.id, o.content, t.getBody()); + }); + } + + if (s.handle_event_callback) { + t.onEvent.add(function(ed, e, o) { + if (t.execCallback('handle_event_callback', e, ed, o) === false) + Event.cancel(e); + }); + } + + // Add visual aids when new contents is added + t.onSetContent.add(function() { + t.addVisual(t.getBody()); + }); + + // Remove empty contents + if (s.padd_empty_editor) { + t.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
[\r\n]*)$/, ''); + }); + } + + if (isGecko) { + // Fix gecko link bug, when a link is placed at the end of block elements there is + // no way to move the caret behind the link. This fix adds a bogus br element after the link + function fixLinks(ed, o) { + each(ed.dom.select('a'), function(n) { + var pn = n.parentNode; + + if (ed.dom.isBlock(pn) && pn.lastChild === n) + ed.dom.add(pn, 'br', {'_mce_bogus' : 1}); + }); + }; + + t.onExecCommand.add(function(ed, cmd) { + if (cmd === 'CreateLink') + fixLinks(ed); + }); + + t.onSetContent.add(t.selection.onSetContent.add(fixLinks)); + + if (!s.readonly) { + try { + // Design mode must be set here once again to fix a bug where + // Ctrl+A/Delete/Backspace didn't work if the editor was added using mceAddControl then removed then added again + d.designMode = 'Off'; + d.designMode = 'On'; + } catch (ex) { + // Will fail on Gecko if the editor is placed in an hidden container element + // The design mode will be set ones the editor is focused + } + } + } + + // A small timeout was needed since firefox will remove. Bug: #1838304 + setTimeout(function () { + if (t.removed) + return; + + t.load({initial : true, format : (s.cleanup_on_startup ? 'html' : 'raw')}); + t.startContent = t.getContent({format : 'raw'}); + t.initialized = true; + + t.onInit.dispatch(t); + t.execCallback('setupcontent_callback', t.id, t.getBody(), t.getDoc()); + t.execCallback('init_instance_callback', t); + t.focus(true); + t.nodeChanged({initial : 1}); + + // Load specified content CSS last + if (s.content_css) { + tinymce.each(explode(s.content_css), function(u) { + t.dom.loadCSS(t.documentBaseURI.toAbsolute(u)); + }); + } + + // Handle auto focus + if (s.auto_focus) { + setTimeout(function () { + var ed = tinymce.get(s.auto_focus); + + ed.selection.select(ed.getBody(), 1); + ed.selection.collapse(1); + ed.getWin().focus(); + }, 100); + } + }, 1); + + e = null; + }, + + + focus : function(sf) { + var oed, t = this, ce = t.settings.content_editable, ieRng, controlElm, doc = t.getDoc(); + + if (!sf) { + // Get selected control element + ieRng = t.selection.getRng(); + if (ieRng.item) { + controlElm = ieRng.item(0); + } + + // Is not content editable + if (!ce) + t.getWin().focus(); + + // Restore selected control element + // This is needed when for example an image is selected within a + // layer a call to focus will then remove the control selection + if (controlElm && controlElm.ownerDocument == doc) { + ieRng = doc.body.createControlRange(); + ieRng.addElement(controlElm); + ieRng.select(); + } + + } + + if (tinymce.activeEditor != t) { + if ((oed = tinymce.activeEditor) != null) + oed.onDeactivate.dispatch(oed, t); + + t.onActivate.dispatch(t, oed); + } + + tinymce._setActive(t); + }, + + execCallback : function(n) { + var t = this, f = t.settings[n], s; + + if (!f) + return; + + // Look through lookup + if (t.callbackLookup && (s = t.callbackLookup[n])) { + f = s.func; + s = s.scope; + } + + if (is(f, 'string')) { + s = f.replace(/\.\w+$/, ''); + s = s ? tinymce.resolve(s) : 0; + f = tinymce.resolve(f); + t.callbackLookup = t.callbackLookup || {}; + t.callbackLookup[n] = {func : f, scope : s}; + } + + return f.apply(s || t, Array.prototype.slice.call(arguments, 1)); + }, + + translate : function(s) { + var c = this.settings.language || 'en', i18n = tinymce.i18n; + + if (!s) + return ''; + + return i18n[c + '.' + s] || s.replace(/{\#([^}]+)\}/g, function(a, b) { + return i18n[c + '.' + b] || '{#' + b + '}'; + }); + }, + + getLang : function(n, dv) { + return tinymce.i18n[(this.settings.language || 'en') + '.' + n] || (is(dv) ? dv : '{#' + n + '}'); + }, + + getParam : function(n, dv, ty) { + var tr = tinymce.trim, v = is(this.settings[n]) ? this.settings[n] : dv, o; + + if (ty === 'hash') { + o = {}; + + if (is(v, 'string')) { + each(v.indexOf('=') > 0 ? v.split(/[;,](?![^=;,]*(?:[;,]|$))/) : v.split(','), function(v) { + v = v.split('='); + + if (v.length > 1) + o[tr(v[0])] = tr(v[1]); + else + o[tr(v[0])] = tr(v); + }); + } else + o = v; + + return o; + } + + return v; + }, + + nodeChanged : function(o) { + var t = this, s = t.selection, n = (isIE ? s.getNode() : s.getStart()) || t.getBody(); + + // Fix for bug #1896577 it seems that this can not be fired while the editor is loading + if (t.initialized) { + o = o || {}; + n = isIE && n.ownerDocument != t.getDoc() ? t.getBody() : n; // Fix for IE initial state + + // Get parents and add them to object + o.parents = []; + t.dom.getParent(n, function(node) { + if (node.nodeName == 'BODY') + return true; + + o.parents.push(node); + }); + + t.onNodeChange.dispatch( + t, + o ? o.controlManager || t.controlManager : t.controlManager, + n, + s.isCollapsed(), + o + ); + } + }, + + addButton : function(n, s) { + var t = this; + + t.buttons = t.buttons || {}; + t.buttons[n] = s; + }, + + addCommand : function(n, f, s) { + this.execCommands[n] = {func : f, scope : s || this}; + }, + + addQueryStateHandler : function(n, f, s) { + this.queryStateCommands[n] = {func : f, scope : s || this}; + }, + + addQueryValueHandler : function(n, f, s) { + this.queryValueCommands[n] = {func : f, scope : s || this}; + }, + + addShortcut : function(pa, desc, cmd_func, sc) { + var t = this, c; + + if (!t.settings.custom_shortcuts) + return false; + + t.shortcuts = t.shortcuts || {}; + + if (is(cmd_func, 'string')) { + c = cmd_func; + + cmd_func = function() { + t.execCommand(c, false, null); + }; + } + + if (is(cmd_func, 'object')) { + c = cmd_func; + + cmd_func = function() { + t.execCommand(c[0], c[1], c[2]); + }; + } + + each(explode(pa), function(pa) { + var o = { + func : cmd_func, + scope : sc || this, + desc : desc, + alt : false, + ctrl : false, + shift : false + }; + + each(explode(pa, '+'), function(v) { + switch (v) { + case 'alt': + case 'ctrl': + case 'shift': + o[v] = true; + break; + + default: + o.charCode = v.charCodeAt(0); + o.keyCode = v.toUpperCase().charCodeAt(0); + } + }); + + t.shortcuts[(o.ctrl ? 'ctrl' : '') + ',' + (o.alt ? 'alt' : '') + ',' + (o.shift ? 'shift' : '') + ',' + o.keyCode] = o; + }); + + return true; + }, + + execCommand : function(cmd, ui, val, a) { + var t = this, s = 0, o, st; + + if (!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd) && (!a || !a.skip_focus)) + t.focus(); + + o = {}; + t.onBeforeExecCommand.dispatch(t, cmd, ui, val, o); + if (o.terminate) + return false; + + // Command callback + if (t.execCallback('execcommand_callback', t.id, t.selection.getNode(), cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Registred commands + if (o = t.execCommands[cmd]) { + st = o.func.call(o.scope, ui, val); + + // Fall through on true + if (st !== true) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return st; + } + } + + // Plugin commands + each(t.plugins, function(p) { + if (p.execCommand && p.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + s = 1; + return false; + } + }); + + if (s) + return true; + + // Theme commands + if (t.theme && t.theme.execCommand && t.theme.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Execute global commands + if (tinymce.GlobalCommands.execCommand(t, cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Editor commands + if (t.editorCommands.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Browser commands + t.getDoc().execCommand(cmd, ui, val); + t.onExecCommand.dispatch(t, cmd, ui, val, a); + }, + + queryCommandState : function(cmd) { + var t = this, o, s; + + // Is hidden then return undefined + if (t._isHidden()) + return; + + // Registred commands + if (o = t.queryStateCommands[cmd]) { + s = o.func.call(o.scope); + + // Fall though on true + if (s !== true) + return s; + } + + // Registred commands + o = t.editorCommands.queryCommandState(cmd); + if (o !== -1) + return o; + + // Browser commands + try { + return this.getDoc().queryCommandState(cmd); + } catch (ex) { + // Fails sometimes see bug: 1896577 + } + }, + + queryCommandValue : function(c) { + var t = this, o, s; + + // Is hidden then return undefined + if (t._isHidden()) + return; + + // Registred commands + if (o = t.queryValueCommands[c]) { + s = o.func.call(o.scope); + + // Fall though on true + if (s !== true) + return s; + } + + // Registred commands + o = t.editorCommands.queryCommandValue(c); + if (is(o)) + return o; + + // Browser commands + try { + return this.getDoc().queryCommandValue(c); + } catch (ex) { + // Fails sometimes see bug: 1896577 + } + }, + + show : function() { + var t = this; + + DOM.show(t.getContainer()); + DOM.hide(t.id); + t.load(); + }, + + hide : function() { + var t = this, d = t.getDoc(); + + // Fixed bug where IE has a blinking cursor left from the editor + if (isIE && d) + d.execCommand('SelectAll'); + + // We must save before we hide so Safari doesn't crash + t.save(); + DOM.hide(t.getContainer()); + DOM.setStyle(t.id, 'display', t.orgDisplay); + }, + + isHidden : function() { + return !DOM.isHidden(this.id); + }, + + setProgressState : function(b, ti, o) { + this.onSetProgressState.dispatch(this, b, ti, o); + + return b; + }, + + load : function(o) { + var t = this, e = t.getElement(), h; + + if (e) { + o = o || {}; + o.load = true; + + // Double encode existing entities in the value + h = t.setContent(is(e.value) ? e.value : e.innerHTML, o); + o.element = e; + + if (!o.no_events) + t.onLoadContent.dispatch(t, o); + + o.element = e = null; + + return h; + } + }, + + save : function(o) { + var t = this, e = t.getElement(), h, f; + + if (!e || !t.initialized) + return; + + o = o || {}; + o.save = true; + + // Add undo level will trigger onchange event + if (!o.no_events) { + t.undoManager.typing = 0; + t.undoManager.add(); + } + + o.element = e; + h = o.content = t.getContent(o); + + if (!o.no_events) + t.onSaveContent.dispatch(t, o); + + h = o.content; + + if (!/TEXTAREA|INPUT/i.test(e.nodeName)) { + e.innerHTML = h; + + // Update hidden form element + if (f = DOM.getParent(t.id, 'form')) { + each(f.elements, function(e) { + if (e.name == t.id) { + e.value = h; + return false; + } + }); + } + } else + e.value = h; + + o.element = e = null; + + return h; + }, + + setContent : function(h, o) { + var t = this; + + o = o || {}; + o.format = o.format || 'html'; + o.set = true; + o.content = h; + + if (!o.no_events) + t.onBeforeSetContent.dispatch(t, o); + + // Padd empty content in Gecko and Safari. Commands will otherwise fail on the content + // It will also be impossible to place the caret in the editor unless there is a BR element present + if (!tinymce.isIE && (h.length === 0 || /^\s+$/.test(h))) { + o.content = t.dom.setHTML(t.getBody(), '
'); + o.format = 'raw'; + } + + o.content = t.dom.setHTML(t.getBody(), tinymce.trim(o.content)); + + if (o.format != 'raw' && t.settings.cleanup) { + o.getInner = true; + o.content = t.dom.setHTML(t.getBody(), t.serializer.serialize(t.getBody(), o)); + } + + if (!o.no_events) + t.onSetContent.dispatch(t, o); + + return o.content; + }, + + getContent : function(o) { + var t = this, h; + + o = o || {}; + o.format = o.format || 'html'; + o.get = true; + + if (!o.no_events) + t.onBeforeGetContent.dispatch(t, o); + + if (o.format != 'raw' && t.settings.cleanup) { + o.getInner = true; + h = t.serializer.serialize(t.getBody(), o); + } else + h = t.getBody().innerHTML; + + h = h.replace(/^\s*|\s*$/g, ''); + o.content = h; + + if (!o.no_events) + t.onGetContent.dispatch(t, o); + + return o.content; + }, + + isDirty : function() { + var t = this; + + return tinymce.trim(t.startContent) != tinymce.trim(t.getContent({format : 'raw', no_events : 1})) && !t.isNotDirty; + }, + + getContainer : function() { + var t = this; + + if (!t.container) + t.container = DOM.get(t.editorContainer || t.id + '_parent'); + + return t.container; + }, + + getContentAreaContainer : function() { + return this.contentAreaContainer; + }, + + getElement : function() { + return DOM.get(this.settings.content_element || this.id); + }, + + getWin : function() { + var t = this, e; + + if (!t.contentWindow) { + e = DOM.get(t.id + "_ifr"); + + if (e) + t.contentWindow = e.contentWindow; + } + + return t.contentWindow; + }, + + getDoc : function() { + var t = this, w; + + if (!t.contentDocument) { + w = t.getWin(); + + if (w) + t.contentDocument = w.document; + } + + return t.contentDocument; + }, + + getBody : function() { + return this.bodyElement || this.getDoc().body; + }, + + convertURL : function(u, n, e) { + var t = this, s = t.settings; + + // Use callback instead + if (s.urlconverter_callback) + return t.execCallback('urlconverter_callback', u, e, true, n); + + // Don't convert link href since thats the CSS files that gets loaded into the editor also skip local file URLs + if (!s.convert_urls || (e && e.nodeName == 'LINK') || u.indexOf('file:') === 0) + return u; + + // Convert to relative + if (s.relative_urls) + return t.documentBaseURI.toRelative(u); + + // Convert to absolute + u = t.documentBaseURI.toAbsolute(u, s.remove_script_host); + + return u; + }, + + addVisual : function(e) { + var t = this, s = t.settings; + + e = e || t.getBody(); + + if (!is(t.hasVisual)) + t.hasVisual = s.visual; + + each(t.dom.select('table,a', e), function(e) { + var v; + + switch (e.nodeName) { + case 'TABLE': + v = t.dom.getAttrib(e, 'border'); + + if (!v || v == '0') { + if (t.hasVisual) + t.dom.addClass(e, s.visual_table_class); + else + t.dom.removeClass(e, s.visual_table_class); + } + + return; + + case 'A': + v = t.dom.getAttrib(e, 'name'); + + if (v) { + if (t.hasVisual) + t.dom.addClass(e, 'mceItemAnchor'); + else + t.dom.removeClass(e, 'mceItemAnchor'); + } + + return; + } + }); + + t.onVisualAid.dispatch(t, e, t.hasVisual); + }, + + remove : function() { + var t = this, e = t.getContainer(); + + t.removed = 1; // Cancels post remove event execution + t.hide(); + + t.execCallback('remove_instance_callback', t); + t.onRemove.dispatch(t); + + // Clear all execCommand listeners this is required to avoid errors if the editor was removed inside another command + t.onExecCommand.listeners = []; + + tinymce.remove(t); + DOM.remove(e); + }, + + destroy : function(s) { + var t = this; + + // One time is enough + if (t.destroyed) + return; + + if (!s) { + tinymce.removeUnload(t.destroy); + tinyMCE.onBeforeUnload.remove(t._beforeUnload); + + // Manual destroy + if (t.theme && t.theme.destroy) + t.theme.destroy(); + + // Destroy controls, selection and dom + t.controlManager.destroy(); + t.selection.destroy(); + t.dom.destroy(); + + // Remove all events + + // Don't clear the window or document if content editable + // is enabled since other instances might still be present + if (!t.settings.content_editable) { + Event.clear(t.getWin()); + Event.clear(t.getDoc()); + } + + Event.clear(t.getBody()); + Event.clear(t.formElement); + } + + if (t.formElement) { + t.formElement.submit = t.formElement._mceOldSubmit; + t.formElement._mceOldSubmit = null; + } + + t.contentAreaContainer = t.formElement = t.container = t.settings.content_element = t.bodyElement = t.contentDocument = t.contentWindow = null; + + if (t.selection) + t.selection = t.selection.win = t.selection.dom = t.selection.dom.doc = null; + + t.destroyed = 1; + }, + + // Internal functions + + _addEvents : function() { + // 'focus', 'blur', 'dblclick', 'beforedeactivate', submit, reset + var t = this, i, s = t.settings, dom = t.dom, lo = { + mouseup : 'onMouseUp', + mousedown : 'onMouseDown', + click : 'onClick', + keyup : 'onKeyUp', + keydown : 'onKeyDown', + keypress : 'onKeyPress', + submit : 'onSubmit', + reset : 'onReset', + contextmenu : 'onContextMenu', + dblclick : 'onDblClick', + paste : 'onPaste' // Doesn't work in all browsers yet + }; + + function eventHandler(e, o) { + var ty = e.type; + + // Don't fire events when it's removed + if (t.removed) + return; + + // Generic event handler + if (t.onEvent.dispatch(t, e, o) !== false) { + // Specific event handler + t[lo[e.fakeType || e.type]].dispatch(t, e, o); + } + }; + + // Add DOM events + each(lo, function(v, k) { + switch (k) { + case 'contextmenu': + if (tinymce.isOpera) { + // Fake contextmenu on Opera + dom.bind(t.getBody(), 'mousedown', function(e) { + if (e.ctrlKey) { + e.fakeType = 'contextmenu'; + eventHandler(e); + } + }); + } else + dom.bind(t.getBody(), k, eventHandler); + break; + + case 'paste': + dom.bind(t.getBody(), k, function(e) { + eventHandler(e); + }); + break; + + case 'submit': + case 'reset': + dom.bind(t.getElement().form || DOM.getParent(t.id, 'form'), k, eventHandler); + break; + + default: + dom.bind(s.content_editable ? t.getBody() : t.getDoc(), k, eventHandler); + } + }); + + dom.bind(s.content_editable ? t.getBody() : (isGecko ? t.getDoc() : t.getWin()), 'focus', function(e) { + t.focus(true); + }); + + + // Fixes bug where a specified document_base_uri could result in broken images + // This will also fix drag drop of images in Gecko + if (tinymce.isGecko) { + dom.bind(t.getDoc(), 'DOMNodeInserted', function(e) { + var v; + + e = e.target; + + if (e.nodeType === 1 && e.nodeName === 'IMG' && (v = e.getAttribute('_mce_src'))) + e.src = t.documentBaseURI.toAbsolute(v); + }); + } + + // Set various midas options in Gecko + if (isGecko) { + function setOpts() { + var t = this, d = t.getDoc(), s = t.settings; + + if (isGecko && !s.readonly) { + if (t._isHidden()) { + try { + if (!s.content_editable) + d.designMode = 'On'; + } catch (ex) { + // Fails if it's hidden + } + } + + try { + // Try new Gecko method + d.execCommand("styleWithCSS", 0, false); + } catch (ex) { + // Use old method + if (!t._isHidden()) + try {d.execCommand("useCSS", 0, true);} catch (ex) {} + } + + if (!s.table_inline_editing) + try {d.execCommand('enableInlineTableEditing', false, false);} catch (ex) {} + + if (!s.object_resizing) + try {d.execCommand('enableObjectResizing', false, false);} catch (ex) {} + } + }; + + t.onBeforeExecCommand.add(setOpts); + t.onMouseDown.add(setOpts); + } + + // Workaround for bug, http://bugs.webkit.org/show_bug.cgi?id=12250 + // WebKit can't even do simple things like selecting an image + // This also fixes so it's possible to select mceItemAnchors + if (tinymce.isWebKit) { + t.onClick.add(function(ed, e) { + e = e.target; + + // Needs tobe the setBaseAndExtend or it will fail to select floated images + if (e.nodeName == 'IMG' || (e.nodeName == 'A' && dom.hasClass(e, 'mceItemAnchor'))) { + t.selection.getSel().setBaseAndExtent(e, 0, e, 1); + t.nodeChanged(); + } + }); + } + + // Add node change handlers + t.onMouseUp.add(t.nodeChanged); + //t.onClick.add(t.nodeChanged); + t.onKeyUp.add(function(ed, e) { + var c = e.keyCode; + + if ((c >= 33 && c <= 36) || (c >= 37 && c <= 40) || c == 13 || c == 45 || c == 46 || c == 8 || (tinymce.isMac && (c == 91 || c == 93)) || e.ctrlKey) + t.nodeChanged(); + }); + + // Add reset handler + t.onReset.add(function() { + t.setContent(t.startContent, {format : 'raw'}); + }); + + // Add shortcuts + if (s.custom_shortcuts) { + if (s.custom_undo_redo_keyboard_shortcuts) { + t.addShortcut('ctrl+z', t.getLang('undo_desc'), 'Undo'); + t.addShortcut('ctrl+y', t.getLang('redo_desc'), 'Redo'); + } + + // Add default shortcuts for gecko + t.addShortcut('ctrl+b', t.getLang('bold_desc'), 'Bold'); + t.addShortcut('ctrl+i', t.getLang('italic_desc'), 'Italic'); + t.addShortcut('ctrl+u', t.getLang('underline_desc'), 'Underline'); + + // BlockFormat shortcuts keys + for (i=1; i<=6; i++) + t.addShortcut('ctrl+' + i, '', ['FormatBlock', false, 'h' + i]); + + t.addShortcut('ctrl+7', '', ['FormatBlock', false, '

']); + t.addShortcut('ctrl+8', '', ['FormatBlock', false, '

']); + t.addShortcut('ctrl+9', '', ['FormatBlock', false, '
']); + + function find(e) { + var v = null; + + if (!e.altKey && !e.ctrlKey && !e.metaKey) + return v; + + each(t.shortcuts, function(o) { + if (tinymce.isMac && o.ctrl != e.metaKey) + return; + else if (!tinymce.isMac && o.ctrl != e.ctrlKey) + return; + + if (o.alt != e.altKey) + return; + + if (o.shift != e.shiftKey) + return; + + if (e.keyCode == o.keyCode || (e.charCode && e.charCode == o.charCode)) { + v = o; + return false; + } + }); + + return v; + }; + + t.onKeyUp.add(function(ed, e) { + var o = find(e); + + if (o) + return Event.cancel(e); + }); + + t.onKeyPress.add(function(ed, e) { + var o = find(e); + + if (o) + return Event.cancel(e); + }); + + t.onKeyDown.add(function(ed, e) { + var o = find(e); + + if (o) { + o.func.call(o.scope); + return Event.cancel(e); + } + }); + } + + if (tinymce.isIE) { + // Fix so resize will only update the width and height attributes not the styles of an image + // It will also block mceItemNoResize items + dom.bind(t.getDoc(), 'controlselect', function(e) { + var re = t.resizeInfo, cb; + + e = e.target; + + // Don't do this action for non image elements + if (e.nodeName !== 'IMG') + return; + + if (re) + dom.unbind(re.node, re.ev, re.cb); + + if (!dom.hasClass(e, 'mceItemNoResize')) { + ev = 'resizeend'; + cb = dom.bind(e, ev, function(e) { + var v; + + e = e.target; + + if (v = dom.getStyle(e, 'width')) { + dom.setAttrib(e, 'width', v.replace(/[^0-9%]+/g, '')); + dom.setStyle(e, 'width', ''); + } + + if (v = dom.getStyle(e, 'height')) { + dom.setAttrib(e, 'height', v.replace(/[^0-9%]+/g, '')); + dom.setStyle(e, 'height', ''); + } + }); + } else { + ev = 'resizestart'; + cb = dom.bind(e, 'resizestart', Event.cancel, Event); + } + + re = t.resizeInfo = { + node : e, + ev : ev, + cb : cb + }; + }); + + t.onKeyDown.add(function(ed, e) { + switch (e.keyCode) { + case 8: + // Fix IE control + backspace browser bug + if (t.selection.getRng().item) { + ed.dom.remove(t.selection.getRng().item(0)); + return Event.cancel(e); + } + } + }); + + /*if (t.dom.boxModel) { + t.getBody().style.height = '100%'; + + Event.add(t.getWin(), 'resize', function(e) { + var docElm = t.getDoc().documentElement; + + docElm.style.height = (docElm.offsetHeight - 10) + 'px'; + }); + }*/ + } + + if (tinymce.isOpera) { + t.onClick.add(function(ed, e) { + Event.prevent(e); + }); + } + + // Add custom undo/redo handlers + if (s.custom_undo_redo) { + function addUndo() { + t.undoManager.typing = 0; + t.undoManager.add(); + }; + + dom.bind(t.getDoc(), 'focusout', function(e) { + if (!t.removed && t.undoManager.typing) + addUndo(); + }); + + t.onKeyUp.add(function(ed, e) { + if ((e.keyCode >= 33 && e.keyCode <= 36) || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 13 || e.keyCode == 45 || e.ctrlKey) + addUndo(); + }); + + t.onKeyDown.add(function(ed, e) { + var rng, parent, bookmark; + + // IE has a really odd bug where the DOM might include an node that doesn't have + // a proper structure. If you try to access nodeValue it would throw an illegal value exception. + // This seems to only happen when you delete contents and it seems to be avoidable if you refresh the element + // after you delete contents from it. See: #3008923 + if (isIE && e.keyCode == 46) { + rng = t.selection.getRng(); + + if (rng.parentElement) { + parent = rng.parentElement(); + + // Select next word when ctrl key is used in combo with delete + if (e.ctrlKey) { + rng.moveEnd('word', 1); + rng.select(); + } + + // Delete contents + t.selection.getSel().clear(); + + // Check if we are within the same parent + if (rng.parentElement() == parent) { + bookmark = t.selection.getBookmark(); + + try { + // Update the HTML and hopefully it will remove the artifacts + parent.innerHTML = parent.innerHTML; + } catch (ex) { + // And since it's IE it can sometimes produce an unknown runtime error + } + + // Restore the caret position + t.selection.moveToBookmark(bookmark); + } + + // Block the default delete behavior since it might be broken + e.preventDefault(); + return; + } + } + + // Is caracter positon keys + if ((e.keyCode >= 33 && e.keyCode <= 36) || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 13 || e.keyCode == 45) { + if (t.undoManager.typing) + addUndo(); + + return; + } + + if (!t.undoManager.typing) { + t.undoManager.add(); + t.undoManager.typing = 1; + } + }); + + t.onMouseDown.add(function() { + if (t.undoManager.typing) + addUndo(); + }); + } + }, + + _isHidden : function() { + var s; + + if (!isGecko) + return 0; + + // Weird, wheres that cursor selection? + s = this.selection.getSel(); + return (!s || !s.rangeCount || s.rangeCount == 0); + }, + + // Fix for bug #1867292 + _fixNesting : function(s) { + var d = [], i; + + s = s.replace(/<(\/)?([^\s>]+)[^>]*?>/g, function(a, b, c) { + var e; + + // Handle end element + if (b === '/') { + if (!d.length) + return ''; + + if (c !== d[d.length - 1].tag) { + for (i=d.length - 1; i>=0; i--) { + if (d[i].tag === c) { + d[i].close = 1; + break; + } + } + + return ''; + } else { + d.pop(); + + if (d.length && d[d.length - 1].close) { + a = a + ''; + d.pop(); + } + } + } else { + // Ignore these + if (/^(br|hr|input|meta|img|link|param)$/i.test(c)) + return a; + + // Ignore closed ones + if (/\/>$/.test(a)) + return a; + + d.push({tag : c}); // Push start element + } + + return a; + }); + + // End all open tags + for (i=d.length - 1; i>=0; i--) + s += ''; + + return s; + } + }); +})(tinymce); + +(function(tinymce) { + // Added for compression purposes + var each = tinymce.each, undefined, TRUE = true, FALSE = false; + + tinymce.EditorCommands = function(editor) { + var dom = editor.dom, + selection = editor.selection, + commands = {state: {}, exec : {}, value : {}}, + settings = editor.settings, + bookmark; + + function execCommand(command, ui, value) { + var func; + + command = command.toLowerCase(); + if (func = commands.exec[command]) { + func(command, ui, value); + return TRUE; + } + + return FALSE; + }; + + function queryCommandState(command) { + var func; + + command = command.toLowerCase(); + if (func = commands.state[command]) + return func(command); + + return -1; + }; + + function queryCommandValue(command) { + var func; + + command = command.toLowerCase(); + if (func = commands.value[command]) + return func(command); + + return FALSE; + }; + + function addCommands(command_list, type) { + type = type || 'exec'; + + each(command_list, function(callback, command) { + each(command.toLowerCase().split(','), function(command) { + commands[type][command] = callback; + }); + }); + }; + + // Expose public methods + tinymce.extend(this, { + execCommand : execCommand, + queryCommandState : queryCommandState, + queryCommandValue : queryCommandValue, + addCommands : addCommands + }); + + // Private methods + + function execNativeCommand(command, ui, value) { + if (ui === undefined) + ui = FALSE; + + if (value === undefined) + value = null; + + return editor.getDoc().execCommand(command, ui, value); + }; + + function isFormatMatch(name) { + return editor.formatter.match(name); + }; + + function toggleFormat(name, value) { + editor.formatter.toggle(name, value ? {value : value} : undefined); + }; + + function storeSelection(type) { + bookmark = selection.getBookmark(type); + }; + + function restoreSelection() { + selection.moveToBookmark(bookmark); + }; + + // Add execCommand overrides + addCommands({ + // Ignore these, added for compatibility + 'mceResetDesignMode,mceBeginUndoLevel' : function() {}, + + // Add undo manager logic + 'mceEndUndoLevel,mceAddUndoLevel' : function() { + editor.undoManager.add(); + }, + + 'Cut,Copy,Paste' : function(command) { + var doc = editor.getDoc(), failed; + + // Try executing the native command + try { + execNativeCommand(command); + } catch (ex) { + // Command failed + failed = TRUE; + } + + // Present alert message about clipboard access not being available + if (failed || !doc.queryCommandSupported(command)) { + if (tinymce.isGecko) { + editor.windowManager.confirm(editor.getLang('clipboard_msg'), function(state) { + if (state) + open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', '_blank'); + }); + } else + editor.windowManager.alert(editor.getLang('clipboard_no_support')); + } + }, + + // Override unlink command + unlink : function(command) { + if (selection.isCollapsed()) + selection.select(selection.getNode()); + + execNativeCommand(command); + selection.collapse(FALSE); + }, + + // Override justify commands to use the text formatter engine + 'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull' : function(command) { + var align = command.substring(7); + + // Remove all other alignments first + each('left,center,right,full'.split(','), function(name) { + if (align != name) + editor.formatter.remove('align' + name); + }); + + toggleFormat('align' + align); + }, + + // Override list commands to fix WebKit bug + 'InsertUnorderedList,InsertOrderedList' : function(command) { + var listElm, listParent; + + execNativeCommand(command); + + // WebKit produces lists within block elements so we need to split them + // we will replace the native list creation logic to custom logic later on + // TODO: Remove this when the list creation logic is removed + listElm = dom.getParent(selection.getNode(), 'ol,ul'); + if (listElm) { + listParent = listElm.parentNode; + + // If list is within a text block then split that block + if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) { + storeSelection(); + dom.split(listParent, listElm); + restoreSelection(); + } + } + }, + + // Override commands to use the text formatter engine + 'Bold,Italic,Underline,Strikethrough' : function(command) { + toggleFormat(command); + }, + + // Override commands to use the text formatter engine + 'ForeColor,HiliteColor,FontName' : function(command, ui, value) { + toggleFormat(command, value); + }, + + FontSize : function(command, ui, value) { + var fontClasses, fontSizes; + + // Convert font size 1-7 to styles + if (value >= 1 && value <= 7) { + fontSizes = tinymce.explode(settings.font_size_style_values); + fontClasses = tinymce.explode(settings.font_size_classes); + + if (fontClasses) + value = fontClasses[value - 1] || value; + else + value = fontSizes[value - 1] || value; + } + + toggleFormat(command, value); + }, + + RemoveFormat : function(command) { + editor.formatter.remove(command); + }, + + mceBlockQuote : function(command) { + toggleFormat('blockquote'); + }, + + FormatBlock : function(command, ui, value) { + return toggleFormat(value || 'p'); + }, + + mceCleanup : function() { + var bookmark = selection.getBookmark(); + + editor.setContent(editor.getContent({cleanup : TRUE}), {cleanup : TRUE}); + + selection.moveToBookmark(bookmark); + }, + + mceRemoveNode : function(command, ui, value) { + var node = value || selection.getNode(); + + // Make sure that the body node isn't removed + if (node != editor.getBody()) { + storeSelection(); + editor.dom.remove(node, TRUE); + restoreSelection(); + } + }, + + mceSelectNodeDepth : function(command, ui, value) { + var counter = 0; + + dom.getParent(selection.getNode(), function(node) { + if (node.nodeType == 1 && counter++ == value) { + selection.select(node); + return FALSE; + } + }, editor.getBody()); + }, + + mceSelectNode : function(command, ui, value) { + selection.select(value); + }, + + mceInsertContent : function(command, ui, value) { + selection.setContent(value); + }, + + mceInsertRawHTML : function(command, ui, value) { + selection.setContent('tiny_mce_marker'); + editor.setContent(editor.getContent().replace(/tiny_mce_marker/g, function() { return value })); + }, + + mceSetContent : function(command, ui, value) { + editor.setContent(value); + }, + + 'Indent,Outdent' : function(command) { + var intentValue, indentUnit, value; + + // Setup indent level + intentValue = settings.indentation; + indentUnit = /[a-z%]+$/i.exec(intentValue); + intentValue = parseInt(intentValue); + + if (!queryCommandState('InsertUnorderedList') && !queryCommandState('InsertOrderedList')) { + each(selection.getSelectedBlocks(), function(element) { + if (command == 'outdent') { + value = Math.max(0, parseInt(element.style.paddingLeft || 0) - intentValue); + dom.setStyle(element, 'paddingLeft', value ? value + indentUnit : ''); + } else + dom.setStyle(element, 'paddingLeft', (parseInt(element.style.paddingLeft || 0) + intentValue) + indentUnit); + }); + } else + execNativeCommand(command); + }, + + mceRepaint : function() { + var bookmark; + + if (tinymce.isGecko) { + try { + storeSelection(TRUE); + + if (selection.getSel()) + selection.getSel().selectAllChildren(editor.getBody()); + + selection.collapse(TRUE); + restoreSelection(); + } catch (ex) { + // Ignore + } + } + }, + + mceToggleFormat : function(command, ui, value) { + editor.formatter.toggle(value); + }, + + InsertHorizontalRule : function() { + selection.setContent('
'); + }, + + mceToggleVisualAid : function() { + editor.hasVisual = !editor.hasVisual; + editor.addVisual(); + }, + + mceReplaceContent : function(command, ui, value) { + selection.setContent(value.replace(/\{\$selection\}/g, selection.getContent({format : 'text'}))); + }, + + mceInsertLink : function(command, ui, value) { + var link = dom.getParent(selection.getNode(), 'a'); + + if (tinymce.is(value, 'string')) + value = {href : value}; + + if (!link) { + execNativeCommand('CreateLink', FALSE, 'javascript:mctmp(0);'); + each(dom.select('a[href=javascript:mctmp(0);]'), function(link) { + dom.setAttribs(link, value); + }); + } else { + if (value.href) + dom.setAttribs(link, value); + else + editor.dom.remove(link, TRUE); + } + }, + + selectAll : function() { + var root = dom.getRoot(), rng = dom.createRng(); + + rng.setStart(root, 0); + rng.setEnd(root, root.childNodes.length); + + editor.selection.setRng(rng); + } + }); + + // Add queryCommandState overrides + addCommands({ + // Override justify commands + 'JustifyLeft,JustifyCenter,JustifyRight,JustifyFull' : function(command) { + return isFormatMatch('align' + command.substring(7)); + }, + + 'Bold,Italic,Underline,Strikethrough' : function(command) { + return isFormatMatch(command); + }, + + mceBlockQuote : function() { + return isFormatMatch('blockquote'); + }, + + Outdent : function() { + var node; + + if (settings.inline_styles) { + if ((node = dom.getParent(selection.getStart(), dom.isBlock)) && parseInt(node.style.paddingLeft) > 0) + return TRUE; + + if ((node = dom.getParent(selection.getEnd(), dom.isBlock)) && parseInt(node.style.paddingLeft) > 0) + return TRUE; + } + + return queryCommandState('InsertUnorderedList') || queryCommandState('InsertOrderedList') || (!settings.inline_styles && !!dom.getParent(selection.getNode(), 'BLOCKQUOTE')); + }, + + 'InsertUnorderedList,InsertOrderedList' : function(command) { + return dom.getParent(selection.getNode(), command == 'insertunorderedlist' ? 'UL' : 'OL'); + } + }, 'state'); + + // Add queryCommandValue overrides + addCommands({ + 'FontSize,FontName' : function(command) { + var value = 0, parent; + + if (parent = dom.getParent(selection.getNode(), 'span')) { + if (command == 'fontsize') + value = parent.style.fontSize; + else + value = parent.style.fontFamily.replace(/, /g, ',').replace(/[\'\"]/g, '').toLowerCase(); + } + + return value; + } + }, 'value'); + + // Add undo manager logic + if (settings.custom_undo_redo) { + addCommands({ + Undo : function() { + editor.undoManager.undo(); + }, + + Redo : function() { + editor.undoManager.redo(); + } + }); + } + }; +})(tinymce); +(function(tinymce) { + var Dispatcher = tinymce.util.Dispatcher; + + tinymce.UndoManager = function(editor) { + var self, index = 0, data = []; + + function getContent() { + return tinymce.trim(editor.getContent({format : 'raw', no_events : 1})); + }; + + return self = { + typing : 0, + + onAdd : new Dispatcher(self), + onUndo : new Dispatcher(self), + onRedo : new Dispatcher(self), + + add : function(level) { + var i, settings = editor.settings, lastLevel; + + level = level || {}; + level.content = getContent(); + + // Add undo level if needed + lastLevel = data[index]; + if (lastLevel && lastLevel.content == level.content) { + if (index > 0 || data.length == 1) + return null; + } + + // Time to compress + if (settings.custom_undo_redo_levels) { + if (data.length > settings.custom_undo_redo_levels) { + for (i = 0; i < data.length - 1; i++) + data[i] = data[i + 1]; + + data.length--; + index = data.length; + } + } + + // Get a non intrusive normalized bookmark + level.bookmark = editor.selection.getBookmark(2, true); + + // Crop array if needed + if (index < data.length - 1) { + // Treat first level as initial + if (index == 0) + data = []; + else + data.length = index + 1; + } + + data.push(level); + index = data.length - 1; + + self.onAdd.dispatch(self, level); + editor.isNotDirty = 0; + + return level; + }, + + undo : function() { + var level, i; + + if (self.typing) { + self.add(); + self.typing = 0; + } + + if (index > 0) { + level = data[--index]; + + editor.setContent(level.content, {format : 'raw'}); + editor.selection.moveToBookmark(level.bookmark); + + self.onUndo.dispatch(self, level); + } + + return level; + }, + + redo : function() { + var level; + + if (index < data.length - 1) { + level = data[++index]; + + editor.setContent(level.content, {format : 'raw'}); + editor.selection.moveToBookmark(level.bookmark); + + self.onRedo.dispatch(self, level); + } + + return level; + }, + + clear : function() { + data = []; + index = self.typing = 0; + }, + + hasUndo : function() { + return index > 0 || self.typing; + }, + + hasRedo : function() { + return index < data.length - 1; + } + }; + }; +})(tinymce); + +(function(tinymce) { + // Shorten names + var Event = tinymce.dom.Event, + isIE = tinymce.isIE, + isGecko = tinymce.isGecko, + isOpera = tinymce.isOpera, + each = tinymce.each, + extend = tinymce.extend, + TRUE = true, + FALSE = false; + + function cloneFormats(node) { + var clone, temp, inner; + + do { + if (/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(node.nodeName)) { + if (clone) { + temp = node.cloneNode(false); + temp.appendChild(clone); + clone = temp; + } else { + clone = inner = node.cloneNode(false); + } + + clone.removeAttribute('id'); + } + } while (node = node.parentNode); + + if (clone) + return {wrapper : clone, inner : inner}; + }; + + // Checks if the selection/caret is at the end of the specified block element + function isAtEnd(rng, par) { + var rng2 = par.ownerDocument.createRange(); + + rng2.setStart(rng.endContainer, rng.endOffset); + rng2.setEndAfter(par); + + // Get number of characters to the right of the cursor if it's zero then we are at the end and need to merge the next block element + return rng2.cloneContents().textContent.length == 0; + }; + + function isEmpty(n) { + n = n.innerHTML; + + n = n.replace(/<(img|hr|table|input|select|textarea)[ \>]/gi, '-'); // Keep these convert them to - chars + n = n.replace(/<[^>]+>/g, ''); // Remove all tags + + return n.replace(/[ \u00a0\t\r\n]+/g, '') == ''; + }; + + function splitList(selection, dom, li) { + var listBlock, block; + + if (isEmpty(li)) { + listBlock = dom.getParent(li, 'ul,ol'); + + if (!dom.getParent(listBlock.parentNode, 'ul,ol')) { + dom.split(listBlock, li); + block = dom.create('p', 0, '
'); + dom.replace(block, li); + selection.select(block, 1); + } + + return FALSE; + } + + return TRUE; + }; + + tinymce.create('tinymce.ForceBlocks', { + ForceBlocks : function(ed) { + var t = this, s = ed.settings, elm; + + t.editor = ed; + t.dom = ed.dom; + elm = (s.forced_root_block || 'p').toLowerCase(); + s.element = elm.toUpperCase(); + + ed.onPreInit.add(t.setup, t); + + t.reOpera = new RegExp('(\\u00a0| | )<\/' + elm + '>', 'gi'); + t.rePadd = new RegExp(']+)><\\\/p>|]+)\\\/>|]+)>\\s+<\\\/p>|

<\\\/p>||

\\s+<\\\/p>'.replace(/p/g, elm), 'gi'); + t.reNbsp2BR1 = new RegExp(']+)>[\\s\\u00a0]+<\\\/p>|

[\\s\\u00a0]+<\\\/p>'.replace(/p/g, elm), 'gi'); + t.reNbsp2BR2 = new RegExp('<%p()([^>]+)>( | )<\\\/%p>|<%p>( | )<\\\/%p>'.replace(/%p/g, elm), 'gi'); + t.reBR2Nbsp = new RegExp(']+)>\\s*
\\s*<\\\/p>|

\\s*
\\s*<\\\/p>'.replace(/p/g, elm), 'gi'); + + function padd(ed, o) { + if (isOpera) + o.content = o.content.replace(t.reOpera, ''); + + o.content = tinymce._replace(t.rePadd, '<' + elm + '$1$2$3$4$5$6>\u00a0', o.content); + + if (!isIE && !isOpera && o.set) { + // Use   instead of BR in padded paragraphs + o.content = o.content.replace(t.reNbsp2BR1, '<' + elm + '$1$2>
'); + o.content = o.content.replace(t.reNbsp2BR2, '<' + elm + '$1$2>
'); + } else + o.content = tinymce._replace(t.reBR2Nbsp, '<' + elm + '$1$2>\u00a0', o.content); + }; + + ed.onBeforeSetContent.add(padd); + ed.onPostProcess.add(padd); + + if (s.forced_root_block) { + ed.onInit.add(t.forceRoots, t); + ed.onSetContent.add(t.forceRoots, t); + ed.onBeforeGetContent.add(t.forceRoots, t); + } + }, + + setup : function() { + var t = this, ed = t.editor, s = ed.settings, dom = ed.dom, selection = ed.selection; + + // Force root blocks when typing and when getting output + if (s.forced_root_block) { + ed.onBeforeExecCommand.add(t.forceRoots, t); + ed.onKeyUp.add(t.forceRoots, t); + ed.onPreProcess.add(t.forceRoots, t); + } + + if (s.force_br_newlines) { + // Force IE to produce BRs on enter + if (isIE) { + ed.onKeyPress.add(function(ed, e) { + var n; + + if (e.keyCode == 13 && selection.getNode().nodeName != 'LI') { + selection.setContent('
', {format : 'raw'}); + n = dom.get('__'); + n.removeAttribute('id'); + selection.select(n); + selection.collapse(); + return Event.cancel(e); + } + }); + } + } + + if (s.force_p_newlines) { + if (!isIE) { + ed.onKeyPress.add(function(ed, e) { + if (e.keyCode == 13 && !e.shiftKey && !t.insertPara(e)) + Event.cancel(e); + }); + } else { + // Ungly hack to for IE to preserve the formatting when you press + // enter at the end of a block element with formatted contents + // This logic overrides the browsers default logic with + // custom logic that enables us to control the output + tinymce.addUnload(function() { + t._previousFormats = 0; // Fix IE leak + }); + + ed.onKeyPress.add(function(ed, e) { + t._previousFormats = 0; + + // Clone the current formats, this will later be applied to the new block contents + if (e.keyCode == 13 && !e.shiftKey && ed.selection.isCollapsed() && s.keep_styles) + t._previousFormats = cloneFormats(ed.selection.getStart()); + }); + + ed.onKeyUp.add(function(ed, e) { + // Let IE break the element and the wrap the new caret location in the previous formats + if (e.keyCode == 13 && !e.shiftKey) { + var parent = ed.selection.getStart(), fmt = t._previousFormats; + + // Parent is an empty block + if (!parent.hasChildNodes() && fmt) { + parent = dom.getParent(parent, dom.isBlock); + + if (parent && parent.nodeName != 'LI') { + parent.innerHTML = ''; + + if (t._previousFormats) { + parent.appendChild(fmt.wrapper); + fmt.inner.innerHTML = '\uFEFF'; + } else + parent.innerHTML = '\uFEFF'; + + selection.select(parent, 1); + ed.getDoc().execCommand('Delete', false, null); + t._previousFormats = 0; + } + } + } + }); + } + + if (isGecko) { + ed.onKeyDown.add(function(ed, e) { + if ((e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) + t.backspaceDelete(e, e.keyCode == 8); + }); + } + } + + // Workaround for missing shift+enter support, http://bugs.webkit.org/show_bug.cgi?id=16973 + if (tinymce.isWebKit) { + function insertBr(ed) { + var rng = selection.getRng(), br, div = dom.create('div', null, ' '), divYPos, vpHeight = dom.getViewPort(ed.getWin()).h; + + // Insert BR element + rng.insertNode(br = dom.create('br')); + + // Place caret after BR + rng.setStartAfter(br); + rng.setEndAfter(br); + selection.setRng(rng); + + // Could not place caret after BR then insert an nbsp entity and move the caret + if (selection.getSel().focusNode == br.previousSibling) { + selection.select(dom.insertAfter(dom.doc.createTextNode('\u00a0'), br)); + selection.collapse(TRUE); + } + + // Create a temporary DIV after the BR and get the position as it + // seems like getPos() returns 0 for text nodes and BR elements. + dom.insertAfter(div, br); + divYPos = dom.getPos(div).y; + dom.remove(div); + + // Scroll to new position, scrollIntoView can't be used due to bug: http://bugs.webkit.org/show_bug.cgi?id=16117 + if (divYPos > vpHeight) // It is not necessary to scroll if the DIV is inside the view port. + ed.getWin().scrollTo(0, divYPos); + }; + + ed.onKeyPress.add(function(ed, e) { + if (e.keyCode == 13 && (e.shiftKey || (s.force_br_newlines && !dom.getParent(selection.getNode(), 'h1,h2,h3,h4,h5,h6,ol,ul')))) { + insertBr(ed); + Event.cancel(e); + } + }); + } + + // Padd empty inline elements within block elements + // For example:

becomes

 

+ ed.onPreProcess.add(function(ed, o) { + each(dom.select('p,h1,h2,h3,h4,h5,h6,div', o.node), function(p) { + if (isEmpty(p)) { + each(dom.select('span,em,strong,b,i', o.node), function(n) { + if (!n.hasChildNodes()) { + n.appendChild(ed.getDoc().createTextNode('\u00a0')); + return FALSE; // Break the loop one padding is enough + } + }); + } + }); + }); + + // IE specific fixes + if (isIE) { + // Replaces IE:s auto generated paragraphs with the specified element name + if (s.element != 'P') { + ed.onKeyPress.add(function(ed, e) { + t.lastElm = selection.getNode().nodeName; + }); + + ed.onKeyUp.add(function(ed, e) { + var bl, n = selection.getNode(), b = ed.getBody(); + + if (b.childNodes.length === 1 && n.nodeName == 'P') { + n = dom.rename(n, s.element); + selection.select(n); + selection.collapse(); + ed.nodeChanged(); + } else if (e.keyCode == 13 && !e.shiftKey && t.lastElm != 'P') { + bl = dom.getParent(n, 'p'); + + if (bl) { + dom.rename(bl, s.element); + ed.nodeChanged(); + } + } + }); + } + } + }, + + find : function(n, t, s) { + var ed = this.editor, w = ed.getDoc().createTreeWalker(n, 4, null, FALSE), c = -1; + + while (n = w.nextNode()) { + c++; + + // Index by node + if (t == 0 && n == s) + return c; + + // Node by index + if (t == 1 && c == s) + return n; + } + + return -1; + }, + + forceRoots : function(ed, e) { + var t = this, ed = t.editor, b = ed.getBody(), d = ed.getDoc(), se = ed.selection, s = se.getSel(), r = se.getRng(), si = -2, ei, so, eo, tr, c = -0xFFFFFF; + var nx, bl, bp, sp, le, nl = b.childNodes, i, n, eid; + + // Fix for bug #1863847 + //if (e && e.keyCode == 13) + // return TRUE; + + // Wrap non blocks into blocks + for (i = nl.length - 1; i >= 0; i--) { + nx = nl[i]; + + // Ignore internal elements + if (nx.nodeType === 1 && nx.getAttribute('_mce_type')) { + bl = null; + continue; + } + + // Is text or non block element + if (nx.nodeType === 3 || (!t.dom.isBlock(nx) && nx.nodeType !== 8 && !/^(script|mce:script|style|mce:style)$/i.test(nx.nodeName))) { + if (!bl) { + // Create new block but ignore whitespace + if (nx.nodeType != 3 || /[^\s]/g.test(nx.nodeValue)) { + // Store selection + if (si == -2 && r) { + if (!isIE || r.setStart) { + // If selection is element then mark it + if (r.startContainer.nodeType == 1 && (n = r.startContainer.childNodes[r.startOffset]) && n.nodeType == 1) { + // Save the id of the selected element + eid = n.getAttribute("id"); + n.setAttribute("id", "__mce"); + } else { + // If element is inside body, might not be the case in contentEdiable mode + if (ed.dom.getParent(r.startContainer, function(e) {return e === b;})) { + so = r.startOffset; + eo = r.endOffset; + si = t.find(b, 0, r.startContainer); + ei = t.find(b, 0, r.endContainer); + } + } + } else { + // Force control range into text range + if (r.item) { + tr = d.body.createTextRange(); + tr.moveToElementText(r.item(0)); + r = tr; + } + + tr = d.body.createTextRange(); + tr.moveToElementText(b); + tr.collapse(1); + bp = tr.move('character', c) * -1; + + tr = r.duplicate(); + tr.collapse(1); + sp = tr.move('character', c) * -1; + + tr = r.duplicate(); + tr.collapse(0); + le = (tr.move('character', c) * -1) - sp; + + si = sp - bp; + ei = le; + } + } + + // Uses replaceChild instead of cloneNode since it removes selected attribute from option elements on IE + // See: http://support.microsoft.com/kb/829907 + bl = ed.dom.create(ed.settings.forced_root_block); + nx.parentNode.replaceChild(bl, nx); + bl.appendChild(nx); + } + } else { + if (bl.hasChildNodes()) + bl.insertBefore(nx, bl.firstChild); + else + bl.appendChild(nx); + } + } else + bl = null; // Time to create new block + } + + // Restore selection + if (si != -2) { + if (!isIE || r.setStart) { + bl = b.getElementsByTagName(ed.settings.element)[0]; + r = d.createRange(); + + // Select last location or generated block + if (si != -1) + r.setStart(t.find(b, 1, si), so); + else + r.setStart(bl, 0); + + // Select last location or generated block + if (ei != -1) + r.setEnd(t.find(b, 1, ei), eo); + else + r.setEnd(bl, 0); + + if (s) { + s.removeAllRanges(); + s.addRange(r); + } + } else { + try { + r = s.createRange(); + r.moveToElementText(b); + r.collapse(1); + r.moveStart('character', si); + r.moveEnd('character', ei); + r.select(); + } catch (ex) { + // Ignore + } + } + } else if ((!isIE || r.setStart) && (n = ed.dom.get('__mce'))) { + // Restore the id of the selected element + if (eid) + n.setAttribute('id', eid); + else + n.removeAttribute('id'); + + // Move caret before selected element + r = d.createRange(); + r.setStartBefore(n); + r.setEndBefore(n); + se.setRng(r); + } + }, + + getParentBlock : function(n) { + var d = this.dom; + + return d.getParent(n, d.isBlock); + }, + + insertPara : function(e) { + var t = this, ed = t.editor, dom = ed.dom, d = ed.getDoc(), se = ed.settings, s = ed.selection.getSel(), r = s.getRangeAt(0), b = d.body; + var rb, ra, dir, sn, so, en, eo, sb, eb, bn, bef, aft, sc, ec, n, vp = dom.getViewPort(ed.getWin()), y, ch, car; + + // If root blocks are forced then use Operas default behavior since it's really good +// Removed due to bug: #1853816 +// if (se.forced_root_block && isOpera) +// return TRUE; + + // Setup before range + rb = d.createRange(); + + // If is before the first block element and in body, then move it into first block element + rb.setStart(s.anchorNode, s.anchorOffset); + rb.collapse(TRUE); + + // Setup after range + ra = d.createRange(); + + // If is before the first block element and in body, then move it into first block element + ra.setStart(s.focusNode, s.focusOffset); + ra.collapse(TRUE); + + // Setup start/end points + dir = rb.compareBoundaryPoints(rb.START_TO_END, ra) < 0; + sn = dir ? s.anchorNode : s.focusNode; + so = dir ? s.anchorOffset : s.focusOffset; + en = dir ? s.focusNode : s.anchorNode; + eo = dir ? s.focusOffset : s.anchorOffset; + + // If selection is in empty table cell + if (sn === en && /^(TD|TH)$/.test(sn.nodeName)) { + if (sn.firstChild.nodeName == 'BR') + dom.remove(sn.firstChild); // Remove BR + + // Create two new block elements + if (sn.childNodes.length == 0) { + ed.dom.add(sn, se.element, null, '
'); + aft = ed.dom.add(sn, se.element, null, '
'); + } else { + n = sn.innerHTML; + sn.innerHTML = ''; + ed.dom.add(sn, se.element, null, n); + aft = ed.dom.add(sn, se.element, null, '
'); + } + + // Move caret into the last one + r = d.createRange(); + r.selectNodeContents(aft); + r.collapse(1); + ed.selection.setRng(r); + + return FALSE; + } + + // If the caret is in an invalid location in FF we need to move it into the first block + if (sn == b && en == b && b.firstChild && ed.dom.isBlock(b.firstChild)) { + sn = en = sn.firstChild; + so = eo = 0; + rb = d.createRange(); + rb.setStart(sn, 0); + ra = d.createRange(); + ra.setStart(en, 0); + } + + // Never use body as start or end node + sn = sn.nodeName == "HTML" ? d.body : sn; // Fix for Opera bug: https://bugs.opera.com/show_bug.cgi?id=273224&comments=yes + sn = sn.nodeName == "BODY" ? sn.firstChild : sn; + en = en.nodeName == "HTML" ? d.body : en; // Fix for Opera bug: https://bugs.opera.com/show_bug.cgi?id=273224&comments=yes + en = en.nodeName == "BODY" ? en.firstChild : en; + + // Get start and end blocks + sb = t.getParentBlock(sn); + eb = t.getParentBlock(en); + bn = sb ? sb.nodeName : se.element; // Get block name to create + + // Return inside list use default browser behavior + if (n = t.dom.getParent(sb, 'li,pre')) { + if (n.nodeName == 'LI') + return splitList(ed.selection, t.dom, n); + + return TRUE; + } + + // If caption or absolute layers then always generate new blocks within + if (sb && (sb.nodeName == 'CAPTION' || /absolute|relative|fixed/gi.test(dom.getStyle(sb, 'position', 1)))) { + bn = se.element; + sb = null; + } + + // If caption or absolute layers then always generate new blocks within + if (eb && (eb.nodeName == 'CAPTION' || /absolute|relative|fixed/gi.test(dom.getStyle(sb, 'position', 1)))) { + bn = se.element; + eb = null; + } + + // Use P instead + if (/(TD|TABLE|TH|CAPTION)/.test(bn) || (sb && bn == "DIV" && /left|right/gi.test(dom.getStyle(sb, 'float', 1)))) { + bn = se.element; + sb = eb = null; + } + + // Setup new before and after blocks + bef = (sb && sb.nodeName == bn) ? sb.cloneNode(0) : ed.dom.create(bn); + aft = (eb && eb.nodeName == bn) ? eb.cloneNode(0) : ed.dom.create(bn); + + // Remove id from after clone + aft.removeAttribute('id'); + + // Is header and cursor is at the end, then force paragraph under + if (/^(H[1-6])$/.test(bn) && isAtEnd(r, sb)) + aft = ed.dom.create(se.element); + + // Find start chop node + n = sc = sn; + do { + if (n == b || n.nodeType == 9 || t.dom.isBlock(n) || /(TD|TABLE|TH|CAPTION)/.test(n.nodeName)) + break; + + sc = n; + } while ((n = n.previousSibling ? n.previousSibling : n.parentNode)); + + // Find end chop node + n = ec = en; + do { + if (n == b || n.nodeType == 9 || t.dom.isBlock(n) || /(TD|TABLE|TH|CAPTION)/.test(n.nodeName)) + break; + + ec = n; + } while ((n = n.nextSibling ? n.nextSibling : n.parentNode)); + + // Place first chop part into before block element + if (sc.nodeName == bn) + rb.setStart(sc, 0); + else + rb.setStartBefore(sc); + + rb.setEnd(sn, so); + bef.appendChild(rb.cloneContents() || d.createTextNode('')); // Empty text node needed for Safari + + // Place secnd chop part within new block element + try { + ra.setEndAfter(ec); + } catch(ex) { + //console.debug(s.focusNode, s.focusOffset); + } + + ra.setStart(en, eo); + aft.appendChild(ra.cloneContents() || d.createTextNode('')); // Empty text node needed for Safari + + // Create range around everything + r = d.createRange(); + if (!sc.previousSibling && sc.parentNode.nodeName == bn) { + r.setStartBefore(sc.parentNode); + } else { + if (rb.startContainer.nodeName == bn && rb.startOffset == 0) + r.setStartBefore(rb.startContainer); + else + r.setStart(rb.startContainer, rb.startOffset); + } + + if (!ec.nextSibling && ec.parentNode.nodeName == bn) + r.setEndAfter(ec.parentNode); + else + r.setEnd(ra.endContainer, ra.endOffset); + + // Delete and replace it with new block elements + r.deleteContents(); + + if (isOpera) + ed.getWin().scrollTo(0, vp.y); + + // Never wrap blocks in blocks + if (bef.firstChild && bef.firstChild.nodeName == bn) + bef.innerHTML = bef.firstChild.innerHTML; + + if (aft.firstChild && aft.firstChild.nodeName == bn) + aft.innerHTML = aft.firstChild.innerHTML; + + // Padd empty blocks + if (isEmpty(bef)) + bef.innerHTML = '
'; + + function appendStyles(e, en) { + var nl = [], nn, n, i; + + e.innerHTML = ''; + + // Make clones of style elements + if (se.keep_styles) { + n = en; + do { + // We only want style specific elements + if (/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(n.nodeName)) { + nn = n.cloneNode(FALSE); + dom.setAttrib(nn, 'id', ''); // Remove ID since it needs to be unique + nl.push(nn); + } + } while (n = n.parentNode); + } + + // Append style elements to aft + if (nl.length > 0) { + for (i = nl.length - 1, nn = e; i >= 0; i--) + nn = nn.appendChild(nl[i]); + + // Padd most inner style element + nl[0].innerHTML = isOpera ? ' ' : '
'; // Extra space for Opera so that the caret can move there + return nl[0]; // Move caret to most inner element + } else + e.innerHTML = isOpera ? ' ' : '
'; // Extra space for Opera so that the caret can move there + }; + + // Fill empty afterblook with current style + if (isEmpty(aft)) + car = appendStyles(aft, en); + + // Opera needs this one backwards for older versions + if (isOpera && parseFloat(opera.version()) < 9.5) { + r.insertNode(bef); + r.insertNode(aft); + } else { + r.insertNode(aft); + r.insertNode(bef); + } + + // Normalize + aft.normalize(); + bef.normalize(); + + function first(n) { + return d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, FALSE).nextNode() || n; + }; + + // Move cursor and scroll into view + r = d.createRange(); + r.selectNodeContents(isGecko ? first(car || aft) : car || aft); + r.collapse(1); + s.removeAllRanges(); + s.addRange(r); + + // scrollIntoView seems to scroll the parent window in most browsers now including FF 3.0b4 so it's time to stop using it and do it our selfs + y = ed.dom.getPos(aft).y; + ch = aft.clientHeight; + + // Is element within viewport + if (y < vp.y || y + ch > vp.y + vp.h) { + ed.getWin().scrollTo(0, y < vp.y ? y : y - vp.h + 25); // Needs to be hardcoded to roughly one line of text if a huge text block is broken into two blocks + //console.debug('SCROLL!', 'vp.y: ' + vp.y, 'y' + y, 'vp.h' + vp.h, 'clientHeight' + aft.clientHeight, 'yyy: ' + (y < vp.y ? y : y - vp.h + aft.clientHeight)); + } + + return FALSE; + }, + + backspaceDelete : function(e, bs) { + var t = this, ed = t.editor, b = ed.getBody(), dom = ed.dom, n, se = ed.selection, r = se.getRng(), sc = r.startContainer, n, w, tn, walker; + + // Delete when caret is behind a element doesn't work correctly on Gecko see #3011651 + if (!bs && r.collapsed && sc.nodeType == 1 && r.startOffset == sc.childNodes.length) { + walker = new tinymce.dom.TreeWalker(sc.lastChild, sc); + + // Walk the dom backwards until we find a text node + for (n = sc.lastChild; n; n = walker.prev()) { + if (n.nodeType == 3) { + r.setStart(n, n.nodeValue.length); + r.collapse(true); + se.setRng(r); + return; + } + } + } + + // The caret sometimes gets stuck in Gecko if you delete empty paragraphs + // This workaround removes the element by hand and moves the caret to the previous element + if (sc && ed.dom.isBlock(sc) && !/^(TD|TH)$/.test(sc.nodeName) && bs) { + if (sc.childNodes.length == 0 || (sc.childNodes.length == 1 && sc.firstChild.nodeName == 'BR')) { + // Find previous block element + n = sc; + while ((n = n.previousSibling) && !ed.dom.isBlock(n)) ; + + if (n) { + if (sc != b.firstChild) { + // Find last text node + w = ed.dom.doc.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, FALSE); + while (tn = w.nextNode()) + n = tn; + + // Place caret at the end of last text node + r = ed.getDoc().createRange(); + r.setStart(n, n.nodeValue ? n.nodeValue.length : 0); + r.setEnd(n, n.nodeValue ? n.nodeValue.length : 0); + se.setRng(r); + + // Remove the target container + ed.dom.remove(sc); + } + + return Event.cancel(e); + } + } + } + } + }); +})(tinymce); + +(function(tinymce) { + // Shorten names + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend; + + tinymce.create('tinymce.ControlManager', { + ControlManager : function(ed, s) { + var t = this, i; + + s = s || {}; + t.editor = ed; + t.controls = {}; + t.onAdd = new tinymce.util.Dispatcher(t); + t.onPostRender = new tinymce.util.Dispatcher(t); + t.prefix = s.prefix || ed.id + '_'; + t._cls = {}; + + t.onPostRender.add(function() { + each(t.controls, function(c) { + c.postRender(); + }); + }); + }, + + get : function(id) { + return this.controls[this.prefix + id] || this.controls[id]; + }, + + setActive : function(id, s) { + var c = null; + + if (c = this.get(id)) + c.setActive(s); + + return c; + }, + + setDisabled : function(id, s) { + var c = null; + + if (c = this.get(id)) + c.setDisabled(s); + + return c; + }, + + add : function(c) { + var t = this; + + if (c) { + t.controls[c.id] = c; + t.onAdd.dispatch(c, t); + } + + return c; + }, + + createControl : function(n) { + var c, t = this, ed = t.editor; + + each(ed.plugins, function(p) { + if (p.createControl) { + c = p.createControl(n, t); + + if (c) + return false; + } + }); + + switch (n) { + case "|": + case "separator": + return t.createSeparator(); + } + + if (!c && ed.buttons && (c = ed.buttons[n])) + return t.createButton(n, c); + + return t.add(c); + }, + + createDropMenu : function(id, s, cc) { + var t = this, ed = t.editor, c, bm, v, cls; + + s = extend({ + 'class' : 'mceDropDown', + constrain : ed.settings.constrain_menus + }, s); + + s['class'] = s['class'] + ' ' + ed.getParam('skin') + 'Skin'; + if (v = ed.getParam('skin_variant')) + s['class'] += ' ' + ed.getParam('skin') + 'Skin' + v.substring(0, 1).toUpperCase() + v.substring(1); + + id = t.prefix + id; + cls = cc || t._cls.dropmenu || tinymce.ui.DropMenu; + c = t.controls[id] = new cls(id, s); + c.onAddItem.add(function(c, o) { + var s = o.settings; + + s.title = ed.getLang(s.title, s.title); + + if (!s.onclick) { + s.onclick = function(v) { + if (s.cmd) + ed.execCommand(s.cmd, s.ui || false, s.value); + }; + } + }); + + ed.onRemove.add(function() { + c.destroy(); + }); + + // Fix for bug #1897785, #1898007 + if (tinymce.isIE) { + c.onShowMenu.add(function() { + // IE 8 needs focus in order to store away a range with the current collapsed caret location + ed.focus(); + + bm = ed.selection.getBookmark(1); + }); + + c.onHideMenu.add(function() { + if (bm) { + ed.selection.moveToBookmark(bm); + bm = 0; + } + }); + } + + return t.add(c); + }, + + createListBox : function(id, s, cc) { + var t = this, ed = t.editor, cmd, c, cls; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + + if (ed.settings.use_native_selects) + c = new tinymce.ui.NativeListBox(id, s); + else { + cls = cc || t._cls.listbox || tinymce.ui.ListBox; + c = new cls(id, s); + } + + t.controls[id] = c; + + // Fix focus problem in Safari + if (tinymce.isWebKit) { + c.onPostRender.add(function(c, n) { + // Store bookmark on mousedown + Event.add(n, 'mousedown', function() { + ed.bookmark = ed.selection.getBookmark(1); + }); + + // Restore on focus, since it might be lost + Event.add(n, 'focus', function() { + ed.selection.moveToBookmark(ed.bookmark); + ed.bookmark = null; + }); + }); + } + + if (c.hideMenu) + ed.onMouseDown.add(c.hideMenu, c); + + return t.add(c); + }, + + createButton : function(id, s, cc) { + var t = this, ed = t.editor, o, c, cls; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.label = ed.translate(s.label); + s.scope = s.scope || ed; + + if (!s.onclick && !s.menu_button) { + s.onclick = function() { + ed.execCommand(s.cmd, s.ui || false, s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + unavailable_prefix : ed.getLang('unavailable', ''), + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + + if (s.menu_button) { + cls = cc || t._cls.menubutton || tinymce.ui.MenuButton; + c = new cls(id, s); + ed.onMouseDown.add(c.hideMenu, c); + } else { + cls = t._cls.button || tinymce.ui.Button; + c = new cls(id, s); + } + + return t.add(c); + }, + + createMenuButton : function(id, s, cc) { + s = s || {}; + s.menu_button = 1; + + return this.createButton(id, s, cc); + }, + + createSplitButton : function(id, s, cc) { + var t = this, ed = t.editor, cmd, c, cls; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick) { + s.onclick = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + cls = cc || t._cls.splitbutton || tinymce.ui.SplitButton; + c = t.add(new cls(id, s)); + ed.onMouseDown.add(c.hideMenu, c); + + return c; + }, + + createColorSplitButton : function(id, s, cc) { + var t = this, ed = t.editor, cmd, c, cls, bm; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick) { + s.onclick = function(v) { + if (tinymce.isIE) + bm = ed.selection.getBookmark(1); + + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + 'menu_class' : ed.getParam('skin') + 'Skin', + scope : s.scope, + more_colors_title : ed.getLang('more_colors') + }, s); + + id = t.prefix + id; + cls = cc || t._cls.colorsplitbutton || tinymce.ui.ColorSplitButton; + c = new cls(id, s); + ed.onMouseDown.add(c.hideMenu, c); + + // Remove the menu element when the editor is removed + ed.onRemove.add(function() { + c.destroy(); + }); + + // Fix for bug #1897785, #1898007 + if (tinymce.isIE) { + c.onShowMenu.add(function() { + // IE 8 needs focus in order to store away a range with the current collapsed caret location + ed.focus(); + bm = ed.selection.getBookmark(1); + }); + + c.onHideMenu.add(function() { + if (bm) { + ed.selection.moveToBookmark(bm); + bm = 0; + } + }); + } + + return t.add(c); + }, + + createToolbar : function(id, s, cc) { + var c, t = this, cls; + + id = t.prefix + id; + cls = cc || t._cls.toolbar || tinymce.ui.Toolbar; + c = new cls(id, s); + + if (t.get(id)) + return null; + + return t.add(c); + }, + + createSeparator : function(cc) { + var cls = cc || this._cls.separator || tinymce.ui.Separator; + + return new cls(); + }, + + setControlType : function(n, c) { + return this._cls[n.toLowerCase()] = c; + }, + + destroy : function() { + each(this.controls, function(c) { + c.destroy(); + }); + + this.controls = null; + } + }); +})(tinymce); + +(function(tinymce) { + var Dispatcher = tinymce.util.Dispatcher, each = tinymce.each, isIE = tinymce.isIE, isOpera = tinymce.isOpera; + + tinymce.create('tinymce.WindowManager', { + WindowManager : function(ed) { + var t = this; + + t.editor = ed; + t.onOpen = new Dispatcher(t); + t.onClose = new Dispatcher(t); + t.params = {}; + t.features = {}; + }, + + open : function(s, p) { + var t = this, f = '', x, y, mo = t.editor.settings.dialog_type == 'modal', w, sw, sh, vp = tinymce.DOM.getViewPort(), u; + + // Default some options + s = s || {}; + p = p || {}; + sw = isOpera ? vp.w : screen.width; // Opera uses windows inside the Opera window + sh = isOpera ? vp.h : screen.height; + s.name = s.name || 'mc_' + new Date().getTime(); + s.width = parseInt(s.width || 320); + s.height = parseInt(s.height || 240); + s.resizable = true; + s.left = s.left || parseInt(sw / 2.0) - (s.width / 2.0); + s.top = s.top || parseInt(sh / 2.0) - (s.height / 2.0); + p.inline = false; + p.mce_width = s.width; + p.mce_height = s.height; + p.mce_auto_focus = s.auto_focus; + + if (mo) { + if (isIE) { + s.center = true; + s.help = false; + s.dialogWidth = s.width + 'px'; + s.dialogHeight = s.height + 'px'; + s.scroll = s.scrollbars || false; + } + } + + // Build features string + each(s, function(v, k) { + if (tinymce.is(v, 'boolean')) + v = v ? 'yes' : 'no'; + + if (!/^(name|url)$/.test(k)) { + if (isIE && mo) + f += (f ? ';' : '') + k + ':' + v; + else + f += (f ? ',' : '') + k + '=' + v; + } + }); + + t.features = s; + t.params = p; + t.onOpen.dispatch(t, s, p); + + u = s.url || s.file; + u = tinymce._addVer(u); + + try { + if (isIE && mo) { + w = 1; + window.showModalDialog(u, window, f); + } else + w = window.open(u, s.name, f); + } catch (ex) { + // Ignore + } + + if (!w) + alert(t.editor.getLang('popup_blocked')); + }, + + close : function(w) { + w.close(); + this.onClose.dispatch(this); + }, + + createInstance : function(cl, a, b, c, d, e) { + var f = tinymce.resolve(cl); + + return new f(a, b, c, d, e); + }, + + confirm : function(t, cb, s, w) { + w = w || window; + + cb.call(s || this, w.confirm(this._decode(this.editor.getLang(t, t)))); + }, + + alert : function(tx, cb, s, w) { + var t = this; + + w = w || window; + w.alert(t._decode(t.editor.getLang(tx, tx))); + + if (cb) + cb.call(s || t); + }, + + resizeBy : function(dw, dh, win) { + win.resizeBy(dw, dh); + }, + + // Internal functions + + _decode : function(s) { + return tinymce.DOM.decode(s).replace(/\\n/g, '\n'); + } + }); +}(tinymce)); +(function(tinymce) { + function CommandManager() { + var execCommands = {}, queryStateCommands = {}, queryValueCommands = {}; + + function add(collection, cmd, func, scope) { + if (typeof(cmd) == 'string') + cmd = [cmd]; + + tinymce.each(cmd, function(cmd) { + collection[cmd.toLowerCase()] = {func : func, scope : scope}; + }); + }; + + tinymce.extend(this, { + add : function(cmd, func, scope) { + add(execCommands, cmd, func, scope); + }, + + addQueryStateHandler : function(cmd, func, scope) { + add(queryStateCommands, cmd, func, scope); + }, + + addQueryValueHandler : function(cmd, func, scope) { + add(queryValueCommands, cmd, func, scope); + }, + + execCommand : function(scope, cmd, ui, value, args) { + if (cmd = execCommands[cmd.toLowerCase()]) { + if (cmd.func.call(scope || cmd.scope, ui, value, args) !== false) + return true; + } + }, + + queryCommandValue : function() { + if (cmd = queryValueCommands[cmd.toLowerCase()]) + return cmd.func.call(scope || cmd.scope, ui, value, args); + }, + + queryCommandState : function() { + if (cmd = queryStateCommands[cmd.toLowerCase()]) + return cmd.func.call(scope || cmd.scope, ui, value, args); + } + }); + }; + + tinymce.GlobalCommands = new CommandManager(); +})(tinymce); +(function(tinymce) { + tinymce.Formatter = function(ed) { + var formats = {}, + each = tinymce.each, + dom = ed.dom, + selection = ed.selection, + TreeWalker = tinymce.dom.TreeWalker, + rangeUtils = new tinymce.dom.RangeUtils(dom), + isValid = ed.schema.isValid, + isBlock = dom.isBlock, + forcedRootBlock = ed.settings.forced_root_block, + nodeIndex = dom.nodeIndex, + INVISIBLE_CHAR = '\uFEFF', + MCE_ATTR_RE = /^(src|href|style)$/, + FALSE = false, + TRUE = true, + undefined, + pendingFormats = {apply : [], remove : []}; + + function isArray(obj) { + return obj instanceof Array; + }; + + function getParents(node, selector) { + return dom.getParents(node, selector, dom.getRoot()); + }; + + function isCaretNode(node) { + return node.nodeType === 1 && (node.face === 'mceinline' || node.style.fontFamily === 'mceinline'); + }; + + // Public functions + + function get(name) { + return name ? formats[name] : formats; + }; + + function register(name, format) { + if (name) { + if (typeof(name) !== 'string') { + each(name, function(format, name) { + register(name, format); + }); + } else { + // Force format into array and add it to internal collection + format = format.length ? format : [format]; + + each(format, function(format) { + // Set deep to false by default on selector formats this to avoid removing + // alignment on images inside paragraphs when alignment is changed on paragraphs + if (format.deep === undefined) + format.deep = !format.selector; + + // Default to true + if (format.split === undefined) + format.split = !format.selector || format.inline; + + // Default to true + if (format.remove === undefined && format.selector && !format.inline) + format.remove = 'none'; + + // Mark format as a mixed format inline + block level + if (format.selector && format.inline) { + format.mixed = true; + format.block_expand = true; + } + + // Split classes if needed + if (typeof(format.classes) === 'string') + format.classes = format.classes.split(/\s+/); + }); + + formats[name] = format; + } + } + }; + + function apply(name, vars, node) { + var formatList = get(name), format = formatList[0], bookmark, rng, i; + + function moveStart(rng) { + var container = rng.startContainer, + offset = rng.startOffset, + walker, node; + + // Move startContainer/startOffset in to a suitable node + if (container.nodeType == 1 || container.nodeValue === "") { + container = container.nodeType == 1 ? container.childNodes[offset] : container; + + // Might fail if the offset is behind the last element in it's container + if (container) { + walker = new TreeWalker(container, container.parentNode); + for (node = walker.current(); node; node = walker.next()) { + if (node.nodeType == 3 && !isWhiteSpaceNode(node)) { + rng.setStart(node, 0); + break; + } + } + } + } + + return rng; + }; + + function setElementFormat(elm, fmt) { + fmt = fmt || format; + + if (elm) { + each(fmt.styles, function(value, name) { + dom.setStyle(elm, name, replaceVars(value, vars)); + }); + + each(fmt.attributes, function(value, name) { + dom.setAttrib(elm, name, replaceVars(value, vars)); + }); + + each(fmt.classes, function(value) { + value = replaceVars(value, vars); + + if (!dom.hasClass(elm, value)) + dom.addClass(elm, value); + }); + } + }; + + function applyRngStyle(rng) { + var newWrappers = [], wrapName, wrapElm; + + // Setup wrapper element + wrapName = format.inline || format.block; + wrapElm = dom.create(wrapName); + setElementFormat(wrapElm); + + rangeUtils.walk(rng, function(nodes) { + var currentWrapElm; + + function process(node) { + var nodeName = node.nodeName.toLowerCase(), parentName = node.parentNode.nodeName.toLowerCase(), found; + + // Stop wrapping on br elements + if (isEq(nodeName, 'br')) { + currentWrapElm = 0; + + // Remove any br elements when we wrap things + if (format.block) + dom.remove(node); + + return; + } + + // If node is wrapper type + if (format.wrapper && matchNode(node, name, vars)) { + currentWrapElm = 0; + return; + } + + // Can we rename the block + if (format.block && !format.wrapper && isTextBlock(nodeName)) { + node = dom.rename(node, wrapName); + setElementFormat(node); + newWrappers.push(node); + currentWrapElm = 0; + return; + } + + // Handle selector patterns + if (format.selector) { + // Look for matching formats + each(formatList, function(format) { + if (dom.is(node, format.selector) && !isCaretNode(node)) { + setElementFormat(node, format); + found = true; + } + }); + + // Continue processing if a selector match wasn't found and a inline element is defined + if (!format.inline || found) { + currentWrapElm = 0; + return; + } + } + + // Is it valid to wrap this item + if ((format.wrap_links !== false || nodeName != 'a') && isValid(wrapName, nodeName) && isValid(parentName, wrapName)) { + // Start wrapping + if (!currentWrapElm) { + // Wrap the node + currentWrapElm = wrapElm.cloneNode(FALSE); + node.parentNode.insertBefore(currentWrapElm, node); + newWrappers.push(currentWrapElm); + } + + currentWrapElm.appendChild(node); + } else { + // Start a new wrapper for possible children + currentWrapElm = 0; + + each(tinymce.grep(node.childNodes), process); + + // End the last wrapper + currentWrapElm = 0; + } + }; + + // Process siblings from range + each(nodes, process); + }); + + // Cleanup + each(newWrappers, function(node) { + var childCount; + + function getChildCount(node) { + var count = 0; + + each(node.childNodes, function(node) { + if (!isWhiteSpaceNode(node) && !isBookmarkNode(node)) + count++; + }); + + return count; + }; + + function mergeStyles(node) { + var child, clone; + + each(node.childNodes, function(node) { + if (node.nodeType == 1 && !isBookmarkNode(node) && !isCaretNode(node)) { + child = node; + return FALSE; // break loop + } + }); + + // If child was found and of the same type as the current node + if (child && matchName(child, format)) { + clone = child.cloneNode(FALSE); + setElementFormat(clone); + + dom.replace(clone, node, TRUE); + dom.remove(child, 1); + } + + return clone || node; + }; + + childCount = getChildCount(node); + + // Remove empty nodes + if (childCount === 0) { + dom.remove(node, 1); + return; + } + + if (format.inline || format.wrapper) { + // Merges the current node with it's children of similar type to reduce the number of elements + if (!format.exact && childCount === 1) + node = mergeStyles(node); + + // Remove/merge children + each(formatList, function(format) { + // Merge all children of similar type will move styles from child to parent + // this: text + // will become: text + each(dom.select(format.inline, node), function(child) { + removeFormat(format, vars, child, format.exact ? child : null); + }); + }); + + // Remove child if direct parent is of same type + if (matchNode(node.parentNode, name, vars)) { + dom.remove(node, 1); + node = 0; + return TRUE; + } + + // Look for parent with similar style format + if (format.merge_with_parents) { + dom.getParent(node.parentNode, function(parent) { + if (matchNode(parent, name, vars)) { + dom.remove(node, 1); + node = 0; + return TRUE; + } + }); + } + + // Merge next and previous siblings if they are similar texttext becomes texttext + if (node) { + node = mergeSiblings(getNonWhiteSpaceSibling(node), node); + node = mergeSiblings(node, getNonWhiteSpaceSibling(node, TRUE)); + } + } + }); + }; + + if (format) { + if (node) { + rng = dom.createRng(); + + rng.setStartBefore(node); + rng.setEndAfter(node); + + applyRngStyle(expandRng(rng, formatList)); + } else { + if (!selection.isCollapsed() || !format.inline) { + // Apply formatting to selection + bookmark = selection.getBookmark(); + applyRngStyle(expandRng(selection.getRng(TRUE), formatList)); + + selection.moveToBookmark(bookmark); + selection.setRng(moveStart(selection.getRng(TRUE))); + ed.nodeChanged(); + } else + performCaretAction('apply', name, vars); + } + } + }; + + function remove(name, vars, node) { + var formatList = get(name), format = formatList[0], bookmark, i, rng; + + function moveStart(rng) { + var container = rng.startContainer, + offset = rng.startOffset, + walker, node, nodes, tmpNode; + + // Convert text node into index if possible + if (container.nodeType == 3 && offset >= container.nodeValue.length - 1) { + container = container.parentNode; + offset = nodeIndex(container) + 1; + } + + // Move startContainer/startOffset in to a suitable node + if (container.nodeType == 1) { + nodes = container.childNodes; + container = nodes[Math.min(offset, nodes.length - 1)]; + walker = new TreeWalker(container); + + // If offset is at end of the parent node walk to the next one + if (offset > nodes.length - 1) + walker.next(); + + for (node = walker.current(); node; node = walker.next()) { + if (node.nodeType == 3 && !isWhiteSpaceNode(node)) { + // IE has a "neat" feature where it moves the start node into the closest element + // we can avoid this by inserting an element before it and then remove it after we set the selection + tmpNode = dom.create('a', null, INVISIBLE_CHAR); + node.parentNode.insertBefore(tmpNode, node); + + // Set selection and remove tmpNode + rng.setStart(node, 0); + selection.setRng(rng); + dom.remove(tmpNode); + + return; + } + } + } + }; + + // Merges the styles for each node + function process(node) { + var children, i, l; + + // Grab the children first since the nodelist might be changed + children = tinymce.grep(node.childNodes); + + // Process current node + for (i = 0, l = formatList.length; i < l; i++) { + if (removeFormat(formatList[i], vars, node, node)) + break; + } + + // Process the children + if (format.deep) { + for (i = 0, l = children.length; i < l; i++) + process(children[i]); + } + }; + + function findFormatRoot(container) { + var formatRoot; + + // Find format root + each(getParents(container.parentNode).reverse(), function(parent) { + var format; + + // Find format root element + if (!formatRoot && parent.id != '_start' && parent.id != '_end') { + // Is the node matching the format we are looking for + format = matchNode(parent, name, vars); + if (format && format.split !== false) + formatRoot = parent; + } + }); + + return formatRoot; + }; + + function wrapAndSplit(format_root, container, target, split) { + var parent, clone, lastClone, firstClone, i, formatRootParent; + + // Format root found then clone formats and split it + if (format_root) { + formatRootParent = format_root.parentNode; + + for (parent = container.parentNode; parent && parent != formatRootParent; parent = parent.parentNode) { + clone = parent.cloneNode(FALSE); + + for (i = 0; i < formatList.length; i++) { + if (removeFormat(formatList[i], vars, clone, clone)) { + clone = 0; + break; + } + } + + // Build wrapper node + if (clone) { + if (lastClone) + clone.appendChild(lastClone); + + if (!firstClone) + firstClone = clone; + + lastClone = clone; + } + } + + // Never split block elements if the format is mixed + if (split && (!format.mixed || !isBlock(format_root))) + container = dom.split(format_root, container); + + // Wrap container in cloned formats + if (lastClone) { + target.parentNode.insertBefore(lastClone, target); + firstClone.appendChild(target); + } + } + + return container; + }; + + function splitToFormatRoot(container) { + return wrapAndSplit(findFormatRoot(container), container, container, true); + }; + + function unwrap(start) { + var node = dom.get(start ? '_start' : '_end'), + out = node[start ? 'firstChild' : 'lastChild']; + + // If the end is placed within the start the result will be removed + // So this checks if the out node is a bookmark node if it is it + // checks for another more suitable node + if (isBookmarkNode(out)) + out = out[start ? 'firstChild' : 'lastChild']; + + dom.remove(node, true); + + return out; + }; + + function removeRngStyle(rng) { + var startContainer, endContainer; + + rng = expandRng(rng, formatList, TRUE); + + if (format.split) { + startContainer = getContainer(rng, TRUE); + endContainer = getContainer(rng); + + if (startContainer != endContainer) { + // Wrap start/end nodes in span element since these might be cloned/moved + startContainer = wrap(startContainer, 'span', {id : '_start', _mce_type : 'bookmark'}); + endContainer = wrap(endContainer, 'span', {id : '_end', _mce_type : 'bookmark'}); + + // Split start/end + splitToFormatRoot(startContainer); + splitToFormatRoot(endContainer); + + // Unwrap start/end to get real elements again + startContainer = unwrap(TRUE); + endContainer = unwrap(); + } else + startContainer = endContainer = splitToFormatRoot(startContainer); + + // Update range positions since they might have changed after the split operations + rng.startContainer = startContainer.parentNode; + rng.startOffset = nodeIndex(startContainer); + rng.endContainer = endContainer.parentNode; + rng.endOffset = nodeIndex(endContainer) + 1; + } + + // Remove items between start/end + rangeUtils.walk(rng, function(nodes) { + each(nodes, function(node) { + process(node); + }); + }); + }; + + // Handle node + if (node) { + rng = dom.createRng(); + rng.setStartBefore(node); + rng.setEndAfter(node); + removeRngStyle(rng); + return; + } + + if (!selection.isCollapsed() || !format.inline) { + bookmark = selection.getBookmark(); + removeRngStyle(selection.getRng(TRUE)); + selection.moveToBookmark(bookmark); + + // Check if start element still has formatting then we are at: "text|text" and need to move the start into the next text node + if (match(name, vars, selection.getStart())) { + moveStart(selection.getRng(true)); + } + + ed.nodeChanged(); + } else + performCaretAction('remove', name, vars); + }; + + function toggle(name, vars, node) { + if (match(name, vars, node)) + remove(name, vars, node); + else + apply(name, vars, node); + }; + + function matchNode(node, name, vars, similar) { + var formatList = get(name), format, i, classes; + + function matchItems(node, format, item_name) { + var key, value, items = format[item_name], i; + + // Check all items + if (items) { + // Non indexed object + if (items.length === undefined) { + for (key in items) { + if (items.hasOwnProperty(key)) { + if (item_name === 'attributes') + value = dom.getAttrib(node, key); + else + value = getStyle(node, key); + + if (similar && !value && !format.exact) + return; + + if ((!similar || format.exact) && !isEq(value, replaceVars(items[key], vars))) + return; + } + } + } else { + // Only one match needed for indexed arrays + for (i = 0; i < items.length; i++) { + if (item_name === 'attributes' ? dom.getAttrib(node, items[i]) : getStyle(node, items[i])) + return format; + } + } + } + + return format; + }; + + if (formatList && node) { + // Check each format in list + for (i = 0; i < formatList.length; i++) { + format = formatList[i]; + + // Name name, attributes, styles and classes + if (matchName(node, format) && matchItems(node, format, 'attributes') && matchItems(node, format, 'styles')) { + // Match classes + if (classes = format.classes) { + for (i = 0; i < classes.length; i++) { + if (!dom.hasClass(node, classes[i])) + return; + } + } + + return format; + } + } + } + }; + + function match(name, vars, node) { + var startNode, i; + + function matchParents(node) { + // Find first node with similar format settings + node = dom.getParent(node, function(node) { + return !!matchNode(node, name, vars, true); + }); + + // Do an exact check on the similar format element + return matchNode(node, name, vars); + }; + + // Check specified node + if (node) + return matchParents(node); + + // Check pending formats + if (selection.isCollapsed()) { + for (i = pendingFormats.apply.length - 1; i >= 0; i--) { + if (pendingFormats.apply[i].name == name) + return true; + } + + for (i = pendingFormats.remove.length - 1; i >= 0; i--) { + if (pendingFormats.remove[i].name == name) + return false; + } + + return matchParents(selection.getNode()); + } + + // Check selected node + node = selection.getNode(); + if (matchParents(node)) + return TRUE; + + // Check start node if it's different + startNode = selection.getStart(); + if (startNode != node) { + if (matchParents(startNode)) + return TRUE; + } + + return FALSE; + }; + + function matchAll(names, vars) { + var startElement, matchedFormatNames = [], checkedMap = {}, i, ni, name; + + // If the selection is collapsed then check pending formats + if (selection.isCollapsed()) { + for (ni = 0; ni < names.length; ni++) { + // If the name is to be removed, then stop it from being added + for (i = pendingFormats.remove.length - 1; i >= 0; i--) { + name = names[ni]; + + if (pendingFormats.remove[i].name == name) { + checkedMap[name] = true; + break; + } + } + } + + // If the format is to be applied + for (i = pendingFormats.apply.length - 1; i >= 0; i--) { + for (ni = 0; ni < names.length; ni++) { + name = names[ni]; + + if (!checkedMap[name] && pendingFormats.apply[i].name == name) { + checkedMap[name] = true; + matchedFormatNames.push(name); + } + } + } + } + + // Check start of selection for formats + startElement = selection.getStart(); + dom.getParent(startElement, function(node) { + var i, name; + + for (i = 0; i < names.length; i++) { + name = names[i]; + + if (!checkedMap[name] && matchNode(node, name, vars)) { + checkedMap[name] = true; + matchedFormatNames.push(name); + } + } + }); + + return matchedFormatNames; + }; + + function canApply(name) { + var formatList = get(name), startNode, parents, i, x, selector; + + if (formatList) { + startNode = selection.getStart(); + parents = getParents(startNode); + + for (x = formatList.length - 1; x >= 0; x--) { + selector = formatList[x].selector; + + // Format is not selector based, then always return TRUE + if (!selector) + return TRUE; + + for (i = parents.length - 1; i >= 0; i--) { + if (dom.is(parents[i], selector)) + return TRUE; + } + } + } + + return FALSE; + }; + + // Expose to public + tinymce.extend(this, { + get : get, + register : register, + apply : apply, + remove : remove, + toggle : toggle, + match : match, + matchAll : matchAll, + matchNode : matchNode, + canApply : canApply + }); + + // Private functions + + function matchName(node, format) { + // Check for inline match + if (isEq(node, format.inline)) + return TRUE; + + // Check for block match + if (isEq(node, format.block)) + return TRUE; + + // Check for selector match + if (format.selector) + return dom.is(node, format.selector); + }; + + function isEq(str1, str2) { + str1 = str1 || ''; + str2 = str2 || ''; + + str1 = '' + (str1.nodeName || str1); + str2 = '' + (str2.nodeName || str2); + + return str1.toLowerCase() == str2.toLowerCase(); + }; + + function getStyle(node, name) { + var styleVal = dom.getStyle(node, name); + + // Force the format to hex + if (name == 'color' || name == 'backgroundColor') + styleVal = dom.toHex(styleVal); + + // Opera will return bold as 700 + if (name == 'fontWeight' && styleVal == 700) + styleVal = 'bold'; + + return '' + styleVal; + }; + + function replaceVars(value, vars) { + if (typeof(value) != "string") + value = value(vars); + else if (vars) { + value = value.replace(/%(\w+)/g, function(str, name) { + return vars[name] || str; + }); + } + + return value; + }; + + function isWhiteSpaceNode(node) { + return node && node.nodeType === 3 && /^([\s\r\n]+|)$/.test(node.nodeValue); + }; + + function wrap(node, name, attrs) { + var wrapper = dom.create(name, attrs); + + node.parentNode.insertBefore(wrapper, node); + wrapper.appendChild(node); + + return wrapper; + }; + + function expandRng(rng, format, remove) { + var startContainer = rng.startContainer, + startOffset = rng.startOffset, + endContainer = rng.endContainer, + endOffset = rng.endOffset, sibling, lastIdx; + + // This function walks up the tree if there is no siblings before/after the node + function findParentContainer(container, child_name, sibling_name, root) { + var parent, child; + + root = root || dom.getRoot(); + + for (;;) { + // Check if we can move up are we at root level or body level + parent = container.parentNode; + + // Stop expanding on block elements or root depending on format + if (parent == root || (!format[0].block_expand && isBlock(parent))) + return container; + + for (sibling = parent[child_name]; sibling && sibling != container; sibling = sibling[sibling_name]) { + if (sibling.nodeType == 1 && !isBookmarkNode(sibling)) + return container; + + if (sibling.nodeType == 3 && !isWhiteSpaceNode(sibling)) + return container; + } + + container = container.parentNode; + } + + return container; + }; + + // If index based start position then resolve it + if (startContainer.nodeType == 1 && startContainer.hasChildNodes()) { + lastIdx = startContainer.childNodes.length - 1; + startContainer = startContainer.childNodes[startOffset > lastIdx ? lastIdx : startOffset]; + + if (startContainer.nodeType == 3) + startOffset = 0; + } + + // If index based end position then resolve it + if (endContainer.nodeType == 1 && endContainer.hasChildNodes()) { + lastIdx = endContainer.childNodes.length - 1; + endContainer = endContainer.childNodes[endOffset > lastIdx ? lastIdx : endOffset - 1]; + + if (endContainer.nodeType == 3) + endOffset = endContainer.nodeValue.length; + } + + // Exclude bookmark nodes if possible + if (isBookmarkNode(startContainer.parentNode)) + startContainer = startContainer.parentNode; + + if (isBookmarkNode(startContainer)) + startContainer = startContainer.nextSibling || startContainer; + + if (isBookmarkNode(endContainer.parentNode)) + endContainer = endContainer.parentNode; + + if (isBookmarkNode(endContainer)) + endContainer = endContainer.previousSibling || endContainer; + + // Move start/end point up the tree if the leaves are sharp and if we are in different containers + // Example * becomes !: !

*texttext*

! + // This will reduce the number of wrapper elements that needs to be created + // Move start point up the tree + if (format[0].inline || format[0].block_expand) { + startContainer = findParentContainer(startContainer, 'firstChild', 'nextSibling'); + endContainer = findParentContainer(endContainer, 'lastChild', 'previousSibling'); + } + + // Expand start/end container to matching selector + if (format[0].selector && format[0].expand !== FALSE && !format[0].inline) { + function findSelectorEndPoint(container, sibling_name) { + var parents, i, y; + + if (container.nodeType == 3 && container.nodeValue.length == 0 && container[sibling_name]) + container = container[sibling_name]; + + parents = getParents(container); + for (i = 0; i < parents.length; i++) { + for (y = 0; y < format.length; y++) { + if (dom.is(parents[i], format[y].selector)) + return parents[i]; + } + } + + return container; + }; + + // Find new startContainer/endContainer if there is better one + startContainer = findSelectorEndPoint(startContainer, 'previousSibling'); + endContainer = findSelectorEndPoint(endContainer, 'nextSibling'); + } + + // Expand start/end container to matching block element or text node + if (format[0].block || format[0].selector) { + function findBlockEndPoint(container, sibling_name, sibling_name2) { + var node; + + // Expand to block of similar type + if (!format[0].wrapper) + node = dom.getParent(container, format[0].block); + + // Expand to first wrappable block element or any block element + if (!node) + node = dom.getParent(container.nodeType == 3 ? container.parentNode : container, isBlock); + + // Exclude inner lists from wrapping + if (node && format[0].wrapper) + node = getParents(node, 'ul,ol').reverse()[0] || node; + + // Didn't find a block element look for first/last wrappable element + if (!node) { + node = container; + + while (node[sibling_name] && !isBlock(node[sibling_name])) { + node = node[sibling_name]; + + // Break on BR but include it will be removed later on + // we can't remove it now since we need to check if it can be wrapped + if (isEq(node, 'br')) + break; + } + } + + return node || container; + }; + + // Find new startContainer/endContainer if there is better one + startContainer = findBlockEndPoint(startContainer, 'previousSibling'); + endContainer = findBlockEndPoint(endContainer, 'nextSibling'); + + // Non block element then try to expand up the leaf + if (format[0].block) { + if (!isBlock(startContainer)) + startContainer = findParentContainer(startContainer, 'firstChild', 'nextSibling'); + + if (!isBlock(endContainer)) + endContainer = findParentContainer(endContainer, 'lastChild', 'previousSibling'); + } + } + + // Setup index for startContainer + if (startContainer.nodeType == 1) { + startOffset = nodeIndex(startContainer); + startContainer = startContainer.parentNode; + } + + // Setup index for endContainer + if (endContainer.nodeType == 1) { + endOffset = nodeIndex(endContainer) + 1; + endContainer = endContainer.parentNode; + } + + // Return new range like object + return { + startContainer : startContainer, + startOffset : startOffset, + endContainer : endContainer, + endOffset : endOffset + }; + } + + function removeFormat(format, vars, node, compare_node) { + var i, attrs, stylesModified; + + // Check if node matches format + if (!matchName(node, format)) + return FALSE; + + // Should we compare with format attribs and styles + if (format.remove != 'all') { + // Remove styles + each(format.styles, function(value, name) { + value = replaceVars(value, vars); + + // Indexed array + if (typeof(name) === 'number') { + name = value; + compare_node = 0; + } + + if (!compare_node || isEq(getStyle(compare_node, name), value)) + dom.setStyle(node, name, ''); + + stylesModified = 1; + }); + + // Remove style attribute if it's empty + if (stylesModified && dom.getAttrib(node, 'style') == '') { + node.removeAttribute('style'); + node.removeAttribute('_mce_style'); + } + + // Remove attributes + each(format.attributes, function(value, name) { + var valueOut; + + value = replaceVars(value, vars); + + // Indexed array + if (typeof(name) === 'number') { + name = value; + compare_node = 0; + } + + if (!compare_node || isEq(dom.getAttrib(compare_node, name), value)) { + // Keep internal classes + if (name == 'class') { + value = dom.getAttrib(node, name); + if (value) { + // Build new class value where everything is removed except the internal prefixed classes + valueOut = ''; + each(value.split(/\s+/), function(cls) { + if (/mce\w+/.test(cls)) + valueOut += (valueOut ? ' ' : '') + cls; + }); + + // We got some internal classes left + if (valueOut) { + dom.setAttrib(node, name, valueOut); + return; + } + } + } + + // IE6 has a bug where the attribute doesn't get removed correctly + if (name == "class") + node.removeAttribute('className'); + + // Remove mce prefixed attributes + if (MCE_ATTR_RE.test(name)) + node.removeAttribute('_mce_' + name); + + node.removeAttribute(name); + } + }); + + // Remove classes + each(format.classes, function(value) { + value = replaceVars(value, vars); + + if (!compare_node || dom.hasClass(compare_node, value)) + dom.removeClass(node, value); + }); + + // Check for non internal attributes + attrs = dom.getAttribs(node); + for (i = 0; i < attrs.length; i++) { + if (attrs[i].nodeName.indexOf('_') !== 0) + return FALSE; + } + } + + // Remove the inline child if it's empty for example or + if (format.remove != 'none') { + removeNode(node, format); + return TRUE; + } + }; + + function removeNode(node, format) { + var parentNode = node.parentNode, rootBlockElm; + + if (format.block) { + if (!forcedRootBlock) { + function find(node, next, inc) { + node = getNonWhiteSpaceSibling(node, next, inc); + + return !node || (node.nodeName == 'BR' || isBlock(node)); + }; + + // Append BR elements if needed before we remove the block + if (isBlock(node) && !isBlock(parentNode)) { + if (!find(node, FALSE) && !find(node.firstChild, TRUE, 1)) + node.insertBefore(dom.create('br'), node.firstChild); + + if (!find(node, TRUE) && !find(node.lastChild, FALSE, 1)) + node.appendChild(dom.create('br')); + } + } else { + // Wrap the block in a forcedRootBlock if we are at the root of document + if (parentNode == dom.getRoot()) { + if (!format.list_block || !isEq(node, format.list_block)) { + each(tinymce.grep(node.childNodes), function(node) { + if (isValid(forcedRootBlock, node.nodeName.toLowerCase())) { + if (!rootBlockElm) + rootBlockElm = wrap(node, forcedRootBlock); + else + rootBlockElm.appendChild(node); + } else + rootBlockElm = 0; + }); + } + } + } + } + + // Never remove nodes that isn't the specified inline element if a selector is specified too + if (format.selector && format.inline && !isEq(format.inline, node)) + return; + + dom.remove(node, 1); + }; + + function getNonWhiteSpaceSibling(node, next, inc) { + if (node) { + next = next ? 'nextSibling' : 'previousSibling'; + + for (node = inc ? node : node[next]; node; node = node[next]) { + if (node.nodeType == 1 || !isWhiteSpaceNode(node)) + return node; + } + } + }; + + function isBookmarkNode(node) { + return node && node.nodeType == 1 && node.getAttribute('_mce_type') == 'bookmark'; + }; + + function mergeSiblings(prev, next) { + var marker, sibling, tmpSibling; + + function compareElements(node1, node2) { + // Not the same name + if (node1.nodeName != node2.nodeName) + return FALSE; + + function getAttribs(node) { + var attribs = {}; + + each(dom.getAttribs(node), function(attr) { + var name = attr.nodeName.toLowerCase(); + + // Don't compare internal attributes or style + if (name.indexOf('_') !== 0 && name !== 'style') + attribs[name] = dom.getAttrib(node, name); + }); + + return attribs; + }; + + function compareObjects(obj1, obj2) { + var value, name; + + for (name in obj1) { + // Obj1 has item obj2 doesn't have + if (obj1.hasOwnProperty(name)) { + value = obj2[name]; + + // Obj2 doesn't have obj1 item + if (value === undefined) + return FALSE; + + // Obj2 item has a different value + if (obj1[name] != value) + return FALSE; + + // Delete similar value + delete obj2[name]; + } + } + + // Check if obj 2 has something obj 1 doesn't have + for (name in obj2) { + // Obj2 has item obj1 doesn't have + if (obj2.hasOwnProperty(name)) + return FALSE; + } + + return TRUE; + }; + + // Attribs are not the same + if (!compareObjects(getAttribs(node1), getAttribs(node2))) + return FALSE; + + // Styles are not the same + if (!compareObjects(dom.parseStyle(dom.getAttrib(node1, 'style')), dom.parseStyle(dom.getAttrib(node2, 'style')))) + return FALSE; + + return TRUE; + }; + + // Check if next/prev exists and that they are elements + if (prev && next) { + function findElementSibling(node, sibling_name) { + for (sibling = node; sibling; sibling = sibling[sibling_name]) { + if (sibling.nodeType == 3 && !isWhiteSpaceNode(sibling)) + return node; + + if (sibling.nodeType == 1 && !isBookmarkNode(sibling)) + return sibling; + } + + return node; + }; + + // If previous sibling is empty then jump over it + prev = findElementSibling(prev, 'previousSibling'); + next = findElementSibling(next, 'nextSibling'); + + // Compare next and previous nodes + if (compareElements(prev, next)) { + // Append nodes between + for (sibling = prev.nextSibling; sibling && sibling != next;) { + tmpSibling = sibling; + sibling = sibling.nextSibling; + prev.appendChild(tmpSibling); + } + + // Remove next node + dom.remove(next); + + // Move children into prev node + each(tinymce.grep(next.childNodes), function(node) { + prev.appendChild(node); + }); + + return prev; + } + } + + return next; + }; + + function isTextBlock(name) { + return /^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(name); + }; + + function getContainer(rng, start) { + var container, offset, lastIdx; + + container = rng[start ? 'startContainer' : 'endContainer']; + offset = rng[start ? 'startOffset' : 'endOffset']; + + if (container.nodeType == 1) { + lastIdx = container.childNodes.length - 1; + + if (!start && offset) + offset--; + + container = container.childNodes[offset > lastIdx ? lastIdx : offset]; + } + + return container; + }; + + function performCaretAction(type, name, vars) { + var i, currentPendingFormats = pendingFormats[type], + otherPendingFormats = pendingFormats[type == 'apply' ? 'remove' : 'apply']; + + function hasPending() { + return pendingFormats.apply.length || pendingFormats.remove.length; + }; + + function resetPending() { + pendingFormats.apply = []; + pendingFormats.remove = []; + }; + + function perform(caret_node) { + // Apply pending formats + each(pendingFormats.apply.reverse(), function(item) { + apply(item.name, item.vars, caret_node); + }); + + // Remove pending formats + each(pendingFormats.remove.reverse(), function(item) { + remove(item.name, item.vars, caret_node); + }); + + dom.remove(caret_node, 1); + resetPending(); + }; + + // Check if it already exists then ignore it + for (i = currentPendingFormats.length - 1; i >= 0; i--) { + if (currentPendingFormats[i].name == name) + return; + } + + currentPendingFormats.push({name : name, vars : vars}); + + // Check if it's in the other type, then remove it + for (i = otherPendingFormats.length - 1; i >= 0; i--) { + if (otherPendingFormats[i].name == name) + otherPendingFormats.splice(i, 1); + } + + // Pending apply or remove formats + if (hasPending()) { + ed.getDoc().execCommand('FontName', false, 'mceinline'); + pendingFormats.lastRng = selection.getRng(); + + // IE will convert the current word + each(dom.select('font,span'), function(node) { + var bookmark; + + if (isCaretNode(node)) { + bookmark = selection.getBookmark(); + perform(node); + selection.moveToBookmark(bookmark); + ed.nodeChanged(); + } + }); + + // Only register listeners once if we need to + if (!pendingFormats.isListening && hasPending()) { + pendingFormats.isListening = true; + + each('onKeyDown,onKeyUp,onKeyPress,onMouseUp'.split(','), function(event) { + ed[event].addToTop(function(ed, e) { + // Do we have pending formats and is the selection moved has moved + if (hasPending() && !tinymce.dom.RangeUtils.compareRanges(pendingFormats.lastRng, selection.getRng())) { + each(dom.select('font,span'), function(node) { + var textNode, rng; + + // Look for marker + if (isCaretNode(node)) { + textNode = node.firstChild; + + if (textNode) { + perform(node); + + rng = dom.createRng(); + rng.setStart(textNode, textNode.nodeValue.length); + rng.setEnd(textNode, textNode.nodeValue.length); + selection.setRng(rng); + ed.nodeChanged(); + } else + dom.remove(node); + } + }); + + // Always unbind and clear pending styles on keyup + if (e.type == 'keyup' || e.type == 'mouseup') + resetPending(); + } + }); + }); + } + } + }; + }; +})(tinymce); + +tinymce.onAddEditor.add(function(tinymce, ed) { + var filters, fontSizes, dom, settings = ed.settings; + + if (settings.inline_styles) { + fontSizes = tinymce.explode(settings.font_size_style_values); + + function replaceWithSpan(node, styles) { + tinymce.each(styles, function(value, name) { + if (value) + dom.setStyle(node, name, value); + }); + + dom.rename(node, 'span'); + }; + + filters = { + font : function(dom, node) { + replaceWithSpan(node, { + backgroundColor : node.style.backgroundColor, + color : node.color, + fontFamily : node.face, + fontSize : fontSizes[parseInt(node.size) - 1] + }); + }, + + u : function(dom, node) { + replaceWithSpan(node, { + textDecoration : 'underline' + }); + }, + + strike : function(dom, node) { + replaceWithSpan(node, { + textDecoration : 'line-through' + }); + } + }; + + function convert(editor, params) { + dom = editor.dom; + + if (settings.convert_fonts_to_spans) { + tinymce.each(dom.select('font,u,strike', params.node), function(node) { + filters[node.nodeName.toLowerCase()](ed.dom, node); + }); + } + }; + + ed.onPreProcess.add(convert); + + ed.onInit.add(function() { + ed.selection.onSetContent.add(convert); + }); + } +}); + diff --git a/resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/editable_selects.js b/resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/editable_selects.js new file mode 100755 index 00000000..fd943c0f --- /dev/null +++ b/resources/library/interactive/Barre_prof.wgt/tinymcejq/utils/editable_selects.js @@ -0,0 +1,70 @@ +/** + * editable_selects.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +var TinyMCE_EditableSelects = { + editSelectElm : null, + + init : function() { + var nl = document.getElementsByTagName("select"), i, d = document, o; + + for (i=0; i'; + h += ' '; + + return h; +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCEPopup.dom.addClass(img, 'disabled'); + } else { + if (lnk.getAttribute("realhref")) + lnk.setAttribute("href", lnk.getAttribute("realhref")); + + tinyMCEPopup.dom.removeClass(img, 'disabled'); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback", cb, html; + + cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback")); + + if (!cb) + return ""; + + html = ""; + html += ''; + html += ' '; + + return html; +} + +function openBrowser(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i parseInt(v)) + st = this.mark(f, n); + } + } + + return st; + }, + + hasClass : function(n, c, d) { + return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className); + }, + + getNum : function(n, c) { + c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0]; + c = c.replace(/[^0-9]/g, ''); + + return c; + }, + + addClass : function(n, c, b) { + var o = this.removeClass(n, c); + n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c; + }, + + removeClass : function(n, c) { + c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' '); + return n.className = c != ' ' ? c : ''; + }, + + tags : function(f, s) { + return f.getElementsByTagName(s); + }, + + mark : function(f, n) { + var s = this.settings; + + this.addClass(n, s.invalid_cls); + this.markLabels(f, n, s.invalid_cls); + + return false; + }, + + markLabels : function(f, n, ic) { + var nl, i; + + nl = this.tags(f, "label"); + for (i=0; i$Vqox1Ojhs@R)|o50+1L3ClDI}aU~Fg_^W}K2;dkJ62u@7`VgoTq+<>c z^P_2FM2L$g=jZAr78K;9>V>3Ml(^<4=ci=mr2`d|mZa%gSQ{Ff7#W&dT9^O;L`4;> diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/._css b/resources/library/interactive/barre_prof.wgt/__MACOSX/._css deleted file mode 100644 index 1946da1b655a90f91d108ba464ae232e8774489d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+yqn#(lG;w zHPN&&BE&_L^KkzyJUM diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/._icon.png b/resources/library/interactive/barre_prof.wgt/__MACOSX/._icon.png deleted file mode 100644 index a2040e33e92d28e37ae762598721cc9e212a4086..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@7dK{<}q+J^qI7A5ADWagzZ6zUrQfwf6;YI0g)s*!bYVp?KRrgaTM IF+_v`0L(BSM*si- diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/._images b/resources/library/interactive/barre_prof.wgt/__MACOSX/._images deleted file mode 100644 index 49f4cb2eb2d7045ea3d6c8b9b76f89647fcfaa17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+zM0*(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N4AKSCF$0J- z(X=rl#6^?ybM+Dn3UX5Q3QH4<67xzj^HLcK^$mc)+9WwOIV~~O$T~PNEwL!mx(1;b HBEkRwn^GRl diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/css/._jScrollPane.css b/resources/library/interactive/barre_prof.wgt/__MACOSX/css/._jScrollPane.css deleted file mode 100644 index 624228be241678624d14a571ff31bf8a916d3312..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+zeC-(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aVZdk_{)Kq2;dkJ62u^&at^2zq+<>c vbE9cvM2L$g=jZAr78K;9>V>3Ml(^<4=ci=mr2`e@CMIX*mE;#^SQ`KU+8h$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+y+z%(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+zwO<(lG;w zHPN&&BE&_L^KR diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/images/._shadowleft.png b/resources/library/interactive/barre_prof.wgt/__MACOSX/images/._shadowleft.png deleted file mode 100644 index 078c9c8281599bb66295fc05bdeeddd6398ecee7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+yPVy(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+zC_)(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+yzt$(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+znI;(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+yhh!(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+zV6+(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@N+y_(&(lG;w zHPN&&BE&_L^K$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@NJOQW_q+J^qI7A5ADWagzZ6zUrQfwf6;YI0g)s*!bYVp?KRrgaTM IF+_v`0GqfT&Hw-a diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery-ui-1.7.2.custom.min.js b/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery-ui-1.7.2.custom.min.js deleted file mode 100644 index e5944ff902c513adbe424b26cf80d68abaef3e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@NJQ1iAq+J^qI7A5ADWagzZ6zUrQfwf6;YI0g)s*!bYVp?KRrgaTM IF+_v`0Gu8k&j0`b diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery.disable.text.select.js b/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery.disable.text.select.js deleted file mode 100644 index a3fba39f027133369ff5d22806e10f05cee56ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@NJPD{2q+J^qI7A5ADWagzZ6zUrQfwf6;YI0g)s*!bYVp?KRrgaTM IF+_v`0Gxy#&;S4c diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery.ubwidget.js b/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._jquery.ubwidget.js deleted file mode 100644 index 538c1895966b809400f30d2d21b517a5e5cbdcfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@NJQ=7Iq+J^qI7A5ADWagzZ6zUrQfwf6;YI0g)s*!bYVp?KRrgaTM IF+_v`0G#R`(EtDd diff --git a/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._ubw-main.js b/resources/library/interactive/barre_prof.wgt/__MACOSX/js/._ubw-main.js deleted file mode 100644 index 120994bbc0647e19dfd84c19dae7e4220b904651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193 zcmZQz6=P>$Vqox1Ojhs@R)|o50+1L3ClDI}aX%1)_y>WQ2;dkJ62u@NJO!u}q+J^qI7A5ADWagzZ6zUrQfwf6;YI0g)s*!bYVp?KRrgaTM IF+_v`0G&`C(f|Me diff --git a/resources/library/interactive/barre_prof.wgt/config.xml b/resources/library/interactive/barre_prof.wgt/config.xml deleted file mode 100644 index 0847179d..00000000 --- a/resources/library/interactive/barre_prof.wgt/config.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - Barre du Prof - Mnemis SA - Barre du Prof - - - diff --git a/resources/library/interactive/barre_prof.wgt/css/jScrollPane.css b/resources/library/interactive/barre_prof.wgt/css/jScrollPane.css deleted file mode 100644 index 9168128b..00000000 --- a/resources/library/interactive/barre_prof.wgt/css/jScrollPane.css +++ /dev/null @@ -1,65 +0,0 @@ - -.jScrollPaneContainer { - position: relative; - overflow: hidden; - z-index: 1; -} - -.jScrollPaneTrack { - position: absolute; - cursor: pointer; - right: 0; - top: 0; - height: 100%; - background: #aaa; -} -.jScrollPaneDrag { - position: absolute; - background: #666; - cursor: pointer; - overflow: hidden; -} -.jScrollPaneDragTop { - position: absolute; - top: 0; - left: 0; - overflow: hidden; -} -.jScrollPaneDragBottom { - position: absolute; - bottom: 0; - left: 0; - overflow: hidden; -} -a.jScrollArrowUp { - display: block; - position: absolute; - z-index: 1; - top: 0; - right: 0; - text-indent: -2000px; - overflow: hidden; - /*background-color: #666;*/ - height: 9px; -} -a.jScrollArrowUp:hover { - /*background-color: #f60;*/ -} - -a.jScrollArrowDown { - display: block; - position: absolute; - z-index: 1; - bottom: 0; - right: 0; - text-indent: -2000px; - overflow: hidden; - /*background-color: #666;*/ - height: 9px; -} -a.jScrollArrowDown:hover { - /*background-color: #f60;*/ -} -a.jScrollActiveArrowButton, a.jScrollActiveArrowButton:hover { - /*background-color: #f00;*/ -} \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/css/ubwidget.css b/resources/library/interactive/barre_prof.wgt/css/ubwidget.css deleted file mode 100644 index fe4e7297..00000000 --- a/resources/library/interactive/barre_prof.wgt/css/ubwidget.css +++ /dev/null @@ -1,226 +0,0 @@ -* { - margin: 0; - padding: 0; -} - -body{ - margin:0px; - text-align: center; -} - -.ubw-container{ - text-overflow: ellipsis; - left:0px; - top:0px; - margin:0px; - /*background-color: #c9ccd9;*/ - background-image: url(../images/back.png); - overflow: hidden; - border-right: 1px solid rgb(252, 252, 220); - border-left: 1px solid rgb(232, 232, 220); -} - -.ubw-body{ -} - -.head{ - border-top: 1px solid rgb(252, 252, 220); - position: relative; - background-color: transparent; - font-style: normal; - color: #263141; - font-size: 119%; - width: auto; - height: 20px; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - outline: none; - border-bottom: rgb(252, 252, 220); - - -} -.stickytitle{ - background-color: transparent; - min-width: 10px; - max-width: 60%; - width: 100%; - padding-top: 4px; - height: 20px; - float: left; - z-index: 3; - position: relative; - overflow:hidden; - margin-left: 10px; - margin-right: -2px; - font-style: normal; - color: #444444; - font-size: 88%; - border-style: none; - outline: none; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - text-align: left; - resize: none; -} - -.textField{ - min-height: 50px; - overflow-y: auto; - overflow-x: hidden; - height: auto; - width: auto; - margin: 5px; - padding-right: 4%; - background-position: 0; - border-left-style: none; - border-bottom-style: none; - border-right-style: none; - border-top-style: none; - text-align: left; - list-style-type: none; - outline: none; - word-wrap: break-word; - font-style: normal; - font-weight: normal; - font-family: Arial, Helvetica, sans-serif; - color:#444444; -} - -.ubw-inspector{ - position:absolute; - background-color:rgb(252, 252, 252); - border:1px solid #cccccc; - line-height:20px; - font-family:Arial, Helvetica, sans-serif; - font-weight:normal; - font-size:20px; - color:#333333; -} - -.ubw-inpubox{ - min-width:28px; - min-height:37px; - color:#333333; - background-image: url(../images/button_out.png); - border-left:1px solid rgb(231, 231, 231); - border-right:1px solid rgb(231, 231, 231); - border-bottom:1px solid rgb(221, 221, 221); - border-top:1px solid rgb(241, 241, 241); -} - -/*BUTTONS*/ - -.ubw-button-wrapper{ - float:left; - position:relative; - /*border:solid 1px yellow;*/ - margin-right:-7px; - z-index:0; - font-family:Arial, Helvetica, sans-serif; - font-weight:normal; - font-size:30px; - overflow:visible; -} - -.ubw-button-canvas{ - width:auto; - float:left; - position:relative; - overflow:visible; -} - -table{ - line-height:90%; -} - -.ubw-dropdown{ - margin: 0; - padding: 0; - font-size: 15px; - width:100px; - list-style: none; - cursor:pointer; - float:none; - margin-left:3px; -} - - .ubw-dropdown li.out{ - padding-left: 5px; - color:#444444; - border-left:1px solid rgb(231, 231, 233); - border-right:1px solid rgb(231, 231, 233); - background-image: url(../images/button_out.gif); - } - - .ubw-dropdown li.over{ - padding-left: 5px; - color:#eeeeee; - border-left:1px solid rgb(140, 140, 140); - border-right:1px solid rgb(140, 140, 140); - background-image: url(../images/button_out_dark.png); - } - - .ubw-dropdown li.ubw-dropdown-top-corners{ - border-top:1px solid rgb(241, 241, 244); - } - - .ubw-dropdown li.ubw-dropdown-bottom-corners{ - border-bottom:1px solid rgb(221, 221, 223); - } - -.ubw-button-body{ - position:relative; - float:left; - - width:auto; - height:auto; - overflow:visible - - text-align:center; - vertical-align:middle; - - cursor:pointer; -} - -.ubw-button-content{ - margin:2px; - height:auto; - width:auto; - text-align:center; - overflow:visible; -} - - -.ubw-button-over{ - color:#444444; - background-image: url(../images/button_out.gif); - border-left:1px solid rgb(221, 221, 221); - border-right:1px solid rgb(221, 221, 221); - border-bottom:1px solid rgb(211, 211, 211); - border-top:1px solid rgb(231, 231, 231); -} - -.ubw-button-out{ - color:#555555; - background-image: url(../images/button_out.gif); - border-left:2px solid rgb(231, 231, 233); - border-right:2px solid rgb(231, 231, 233); - border-bottom:2px solid rgb(221, 221, 223); - border-top:2px solid rgb(241, 241, 244); -} - -span.colored{ - color: #0080ff; -} - - - - - -.menuElement{ - position: relative; - float:right; -} - - - diff --git a/resources/library/interactive/barre_prof.wgt/icon.png b/resources/library/interactive/barre_prof.wgt/icon.png deleted file mode 100644 index ef7e640af30e6cb8d0470c48c8d38724d867797a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4971 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 pa?IPbtnYNZrxe!OInn-L1;Fyx1 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 diff --git a/resources/library/interactive/barre_prof.wgt/images/shadowright.png b/resources/library/interactive/barre_prof.wgt/images/shadowright.png deleted file mode 100644 index cb899c26273f15950957b7eb08960c8552f239f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3513 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 o1~ZPOV07*qoM6N<$f?zXN$N&HU diff --git a/resources/library/interactive/barre_prof.wgt/images/teacher.png b/resources/library/interactive/barre_prof.wgt/images/teacher.png deleted file mode 100644 index 7d56f65820edfd82a4958597f36d77f4cdcf5064..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337908 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 Bdm8`% diff --git a/resources/library/interactive/barre_prof.wgt/index.html b/resources/library/interactive/barre_prof.wgt/index.html deleted file mode 100644 index 44b5fb5f..00000000 --- a/resources/library/interactive/barre_prof.wgt/index.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - ubwidget - - - - - - - - - - - - - - - - -

- - - \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/js/jquery-1.3.2.min.js b/resources/library/interactive/barre_prof.wgt/js/jquery-1.3.2.min.js deleted file mode 100644 index b1ae21d8..00000000 --- a/resources/library/interactive/barre_prof.wgt/js/jquery-1.3.2.min.js +++ /dev/null @@ -1,19 +0,0 @@ -/* - * jQuery JavaScript Library v1.3.2 - * http://jquery.com/ - * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License - * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 - */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
"]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
","
"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="
";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/js/jquery-ui-1.7.2.custom.min.js b/resources/library/interactive/barre_prof.wgt/js/jquery-ui-1.7.2.custom.min.js deleted file mode 100644 index cf19f30a..00000000 --- a/resources/library/interactive/barre_prof.wgt/js/jquery-ui-1.7.2.custom.min.js +++ /dev/null @@ -1,298 +0,0 @@ -/* - * jQuery UI 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI - */ -jQuery.ui||(function(c){var i=c.fn.remove,d=c.browser.mozilla&&(parseFloat(c.browser.version)<1.9);c.ui={version:"1.7.2",plugin:{add:function(k,l,n){var m=c.ui[k].prototype;for(var j in n){m.plugins[j]=m.plugins[j]||[];m.plugins[j].push([l,n[j]])}},call:function(j,l,k){var n=j.plugins[l];if(!n||!j.element[0].parentNode){return}for(var m=0;m0){return true}m[j]=1;l=(m[j]>0);m[j]=0;return l},isOverAxis:function(k,j,l){return(k>j)&&(k<(j+l))},isOver:function(o,k,n,m,j,l){return c.ui.isOverAxis(o,n,j)&&c.ui.isOverAxis(k,m,l)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};if(d){var f=c.attr,e=c.fn.removeAttr,h="http://www.w3.org/2005/07/aaa",a=/^aria-/,b=/^wairole:/;c.attr=function(k,j,l){var m=l!==undefined;return(j=="role"?(m?f.call(this,k,j,"wairole:"+l):(f.apply(this,arguments)||"").replace(b,"")):(a.test(j)?(m?k.setAttributeNS(h,j.replace(a,"aaa:"),l):f.call(this,k,j.replace(a,"aaa:"))):f.apply(this,arguments)))};c.fn.removeAttr=function(j){return(a.test(j)?this.each(function(){this.removeAttributeNS(h,j.replace(a,""))}):e.call(this,j))}}c.fn.extend({remove:function(){c("*",this).add(this).each(function(){c(this).triggerHandler("remove")});return i.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var j;if((c.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){j=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(c.curCSS(this,"position",1))&&(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}else{j=this.parents().filter(function(){return(/(auto|scroll)/).test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!j.length?c(document):j}});c.extend(c.expr[":"],{data:function(l,k,j){return !!c.data(l,j[3])},focusable:function(k){var l=k.nodeName.toLowerCase(),j=c.attr(k,"tabindex");return(/input|select|textarea|button|object/.test(l)?!k.disabled:"a"==l||"area"==l?k.href||!isNaN(j):!isNaN(j))&&!c(k)["area"==l?"parents":"closest"](":hidden").length},tabbable:function(k){var j=c.attr(k,"tabindex");return(isNaN(j)||j>=0)&&c(k).is(":focusable")}});function g(m,n,o,l){function k(q){var p=c[m][n][q]||[];return(typeof p=="string"?p.split(/,?\s+/):p)}var j=k("getter");if(l.length==1&&typeof l[0]=="string"){j=j.concat(k("getterSetter"))}return(c.inArray(o,j)!=-1)}c.widget=function(k,j){var l=k.split(".")[0];k=k.split(".")[1];c.fn[k]=function(p){var n=(typeof p=="string"),o=Array.prototype.slice.call(arguments,1);if(n&&p.substring(0,1)=="_"){return this}if(n&&g(l,k,p,o)){var m=c.data(this[0],k);return(m?m[p].apply(m,o):undefined)}return this.each(function(){var q=c.data(this,k);(!q&&!n&&c.data(this,k,new c[l][k](this,p))._init());(q&&n&&c.isFunction(q[p])&&q[p].apply(q,o))})};c[l]=c[l]||{};c[l][k]=function(o,n){var m=this;this.namespace=l;this.widgetName=k;this.widgetEventPrefix=c[l][k].eventPrefix||k;this.widgetBaseClass=l+"-"+k;this.options=c.extend({},c.widget.defaults,c[l][k].defaults,c.metadata&&c.metadata.get(o)[k],n);this.element=c(o).bind("setData."+k,function(q,p,r){if(q.target==o){return m._setData(p,r)}}).bind("getData."+k,function(q,p){if(q.target==o){return m._getData(p)}}).bind("remove",function(){return m.destroy()})};c[l][k].prototype=c.extend({},c.widget.prototype,j);c[l][k].getterSetter="option"};c.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName).removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").removeAttr("aria-disabled")},option:function(l,m){var k=l,j=this;if(typeof l=="string"){if(m===undefined){return this._getData(l)}k={};k[l]=m}c.each(k,function(n,o){j._setData(n,o)})},_getData:function(j){return this.options[j]},_setData:function(j,k){this.options[j]=k;if(j=="disabled"){this.element[k?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",k)}},enable:function(){this._setData("disabled",false)},disable:function(){this._setData("disabled",true)},_trigger:function(l,m,n){var p=this.options[l],j=(l==this.widgetEventPrefix?l:this.widgetEventPrefix+l);m=c.Event(m);m.type=j;if(m.originalEvent){for(var k=c.event.props.length,o;k;){o=c.event.props[--k];m[o]=m.originalEvent[o]}}this.element.trigger(m,n);return !(c.isFunction(p)&&p.call(this.element[0],m,n)===false||m.isDefaultPrevented())}};c.widget.defaults={disabled:false};c.ui.mouse={_mouseInit:function(){var j=this;this.element.bind("mousedown."+this.widgetName,function(k){return j._mouseDown(k)}).bind("click."+this.widgetName,function(k){if(j._preventClickEvent){j._preventClickEvent=false;k.stopImmediatePropagation();return false}});if(c.browser.msie){this._mouseUnselectable=this.element.attr("unselectable");this.element.attr("unselectable","on")}this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName);(c.browser.msie&&this.element.attr("unselectable",this._mouseUnselectable))},_mouseDown:function(l){l.originalEvent=l.originalEvent||{};if(l.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(l));this._mouseDownEvent=l;var k=this,m=(l.which==1),j=(typeof this.options.cancel=="string"?c(l.target).parents().add(l.target).filter(this.options.cancel).length:false);if(!m||j||!this._mouseCapture(l)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){k.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(l)&&this._mouseDelayMet(l)){this._mouseStarted=(this._mouseStart(l)!==false);if(!this._mouseStarted){l.preventDefault();return true}}this._mouseMoveDelegate=function(n){return k._mouseMove(n)};this._mouseUpDelegate=function(n){return k._mouseUp(n)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(c.browser.safari||l.preventDefault());l.originalEvent.mouseHandled=true;return true},_mouseMove:function(j){if(c.browser.msie&&!j.button){return this._mouseUp(j)}if(this._mouseStarted){this._mouseDrag(j);return j.preventDefault()}if(this._mouseDistanceMet(j)&&this._mouseDelayMet(j)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,j)!==false);(this._mouseStarted?this._mouseDrag(j):this._mouseUp(j))}return !this._mouseStarted},_mouseUp:function(j){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(j.target==this._mouseDownEvent.target);this._mouseStop(j)}return false},_mouseDistanceMet:function(j){return(Math.max(Math.abs(this._mouseDownEvent.pageX-j.pageX),Math.abs(this._mouseDownEvent.pageY-j.pageY))>=this.options.distance)},_mouseDelayMet:function(j){return this.mouseDelayMet},_mouseStart:function(j){},_mouseDrag:function(j){},_mouseStop:function(j){},_mouseCapture:function(j){return true}};c.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);;/* - * jQuery UI Draggable 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * ui.core.js - */ -(function(a){a.widget("ui.draggable",a.extend({},a.ui.mouse,{_init:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy()},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;if(c.cursorAt){this._adjustOffsetFromHelper(c.cursorAt)}if(c.containment){this._setContainment()}this._trigger("start",b);this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();this._trigger("drag",b,c);this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){b._trigger("stop",c);b._clear()})}else{this._trigger("stop",c);this._clear()}return false},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(b.left!=undefined){this.offset.click.left=b.left+this.margins.left}if(b.right!=undefined){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if(b.top!=undefined){this.offset.click.top=b.top+this.margins.top}if(b.bottom!=undefined){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0])){this.offset.relative=this._getRelativeOffset()}var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.leftthis.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.topthis.containment[3])?g:(!(g-this.offset.click.topthis.containment[2])?f:(!(f-this.offset.click.left
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y=p&&n<=k)||(m>=p&&m<=k)||(nk))&&((e>=g&&e<=c)||(d>=g&&d<=c)||(ec));break;default:return false;break}};a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,g){var b=a.ui.ddmanager.droppables[e.options.scope];var f=g?g.type:null;var h=(e.currentItem||e.element).find(":data(droppable)").andSelf();droppablesLoop:for(var d=0;d
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=j.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var k=this.handles.split(",");this.handles={};for(var f=0;f');if(/sw|se|ne|nw/.test(h)){g.css({zIndex:++j.zIndex})}if("se"==h){g.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[h]=".ui-resizable-"+h;this.element.append(g)}}this._renderAxis=function(p){p=p||this.element;for(var m in this.handles){if(this.handles[m].constructor==String){this.handles[m]=c(this.handles[m],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var n=c(this.handles[m],this.element),o=0;o=/sw|ne|nw|se|n|s/.test(m)?n.outerHeight():n.outerWidth();var l=["padding",/ne|nw|n/.test(m)?"Top":/se|sw|s/.test(m)?"Bottom":/^e$/.test(m)?"Right":"Left"].join("");p.css(l,o);this._proportionallyResize()}if(!c(this.handles[m]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!e.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}e.axis=i&&i[1]?i[1]:"se"}});if(j.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){c(this).removeClass("ui-resizable-autohide");e._handles.show()},function(){if(!e.resizing){c(this).addClass("ui-resizable-autohide");e._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var d=function(f){c(f).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){d(this.element);var e=this.element;e.parent().append(this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")})).end().remove()}this.originalElement.css("resize",this.originalResizeStyle);d(this.originalElement)},_mouseCapture:function(e){var f=false;for(var d in this.handles){if(c(this.handles[d])[0]==e.target){f=true}}return this.options.disabled||!!f},_mouseStart:function(f){var i=this.options,e=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(d.is(".ui-draggable")||(/absolute/).test(d.css("position"))){d.css({position:"absolute",top:e.top,left:e.left})}if(c.browser.opera&&(/relative/).test(d.css("position"))){d.css({position:"relative",top:"auto",left:"auto"})}this._renderProxy();var j=b(this.helper.css("left")),g=b(this.helper.css("top"));if(i.containment){j+=c(i.containment).scrollLeft()||0;g+=c(i.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:j,top:g};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:j,top:g};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:f.pageX,top:f.pageY};this.aspectRatio=(typeof i.aspectRatio=="number")?i.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var h=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",h=="auto"?this.axis+"-resize":h);d.addClass("ui-resizable-resizing");this._propagate("start",f);return true},_mouseDrag:function(d){var g=this.helper,f=this.options,l={},p=this,i=this.originalMousePosition,m=this.axis;var q=(d.pageX-i.left)||0,n=(d.pageY-i.top)||0;var h=this._change[m];if(!h){return false}var k=h.apply(this,[d,q,n]),j=c.browser.msie&&c.browser.version<7,e=this.sizeDiff;if(this._aspectRatio||d.shiftKey){k=this._updateRatio(k,d)}k=this._respectSize(k,d);this._propagate("resize",d);g.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(k);this._trigger("resize",d,this.ui());return false},_mouseStop:function(g){this.resizing=false;var h=this.options,l=this;if(this._helper){var f=this._proportionallyResizeElements,d=f.length&&(/textarea/i).test(f[0].nodeName),e=d&&c.ui.hasScroll(f[0],"left")?0:l.sizeDiff.height,j=d?0:l.sizeDiff.width;var m={width:(l.size.width-j),height:(l.size.height-e)},i=(parseInt(l.element.css("left"),10)+(l.position.left-l.originalPosition.left))||null,k=(parseInt(l.element.css("top"),10)+(l.position.top-l.originalPosition.top))||null;if(!h.animate){this.element.css(c.extend(m,{top:k,left:i}))}l.helper.height(l.size.height);l.helper.width(l.size.width);if(this._helper&&!h.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",g);if(this._helper){this.helper.remove()}return false},_updateCache:function(d){var e=this.options;this.offset=this.helper.offset();if(a(d.left)){this.position.left=d.left}if(a(d.top)){this.position.top=d.top}if(a(d.height)){this.size.height=d.height}if(a(d.width)){this.size.width=d.width}},_updateRatio:function(g,f){var h=this.options,i=this.position,e=this.size,d=this.axis;if(g.height){g.width=(e.height*this.aspectRatio)}else{if(g.width){g.height=(e.width/this.aspectRatio)}}if(d=="sw"){g.left=i.left+(e.width-g.width);g.top=null}if(d=="nw"){g.top=i.top+(e.height-g.height);g.left=i.left+(e.width-g.width)}return g},_respectSize:function(k,f){var i=this.helper,h=this.options,q=this._aspectRatio||f.shiftKey,p=this.axis,s=a(k.width)&&h.maxWidth&&(h.maxWidthk.width),r=a(k.height)&&h.minHeight&&(h.minHeight>k.height);if(g){k.width=h.minWidth}if(r){k.height=h.minHeight}if(s){k.width=h.maxWidth}if(l){k.height=h.maxHeight}var e=this.originalPosition.left+this.originalSize.width,n=this.position.top+this.size.height;var j=/sw|nw|w/.test(p),d=/nw|ne|n/.test(p);if(g&&j){k.left=e-h.minWidth}if(s&&j){k.left=e-h.maxWidth}if(r&&d){k.top=n-h.minHeight}if(l&&d){k.top=n-h.maxHeight}var m=!k.width&&!k.height;if(m&&!k.left&&k.top){k.top=null}else{if(m&&!k.top&&k.left){k.left=null}}return k},_proportionallyResize:function(){var j=this.options;if(!this._proportionallyResizeElements.length){return}var f=this.helper||this.element;for(var e=0;e');var d=c.browser.msie&&c.browser.version<7,f=(d?1:0),g=(d?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+g,height:this.element.outerHeight()+g,position:"absolute",left:this.elementOffset.left-f+"px",top:this.elementOffset.top-f+"px",zIndex:++h.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(f,e,d){return{width:this.originalSize.width+e}},w:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{left:h.left+e,width:f.width-e}},n:function(g,e,d){var i=this.options,f=this.originalSize,h=this.originalPosition;return{top:h.top+d,height:f.height-d}},s:function(f,e,d){return{height:this.originalSize.height+d}},se:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},sw:function(f,e,d){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[f,e,d]))},ne:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[f,e,d]))},nw:function(f,e,d){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[f,e,d]))}},_propagate:function(e,d){c.ui.plugin.call(this,e,[d,this.ui()]);(e!="resize"&&this._trigger(e,d,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}));c.extend(c.ui.resizable,{version:"1.7.2",eventPrefix:"resize",defaults:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,cancel:":input,option",containment:false,delay:0,distance:1,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000}});c.ui.plugin.add("resizable","alsoResize",{start:function(e,f){var d=c(this).data("resizable"),g=d.options;_store=function(h){c(h).each(function(){c(this).data("resizable-alsoresize",{width:parseInt(c(this).width(),10),height:parseInt(c(this).height(),10),left:parseInt(c(this).css("left"),10),top:parseInt(c(this).css("top"),10)})})};if(typeof(g.alsoResize)=="object"&&!g.alsoResize.parentNode){if(g.alsoResize.length){g.alsoResize=g.alsoResize[0];_store(g.alsoResize)}else{c.each(g.alsoResize,function(h,i){_store(h)})}}else{_store(g.alsoResize)}},resize:function(f,h){var e=c(this).data("resizable"),i=e.options,g=e.originalSize,k=e.originalPosition;var j={height:(e.size.height-g.height)||0,width:(e.size.width-g.width)||0,top:(e.position.top-k.top)||0,left:(e.position.left-k.left)||0},d=function(l,m){c(l).each(function(){var p=c(this),q=c(this).data("resizable-alsoresize"),o={},n=m&&m.length?m:["width","height","top","left"];c.each(n||["width","height","top","left"],function(r,t){var s=(q[t]||0)+(j[t]||0);if(s&&s>=0){o[t]=s||null}});if(/relative/.test(p.css("position"))&&c.browser.opera){e._revertToRelativePosition=true;p.css({position:"absolute",top:"auto",left:"auto"})}p.css(o)})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.nodeType){c.each(i.alsoResize,function(l,m){d(l,m)})}else{d(i.alsoResize)}},stop:function(e,f){var d=c(this).data("resizable");if(d._revertToRelativePosition&&c.browser.opera){d._revertToRelativePosition=false;el.css({position:"relative"})}c(this).removeData("resizable-alsoresize-start")}});c.ui.plugin.add("resizable","animate",{stop:function(h,m){var n=c(this).data("resizable"),i=n.options;var g=n._proportionallyResizeElements,d=g.length&&(/textarea/i).test(g[0].nodeName),e=d&&c.ui.hasScroll(g[0],"left")?0:n.sizeDiff.height,k=d?0:n.sizeDiff.width;var f={width:(n.size.width-k),height:(n.size.height-e)},j=(parseInt(n.element.css("left"),10)+(n.position.left-n.originalPosition.left))||null,l=(parseInt(n.element.css("top"),10)+(n.position.top-n.originalPosition.top))||null;n.element.animate(c.extend(f,l&&j?{top:l,left:j}:{}),{duration:i.animateDuration,easing:i.animateEasing,step:function(){var o={width:parseInt(n.element.css("width"),10),height:parseInt(n.element.css("height"),10),top:parseInt(n.element.css("top"),10),left:parseInt(n.element.css("left"),10)};if(g&&g.length){c(g[0]).css({width:o.width,height:o.height})}n._updateCache(o);n._propagate("resize",h)}})}});c.ui.plugin.add("resizable","containment",{start:function(e,q){var s=c(this).data("resizable"),i=s.options,k=s.element;var f=i.containment,j=(f instanceof c)?f.get(0):(/parent/.test(f))?k.parent().get(0):f;if(!j){return}s.containerElement=c(j);if(/document/.test(f)||f==document){s.containerOffset={left:0,top:0};s.containerPosition={left:0,top:0};s.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var m=c(j),h=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){h[p]=b(m.css("padding"+o))});s.containerOffset=m.offset();s.containerPosition=m.position();s.containerSize={height:(m.innerHeight()-h[3]),width:(m.innerWidth()-h[1])};var n=s.containerOffset,d=s.containerSize.height,l=s.containerSize.width,g=(c.ui.hasScroll(j,"left")?j.scrollWidth:l),r=(c.ui.hasScroll(j)?j.scrollHeight:d);s.parentData={element:j,left:n.left,top:n.top,width:g,height:r}}},resize:function(f,p){var s=c(this).data("resizable"),h=s.options,e=s.containerSize,n=s.containerOffset,l=s.size,m=s.position,q=s._aspectRatio||f.shiftKey,d={top:0,left:0},g=s.containerElement;if(g[0]!=document&&(/static/).test(g.css("position"))){d=n}if(m.left<(s._helper?n.left:0)){s.size.width=s.size.width+(s._helper?(s.position.left-n.left):(s.position.left-d.left));if(q){s.size.height=s.size.width/h.aspectRatio}s.position.left=h.helper?n.left:0}if(m.top<(s._helper?n.top:0)){s.size.height=s.size.height+(s._helper?(s.position.top-n.top):s.position.top);if(q){s.size.width=s.size.height*h.aspectRatio}s.position.top=s._helper?n.top:0}s.offset.left=s.parentData.left+s.position.left;s.offset.top=s.parentData.top+s.position.top;var k=Math.abs((s._helper?s.offset.left-d.left:(s.offset.left-d.left))+s.sizeDiff.width),r=Math.abs((s._helper?s.offset.top-d.top:(s.offset.top-n.top))+s.sizeDiff.height);var j=s.containerElement.get(0)==s.element.parent().get(0),i=/relative|absolute/.test(s.containerElement.css("position"));if(j&&i){k-=s.parentData.left}if(k+s.size.width>=s.parentData.width){s.size.width=s.parentData.width-k;if(q){s.size.height=s.size.width/s.aspectRatio}}if(r+s.size.height>=s.parentData.height){s.size.height=s.parentData.height-r;if(q){s.size.width=s.size.height*s.aspectRatio}}},stop:function(e,m){var p=c(this).data("resizable"),f=p.options,k=p.position,l=p.containerOffset,d=p.containerPosition,g=p.containerElement;var i=c(p.helper),q=i.offset(),n=i.outerWidth()-p.sizeDiff.width,j=i.outerHeight()-p.sizeDiff.height;if(p._helper&&!f.animate&&(/relative/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}if(p._helper&&!f.animate&&(/static/).test(g.css("position"))){c(this).css({left:q.left-d.left-l.left,width:n,height:j})}}});c.ui.plugin.add("resizable","ghost",{start:function(f,g){var d=c(this).data("resizable"),h=d.options,e=d.size;d.ghost=d.originalElement.clone();d.ghost.css({opacity:0.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof h.ghost=="string"?h.ghost:"");d.ghost.appendTo(d.helper)},resize:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost){d.ghost.css({position:"relative",height:d.size.height,width:d.size.width})}},stop:function(e,f){var d=c(this).data("resizable"),g=d.options;if(d.ghost&&d.helper){d.helper.get(0).removeChild(d.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(d,l){var n=c(this).data("resizable"),g=n.options,j=n.size,h=n.originalSize,i=n.originalPosition,m=n.axis,k=g._aspectRatio||d.shiftKey;g.grid=typeof g.grid=="number"?[g.grid,g.grid]:g.grid;var f=Math.round((j.width-h.width)/(g.grid[0]||1))*(g.grid[0]||1),e=Math.round((j.height-h.height)/(g.grid[1]||1))*(g.grid[1]||1);if(/^(se|s|e)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e}else{if(/^(ne)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e}else{if(/^(sw)$/.test(m)){n.size.width=h.width+f;n.size.height=h.height+e;n.position.left=i.left-f}else{n.size.width=h.width+f;n.size.height=h.height+e;n.position.top=i.top-e;n.position.left=i.left-f}}}}});var b=function(d){return parseInt(d,10)||0};var a=function(d){return !isNaN(parseInt(d,10))}})(jQuery);;/* - * jQuery UI Selectable 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Selectables - * - * Depends: - * ui.core.js - */ -(function(a){a.widget("ui.selectable",a.extend({},a.ui.mouse,{_init:function(){var b=this;this.element.addClass("ui-selectable");this.dragged=false;var c;this.refresh=function(){c=a(b.options.filter,b.element[0]);c.each(function(){var d=a(this);var e=d.offset();a.data(this,"selectable-item",{element:this,$element:d,left:e.left,top:e.top,right:e.left+d.outerWidth(),bottom:e.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"),selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=c.addClass("ui-selectee");this._mouseInit();this.helper=a(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy()},_mouseStart:function(d){var b=this;this.opos=[d.pageX,d.pageY];if(this.options.disabled){return}var c=this.options;this.selectees=a(c.filter,this.element[0]);this._trigger("start",d);a(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});if(c.autoRefresh){this.refresh()}this.selectees.filter(".ui-selected").each(function(){var e=a.data(this,"selectable-item");e.startselected=true;if(!d.metaKey){e.$element.removeClass("ui-selected");e.selected=false;e.$element.addClass("ui-unselecting");e.unselecting=true;b._trigger("unselecting",d,{unselecting:e.element})}});a(d.target).parents().andSelf().each(function(){var e=a.data(this,"selectable-item");if(e){e.$element.removeClass("ui-unselecting").addClass("ui-selecting");e.unselecting=false;e.selecting=true;e.selected=true;b._trigger("selecting",d,{selecting:e.element});return false}})},_mouseDrag:function(i){var c=this;this.dragged=true;if(this.options.disabled){return}var e=this.options;var d=this.opos[0],h=this.opos[1],b=i.pageX,g=i.pageY;if(d>b){var f=b;b=d;d=f}if(h>g){var f=g;g=h;h=f}this.helper.css({left:d,top:h,width:b-d,height:g-h});this.selectees.each(function(){var j=a.data(this,"selectable-item");if(!j||j.element==c.element[0]){return}var k=false;if(e.tolerance=="touch"){k=(!(j.left>b||j.rightg||j.bottomd&&j.righth&&j.bottom=0;b--){this.items[b].item.removeData("sortable-item")}},_mouseCapture:function(e,f){if(this.reverting){return false}if(this.options.disabled||this.options.type=="static"){return false}this._refreshItems(e);var d=null,c=this,b=a(e.target).parents().each(function(){if(a.data(this,"sortable-item")==c){d=a(this);return false}});if(a.data(e.target,"sortable-item")==c){d=a(e.target)}if(!d){return false}if(this.options.handle&&!f){var g=false;a(this.options.handle,d).find("*").andSelf().each(function(){if(this==e.target){g=true}});if(!g){return false}}this.currentItem=d;this._removeCurrentsFromItems();return true},_mouseStart:function(e,f,b){var g=this.options,c=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(e);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");a.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(e);this.originalPageX=e.pageX;this.originalPageY=e.pageY;if(g.cursorAt){this._adjustOffsetFromHelper(g.cursorAt)}this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide()}this._createPlaceholder();if(g.containment){this._setContainment()}if(g.cursor){if(a("body").css("cursor")){this._storedCursor=a("body").css("cursor")}a("body").css("cursor",g.cursor)}if(g.opacity){if(this.helper.css("opacity")){this._storedOpacity=this.helper.css("opacity")}this.helper.css("opacity",g.opacity)}if(g.zIndex){if(this.helper.css("zIndex")){this._storedZIndex=this.helper.css("zIndex")}this.helper.css("zIndex",g.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){this.overflowOffset=this.scrollParent.offset()}this._trigger("start",e,this._uiHash());if(!this._preserveHelperProportions){this._cacheHelperProportions()}if(!b){for(var d=this.containers.length-1;d>=0;d--){this.containers[d]._trigger("activate",e,c._uiHash(this))}}if(a.ui.ddmanager){a.ui.ddmanager.current=this}if(a.ui.ddmanager&&!g.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,e)}this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(e);return true},_mouseDrag:function(f){this.position=this._generatePosition(f);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs}if(this.options.scroll){var g=this.options,b=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-f.pageY=0;d--){var e=this.items[d],c=e.item[0],h=this._intersectsWithPointer(e);if(!h){continue}if(c!=this.currentItem[0]&&this.placeholder[h==1?"next":"prev"]()[0]!=c&&!a.ui.contains(this.placeholder[0],c)&&(this.options.type=="semi-dynamic"?!a.ui.contains(this.element[0],c):true)){this.direction=h==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(e)){this._rearrange(f,e)}else{break}this._trigger("change",f,this._uiHash());break}}this._contactContainers(f);if(a.ui.ddmanager){a.ui.ddmanager.drag(this,f)}this._trigger("sort",f,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(c,d){if(!c){return}if(a.ui.ddmanager&&!this.options.dropBehaviour){a.ui.ddmanager.drop(this,c)}if(this.options.revert){var b=this;var e=b.placeholder.offset();b.reverting=true;a(this.helper).animate({left:e.left-this.offset.parent.left-b.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-b.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){b._clear(c)})}else{this._clear(c,d)}return false},cancel:function(){var b=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{this.currentItem.show()}for(var c=this.containers.length-1;c>=0;c--){this.containers[c]._trigger("deactivate",null,b._uiHash(this));if(this.containers[c].containerCache.over){this.containers[c]._trigger("out",null,b._uiHash(this));this.containers[c].containerCache.over=0}}}if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0])}if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode){this.helper.remove()}a.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){a(this.domPosition.prev).after(this.currentItem)}else{a(this.domPosition.parent).prepend(this.currentItem)}return true},serialize:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};a(b).each(function(){var e=(a(d.item||this).attr(d.attribute||"id")||"").match(d.expression||(/(.+)[-=_](.+)/));if(e){c.push((d.key||e[1]+"[]")+"="+(d.key&&d.expression?e[1]:e[2]))}});return c.join("&")},toArray:function(d){var b=this._getItemsAsjQuery(d&&d.connected);var c=[];d=d||{};b.each(function(){c.push(a(d.item||this).attr(d.attribute||"id")||"")});return c},_intersectsWith:function(m){var e=this.positionAbs.left,d=e+this.helperProportions.width,k=this.positionAbs.top,j=k+this.helperProportions.height;var f=m.left,c=f+m.width,n=m.top,i=n+m.height;var o=this.offset.click.top,h=this.offset.click.left;var g=(k+o)>n&&(k+o)f&&(e+h)m[this.floating?"width":"height"])){return g}else{return(f0?"down":"up")},_getDragHorizontalDirection:function(){var b=this.positionAbs.left-this.lastPositionAbs.left;return b!=0&&(b>0?"right":"left")},refresh:function(b){this._refreshItems(b);this.refreshPositions()},_connectWith:function(){var b=this.options;return b.connectWith.constructor==String?[b.connectWith]:b.connectWith},_getItemsAsjQuery:function(b){var l=this;var g=[];var e=[];var h=this._connectWith();if(h&&b){for(var d=h.length-1;d>=0;d--){var k=a(h[d]);for(var c=k.length-1;c>=0;c--){var f=a.data(k[c],"sortable");if(f&&f!=this&&!f.options.disabled){e.push([a.isFunction(f.options.items)?f.options.items.call(f.element):a(f.options.items,f.element).not(".ui-sortable-helper"),f])}}}}e.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var d=e.length-1;d>=0;d--){e[d][0].each(function(){g.push(this)})}return a(g)},_removeCurrentsFromItems:function(){var d=this.currentItem.find(":data(sortable-item)");for(var c=0;c=0;e--){var m=a(l[e]);for(var d=m.length-1;d>=0;d--){var g=a.data(m[d],"sortable");if(g&&g!=this&&!g.options.disabled){f.push([a.isFunction(g.options.items)?g.options.items.call(g.element[0],b,{item:this.currentItem}):a(g.options.items,g.element),g]);this.containers.push(g)}}}}for(var e=f.length-1;e>=0;e--){var k=f[e][1];var c=f[e][0];for(var d=0,n=c.length;d=0;d--){var e=this.items[d];if(e.instance!=this.currentContainer&&this.currentContainer&&e.item[0]!=this.currentItem[0]){continue}var c=this.options.toleranceElement?a(this.options.toleranceElement,e.item):e.item;if(!b){e.width=c.outerWidth();e.height=c.outerHeight()}var f=c.offset();e.left=f.left;e.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this)}else{for(var d=this.containers.length-1;d>=0;d--){var f=this.containers[d].element.offset();this.containers[d].containerCache.left=f.left;this.containers[d].containerCache.top=f.top;this.containers[d].containerCache.width=this.containers[d].element.outerWidth();this.containers[d].containerCache.height=this.containers[d].element.outerHeight()}}},_createPlaceholder:function(d){var b=d||this,e=b.options;if(!e.placeholder||e.placeholder.constructor==String){var c=e.placeholder;e.placeholder={element:function(){var f=a(document.createElement(b.currentItem[0].nodeName)).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!c){f.style.visibility="hidden"}return f},update:function(f,g){if(c&&!e.forcePlaceholderSize){return}if(!g.height()){g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10))}if(!g.width()){g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=a(e.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);e.placeholder.update(b,b.placeholder)},_contactContainers:function(d){for(var c=this.containers.length-1;c>=0;c--){if(this._intersectsWith(this.containers[c].containerCache)){if(!this.containers[c].containerCache.over){if(this.currentContainer!=this.containers[c]){var h=10000;var g=null;var e=this.positionAbs[this.containers[c].floating?"left":"top"];for(var b=this.items.length-1;b>=0;b--){if(!a.ui.contains(this.containers[c].element[0],this.items[b].item[0])){continue}var f=this.items[b][this.containers[c].floating?"left":"top"];if(Math.abs(f-e)this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.topthis.containment[3])?g:(!(g-this.offset.click.topthis.containment[2])?f:(!(f-this.offset.click.left=0;c--){if(a.ui.contains(this.containers[c].element[0],this.currentItem[0])&&!e){f.push((function(g){return function(h){g._trigger("receive",h,this._uiHash(this))}}).call(this,this.containers[c]));f.push((function(g){return function(h){g._trigger("update",h,this._uiHash(this))}}).call(this,this.containers[c]))}}}for(var c=this.containers.length-1;c>=0;c--){if(!e){f.push((function(g){return function(h){g._trigger("deactivate",h,this._uiHash(this))}}).call(this,this.containers[c]))}if(this.containers[c].containerCache.over){f.push((function(g){return function(h){g._trigger("out",h,this._uiHash(this))}}).call(this,this.containers[c]));this.containers[c].containerCache.over=0}}if(this._storedCursor){a("body").css("cursor",this._storedCursor)}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity)}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex)}this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(var c=0;c *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1000}})})(jQuery);;/* - * jQuery UI Accordion 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Accordion - * - * Depends: - * ui.core.js - */ -(function(a){a.widget("ui.accordion",{_init:function(){var d=this.options,b=this;this.running=0;if(d.collapsible==a.ui.accordion.defaults.collapsible&&d.alwaysOpen!=a.ui.accordion.defaults.alwaysOpen){d.collapsible=!d.alwaysOpen}if(d.navigation){var c=this.element.find("a").filter(d.navigationFilter);if(c.length){if(c.filter(d.header).length){this.active=c}else{this.active=c.parent().parent().prev();c.addClass("ui-accordion-content-active")}}}this.element.addClass("ui-accordion ui-widget ui-helper-reset");if(this.element[0].nodeName=="UL"){this.element.children("li").addClass("ui-accordion-li-fix")}this.headers=this.element.find(d.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){a(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){a(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){a(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){a(this).removeClass("ui-state-focus")});this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");this.active=this._findActive(this.active||d.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");a("").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);if(a.browser.msie){this.element.find("a").css("zoom","1")}this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(e){return b._keydown(e)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();if(!this.active.length){this.headers.eq(0).attr("tabIndex","0")}else{this.active.attr("aria-expanded","true").attr("tabIndex","0")}if(!a.browser.safari){this.headers.find("a").attr("tabIndex","-1")}if(d.event){this.headers.bind((d.event)+".accordion",function(e){return b._clickHandler.call(b,e,this)})}},destroy:function(){var c=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabindex");this.headers.find("a").removeAttr("tabindex");this.headers.children(".ui-icon").remove();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(c.autoHeight||c.fillHeight){b.css("height","")}},_setData:function(b,c){if(b=="alwaysOpen"){b="collapsible";c=!c}a.widget.prototype._setData.apply(this,arguments)},_keydown:function(e){var g=this.options,f=a.ui.keyCode;if(g.disabled||e.altKey||e.ctrlKey){return}var d=this.headers.length;var b=this.headers.index(e.target);var c=false;switch(e.keyCode){case f.RIGHT:case f.DOWN:c=this.headers[(b+1)%d];break;case f.LEFT:case f.UP:c=this.headers[(b-1+d)%d];break;case f.SPACE:case f.ENTER:return this._clickHandler({target:e.target},e.target)}if(c){a(e.target).attr("tabIndex","-1");a(c).attr("tabIndex","0");c.focus();return false}return true},resize:function(){var e=this.options,d;if(e.fillSpace){if(a.browser.msie){var b=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}d=this.element.parent().height();if(a.browser.msie){this.element.parent().css("overflow",b)}this.headers.each(function(){d-=a(this).outerHeight()});var c=0;this.headers.next().each(function(){c=Math.max(c,a(this).innerHeight()-a(this).height())}).height(Math.max(0,d-c)).css("overflow","auto")}else{if(e.autoHeight){d=0;this.headers.next().each(function(){d=Math.max(d,a(this).outerHeight())}).height(d)}}},activate:function(b){var c=this._findActive(b)[0];this._clickHandler({target:c},c)},_findActive:function(b){return b?typeof b=="number"?this.headers.filter(":eq("+b+")"):this.headers.not(this.headers.not(b)):b===false?a([]):this.headers.filter(":eq(0)")},_clickHandler:function(b,f){var d=this.options;if(d.disabled){return false}if(!b.target&&d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var h=this.active.next(),e={options:d,newHeader:a([]),oldHeader:d.active,newContent:a([]),oldContent:h},c=(this.active=a([]));this._toggle(c,h,e);return false}var g=a(b.currentTarget||f);var i=g[0]==this.active[0];if(this.running||(!d.collapsible&&i)){return false}this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");if(!i){g.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);g.next().addClass("ui-accordion-content-active")}var c=g.next(),h=this.active.next(),e={options:d,newHeader:i&&d.collapsible?a([]):g,oldHeader:this.active,newContent:i&&d.collapsible?a([]):c.find("> *"),oldContent:h.find("> *")},j=this.headers.index(this.active[0])>this.headers.index(g[0]);this.active=i?a([]):g;this._toggle(c,h,e,i,j);return false},_toggle:function(b,i,g,j,k){var d=this.options,m=this;this.toShow=b;this.toHide=i;this.data=g;var c=function(){if(!m){return}return m._completed.apply(m,arguments)};this._trigger("changestart",null,this.data);this.running=i.size()===0?b.size():i.size();if(d.animated){var f={};if(d.collapsible&&j){f={toShow:a([]),toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}else{f={toShow:b,toHide:i,complete:c,down:k,autoHeight:d.autoHeight||d.fillSpace}}if(!d.proxied){d.proxied=d.animated}if(!d.proxiedDuration){d.proxiedDuration=d.duration}d.animated=a.isFunction(d.proxied)?d.proxied(f):d.proxied;d.duration=a.isFunction(d.proxiedDuration)?d.proxiedDuration(f):d.proxiedDuration;var l=a.ui.accordion.animations,e=d.duration,h=d.animated;if(!l[h]){l[h]=function(n){this.slide(n,{easing:h,duration:e||700})}}l[h](f)}else{if(d.collapsible&&j){b.toggle()}else{i.hide();b.show()}c(true)}i.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();b.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(b){var c=this.options;this.running=b?0:--this.running;if(this.running){return}if(c.clearStyle){this.toShow.add(this.toHide).css({height:"",overflow:""})}this._trigger("change",null,this.data)}});a.extend(a.ui.accordion,{version:"1.7.2",defaults:{active:null,alwaysOpen:true,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},animations:{slide:function(j,h){j=a.extend({easing:"swing",duration:300},j,h);if(!j.toHide.size()){j.toShow.animate({height:"show"},j);return}if(!j.toShow.size()){j.toHide.animate({height:"hide"},j);return}var c=j.toShow.css("overflow"),g,d={},f={},e=["height","paddingTop","paddingBottom"],b;var i=j.toShow;b=i[0].style.width;i.width(parseInt(i.parent().width(),10)-parseInt(i.css("paddingLeft"),10)-parseInt(i.css("paddingRight"),10)-(parseInt(i.css("borderLeftWidth"),10)||0)-(parseInt(i.css("borderRightWidth"),10)||0));a.each(e,function(k,m){f[m]="hide";var l=(""+a.css(j.toShow[0],m)).match(/^([\d+-.]+)(.*)$/);d[m]={value:l[1],unit:l[2]||"px"}});j.toShow.css({height:0,overflow:"hidden"}).show();j.toHide.filter(":hidden").each(j.complete).end().filter(":visible").animate(f,{step:function(k,l){if(l.prop=="height"){g=(l.now-l.start)/(l.end-l.start)}j.toShow[0].style[l.prop]=(g*d[l.prop].value)+d[l.prop].unit},duration:j.duration,easing:j.easing,complete:function(){if(!j.autoHeight){j.toShow.css("height","")}j.toShow.css("width",b);j.toShow.css({overflow:c});j.complete()}})},bounceslide:function(b){this.slide(b,{easing:b.down?"easeOutBounce":"swing",duration:b.down?1000:200})},easeslide:function(b){this.slide(b,{easing:"easeinout",duration:700})}}})})(jQuery);;/* - * jQuery UI Dialog 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Dialog - * - * Depends: - * ui.core.js - * ui.draggable.js - * ui.resizable.js - */ -(function(c){var b={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"},a="ui-dialog ui-widget ui-widget-content ui-corner-all ";c.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var l=this,m=this.options,j=m.title||this.originalTitle||" ",e=c.ui.dialog.getTitleId(this.element),k=(this.uiDialog=c("
")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:m.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(n){(m.closeOnEscape&&n.keyCode&&n.keyCode==c.ui.keyCode.ESCAPE&&l.close(n))}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(n){l.moveToTop(false,n)}),g=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(this.uiDialogTitlebar=c("
")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(n){n.stopPropagation()}).click(function(n){l.close(n);return false}).appendTo(f),h=(this.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&this._makeDraggable());(m.resizable&&c.fn.resizable&&this._makeResizable());this._createButtons(m.buttons);this._isOpen=false;(m.bgiframe&&c.fn.bgiframe&&k.bgiframe());(m.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove();(this.originalTitle&&this.element.attr("title",this.originalTitle))},close:function(f){var d=this;if(false===d._trigger("beforeclose",f)){return}(d.overlay&&d.overlay.destroy());d.uiDialog.unbind("keypress.ui-dialog");(d.options.hide?d.uiDialog.hide(d.options.hide,function(){d._trigger("close",f)}):d.uiDialog.hide()&&d._trigger("close",f));c.ui.dialog.overlay.resize();d._isOpen=false;if(d.options.modal){var e=0;c(".ui-dialog").each(function(){if(this!=d.uiDialog[0]){e=Math.max(e,c(this).css("z-index"))}});c.ui.dialog.maxZ=e}},isOpen:function(){return this._isOpen},moveToTop:function(f,e){if((this.options.modal&&!f)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",e)}if(this.options.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=this.options.zIndex}(this.overlay&&this.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var d={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++c.ui.dialog.maxZ);this.element.attr(d);this._trigger("focus",e)},open:function(){if(this._isOpen){return}var e=this.options,d=this.uiDialog;this.overlay=e.modal?new c.ui.dialog.overlay(this):null;(d.next().length&&d.appendTo("body"));this._size();this._position(e.position);d.show(e.show);this.moveToTop(true);(e.modal&&d.bind("keypress.ui-dialog",function(h){if(h.keyCode!=c.ui.keyCode.TAB){return}var g=c(":tabbable",this),i=g.filter(":first")[0],f=g.filter(":last")[0];if(h.target==f&&!h.shiftKey){setTimeout(function(){i.focus()},1)}else{if(h.target==i&&h.shiftKey){setTimeout(function(){f.focus()},1)}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(g){var f=this,d=false,e=c("
").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof g=="object"&&g!==null&&c.each(g,function(){return !(d=true)}));if(d){c.each(g,function(h,i){c('').addClass("ui-state-default ui-corner-all").text(h).click(function(){i.apply(f.element[0],arguments)}).hover(function(){c(this).addClass("ui-state-hover")},function(){c(this).removeClass("ui-state-hover")}).focus(function(){c(this).addClass("ui-state-focus")}).blur(function(){c(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var d=this,f=this.options,e;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");(f.dragStart&&f.dragStart.apply(d.element[0],arguments))},drag:function(){(f.drag&&f.drag.apply(d.element[0],arguments))},stop:function(){c(this).removeClass("ui-dialog-dragging").height(e);(f.dragStop&&f.dragStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=this.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:f.minHeight,start:function(){c(this).addClass("ui-dialog-resizing");(f.resizeStart&&f.resizeStart.apply(d.element[0],arguments))},resize:function(){(f.resize&&f.resize.apply(d.element[0],arguments))},handles:e,stop:function(){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();(f.resizeStop&&f.resizeStop.apply(d.element[0],arguments));c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(i){var e=c(window),f=c(document),g=f.scrollTop(),d=f.scrollLeft(),h=g;if(c.inArray(i,["center","top","right","bottom","left"])>=0){i=[i=="right"||i=="left"?i:"center",i=="top"||i=="bottom"?i:"middle"]}if(i.constructor!=Array){i=["center","middle"]}if(i[0].constructor==Number){d+=i[0]}else{switch(i[0]){case"left":d+=0;break;case"right":d+=e.width()-this.uiDialog.outerWidth();break;default:case"center":d+=(e.width()-this.uiDialog.outerWidth())/2}}if(i[1].constructor==Number){g+=i[1]}else{switch(i[1]){case"top":g+=0;break;case"bottom":g+=e.height()-this.uiDialog.outerHeight();break;default:case"middle":g+=(e.height()-this.uiDialog.outerHeight())/2}}g=Math.max(g,h);this.uiDialog.css({top:g,left:d})},_setData:function(e,f){(b[e]&&this.uiDialog.data(b[e],f));switch(e){case"buttons":this._createButtons(f);break;case"closeText":this.uiDialogTitlebarCloseText.text(f);break;case"dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass(a+f);break;case"draggable":(f?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(f);break;case"position":this._position(f);break;case"resizable":var d=this.uiDialog,g=this.uiDialog.is(":data(resizable)");(g&&!f&&d.resizable("destroy"));(g&&typeof f=="string"&&d.resizable("option","handles",f));(g||this._makeResizable(f));break;case"title":c(".ui-dialog-title",this.uiDialogTitlebar).html(f||" ");break;case"width":this.uiDialog.width(f);break}c.widget.prototype._setData.apply(this,arguments)},_size:function(){var e=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var d=this.uiDialog.css({height:"auto",width:e.width}).height();this.element.css({minHeight:Math.max(e.minHeight-d,0),height:e.height=="auto"?"auto":Math.max(e.height-d,0)})}});c.extend(c.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(d){return"ui-dialog-title-"+(d.attr("id")||++this.uuid)},overlay:function(d){this.$el=c.ui.dialog.overlay.create(d)}});c.extend(c.ui.dialog.overlay,{instances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(d){return d+".dialog-overlay"}).join(" "),create:function(e){if(this.instances.length===0){setTimeout(function(){if(c.ui.dialog.overlay.instances.length){c(document).bind(c.ui.dialog.overlay.events,function(f){var g=c(f.target).parents(".ui-dialog").css("zIndex")||0;return(g>c.ui.dialog.overlay.maxZ)})}},1);c(document).bind("keydown.dialog-overlay",function(f){(e.options.closeOnEscape&&f.keyCode&&f.keyCode==c.ui.keyCode.ESCAPE&&e.close(f))});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var d=c("
").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(e.options.bgiframe&&c.fn.bgiframe&&d.bgiframe());this.instances.push(d);return d},destroy:function(d){this.instances.splice(c.inArray(this.instances,d),1);if(this.instances.length===0){c([document,window]).unbind(".dialog-overlay")}d.remove();var e=0;c.each(this.instances,function(){e=Math.max(e,this.css("z-index"))});this.maxZ=e},height:function(){if(c.browser.msie&&c.browser.version<7){var e=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var d=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(e
");if(!c.values){c.values=[this._valueMin(),this._valueMin()]}if(c.values.length&&c.values.length!=2){c.values=[c.values[0],c.values[0]]}}else{this.range=a("
")}this.range.appendTo(this.element).addClass("ui-slider-range");if(c.range=="min"||c.range=="max"){this.range.addClass("ui-slider-range-"+c.range)}this.range.addClass("ui-widget-header")}if(a(".ui-slider-handle",this.element).length==0){a('
').appendTo(this.element).addClass("ui-slider-handle")}if(c.values&&c.values.length){while(a(".ui-slider-handle",this.element).length').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=a(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(d){d.preventDefault()}).hover(function(){if(!c.disabled){a(this).addClass("ui-state-hover")}},function(){a(this).removeClass("ui-state-hover")}).focus(function(){if(!c.disabled){a(".ui-slider .ui-state-focus").removeClass("ui-state-focus");a(this).addClass("ui-state-focus")}else{a(this).blur()}}).blur(function(){a(this).removeClass("ui-state-focus")});this.handles.each(function(d){a(this).data("index.ui-slider-handle",d)});this.handles.keydown(function(i){var f=true;var e=a(this).data("index.ui-slider-handle");if(b.options.disabled){return}switch(i.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:f=false;if(!b._keySliding){b._keySliding=true;a(this).addClass("ui-state-active");b._start(i,e)}break}var g,d,h=b._step();if(b.options.values&&b.options.values.length){g=d=b.values(e)}else{g=d=b.value()}switch(i.keyCode){case a.ui.keyCode.HOME:d=b._valueMin();break;case a.ui.keyCode.END:d=b._valueMax();break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(g==b._valueMax()){return}d=g+h;break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(g==b._valueMin()){return}d=g-h;break}b._slide(i,e,d);return f}).keyup(function(e){var d=a(this).data("index.ui-slider-handle");if(b._keySliding){b._stop(e,d);b._change(e,d);b._keySliding=false;a(this).removeClass("ui-state-active")}});this._refreshValue()},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy()},_mouseCapture:function(d){var e=this.options;if(e.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var h={x:d.pageX,y:d.pageY};var j=this._normValueFromMouse(h);var c=this._valueMax()-this._valueMin()+1,f;var k=this,i;this.handles.each(function(l){var m=Math.abs(j-k.values(l));if(c>m){c=m;f=a(this);i=l}});if(e.range==true&&this.values(1)==e.min){f=a(this.handles[++i])}this._start(d,i);k._handleIndex=i;f.addClass("ui-state-active").focus();var g=f.offset();var b=!a(d.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=b?{left:0,top:0}:{left:d.pageX-g.left-(f.width()/2),top:d.pageY-g.top-(f.height()/2)-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};j=this._normValueFromMouse(h);this._slide(d,i,j);return true},_mouseStart:function(b){return true},_mouseDrag:function(d){var b={x:d.pageX,y:d.pageY};var c=this._normValueFromMouse(b);this._slide(d,this._handleIndex,c);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._handleIndex=null;this._clickOffset=null;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var c,h;if("horizontal"==this.orientation){c=this.elementSize.width;h=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{c=this.elementSize.height;h=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var f=(h/c);if(f>1){f=1}if(f<0){f=0}if("vertical"==this.orientation){f=1-f}var e=this._valueMax()-this._valueMin(),i=f*e,b=i%this.options.step,g=this._valueMin()+i-b;if(b>(this.options.step/2)){g+=this.options.step}return parseFloat(g.toFixed(5))},_start:function(d,c){var b={handle:this.handles[c],value:this.value()};if(this.options.values&&this.options.values.length){b.value=this.values(c);b.values=this.values()}this._trigger("start",d,b)},_slide:function(f,e,d){var g=this.handles[e];if(this.options.values&&this.options.values.length){var b=this.values(e?0:1);if((this.options.values.length==2&&this.options.range===true)&&((e==0&&d>b)||(e==1&&d1){this.options.values[b]=e;this._refreshValue(c);if(!d){this._change(null,b)}}if(arguments.length){if(this.options.values&&this.options.values.length){return this._values(b)}else{return this.value()}}else{return this._values()}},_setData:function(b,d,c){a.widget.prototype._setData.apply(this,arguments);switch(b){case"disabled":if(d){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled")}else{this.handles.removeAttr("disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue(c);break;case"value":this._refreshValue(c);break}},_step:function(){var b=this.options.step;return b},_value:function(){var b=this.options.value;if(bthis._valueMax()){b=this._valueMax()}return b},_values:function(b){if(arguments.length){var c=this.options.values[b];if(cthis._valueMax()){c=this._valueMax()}return c}else{return this.options.values}},_valueMin:function(){var b=this.options.min;return b},_valueMax:function(){var b=this.options.max;return b},_refreshValue:function(c){var f=this.options.range,d=this.options,l=this;if(this.options.values&&this.options.values.length){var i,h;this.handles.each(function(p,n){var o=(l.values(p)-l._valueMin())/(l._valueMax()-l._valueMin())*100;var m={};m[l.orientation=="horizontal"?"left":"bottom"]=o+"%";a(this).stop(1,1)[c?"animate":"css"](m,d.animate);if(l.options.range===true){if(l.orientation=="horizontal"){(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({left:o+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({width:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}else{(p==0)&&l.range.stop(1,1)[c?"animate":"css"]({bottom:(o)+"%"},d.animate);(p==1)&&l.range[c?"animate":"css"]({height:(o-lastValPercent)+"%"},{queue:false,duration:d.animate})}}lastValPercent=o})}else{var j=this.value(),g=this._valueMin(),k=this._valueMax(),e=k!=g?(j-g)/(k-g)*100:0;var b={};b[l.orientation=="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[c?"animate":"css"](b,d.animate);(f=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[c?"animate":"css"]({width:e+"%"},d.animate);(f=="max")&&(this.orientation=="horizontal")&&this.range[c?"animate":"css"]({width:(100-e)+"%"},{queue:false,duration:d.animate});(f=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[c?"animate":"css"]({height:e+"%"},d.animate);(f=="max")&&(this.orientation=="vertical")&&this.range[c?"animate":"css"]({height:(100-e)+"%"},{queue:false,duration:d.animate})}}}));a.extend(a.ui.slider,{getter:"value values",version:"1.7.2",eventPrefix:"slide",defaults:{animate:false,delay:0,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null}})})(jQuery);;/* - * jQuery UI Tabs 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Tabs - * - * Depends: - * ui.core.js - */ -(function(a){a.widget("ui.tabs",{_init:function(){if(this.options.deselectable!==undefined){this.options.collapsible=this.options.deselectable}this._tabify(true)},_setData:function(b,c){if(b=="selected"){if(this.options.collapsible&&c==this.options.selected){return}this.select(c)}else{this.options[b]=c;if(b=="deselectable"){this.options.collapsible=c}this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^A-Za-z0-9\-_:\.]/g,"")||this.options.idPrefix+a.data(b)},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+a.data(this.list[0]));return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(c,b){return{tab:c,panel:b,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(n){this.list=this.element.children("ul:first");this.lis=a("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return a("a",this)[0]});this.panels=a([]);var p=this,d=this.options;var c=/^#.+/;this.anchors.each(function(r,o){var q=a(o).attr("href");var s=q.split("#")[0],u;if(s&&(s===location.toString().split("#")[0]||(u=a("base")[0])&&s===u.href)){q=o.hash;o.href=q}if(c.test(q)){p.panels=p.panels.add(p._sanitizeSelector(q))}else{if(q!="#"){a.data(o,"href.tabs",q);a.data(o,"load.tabs",q.replace(/#.*$/,""));var w=p._tabId(o);o.href="#"+w;var v=a("#"+w);if(!v.length){v=a(d.panelTemplate).attr("id",w).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(p.panels[r-1]||p.list);v.data("destroy.tabs",true)}p.panels=p.panels.add(v)}else{d.disabled.push(r)}}});if(n){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(d.selected===undefined){if(location.hash){this.anchors.each(function(q,o){if(o.hash==location.hash){d.selected=q;return false}})}if(typeof d.selected!="number"&&d.cookie){d.selected=parseInt(p._cookie(),10)}if(typeof d.selected!="number"&&this.lis.filter(".ui-tabs-selected").length){d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}d.selected=d.selected||0}else{if(d.selected===null){d.selected=-1}}d.selected=((d.selected>=0&&this.anchors[d.selected])||d.selected<0)?d.selected:0;d.disabled=a.unique(d.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(q,o){return p.lis.index(q)}))).sort();if(a.inArray(d.selected,d.disabled)!=-1){d.disabled.splice(a.inArray(d.selected,d.disabled),1)}this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");if(d.selected>=0&&this.anchors.length){this.panels.eq(d.selected).removeClass("ui-tabs-hide");this.lis.eq(d.selected).addClass("ui-tabs-selected ui-state-active");p.element.queue("tabs",function(){p._trigger("show",null,p._ui(p.anchors[d.selected],p.panels[d.selected]))});this.load(d.selected)}a(window).bind("unload",function(){p.lis.add(p.anchors).unbind(".tabs");p.lis=p.anchors=p.panels=null})}else{d.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))}this.element[d.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");if(d.cookie){this._cookie(d.selected,d.cookie)}for(var g=0,m;(m=this.lis[g]);g++){a(m)[a.inArray(g,d.disabled)!=-1&&!a(m).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled")}if(d.cache===false){this.anchors.removeData("cache.tabs")}this.lis.add(this.anchors).unbind(".tabs");if(d.event!="mouseover"){var f=function(o,i){if(i.is(":not(.ui-state-disabled)")){i.addClass("ui-state-"+o)}};var j=function(o,i){i.removeClass("ui-state-"+o)};this.lis.bind("mouseover.tabs",function(){f("hover",a(this))});this.lis.bind("mouseout.tabs",function(){j("hover",a(this))});this.anchors.bind("focus.tabs",function(){f("focus",a(this).closest("li"))});this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var b,h;if(d.fx){if(a.isArray(d.fx)){b=d.fx[0];h=d.fx[1]}else{b=h=d.fx}}function e(i,o){i.css({display:""});if(a.browser.msie&&o.opacity){i[0].style.removeAttribute("filter")}}var k=h?function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.hide().removeClass("ui-tabs-hide").animate(h,h.duration||"normal",function(){e(o,h);p._trigger("show",null,p._ui(i,o[0]))})}:function(i,o){a(i).closest("li").removeClass("ui-state-default").addClass("ui-tabs-selected ui-state-active");o.removeClass("ui-tabs-hide");p._trigger("show",null,p._ui(i,o[0]))};var l=b?function(o,i){i.animate(b,b.duration||"normal",function(){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");e(i,b);p.element.dequeue("tabs")})}:function(o,i,q){p.lis.removeClass("ui-tabs-selected ui-state-active").addClass("ui-state-default");i.addClass("ui-tabs-hide");p.element.dequeue("tabs")};this.anchors.bind(d.event+".tabs",function(){var o=this,r=a(this).closest("li"),i=p.panels.filter(":not(.ui-tabs-hide)"),q=a(p._sanitizeSelector(this.hash));if((r.hasClass("ui-tabs-selected")&&!d.collapsible)||r.hasClass("ui-state-disabled")||r.hasClass("ui-state-processing")||p._trigger("select",null,p._ui(this,q[0]))===false){this.blur();return false}d.selected=p.anchors.index(this);p.abort();if(d.collapsible){if(r.hasClass("ui-tabs-selected")){d.selected=-1;if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){l(o,i)}).dequeue("tabs");this.blur();return false}else{if(!i.length){if(d.cookie){p._cookie(d.selected,d.cookie)}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this));this.blur();return false}}}if(d.cookie){p._cookie(d.selected,d.cookie)}if(q.length){if(i.length){p.element.queue("tabs",function(){l(o,i)})}p.element.queue("tabs",function(){k(o,q)});p.load(p.anchors.index(this))}else{throw"jQuery UI Tabs: Mismatching fragment identifier."}if(a.browser.msie){this.blur()}});this.anchors.bind("click.tabs",function(){return false})},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var c=a.data(this,"href.tabs");if(c){this.href=c}var d=a(this).unbind(".tabs");a.each(["href","load","cache"],function(e,f){d.removeData(f+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){if(a.data(this,"destroy.tabs")){a(this).remove()}else{a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}});if(b.cookie){this._cookie(null,b.cookie)}},add:function(e,d,c){if(c===undefined){c=this.anchors.length}var b=this,g=this.options,i=a(g.tabTemplate.replace(/#\{href\}/g,e).replace(/#\{label\}/g,d)),h=!e.indexOf("#")?e.replace("#",""):this._tabId(a("a",i)[0]);i.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var f=a("#"+h);if(!f.length){f=a(g.panelTemplate).attr("id",h).data("destroy.tabs",true)}f.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(c>=this.lis.length){i.appendTo(this.list);f.appendTo(this.list[0].parentNode)}else{i.insertBefore(this.lis[c]);f.insertBefore(this.panels[c])}g.disabled=a.map(g.disabled,function(k,j){return k>=c?++k:k});this._tabify();if(this.anchors.length==1){i.addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[c],this.panels[c]))},remove:function(b){var d=this.options,e=this.lis.eq(b).remove(),c=this.panels.eq(b).remove();if(e.hasClass("ui-tabs-selected")&&this.anchors.length>1){this.select(b+(b+1=b?--g:g});this._tabify();this._trigger("remove",null,this._ui(e.find("a")[0],c[0]))},enable:function(b){var c=this.options;if(a.inArray(b,c.disabled)==-1){return}this.lis.eq(b).removeClass("ui-state-disabled");c.disabled=a.grep(c.disabled,function(e,d){return e!=b});this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b]))},disable:function(c){var b=this,d=this.options;if(c!=d.selected){this.lis.eq(c).addClass("ui-state-disabled");d.disabled.push(c);d.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}},select:function(b){if(typeof b=="string"){b=this.anchors.index(this.anchors.filter("[href$="+b+"]"))}else{if(b===null){b=-1}}if(b==-1&&this.options.collapsible){b=this.options.selected}this.anchors.eq(b).trigger(this.options.event+".tabs")},load:function(e){var c=this,g=this.options,b=this.anchors.eq(e)[0],d=a.data(b,"load.tabs");this.abort();if(!d||this.element.queue("tabs").length!==0&&a.data(b,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(e).addClass("ui-state-processing");if(g.spinner){var f=a("span",b);f.data("label.tabs",f.html()).html(g.spinner)}this.xhr=a.ajax(a.extend({},g.ajaxOptions,{url:d,success:function(i,h){a(c._sanitizeSelector(b.hash)).html(i);c._cleanup();if(g.cache){a.data(b,"cache.tabs",true)}c._trigger("load",null,c._ui(c.anchors[e],c.panels[e]));try{g.ajaxOptions.success(i,h)}catch(j){}c.element.dequeue("tabs")}}))},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup()},url:function(c,b){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",b)},length:function(){return this.anchors.length}});a.extend(a.ui.tabs,{version:"1.7.2",getter:"length",defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:"click",fx:null,idPrefix:"ui-tabs-",panelTemplate:"
",spinner:"Loading…",tabTemplate:'
  • #{label}
  • '}});a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(d,f){var b=this,g=this.options;var c=b._rotate||(b._rotate=function(h){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var i=g.selected;b.select(++i')}$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",log:function(){if(this.debug){console.log.apply("",arguments)}},setDefaults:function(settings){extendRemove(this._defaults,settings||{});return this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase();var inline=(nodeName=="div"||nodeName=="span");if(!target.id){target.id="dp"+(++this.uuid)}var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{});if(nodeName=="input"){this._connectDatepicker(target,inst)}else{if(inline){this._inlineDatepicker(target,inst)}}},_newInst:function(target,inline){var id=target[0].id.replace(/([:\[\]\.])/g,"\\\\$1");return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('
    '))}},_connectDatepicker:function(target,inst){var input=$(target);inst.append=$([]);inst.trigger=$([]);if(input.hasClass(this.markerClassName)){return}var appendText=this._get(inst,"appendText");var isRTL=this._get(inst,"isRTL");if(appendText){inst.append=$(''+appendText+"");input[isRTL?"before":"after"](inst.append)}var showOn=this._get(inst,"showOn");if(showOn=="focus"||showOn=="both"){input.focus(this._showDatepicker)}if(showOn=="button"||showOn=="both"){var buttonText=this._get(inst,"buttonText");var buttonImage=this._get(inst,"buttonImage");inst.trigger=$(this._get(inst,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:buttonImage,alt:buttonText,title:buttonText}):$('').addClass(this._triggerClass).html(buttonImage==""?buttonText:$("").attr({src:buttonImage,alt:buttonText,title:buttonText})));input[isRTL?"before":"after"](inst.trigger);inst.trigger.click(function(){if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target){$.datepicker._hideDatepicker()}else{$.datepicker._showDatepicker(target)}return false})}input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst)},_inlineDatepicker:function(target,inst){var divSpan=$(target);if(divSpan.hasClass(this.markerClassName)){return}divSpan.addClass(this.markerClassName).append(inst.dpDiv).bind("setData.datepicker",function(event,key,value){inst.settings[key]=value}).bind("getData.datepicker",function(event,key){return this._get(inst,key)});$.data(target,PROP_NAME,inst);this._setDate(inst,this._getDefaultDate(inst));this._updateDatepicker(inst);this._updateAlternate(inst)},_dialogDatepicker:function(input,dateText,onSelect,settings,pos){var inst=this._dialogInst;if(!inst){var id="dp"+(++this.uuid);this._dialogInput=$('');this._dialogInput.keydown(this._doKeyDown);$("body").append(this._dialogInput);inst=this._dialogInst=this._newInst(this._dialogInput,false);inst.settings={};$.data(this._dialogInput[0],PROP_NAME,inst)}extendRemove(inst.settings,settings||{});this._dialogInput.val(dateText);this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);if(!this._pos){var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;var scrollY=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}this._dialogInput.css("left",this._pos[0]+"px").css("top",this._pos[1]+"px");inst.settings.onSelect=onSelect;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);if($.blockUI){$.blockUI(this.dpDiv)}$.data(this._dialogInput[0],PROP_NAME,inst);return this},_destroyDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();$.removeData(target,PROP_NAME);if(nodeName=="input"){inst.append.remove();inst.trigger.remove();$target.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress)}else{if(nodeName=="div"||nodeName=="span"){$target.removeClass(this.markerClassName).empty()}}},_enableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=false;inst.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().removeClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)})},_disableDatepicker:function(target){var $target=$(target);var inst=$.data(target,PROP_NAME);if(!$target.hasClass(this.markerClassName)){return}var nodeName=target.nodeName.toLowerCase();if(nodeName=="input"){target.disabled=true;inst.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else{if(nodeName=="div"||nodeName=="span"){var inline=$target.children("."+this._inlineClass);inline.children().addClass("ui-state-disabled")}}this._disabledInputs=$.map(this._disabledInputs,function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},_isDisabledDatepicker:function(target){if(!target){return false}for(var i=0;i-1)}},_showDatepicker:function(input){input=input.target||input;if(input.nodeName.toLowerCase()!="input"){input=$("input",input.parentNode)[0]}if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input){return}var inst=$.datepicker._getInst(input);var beforeShow=$.datepicker._get(inst,"beforeShow");extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));$.datepicker._hideDatepicker(null,"");$.datepicker._lastInput=input;$.datepicker._setDateFromField(inst);if($.datepicker._inDialog){input.value=""}if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);$.datepicker._pos[1]+=input.offsetHeight}var isFixed=false;$(input).parents().each(function(){isFixed|=$(this).css("position")=="fixed";return !isFixed});if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;$.datepicker._pos[1]-=document.documentElement.scrollTop}var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null;inst.rangeStart=null;inst.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});$.datepicker._updateDatepicker(inst);offset=$.datepicker._checkOffset(inst,offset,isFixed);inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?"static":(isFixed?"fixed":"absolute")),display:"none",left:offset.left+"px",top:offset.top+"px"});if(!inst.inline){var showAnim=$.datepicker._get(inst,"showAnim")||"show";var duration=$.datepicker._get(inst,"duration");var postProcess=function(){$.datepicker._datepickerShowing=true;if($.browser.msie&&parseInt($.browser.version,10)<7){$("iframe.ui-datepicker-cover").css({width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4})}};if($.effects&&$.effects[showAnim]){inst.dpDiv.show(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[showAnim](duration,postProcess)}if(duration==""){postProcess()}if(inst.input[0].type!="hidden"){inst.input[0].focus()}$.datepicker._curInst=inst}},_updateDatepicker:function(inst){var dims={width:inst.dpDiv.width()+4,height:inst.dpDiv.height()+4};var self=this;inst.dpDiv.empty().append(this._generateHTML(inst)).find("iframe.ui-datepicker-cover").css({width:dims.width,height:dims.height}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){$(this).removeClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).removeClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).removeClass("ui-datepicker-next-hover")}}).bind("mouseover",function(){if(!self._isDisabledDatepicker(inst.inline?inst.dpDiv.parent()[0]:inst.input[0])){$(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");$(this).addClass("ui-state-hover");if(this.className.indexOf("ui-datepicker-prev")!=-1){$(this).addClass("ui-datepicker-prev-hover")}if(this.className.indexOf("ui-datepicker-next")!=-1){$(this).addClass("ui-datepicker-next-hover")}}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();var numMonths=this._getNumberOfMonths(inst);var cols=numMonths[1];var width=17;if(cols>1){inst.dpDiv.addClass("ui-datepicker-multi-"+cols).css("width",(width*cols)+"em")}else{inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("")}inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");inst.dpDiv[(this._get(inst,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");if(inst.input&&inst.input[0].type!="hidden"&&inst==$.datepicker._curInst){$(inst.input[0]).focus()}},_checkOffset:function(inst,offset,isFixed){var dpWidth=inst.dpDiv.outerWidth();var dpHeight=inst.dpDiv.outerHeight();var inputWidth=inst.input?inst.input.outerWidth():0;var inputHeight=inst.input?inst.input.outerHeight():0;var viewWidth=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)+$(document).scrollLeft();var viewHeight=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)+$(document).scrollTop();offset.left-=(this._get(inst,"isRTL")?(dpWidth-inputWidth):0);offset.left-=(isFixed&&offset.left==inst.input.offset().left)?$(document).scrollLeft():0;offset.top-=(isFixed&&offset.top==(inst.input.offset().top+inputHeight))?$(document).scrollTop():0;offset.left-=(offset.left+dpWidth>viewWidth&&viewWidth>dpWidth)?Math.abs(offset.left+dpWidth-viewWidth):0;offset.top-=(offset.top+dpHeight>viewHeight&&viewHeight>dpHeight)?Math.abs(offset.top+dpHeight+inputHeight*2-viewHeight):0;return offset},_findPos:function(obj){while(obj&&(obj.type=="hidden"||obj.nodeType!=1)){obj=obj.nextSibling}var position=$(obj).offset();return[position.left,position.top]},_hideDatepicker:function(input,duration){var inst=this._curInst;if(!inst||(input&&inst!=$.data(input,PROP_NAME))){return}if(inst.stayOpen){this._selectDate("#"+inst.id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear))}inst.stayOpen=false;if(this._datepickerShowing){duration=(duration!=null?duration:this._get(inst,"duration"));var showAnim=this._get(inst,"showAnim");var postProcess=function(){$.datepicker._tidyDialog(inst)};if(duration!=""&&$.effects&&$.effects[showAnim]){inst.dpDiv.hide(showAnim,$.datepicker._get(inst,"showOptions"),duration,postProcess)}else{inst.dpDiv[(duration==""?"hide":(showAnim=="slideDown"?"slideUp":(showAnim=="fadeIn"?"fadeOut":"hide")))](duration,postProcess)}if(duration==""){this._tidyDialog(inst)}var onClose=this._get(inst,"onClose");if(onClose){onClose.apply((inst.input?inst.input[0]:null),[(inst.input?inst.input.val():""),inst])}this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if($.blockUI){$.unblockUI();$("body").append(this.dpDiv)}}this._inDialog=false}this._curInst=null},_tidyDialog:function(inst){inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(event){if(!$.datepicker._curInst){return}var $target=$(event.target);if(($target.parents("#"+$.datepicker._mainDivId).length==0)&&!$target.hasClass($.datepicker.markerClassName)&&!$target.hasClass($.datepicker._triggerClass)&&$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI)){$.datepicker._hideDatepicker(null,"")}},_adjustDate:function(id,offset,period){var target=$(id);var inst=this._getInst(target[0]);if(this._isDisabledDatepicker(target[0])){return}this._adjustInstDate(inst,offset+(period=="M"?this._get(inst,"showCurrentAtPos"):0),period);this._updateDatepicker(inst)},_gotoToday:function(id){var target=$(id);var inst=this._getInst(target[0]);if(this._get(inst,"gotoCurrent")&&inst.currentDay){inst.selectedDay=inst.currentDay;inst.drawMonth=inst.selectedMonth=inst.currentMonth;inst.drawYear=inst.selectedYear=inst.currentYear}else{var date=new Date();inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear()}this._notifyChange(inst);this._adjustDate(target)},_selectMonthYear:function(id,select,period){var target=$(id);var inst=this._getInst(target[0]);inst._selectingMonthYear=false;inst["selected"+(period=="M"?"Month":"Year")]=inst["draw"+(period=="M"?"Month":"Year")]=parseInt(select.options[select.selectedIndex].value,10);this._notifyChange(inst);this._adjustDate(target)},_clickMonthYear:function(id){var target=$(id);var inst=this._getInst(target[0]);if(inst.input&&inst._selectingMonthYear&&!$.browser.msie){inst.input[0].focus()}inst._selectingMonthYear=!inst._selectingMonthYear},_selectDay:function(id,month,year,td){var target=$(id);if($(td).hasClass(this._unselectableClass)||this._isDisabledDatepicker(target[0])){return}var inst=this._getInst(target[0]);inst.selectedDay=inst.currentDay=$("a",td).html();inst.selectedMonth=inst.currentMonth=month;inst.selectedYear=inst.currentYear=year;if(inst.stayOpen){inst.endDay=inst.endMonth=inst.endYear=null}this._selectDate(id,this._formatDate(inst,inst.currentDay,inst.currentMonth,inst.currentYear));if(inst.stayOpen){inst.rangeStart=this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay));this._updateDatepicker(inst)}},_clearDate:function(id){var target=$(id);var inst=this._getInst(target[0]);inst.stayOpen=false;inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;this._selectDate(target,"")},_selectDate:function(id,dateStr){var target=$(id);var inst=this._getInst(target[0]);dateStr=(dateStr!=null?dateStr:this._formatDate(inst));if(inst.input){inst.input.val(dateStr)}this._updateAlternate(inst);var onSelect=this._get(inst,"onSelect");if(onSelect){onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst])}else{if(inst.input){inst.input.trigger("change")}}if(inst.inline){this._updateDatepicker(inst)}else{if(!inst.stayOpen){this._hideDatepicker(null,this._get(inst,"duration"));this._lastInput=inst.input[0];if(typeof(inst.input[0])!="object"){inst.input[0].focus()}this._lastInput=null}}},_updateAlternate:function(inst){var altField=this._get(inst,"altField");if(altField){var altFormat=this._get(inst,"altFormat")||this._get(inst,"dateFormat");var date=this._getDate(inst);dateStr=this.formatDate(altFormat,date,this._getFormatConfig(inst));$(altField).each(function(){$(this).val(dateStr)})}},noWeekends:function(date){var day=date.getDay();return[(day>0&&day<6),""]},iso8601Week:function(date){var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDatenew Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;if(firstDay>4&&(checkDate.getDay()||7)0&&iValue="0"&&value.charAt(iValue)<="9"){num=num*10+parseInt(value.charAt(iValue++),10);size--}if(size==origSize){throw"Missing number at position "+iValue}return num};var getName=function(match,shortNames,longNames){var names=(lookAhead(match)?longNames:shortNames);var size=0;for(var j=0;j0&&iValue-1){month=1;day=doy;do{var dim=this._getDaysInMonth(year,month-1);if(day<=dim){break}month++;day-=dim}while(true)}var date=this._daylightSavingAdjust(new Date(year,month-1,day));if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day){throw"Invalid date"}return date},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TIMESTAMP:"@",W3C:"yy-mm-dd",formatDate:function(format,date,settings){if(!date){return""}var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;var lookAhead=function(match){var matches=(iFormat+1=0;m--){doy+=this._getDaysInMonth(date.getFullYear(),m)}output+=formatNumber("o",doy,3);break;case"m":output+=formatNumber("m",date.getMonth()+1,2);break;case"M":output+=formatName("M",date.getMonth(),monthNamesShort,monthNames);break;case"y":output+=(lookAhead("y")?date.getFullYear():(date.getYear()%100<10?"0":"")+date.getYear()%100);break;case"@":output+=date.getTime();break;case"'":if(lookAhead("'")){output+="'"}else{literal=true}break;default:output+=format.charAt(iFormat)}}}}return output},_possibleChars:function(format){var chars="";var literal=false;for(var iFormat=0;iFormatmaxDate?maxDate:date);return date},_determineDate:function(date,defaultDate){var offsetNumeric=function(offset){var date=new Date();date.setDate(date.getDate()+offset);return date};var offsetString=function(offset,getDaysInMonth){var date=new Date();var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;var matches=pattern.exec(offset);while(matches){switch(matches[2]||"d"){case"d":case"D":day+=parseInt(matches[1],10);break;case"w":case"W":day+=parseInt(matches[1],10)*7;break;case"m":case"M":month+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break;case"y":case"Y":year+=parseInt(matches[1],10);day=Math.min(day,getDaysInMonth(year,month));break}matches=pattern.exec(offset)}return new Date(year,month,day)};date=(date==null?defaultDate:(typeof date=="string"?offsetString(date,this._getDaysInMonth):(typeof date=="number"?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));date=(date&&date.toString()=="Invalid Date"?defaultDate:date);if(date){date.setHours(0);date.setMinutes(0);date.setSeconds(0);date.setMilliseconds(0)}return this._daylightSavingAdjust(date)},_daylightSavingAdjust:function(date){if(!date){return null}date.setHours(date.getHours()>12?date.getHours()+2:0);return date},_setDate:function(inst,date,endDate){var clear=!(date);var origMonth=inst.selectedMonth;var origYear=inst.selectedYear;date=this._determineDate(date,new Date());inst.selectedDay=inst.currentDay=date.getDate();inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear){this._notifyChange(inst)}this._adjustInstDate(inst);if(inst.input){inst.input.val(clear?"":this._formatDate(inst))}},_getDate:function(inst){var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=="")?null:this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return startDate},_generateHTML:function(inst){var today=new Date();today=this._daylightSavingAdjust(new Date(today.getFullYear(),today.getMonth(),today.getDate()));var isRTL=this._get(inst,"isRTL");var showButtonPanel=this._get(inst,"showButtonPanel");var hideIfNoPrevNext=this._get(inst,"hideIfNoPrevNext");var navigationAsDateFormat=this._get(inst,"navigationAsDateFormat");var numMonths=this._getNumberOfMonths(inst);var showCurrentAtPos=this._get(inst,"showCurrentAtPos");var stepMonths=this._get(inst,"stepMonths");var stepBigMonths=this._get(inst,"stepBigMonths");var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");var drawMonth=inst.drawMonth-showCurrentAtPos;var drawYear=inst.drawYear;if(drawMonth<0){drawMonth+=12;drawYear--}if(maxDate){var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));maxDraw=(minDate&&maxDrawmaxDraw){drawMonth--;if(drawMonth<0){drawMonth=11;drawYear--}}}inst.drawMonth=drawMonth;inst.drawYear=drawYear;var prevText=this._get(inst,"prevText");prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),this._getFormatConfig(inst)));var prev=(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?''+prevText+"":(hideIfNoPrevNext?"":''+prevText+""));var nextText=this._get(inst,"nextText");nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),this._getFormatConfig(inst)));var next=(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?''+nextText+"":(hideIfNoPrevNext?"":''+nextText+""));var currentText=this._get(inst,"currentText");var gotoDate=(this._get(inst,"gotoCurrent")&&inst.currentDay?currentDate:today);currentText=(!navigationAsDateFormat?currentText:this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));var controls=(!inst.inline?'":"");var buttonPanel=(showButtonPanel)?'
    '+(isRTL?controls:"")+(this._isInRange(inst,gotoDate)?'":"")+(isRTL?"":controls)+"
    ":"";var firstDay=parseInt(this._get(inst,"firstDay"),10);firstDay=(isNaN(firstDay)?0:firstDay);var dayNames=this._get(inst,"dayNames");var dayNamesShort=this._get(inst,"dayNamesShort");var dayNamesMin=this._get(inst,"dayNamesMin");var monthNames=this._get(inst,"monthNames");var monthNamesShort=this._get(inst,"monthNamesShort");var beforeShowDay=this._get(inst,"beforeShowDay");var showOtherMonths=this._get(inst,"showOtherMonths");var calculateWeek=this._get(inst,"calculateWeek")||this.iso8601Week;var endDate=inst.endDay?this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;var defaultDate=this._getDefaultDate(inst);var html="";for(var row=0;row'+(/all|left/.test(cornerClass)&&row==0?(isRTL?next:prev):"")+(/all|right/.test(cornerClass)&&row==0?(isRTL?prev:next):"")+this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,row>0||col>0,monthNames,monthNamesShort)+'';var thead="";for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;thead+="=5?' class="ui-datepicker-week-end"':"")+'>'+dayNamesMin[day]+""}calender+=thead+"";var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth){inst.selectedDay=Math.min(inst.selectedDay,daysInMonth)}var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7));var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));for(var dRow=0;dRow";var tbody="";for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,""]);var otherMonth=(printDate.getMonth()!=drawMonth);var unselectable=otherMonth||!daySettings[0]||(minDate&&printDatemaxDate);tbody+='";printDate.setDate(printDate.getDate()+1);printDate=this._daylightSavingAdjust(printDate)}calender+=tbody+""}drawMonth++;if(drawMonth>11){drawMonth=0;drawYear++}calender+="
    =currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" "+this._currentClass:"")+(printDate.getTime()==today.getTime()?" ui-datepicker-today":""))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':"")+(unselectable?"":" onclick=\"DP_jQuery.datepicker._selectDay('#"+inst.id+"',"+drawMonth+","+drawYear+', this);return false;"')+">"+(otherMonth?(showOtherMonths?printDate.getDate():" "):(unselectable?''+printDate.getDate()+"":'=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?" ui-state-active":"")+'" href="#">'+printDate.getDate()+""))+"
    "+(isMultiMonth?""+((numMonths[0]>0&&col==numMonths[1]-1)?'
    ':""):"");group+=calender}html+=group}html+=buttonPanel+($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?'':"");inst._keyEvent=false;return html},_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,selectedDate,secondary,monthNames,monthNamesShort){minDate=(inst.rangeStart&&minDate&&selectedDate "}else{var inMinYear=(minDate&&minDate.getFullYear()==drawYear);var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);monthHtml+='"}if(!showMonthAfterYear){html+=monthHtml+((secondary||changeMonth||changeYear)&&(!(changeMonth&&changeYear))?" ":"")}if(secondary||!changeYear){html+=''+drawYear+""}else{var years=this._get(inst,"yearRange").split(":");var year=0;var endYear=0;if(years.length!=2){year=drawYear-10;endYear=drawYear+10}else{if(years[0].charAt(0)=="+"||years[0].charAt(0)=="-"){year=drawYear+parseInt(years[0],10);endYear=drawYear+parseInt(years[1],10)}else{year=parseInt(years[0],10);endYear=parseInt(years[1],10)}}year=(minDate?Math.max(year,minDate.getFullYear()):year);endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);html+='"}if(showMonthAfterYear){html+=(secondary||changeMonth||changeYear?" ":"")+monthHtml}html+="";return html},_adjustInstDate:function(inst,offset,period){var year=inst.drawYear+(period=="Y"?offset:0);var month=inst.drawMonth+(period=="M"?offset:0);var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+(period=="D"?offset:0);var date=this._daylightSavingAdjust(new Date(year,month,day));var minDate=this._getMinMaxDate(inst,"min",true);var maxDate=this._getMinMaxDate(inst,"max");date=(minDate&&datemaxDate?maxDate:date);inst.selectedDay=date.getDate();inst.drawMonth=inst.selectedMonth=date.getMonth();inst.drawYear=inst.selectedYear=date.getFullYear();if(period=="M"||period=="Y"){this._notifyChange(inst)}},_notifyChange:function(inst){var onChange=this._get(inst,"onChangeMonthYear");if(onChange){onChange.apply((inst.input?inst.input[0]:null),[inst.selectedYear,inst.selectedMonth+1,inst])}},_getNumberOfMonths:function(inst){var numMonths=this._get(inst,"numberOfMonths");return(numMonths==null?[1,1]:(typeof numMonths=="number"?[1,numMonths]:numMonths))},_getMinMaxDate:function(inst,minMax,checkRange){var date=this._determineDate(this._get(inst,minMax+"Date"),null);return(!checkRange||!inst.rangeStart?date:(!date||inst.rangeStart>date?inst.rangeStart:date))},_getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate()},_getFirstDayOfMonth:function(year,month){return new Date(year,month,1).getDay()},_canAdjustMonth:function(inst,offset,curYear,curMonth){var numMonths=this._getNumberOfMonths(inst);var date=this._daylightSavingAdjust(new Date(curYear,curMonth+(offset<0?offset:numMonths[1]),1));if(offset<0){date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()))}return this._isInRange(inst,date)},_isInRange:function(inst,date){var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));newMinDate=(newMinDate&&inst.rangeStart=minDate)&&(!maxDate||date<=maxDate))},_getFormatConfig:function(inst){var shortYearCutoff=this._get(inst,"shortYearCutoff");shortYearCutoff=(typeof shortYearCutoff!="string"?shortYearCutoff:new Date().getFullYear()%100+parseInt(shortYearCutoff,10));return{shortYearCutoff:shortYearCutoff,dayNamesShort:this._get(inst,"dayNamesShort"),dayNames:this._get(inst,"dayNames"),monthNamesShort:this._get(inst,"monthNamesShort"),monthNames:this._get(inst,"monthNames")}},_formatDate:function(inst,day,month,year){if(!day){inst.currentDay=inst.selectedDay;inst.currentMonth=inst.selectedMonth;inst.currentYear=inst.selectedYear}var date=(day?(typeof day=="object"?day:this._daylightSavingAdjust(new Date(year,month,day))):this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));return this.formatDate(this._get(inst,"dateFormat"),date,this._getFormatConfig(inst))}});function extendRemove(target,props){$.extend(target,props);for(var name in props){if(props[name]==null||props[name]==undefined){target[name]=props[name]}}return target}function isArray(a){return(a&&(($.browser.safari&&typeof a=="object"&&a.length)||(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))}$.fn.datepicker=function(options){if(!$.datepicker.initialized){$(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv);$.datepicker.initialized=true}var otherArgs=Array.prototype.slice.call(arguments,1);if(typeof options=="string"&&(options=="isDisabled"||options=="getDate")){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}if(options=="option"&&arguments.length==2&&typeof arguments[1]=="string"){return $.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this[0]].concat(otherArgs))}return this.each(function(){typeof options=="string"?$.datepicker["_"+options+"Datepicker"].apply($.datepicker,[this].concat(otherArgs)):$.datepicker._attachDatepicker(this,options)})};$.datepicker=new Datepicker();$.datepicker.initialized=false;$.datepicker.uuid=new Date().getTime();$.datepicker.version="1.7.2";window.DP_jQuery=$})(jQuery);;/* - * jQuery UI Progressbar 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Progressbar - * - * Depends: - * ui.core.js - */ -(function(a){a.widget("ui.progressbar",{_init:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=a('
    ').appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow").removeData("progressbar").unbind(".progressbar");this.valueDiv.remove();a.widget.prototype.destroy.apply(this,arguments)},value:function(b){if(b===undefined){return this._value()}this._setData("value",b);return this},_setData:function(b,c){switch(b){case"value":this.options.value=c;this._refreshValue();this._trigger("change",null,{});break}a.widget.prototype._setData.apply(this,arguments)},_value:function(){var b=this.options.value;if(bthis._valueMax()){b=this._valueMax()}return b},_valueMin:function(){var b=0;return b},_valueMax:function(){var b=100;return b},_refreshValue:function(){var b=this.value();this.valueDiv[b==this._valueMax()?"addClass":"removeClass"]("ui-corner-right");this.valueDiv.width(b+"%");this.element.attr("aria-valuenow",b)}});a.extend(a.ui.progressbar,{version:"1.7.2",defaults:{value:0}})})(jQuery);;/* - * jQuery UI Effects 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/ - */ -jQuery.effects||(function(d){d.effects={version:"1.7.2",save:function(g,h){for(var f=0;f');var j=f.parent();if(f.css("position")=="static"){j.css({position:"relative"});f.css({position:"relative"})}else{var i=f.css("top");if(isNaN(parseInt(i,10))){i="auto"}var h=f.css("left");if(isNaN(parseInt(h,10))){h="auto"}j.css({position:f.css("position"),top:i,left:h,zIndex:f.css("z-index")}).show();f.css({position:"relative",top:0,left:0})}j.css(g);return j},removeWrapper:function(f){if(f.parent().is(".ui-effects-wrapper")){return f.parent().replaceWith(f)}return f},setTransition:function(g,i,f,h){h=h||{};d.each(i,function(k,j){unit=g.cssUnit(j);if(unit[0]>0){h[j]=unit[0]*f+unit[1]}});return h},animateClass:function(h,i,k,j){var f=(typeof k=="function"?k:(j?j:null));var g=(typeof k=="string"?k:null);return this.each(function(){var q={};var o=d(this);var p=o.attr("style")||"";if(typeof p=="object"){p=p.cssText}if(h.toggle){o.hasClass(h.toggle)?h.remove=h.toggle:h.add=h.toggle}var l=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.addClass(h.add)}if(h.remove){o.removeClass(h.remove)}var m=d.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));if(h.add){o.removeClass(h.add)}if(h.remove){o.addClass(h.remove)}for(var r in m){if(typeof m[r]!="function"&&m[r]&&r.indexOf("Moz")==-1&&r.indexOf("length")==-1&&m[r]!=l[r]&&(r.match(/color/i)||(!r.match(/color/i)&&!isNaN(parseInt(m[r],10))))&&(l.position!="static"||(l.position=="static"&&!r.match(/left|top|bottom|right/)))){q[r]=m[r]}}o.animate(q,i,g,function(){if(typeof d(this).attr("style")=="object"){d(this).attr("style")["cssText"]="";d(this).attr("style")["cssText"]=p}else{d(this).attr("style",p)}if(h.add){d(this).addClass(h.add)}if(h.remove){d(this).removeClass(h.remove)}if(f){f.apply(this,arguments)}})})}};function c(g,f){var i=g[1]&&g[1].constructor==Object?g[1]:{};if(f){i.mode=f}var h=g[1]&&g[1].constructor!=Object?g[1]:(i.duration?i.duration:g[2]);h=d.fx.off?0:typeof h==="number"?h:d.fx.speeds[h]||d.fx.speeds._default;var j=i.callback||(d.isFunction(g[1])&&g[1])||(d.isFunction(g[2])&&g[2])||(d.isFunction(g[3])&&g[3]);return[g[0],i,h,j]}d.fn.extend({_show:d.fn.show,_hide:d.fn.hide,__toggle:d.fn.toggle,_addClass:d.fn.addClass,_removeClass:d.fn.removeClass,_toggleClass:d.fn.toggleClass,effect:function(g,f,h,i){return d.effects[g]?d.effects[g].call(this,{method:g,options:f||{},duration:h,callback:i}):null},show:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._show.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"show"))}},hide:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))){return this._hide.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"hide"))}},toggle:function(){if(!arguments[0]||(arguments[0].constructor==Number||(/(slow|normal|fast)/).test(arguments[0]))||(d.isFunction(arguments[0])||typeof arguments[0]=="boolean")){return this.__toggle.apply(this,arguments)}else{return this.effect.apply(this,c(arguments,"toggle"))}},addClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{add:g},f,i,h]):this._addClass(g)},removeClass:function(g,f,i,h){return f?d.effects.animateClass.apply(this,[{remove:g},f,i,h]):this._removeClass(g)},toggleClass:function(g,f,i,h){return((typeof f!=="boolean")&&f)?d.effects.animateClass.apply(this,[{toggle:g},f,i,h]):this._toggleClass(g,f)},morph:function(f,h,g,j,i){return d.effects.animateClass.apply(this,[{add:h,remove:f},g,j,i])},switchClass:function(){return this.morph.apply(this,arguments)},cssUnit:function(f){var g=this.css(f),h=[];d.each(["em","px","%","pt"],function(j,k){if(g.indexOf(k)>0){h=[parseFloat(g),k]}});return h}});d.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(g,f){d.fx.step[f]=function(h){if(h.state==0){h.start=e(h.elem,f);h.end=b(h.end)}h.elem.style[f]="rgb("+[Math.max(Math.min(parseInt((h.pos*(h.end[0]-h.start[0]))+h.start[0],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[1]-h.start[1]))+h.start[1],10),255),0),Math.max(Math.min(parseInt((h.pos*(h.end[2]-h.start[2]))+h.start[2],10),255),0)].join(",")+")"}});function b(g){var f;if(g&&g.constructor==Array&&g.length==3){return g}if(f=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(g)){return[parseInt(f[1],10),parseInt(f[2],10),parseInt(f[3],10)]}if(f=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(g)){return[parseFloat(f[1])*2.55,parseFloat(f[2])*2.55,parseFloat(f[3])*2.55]}if(f=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(g)){return[parseInt(f[1],16),parseInt(f[2],16),parseInt(f[3],16)]}if(f=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(g)){return[parseInt(f[1]+f[1],16),parseInt(f[2]+f[2],16),parseInt(f[3]+f[3],16)]}if(f=/rgba\(0, 0, 0, 0\)/.exec(g)){return a.transparent}return a[d.trim(g).toLowerCase()]}function e(h,f){var g;do{g=d.curCSS(h,f);if(g!=""&&g!="transparent"||d.nodeName(h,"body")){break}f="backgroundColor"}while(h=h.parentNode);return b(g)}var a={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]};d.easing.jswing=d.easing.swing;d.extend(d.easing,{def:"easeOutQuad",swing:function(g,h,f,j,i){return d.easing[d.easing.def](g,h,f,j,i)},easeInQuad:function(g,h,f,j,i){return j*(h/=i)*h+f},easeOutQuad:function(g,h,f,j,i){return -j*(h/=i)*(h-2)+f},easeInOutQuad:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h+f}return -j/2*((--h)*(h-2)-1)+f},easeInCubic:function(g,h,f,j,i){return j*(h/=i)*h*h+f},easeOutCubic:function(g,h,f,j,i){return j*((h=h/i-1)*h*h+1)+f},easeInOutCubic:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h+f}return j/2*((h-=2)*h*h+2)+f},easeInQuart:function(g,h,f,j,i){return j*(h/=i)*h*h*h+f},easeOutQuart:function(g,h,f,j,i){return -j*((h=h/i-1)*h*h*h-1)+f},easeInOutQuart:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h+f}return -j/2*((h-=2)*h*h*h-2)+f},easeInQuint:function(g,h,f,j,i){return j*(h/=i)*h*h*h*h+f},easeOutQuint:function(g,h,f,j,i){return j*((h=h/i-1)*h*h*h*h+1)+f},easeInOutQuint:function(g,h,f,j,i){if((h/=i/2)<1){return j/2*h*h*h*h*h+f}return j/2*((h-=2)*h*h*h*h+2)+f},easeInSine:function(g,h,f,j,i){return -j*Math.cos(h/i*(Math.PI/2))+j+f},easeOutSine:function(g,h,f,j,i){return j*Math.sin(h/i*(Math.PI/2))+f},easeInOutSine:function(g,h,f,j,i){return -j/2*(Math.cos(Math.PI*h/i)-1)+f},easeInExpo:function(g,h,f,j,i){return(h==0)?f:j*Math.pow(2,10*(h/i-1))+f},easeOutExpo:function(g,h,f,j,i){return(h==i)?f+j:j*(-Math.pow(2,-10*h/i)+1)+f},easeInOutExpo:function(g,h,f,j,i){if(h==0){return f}if(h==i){return f+j}if((h/=i/2)<1){return j/2*Math.pow(2,10*(h-1))+f}return j/2*(-Math.pow(2,-10*--h)+2)+f},easeInCirc:function(g,h,f,j,i){return -j*(Math.sqrt(1-(h/=i)*h)-1)+f},easeOutCirc:function(g,h,f,j,i){return j*Math.sqrt(1-(h=h/i-1)*h)+f},easeInOutCirc:function(g,h,f,j,i){if((h/=i/2)<1){return -j/2*(Math.sqrt(1-h*h)-1)+f}return j/2*(Math.sqrt(1-(h-=2)*h)+1)+f},easeInElastic:function(g,i,f,m,l){var j=1.70158;var k=0;var h=m;if(i==0){return f}if((i/=l)==1){return f+m}if(!k){k=l*0.3}if(h").css({position:"absolute",visibility:"visible",left:-d*(g/e),top:-f*(c/k)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:g/e,height:c/k,left:l.left+d*(g/e)+(b.options.mode=="show"?(d-Math.floor(e/2))*(g/e):0),top:l.top+f*(c/k)+(b.options.mode=="show"?(f-Math.floor(k/2))*(c/k):0),opacity:b.options.mode=="show"?0:1}).animate({left:l.left+d*(g/e)+(b.options.mode=="show"?0:(d-Math.floor(e/2))*(g/e)),top:l.top+f*(c/k)+(b.options.mode=="show"?0:(f-Math.floor(k/2))*(c/k)),opacity:b.options.mode=="show"?1:0},b.duration||500)}}setTimeout(function(){b.options.mode=="show"?h.css({visibility:"visible"}):h.css({visibility:"visible"}).hide();if(b.callback){b.callback.apply(h[0])}h.dequeue();a("div.ui-effects-explode").remove()},b.duration||500)})}})(jQuery);;/* - * jQuery UI Effects Fold 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Fold - * - * Depends: - * effects.core.js - */ -(function(a){a.effects.fold=function(b){return this.queue(function(){var e=a(this),k=["position","top","left"];var h=a.effects.setMode(e,b.options.mode||"hide");var o=b.options.size||15;var n=!(!b.options.horizFirst);var g=b.duration?b.duration/2:a.fx.speeds._default/2;a.effects.save(e,k);e.show();var d=a.effects.createWrapper(e).css({overflow:"hidden"});var i=((h=="show")!=n);var f=i?["width","height"]:["height","width"];var c=i?[d.width(),d.height()]:[d.height(),d.width()];var j=/([0-9]+)%/.exec(o);if(j){o=parseInt(j[1],10)/100*c[h=="hide"?0:1]}if(h=="show"){d.css(n?{height:0,width:o}:{height:o,width:0})}var m={},l={};m[f[0]]=h=="show"?c[0]:o;l[f[1]]=h=="show"?c[1]:0;d.animate(m,g,b.options.easing).animate(l,g,b.options.easing,function(){if(h=="hide"){e.hide()}a.effects.restore(e,k);a.effects.removeWrapper(e);if(b.callback){b.callback.apply(e[0],arguments)}e.dequeue()})})}})(jQuery);;/* - * jQuery UI Effects Highlight 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Highlight - * - * Depends: - * effects.core.js - */ -(function(a){a.effects.highlight=function(b){return this.queue(function(){var e=a(this),d=["backgroundImage","backgroundColor","opacity"];var h=a.effects.setMode(e,b.options.mode||"show");var c=b.options.color||"#ffff99";var g=e.css("backgroundColor");a.effects.save(e,d);e.show();e.css({backgroundImage:"none",backgroundColor:c});var f={backgroundColor:g};if(h=="hide"){f.opacity=0}e.animate(f,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){if(h=="hide"){e.hide()}a.effects.restore(e,d);if(h=="show"&&a.browser.msie){this.style.removeAttribute("filter")}if(b.callback){b.callback.apply(this,arguments)}e.dequeue()}})})}})(jQuery);;/* - * jQuery UI Effects Pulsate 1.7.2 - * - * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * http://docs.jquery.com/UI/Effects/Pulsate - * - * Depends: - * effects.core.js - */ -(function(a){a.effects.pulsate=function(b){return this.queue(function(){var d=a(this);var g=a.effects.setMode(d,b.options.mode||"show");var f=b.options.times||5;var e=b.duration?b.duration/2:a.fx.speeds._default/2;if(g=="hide"){f--}if(d.is(":hidden")){d.css("opacity",0);d.show();d.animate({opacity:1},e,b.options.easing);f=f-2}for(var c=0;c').appendTo(document.body).addClass(b.options.className).css({top:d.top,left:d.left,height:f.innerHeight(),width:f.innerWidth(),position:"absolute"}).animate(g,b.duration,b.options.easing,function(){c.remove();(b.callback&&b.callback.apply(f[0],arguments));f.dequeue()})})}})(jQuery);; \ No newline at end of file diff --git a/resources/library/interactive/barre_prof.wgt/js/jquery.disable.text.select.js b/resources/library/interactive/barre_prof.wgt/js/jquery.disable.text.select.js deleted file mode 100644 index 19d50410..00000000 --- a/resources/library/interactive/barre_prof.wgt/js/jquery.disable.text.select.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * .disableTextSelect - Disable Text Select Plugin - * - * Version: 1.0 - * Updated: 2007-08-11 - * - * Used to stop users from selecting text - * - * Copyright (c) 2007 James Dempster (letssurf@gmail.com, http://www.jdempster.com/category/jquery/disabletextselect/) - * - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - **/ - -/** - * Requirements: - * - jQuery (John Resig, http://www.jquery.com/) - **/ -(function($) { - if ($.browser.mozilla) { - $.fn.disableTextSelect = function() { - return this.each(function() { - $(this).css({ - 'MozUserSelect' : 'none' - }); - }); - }; - } else if ($.browser.msie) { - $.fn.disableTextSelect = function() { - return this.each(function() { - $(this).bind('selectstart', function() { - return false; - }); - }); - }; - } else { - $.fn.disableTextSelect = function() { - return this.each(function() { - $(this).mousedown(function() { - return false; - }); - }); - }; - } -})(jQuery); diff --git a/resources/library/interactive/barre_prof.wgt/js/jquery.ubwidget.js b/resources/library/interactive/barre_prof.wgt/js/jquery.ubwidget.js deleted file mode 100644 index a4eba538..00000000 --- a/resources/library/interactive/barre_prof.wgt/js/jquery.ubwidget.js +++ /dev/null @@ -1,362 +0,0 @@ -(function($) { - jQuery.fn.ubwidget = function(options) { - var settings = jQuery.extend({}, jQuery.fn.ubwidget.defaults, options); - - $(window) - .bind("blur", function(event){ - $("#ubw-catcher").trigger("mousedown"); - //$("#ibutton").hide(); - }) - .trigger("focus"); - - return this.each(function() { - var ubwbody = $(this) - .addClass("ubw-body"); - - var ubwcontainer = $("
    ") - .append(ubwbody) - .addClass("ubw-container") - .css({ - width:settings.width, - height:settings.height - }); - //.mouseenter(function(){$("#ibutton").show(0)}); - - $('body').append(ubwcontainer); - }); - }; - - // Default options - - jQuery.fn.ubwidget.defaults = { - width:250, - height:300 - }; - - // Shadows - - jQuery.fn.ubwshadows = function(settings){ - - var shadow = $("
    ") - .addClass("ubw-standard-corners") - .css({ - backgroundColor:"#333377", - opacity:".08", - filter: "alpha(opacity = 18)", - position:"absolute", - top:settings.t, - left:settings.l, - width:settings.w, - height:settings.h - }); - - $(this).before(shadow); - }; - - jQuery.fn.ubwbutton = function(size, arrows) { - var arrows = typeof(arrows) != "undefined" ? arrows = arrows : arrows = {top:0, right:0, bottom:0, left:0}; - var button = null; - var scale = 1.15; - - return this.each(function() { - button = $(this) - .addClass("ubw-button-wrapper") - .disableTextSelect(); - - button.data("size", size); - - var buttonContent = $("
    ") - .addClass("ubw-button-content") - .html($(this).html()); - - $(this).empty(); - - var buttonCanvas = $("
    ") - .addClass("ubw-button-canvas") - .appendTo(button) - .html('
    '); - - if(arrows.top)buttonCanvas.find(".ubw-button-arrowTop").children("img").css({visibility:"visible"}); - if(arrows.right)buttonCanvas.find(".ubw-button-arrowRight").children("img").css({visibility:"visible"}); - if(arrows.bottom)buttonCanvas.find(".ubw-button-arrowBottom").children("img").css({visibility:"visible"}); - if(arrows.left)buttonCanvas.find(".ubw-button-arrowLeft").children("img").css({visibility:"visible"}); - - var buttonBody = buttonCanvas.find(".ubw-button-body") - .addClass("ubw-button-out") - .addClass("ubw-button-corners") - .append(buttonContent) - .bind("mouseenter", buttonOverHandler) - .bind("mouseleave", buttonOutHandler) - .bind("mousedown", buttonDownHandler) - .bind("mouseup", buttonUpHandler) - .css({ - width:size.w, - height:size.h - }); - - setTimeout(function(){button.find(".ubw-button-content").center()}, 10); - }); - - function buttonOverHandler(e) { - var buttonbody = button.find(".ubw-button-body"); - var sizeover = {w:size.w*1.15, h:size.h*1.15}; - - button.find(".ubw-button-body").ubwshadows({ - w:sizeover.w+12, - h:sizeover.h+12, - l:-2, - t:1 - }); - - button.css({zIndex:1}) - .children(".ubw-button-canvas") - .css({ - marginLeft:(buttonbody.width()-sizeover.w)/2, - marginTop:(buttonbody.height()-sizeover.h)/2 - }); - buttonbody.removeClass("ubw-button-out") - .addClass("ubw-button-over") - .css({ - fontSize:"115%", - width:sizeover.w, - height:sizeover.h - }); - - button.find(".ubw-button-canvas").find(".ubw-button-arrowTop").children("img").attr("src", "images/arrows_over/top.png"); - button.find(".ubw-button-canvas").find(".ubw-button-arrowBottom").children("img").attr("src", "images/arrows_over/bottom.png"); - }; - - function buttonOutHandler(e){ - var buttonbody = button.find(".ubw-button-body"); - - button.find(".ubw-shadow").remove(); - button.css({zIndex:0}); - buttonbody.removeClass("ubw-button-over") - .addClass("ubw-button-out") - .css({ - fontSize:"100%", - width:size.w, - height:size.h - }); - button.children(".ubw-button-canvas") - .css({ - marginLeft:0, - marginTop:0 - }); - - button.find(".ubw-button-canvas").find(".ubw-button-arrowTop").children("img").attr("src", "images/arrows_out/top.png"); - button.find(".ubw-button-canvas").find(".ubw-button-arrowBottom").children("img").attr("src", "images/arrows_out/bottom.png"); }; - - function buttonDownHandler(e){ - var buttonbody = button.find(".ubw-button-body"); - - buttonbody.css({fontSize:"125%"}); - }; - - function buttonUpHandler(e){ - var buttonbody = button.find(".ubw-button-body"); - - buttonbody.css({fontSize:"115%"}); - }; - }; - - jQuery.fn.ubwtoggle = function(activated) { - var activated = typeof(activated) != "undefined" ? activated = 1 : activated = 0; - - return this.each(function(){ - var button = $(this); - var buttonBody = button.find(".ubw-button-body"); - var img = buttonBody.find("img"); - var imgsrc = img.attr("src"); - - buttonBody - .toggle( - function(){ - img.css({visibility:"hidden"}); - }, - function(){ - img.css({visibility:"visible"}); - } - ); - - if(!activated){ - buttonBody.trigger("click"); - }; - }); - }; - - jQuery.fn.ubwdropdown = function(size, list, func){ - return this.each(function(){ - - var button = $(this); - - var dropdownList = $("
      ") - .addClass("ubw-dropdown") - .hide(); - - for(var i=0; i"+list[i]+"") - .addClass("out") - .bind("mouseenter mouseleave", function(){ - $(this).toggleClass("over"); - }) - .bind("click", {i:i}, function(e){ - return function(){ - func(list[e.data.i]); - button.find(".ubw-button-content") - .empty() - .append(list[e.data.i]); - button.find(".ubw-button-body") - .trigger("click"); - //.bind("mouseenter", jQuery.fn.ubwbutton.buttonOverHandler); - }(); - }); - dropdownList.append(newLine); - - if(i==0){ - newLine.addClass("ubw-dropdown-top-corners"); - }else if(i==list.length-1){ - newLine.addClass("ubw-dropdown-bottom-corners"); - } - } - - $(this).ubwbutton(size, {top:0, bottom:1, left:0, right:0}) - .find(".ubw-button-body") - .mouseenter(function(){ - $(this).css({ - backgroundImage:"url(images/button_out_dark.png)", - color:"#eeeeee", - border:"none" - }) - }) - .mouseleave(function(){ - $(this).css({ - backgroundImage:"url(images/button_out.gif)", - color:"#555555", - borderLeft:"2px solid rgb(231, 231, 233)", - borderRight:"2px solid rgb(231, 231, 233)", - borderBottom:"2px solid rgb(221, 221, 223)", - borderTop:"2px solid rgb(241, 241, 244)" - }); - }) - .toggle( - function(){ - dropdownList.show(); - $(this).trigger("mouseleave"); - //$(this).unbind("mouseenter"); - }, - function(){ - dropdownList.hide(); - } - ); - button.find(".ubw-button-canvas").append(dropdownList); - }); - } - - jQuery.fn.scrollHandler = function(){ - return this.each(function(){ - $(this).mouseenter(function(){ - $(this).css({ - backgroundImage:"url(images/button_out_dark.png)", - border:"none", - color:"#eeeeee" - }) - }) - .mouseleave(function(){ - $(this).css({ - backgroundImage:"url(images/button_out.gif)", - color:"#555555", - borderLeft:"2px solid rgb(231, 231, 233)", - borderRight:"2px solid rgb(231, 231, 233)", - borderBottom:"2px solid rgb(221, 221, 223)", - borderTop:"2px solid rgb(241, 241, 244)" - }) - }); - }); - }; - - jQuery.fn.ubwidget.inspector = function(_position, content, button){ - - var position = {x:_position.x, y:_position.y}; - - var catcher = $("
      ") - .css({ - position:"absolute", - width:"100%", - height:"100%" - }) - .mousedown(function(){ - inspector.hide(); - removeDropShadow(); - catcher.hide(); - resizeubcanvas() - }); - - $("body").append(catcher); - catcher.hide(); - - var inspector = $("
      ") - .css({ - left:position.x, - top:position.y - }) - .append(content) - .appendTo($("body")) - .hide() - .addClass("ubw-button-corners"); - - var inspectorWidth = inspector.width(); - var inspectorHeight = inspector.height(); - var windowWidth = $(window).width(); - var windowHeight = $(window).height(); - - $("body").prepend(button); - //button.addClass("ubw-standard-corners") - button.click(function(){ - catcher.show(); - inspector.show(); - dropShadow(); - resizeubcanvas() - }) - .attr("id", "ibutton"); - - function dropShadow (){ - inspector.ubwshadows({w:inspectorWidth+23,h:inspectorHeight+22,l:50,t:80})} - function removeDropShadow (){ - $(".ubw-shadow").remove()} - - // !! - $(".ubw-shadow") - .mousedown(function(){ - inspector.hide(); - removeDropShadow(); - catcher.hide(); - resizeubcanvas(); - }); - - function resizeubcanvas(){ - - if(inspector.css("display")=="none"){ - window.resizeTo($(".ubw-container").width()+68, $(".ubw-container").height()+68); - } - else{ - var inspectorbottom = inspector.position().top+inspector.height()+60; - var inspectorright = inspector.position().left+inspector.width()+45; - - if($(window).width()'); - var fontUp = $(''); - var fontDown = $(''); - var minimize = $(''); - var title = $(''); - var teacherIcon = $('').attr('src',"images/teacher.png").appendTo('body').hide(); - var textField = $('
      '); - - var shadow = $("
       
      ") - .appendTo("body"); - - var shadowleft = $("") - .appendTo($("#sl")); - var shadowright = $("") - .appendTo($("#sr")); - - $("#ubwidget") - .append(header) - .append(textField); - - fontUp - .addClass('menuElement'); - fontDown - .addClass('menuElement'); - minimize - .addClass('menuElement'); - - header - .append(minimize) - .append(fontUp) - .append(fontDown); - var titletext = header.find('textarea'); - - titletext.click( - function(){ - - titletext.focus(); - - }); - - fontDown.click( - function(){ - - var newFontSize = parseInt(currentFontSize) - 3; - - textField.css({ - fontSize : newFontSize - }) - - controlTextField(); - - if(window.uniboard){ - window.uniboard.setPreference("fontSize", newFontSize); - }; - - }); - - fontUp.click( - function(){ - - var newFontSize = parseInt(currentFontSize) + 3; - - textField.css({ - fontSize : newFontSize - }) - - controlTextField(); - - if(window.uniboard){ - window.uniboard.setPreference("fontSize", newFontSize); - }; - }); - - minimize.bind('click', - function(){ - minimizedHeight = $('.ubw-container').height() ; - $('.ubw-container').hide(); - shadow.hide(); - teacherIcon.width('auto').height('auto'); - - teacherIcon.height(($(window).height()<100)?($(window).height()):(100)).show(); - if(teacherIcon.width()>$(window).width()){ - teacherIcon.width($(window).width()); - teacherIcon.css('height','auto'); - } - - window.resizeTo($(window).width(),teacherIcon.height()); - - if(window.uniboard){ - window.uniboard.setPreference("minimized", "true"); - window.uniboard.setPreference("minimized", "true"); - }; - }); - - teacherIcon.bind('click', - function(){ - var lastHeight = String(minimizedHeight)+'px'; - $('.ubw-container').height(lastHeight).show(); - teacherIcon.hide(); - shadow.show(); - window.resizeTo($('.ubw-container').width()+15,minimizedHeight+20); - - if(window.uniboard){ - window.uniboard.setPreference("minimized", "false"); - }; - }); - - header - .append(title); - title - .addClass('menu'); - header - .addClass('head'); - textField - .addClass("textField") - .css("fontSize",currentFontSize) - .attr('contentEditable','true') - .keyup(function(){ - if(window.uniboard){ - window.uniboard.setPreference("text", textField.html()); - } - controlTextField(); - $('#headtitle').hide(); - }); - if(textField.html().length === 0){ - textField.focus(); - } - titletext - .attr('rows','1'); - - function controlTextField(){ - if(textField.text().length < 25){ - var titleStr = textField.text() + '...'; - $('#headtitle').val(titleStr); - } - - textField.css({ - height : $('.ubw-container').height()-28, - }) - - if(textField.text().length == 0){ - textField.css({ - fontSize: defaultFontSize, - }); - } - - currentFontSize = textField.css('fontSize').replace('px',''); - - } - - textField.bind('paste', function(e) { - controlTextField(); - }); - $('#headtitle').hide(); - - - if(window.uniboard){ - text = window.uniboard.preference('text', text); - currentFontSize = window.uniboard.preference('fontSize', defaultFontSize); - - $('.ubw-container').css({ - width:parseInt(window.uniboard.preference('width', "300")), - height:parseInt(window.uniboard.preference('height', "240")) - }); - - if(window.uniboard.preference('minimized', "false") == "true"){ - minimize.trigger("click"); - }; - - textField.css({ - fontSize : parseInt(currentFontSize) - }) - textField.html(text); - } - - window.onresize = function(){ - winwidth = window.innerWidth; - winheight = window.innerHeight; - - if(winwidth <= 290) - { - window.resizeTo(290,winheight); - } - if(winheight <= 100) - { - window.resizeTo(winwidth,100); - } - if(winheight > 600) - { - window.resizeTo(winwidth,600); - } - - $('.ubw-container').width(winwidth-2) ; - $('.ubw-container').height(winheight-20) ; - - if(window.uniboard){ - window.uniboard.setPreference("width", winwidth-2); - window.uniboard.setPreference("height", winheight-20); - } - - controlTextField(); - } -} \ No newline at end of file