From f51c9ed2abe5c68211bb3736be5f70b1fe2c9ec0 Mon Sep 17 00:00:00 2001 From: M.Gergo Date: Fri, 8 Mar 2019 21:20:34 +0100 Subject: további rendrakás --- .../mayor-base/www/skin/ajax/base/html/alert.phtml | 25 + .../mayor-base/www/skin/ajax/base/html/base.phtml | 101 + .../mayor-base/www/skin/api/base/html/alert.phtml | 13 + .../mayor-base/www/skin/api/base/html/base.phtml | 11 + .../www/skin/blue/base/color_schemes.php | 93 + .../mayor-base/www/skin/blue/base/css/base.css | 209 + .../mayor-base/www/skin/blue/base/css/base.php | 212 + .../mayor-base/www/skin/blue/base/html/base.phtml | 401 + .../mayor-base/www/skin/blue/base/img/favicon.ico | Bin 0 -> 1406 bytes .../www/skin/blue/base/img/mayor_small_ssl.png | Bin 0 -> 6178 bytes .../skin/blue/base/img/mayor_small_ssl.png.orig | Bin 0 -> 8648 bytes .../www/skin/blue/module-auth/css/login.css | 46 + .../mayor-base/www/skin/classic/base/css/base.css | 753 + .../www/skin/classic/base/html/alert.phtml | 85 + .../www/skin/classic/base/html/base.phtml | 618 + .../www/skin/classic/base/img/Eduroam_Logo.svg | 2063 ++ .../www/skin/classic/base/img/ajaxLoad.gif | Bin 0 -> 847 bytes .../mayor-base/www/skin/classic/base/img/alert.png | Bin 0 -> 3425 bytes .../www/skin/classic/base/img/favicon.ico | Bin 0 -> 318 bytes .../www/skin/classic/base/img/flags/de_DE.gif | Bin 0 -> 124 bytes .../www/skin/classic/base/img/flags/en_US.gif | Bin 0 -> 170 bytes .../www/skin/classic/base/img/flags/hu_HU.gif | Bin 0 -> 106 bytes .../www/skin/classic/base/img/flags/jp_JP.gif | Bin 0 -> 573 bytes .../www/skin/classic/base/img/gradient.jpg | Bin 0 -> 1419 bytes .../www/skin/classic/base/img/gradient.png | Bin 0 -> 515 bytes .../skin/classic/base/img/mayor_small_ssl-flip.png | Bin 0 -> 4536 bytes .../classic/base/img/mayor_small_ssl-marc15.png | Bin 0 -> 5324 bytes .../classic/base/img/mayor_small_ssl-santa.png | Bin 0 -> 4765 bytes .../www/skin/classic/base/img/mayor_small_ssl.gif | Bin 0 -> 1703 bytes .../www/skin/classic/base/img/mayor_small_ssl.jpg | Bin 0 -> 1084 bytes .../www/skin/classic/base/img/mayor_small_ssl.png | Bin 0 -> 6178 bytes .../www/skin/classic/base/img/policy/parent.gif | Bin 0 -> 977 bytes .../www/skin/classic/base/img/policy/parent100.gif | Bin 0 -> 4235 bytes .../www/skin/classic/base/img/policy/parent100.png | Bin 0 -> 4182 bytes .../www/skin/classic/base/img/policy/private.gif | Bin 0 -> 923 bytes .../skin/classic/base/img/policy/private100.gif | Bin 0 -> 1807 bytes .../skin/classic/base/img/policy/private100.png | Bin 0 -> 13017 bytes .../www/skin/classic/base/img/policy/public.gif | Bin 0 -> 269 bytes .../www/skin/classic/base/img/policy/public100.gif | Bin 0 -> 6321 bytes .../www/skin/classic/base/img/policy/public100.png | Bin 0 -> 6305 bytes .../classic/base/javascript/base.jquery.min.js | 977 + .../classic/base/javascript/jquery-1.8.3.min.js | 2 + .../www/skin/classic/base/javascript/jquery.min.js | 5 + .../www/skin/classic/base/javascript/noiframe.js | 1 + .../www/skin/classic/module-auth/css/forgotten.css | 66 + .../www/skin/classic/module-auth/css/login.css | 108 + .../skin/classic/module-auth/html/forgotten.phtml | 103 + .../www/skin/classic/module-auth/html/login.phtml | 77 + .../www/skin/classic/module-auth/img/login.gif | Bin 0 -> 1807 bytes .../module-auth/javascript/forgotten.jquery.min.js | 19 + .../module-auth/javascript/login.jquery.min.js | 24 + .../skin/classic/module-password/css/password.css | 19 + .../module-password/html/changeMyPassword.phtml | 76 + .../module-password/html/changePassword.phtml | 89 + .../module-password/html/resetPassword.phtml | 79 + .../javascript/changeMyPassword.jquery.min.js | 27 + .../classic/module-session/css/accountInfo.css | 112 + .../module-session/css/admin/knownNodes.css | 14 + .../module-session/css/admin/registration.css | 54 + .../classic/module-session/css/createAccount.css | 24 + .../classic/module-session/css/createGroup.css | 13 + .../skin/classic/module-session/css/download.css | 9 + .../classic/module-session/css/facebookConnect.css | 25 + .../skin/classic/module-session/css/googleapi.css | 24 + .../skin/classic/module-session/css/groupInfo.css | 96 + .../module-session/css/search/searchAccount.css | 31 + .../module-session/css/search/searchGroup.css | 44 + .../classic/module-session/css/sessionAdmin.css | 12 + .../classic/module-session/html/accountInfo.phtml | 339 + .../module-session/html/admin/knownNodes.phtml | 70 + .../module-session/html/admin/registration.phtml | 270 + .../module-session/html/createAccount.phtml | 107 + .../classic/module-session/html/createGroup.phtml | 90 + .../classic/module-session/html/download.phtml | 32 + .../module-session/html/facebookConnect.phtml | 53 + .../classic/module-session/html/googleapi.phtml | 45 + .../classic/module-session/html/groupInfo.phtml | 5 + .../module-session/html/search/searchAccount.phtml | 126 + .../module-session/html/search/searchGroup.phtml | 103 + .../classic/module-session/html/sessionAdmin.phtml | 58 + .../skin/classic/module-session/img/download.gif | Bin 0 -> 1516 bytes .../javascript/createAccount.jquery.min.js | 13 + .../javascript/facebookConnect.jquery.min.js | 31 + .../javascript/googleapi.jquery.min.js | 30 + .../www/skin/classic/share/img/filetypes/aac.png | Bin 0 -> 1318 bytes .../www/skin/classic/share/img/filetypes/ai.png | Bin 0 -> 1063 bytes .../www/skin/classic/share/img/filetypes/aiff.png | Bin 0 -> 1221 bytes .../www/skin/classic/share/img/filetypes/avi.png | Bin 0 -> 1184 bytes .../www/skin/classic/share/img/filetypes/bmp.png | Bin 0 -> 1162 bytes .../www/skin/classic/share/img/filetypes/c.png | Bin 0 -> 592 bytes .../www/skin/classic/share/img/filetypes/css.png | Bin 0 -> 1198 bytes .../www/skin/classic/share/img/filetypes/dat.png | Bin 0 -> 782 bytes .../www/skin/classic/share/img/filetypes/dmg.png | Bin 0 -> 1152 bytes .../www/skin/classic/share/img/filetypes/doc.png | Bin 0 -> 1285 bytes .../www/skin/classic/share/img/filetypes/dotx.png | Bin 0 -> 1195 bytes .../www/skin/classic/share/img/filetypes/dwg.png | Bin 0 -> 1466 bytes .../www/skin/classic/share/img/filetypes/dxf.png | Bin 0 -> 1419 bytes .../www/skin/classic/share/img/filetypes/eps.png | Bin 0 -> 1167 bytes .../www/skin/classic/share/img/filetypes/exe.png | Bin 0 -> 1227 bytes .../www/skin/classic/share/img/filetypes/flv.png | Bin 0 -> 1208 bytes .../www/skin/classic/share/img/filetypes/gif.png | Bin 0 -> 1147 bytes .../www/skin/classic/share/img/filetypes/h.png | Bin 0 -> 550 bytes .../www/skin/classic/share/img/filetypes/hpp.png | Bin 0 -> 671 bytes .../www/skin/classic/share/img/filetypes/html.png | Bin 0 -> 1001 bytes .../www/skin/classic/share/img/filetypes/ics.png | Bin 0 -> 1360 bytes .../www/skin/classic/share/img/filetypes/iso.png | Bin 0 -> 1271 bytes .../www/skin/classic/share/img/filetypes/java.png | Bin 0 -> 1173 bytes .../www/skin/classic/share/img/filetypes/jpg.png | Bin 0 -> 1151 bytes .../www/skin/classic/share/img/filetypes/key.png | Bin 0 -> 1048 bytes .../www/skin/classic/share/img/filetypes/mid.png | Bin 0 -> 1214 bytes .../www/skin/classic/share/img/filetypes/mp3.png | Bin 0 -> 1291 bytes .../www/skin/classic/share/img/filetypes/mp4.png | Bin 0 -> 1249 bytes .../www/skin/classic/share/img/filetypes/mpg.png | Bin 0 -> 1254 bytes .../www/skin/classic/share/img/filetypes/odf.png | Bin 0 -> 924 bytes .../www/skin/classic/share/img/filetypes/odt.png | Bin 0 -> 1011 bytes .../www/skin/classic/share/img/filetypes/otp.png | Bin 0 -> 925 bytes .../www/skin/classic/share/img/filetypes/ots.png | Bin 0 -> 1034 bytes .../www/skin/classic/share/img/filetypes/ott.png | Bin 0 -> 1009 bytes .../www/skin/classic/share/img/filetypes/pdf.png | Bin 0 -> 1208 bytes .../www/skin/classic/share/img/filetypes/php.png | Bin 0 -> 1056 bytes .../www/skin/classic/share/img/filetypes/png.png | Bin 0 -> 1263 bytes .../www/skin/classic/share/img/filetypes/ppt.png | Bin 0 -> 942 bytes .../www/skin/classic/share/img/filetypes/psd.png | Bin 0 -> 1236 bytes .../www/skin/classic/share/img/filetypes/py.png | Bin 0 -> 995 bytes .../www/skin/classic/share/img/filetypes/qt.png | Bin 0 -> 1164 bytes .../www/skin/classic/share/img/filetypes/rar.png | Bin 0 -> 1161 bytes .../www/skin/classic/share/img/filetypes/rb.png | Bin 0 -> 1052 bytes .../www/skin/classic/share/img/filetypes/rtf.png | Bin 0 -> 755 bytes .../www/skin/classic/share/img/filetypes/sql.png | Bin 0 -> 1235 bytes .../www/skin/classic/share/img/filetypes/tga.png | Bin 0 -> 1192 bytes .../www/skin/classic/share/img/filetypes/tgz.png | Bin 0 -> 1128 bytes .../www/skin/classic/share/img/filetypes/tiff.png | Bin 0 -> 1107 bytes .../www/skin/classic/share/img/filetypes/txt.png | Bin 0 -> 747 bytes .../www/skin/classic/share/img/filetypes/wav.png | Bin 0 -> 1326 bytes .../www/skin/classic/share/img/filetypes/xls.png | Bin 0 -> 1185 bytes .../www/skin/classic/share/img/filetypes/xlsx.png | Bin 0 -> 1217 bytes .../www/skin/classic/share/img/filetypes/xml.png | Bin 0 -> 1165 bytes .../www/skin/classic/share/img/filetypes/yml.png | Bin 0 -> 758 bytes .../www/skin/classic/share/img/filetypes/zip.png | Bin 0 -> 1077 bytes .../javascript/calendar_date_select/MIT-LICENSE | 20 + .../share/javascript/calendar_date_select/README | 10 + .../calendar_date_select/blank_iframe.html | 2 + .../images/calendar_date_select/calendar.gif | Bin 0 -> 581 bytes .../calendar_date_select/calendar_date_select.js | 430 + .../calendar_date_select/format_american.js | 34 + .../javascripts/calendar_date_select/format_db.js | 27 + .../calendar_date_select/format_euro_24hr.js | 7 + .../calendar_date_select/format_finnish.js | 24 + .../calendar_date_select/format_hyphen_ampm.js | 36 + .../calendar_date_select/format_iso_date.js | 46 + .../calendar_date_select/format_italian.js | 24 + .../calendar_date_select/format_mayor.js | 42 + .../javascripts/calendar_date_select/locale/fi.js | 10 + .../javascripts/calendar_date_select/locale/hu.js | 10 + .../javascripts/calendar_date_select/locale/jp.js | 10 + .../javascripts/calendar_date_select/locale/pl.js | 10 + .../stylesheets/calendar_date_select/blue.css | 130 + .../stylesheets/calendar_date_select/default.css | 135 + .../stylesheets/calendar_date_select/plain.css | 128 + .../stylesheets/calendar_date_select/red.css | 135 + .../stylesheets/calendar_date_select/silver.css | 133 + .../javascript/jquery-dataTables/ColReorder.min.js | 33 + .../jquery-dataTables/css/ColReorder.css | 21 + .../jquery-dataTables/css/jquery.dataTables.css | 221 + .../jquery-dataTables/images/back_disabled.png | Bin 0 -> 1361 bytes .../jquery-dataTables/images/back_enabled.png | Bin 0 -> 1379 bytes .../images/back_enabled_hover.png | Bin 0 -> 1375 bytes .../jquery-dataTables/images/forward_disabled.png | Bin 0 -> 1363 bytes .../jquery-dataTables/images/forward_enabled.png | Bin 0 -> 1380 bytes .../images/forward_enabled_hover.png | Bin 0 -> 1379 bytes .../javascript/jquery-dataTables/images/insert.png | Bin 0 -> 1885 bytes .../jquery-dataTables/images/sort_asc.png | Bin 0 -> 1118 bytes .../jquery-dataTables/images/sort_asc_disabled.png | Bin 0 -> 1050 bytes .../jquery-dataTables/images/sort_both.png | Bin 0 -> 1136 bytes .../jquery-dataTables/images/sort_desc.png | Bin 0 -> 1127 bytes .../images/sort_desc_disabled.png | Bin 0 -> 1045 bytes .../jquery-dataTables/images/unchecked.gif | Bin 0 -> 223 bytes .../jquery.dataTables.columnFilter.js | 365 + .../jquery-dataTables/jquery.dataTables.min.js | 155 + .../jquery-ui/css/base/images/animated-overlay.gif | Bin 0 -> 1738 bytes .../css/base/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes .../base/images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes .../base/images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes .../base/images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../base/images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes .../base/images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes .../base/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes .../css/base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../css/base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes .../css/base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../css/base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes .../css/base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes .../css/base/jquery-ui-timepicker-addon.css | 10 + .../jquery-ui/css/base/jquery-ui.min.css | 4 + .../jquery-ui/i18n/jquery-ui-i18n.min.js | 6 + .../jquery-ui/i18n/jquery-ui-timepicker-hu.js | 21 + .../jquery-ui/i18n/jquery.ui.datepicker-hu.min.js | 4 + .../jquery-ui/jquery-ui-timepicker-addon.js | 2128 +++ .../share/javascript/jquery-ui/jquery-ui.min.js | 12 + .../share/javascript/koschtit/changelog.txt | 81 + .../share/javascript/koschtit/ki_base/custom | 1 + .../share/javascript/koschtit/ki_base/ki_arrow.php | 101 + .../share/javascript/koschtit/ki_base/ki_back.png | Bin 0 -> 827 bytes .../javascript/koschtit/ki_base/ki_cellid.php | 62 + .../javascript/koschtit/ki_base/ki_checkpw.php | 169 + .../javascript/koschtit/ki_base/ki_deleteimage.php | 43 + .../javascript/koschtit/ki_base/ki_download.php | 32 + .../javascript/koschtit/ki_base/ki_explorer.php | 301 + .../share/javascript/koschtit/ki_base/ki_flip.php | 52 + .../javascript/koschtit/ki_base/ki_fullimg.php | 231 + .../koschtit/ki_base/ki_getcustomsettings.php | 25 + .../koschtit/ki_base/ki_getsetsettings.php | 161 + .../koschtit/ki_base/ki_getuploadinfo.php | 76 + .../javascript/koschtit/ki_base/ki_js_basic.php | 635 + .../koschtit/ki_base/ki_js_changeorder.php | 593 + .../javascript/koschtit/ki_base/ki_js_delete.php | 425 + .../javascript/koschtit/ki_base/ki_js_explorer.php | 349 + .../koschtit/ki_base/ki_js_framework.php | 1070 ++ .../koschtit/ki_base/ki_js_managefolders.php | 266 + .../javascript/koschtit/ki_base/ki_js_settings.php | 530 + .../javascript/koschtit/ki_base/ki_js_upload.php | 611 + .../javascript/koschtit/ki_base/ki_js_view.php | 1789 ++ .../javascript/koschtit/ki_base/ki_koschtit.php | 404 + .../javascript/koschtit/ki_base/ki_loading.gif | Bin 0 -> 477 bytes .../javascript/koschtit/ki_base/ki_makepic.php | 317 + .../koschtit/ki_base/ki_managefolders.php | 122 + .../javascript/koschtit/ki_base/ki_mouse_help.png | Bin 0 -> 1463 bytes .../javascript/koschtit/ki_base/ki_nav_close.png | Bin 0 -> 478 bytes .../koschtit/ki_base/ki_nav_download.png | Bin 0 -> 499 bytes .../javascript/koschtit/ki_base/ki_nav_full.png | Bin 0 -> 450 bytes .../javascript/koschtit/ki_base/ki_nav_globe.png | Bin 0 -> 593 bytes .../javascript/koschtit/ki_base/ki_nav_info.png | Bin 0 -> 398 bytes .../javascript/koschtit/ki_base/ki_nav_link.png | Bin 0 -> 524 bytes .../javascript/koschtit/ki_base/ki_nav_next.png | Bin 0 -> 328 bytes .../javascript/koschtit/ki_base/ki_nav_play.png | Bin 0 -> 338 bytes .../javascript/koschtit/ki_base/ki_nav_prev.png | Bin 0 -> 328 bytes .../javascript/koschtit/ki_base/ki_nav_stop.png | Bin 0 -> 239 bytes .../javascript/koschtit/ki_base/ki_nav_vcomm.png | Bin 0 -> 377 bytes .../share/javascript/koschtit/ki_base/ki_next.png | Bin 0 -> 861 bytes .../javascript/koschtit/ki_base/ki_noimage.gif | Bin 0 -> 43 bytes .../share/javascript/koschtit/ki_base/ki_nojs.php | 447 + .../koschtit/ki_base/ki_nojsdisplayimage.php | 427 + .../javascript/koschtit/ki_base/ki_online_docu.jpg | Bin 0 -> 21653 bytes .../javascript/koschtit/ki_base/ki_preview.php | 240 + .../javascript/koschtit/ki_base/ki_savecomment.php | 65 + .../koschtit/ki_base/ki_saveneworder.php | 129 + .../koschtit/ki_base/ki_savesquarethumb.php | 101 + .../share/javascript/koschtit/ki_base/ki_shade.php | 41 + .../javascript/koschtit/ki_base/ki_upload.php | 243 + .../share/javascript/koschtit/ki_base/ki_vcomm.php | 221 + .../javascript/koschtit/ki_base/kos-epulet_dir | 2 + .../koschtit/ki_base/kos-epulet_lastmodified | 4 + .../javascript/koschtit/ki_base/mayor logo_dir | 2 + .../koschtit/ki_base/mayor logo_lastmodified | 4 + .../javascript/koschtit/ki_config/ki_setup.php | 96 + .../koschtit/ki_config/kos-epulet_ki_setup.php | 96 + .../share/javascript/koschtit/ki_include.php | 306 + .../classic/share/javascript/koschtit/readme.txt | 61 + .../share/javascript/scriptaculous/MIT-LICENSE | 20 + .../share/javascript/scriptaculous/builder.js | 136 + .../share/javascript/scriptaculous/controls.js | 965 + .../share/javascript/scriptaculous/dragdrop.js | 974 + .../share/javascript/scriptaculous/effects.js | 1123 ++ .../javascript/scriptaculous/scriptaculous.js | 68 + .../share/javascript/scriptaculous/slider.js | 275 + .../share/javascript/scriptaculous/sound.js | 59 + .../share/javascript/scriptaculous/unittest.js | 568 + .../classic/share/javascript/tiny_mce/langs/de.js | 1 + .../classic/share/javascript/tiny_mce/langs/en.js | 1 + .../classic/share/javascript/tiny_mce/langs/hu.js | 1 + .../classic/share/javascript/tiny_mce/langs/ja.js | 1 + .../classic/share/javascript/tiny_mce/license.txt | 504 + .../tiny_mce/plugins/advhr/css/advhr.css | 5 + .../tiny_mce/plugins/advhr/editor_plugin.js | 1 + .../tiny_mce/plugins/advhr/editor_plugin_src.js | 57 + .../javascript/tiny_mce/plugins/advhr/js/rule.js | 43 + .../tiny_mce/plugins/advhr/langs/de_dlg.js | 1 + .../tiny_mce/plugins/advhr/langs/en_dlg.js | 1 + .../tiny_mce/plugins/advhr/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/advhr/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/plugins/advhr/rule.htm | 58 + .../tiny_mce/plugins/advimage/css/advimage.css | 13 + .../tiny_mce/plugins/advimage/editor_plugin.js | 1 + .../tiny_mce/plugins/advimage/editor_plugin_src.js | 50 + .../javascript/tiny_mce/plugins/advimage/image.htm | 235 + .../tiny_mce/plugins/advimage/img/sample.gif | Bin 0 -> 1624 bytes .../tiny_mce/plugins/advimage/js/image.js | 464 + .../tiny_mce/plugins/advimage/langs/de_dlg.js | 1 + .../tiny_mce/plugins/advimage/langs/en_dlg.js | 1 + .../tiny_mce/plugins/advimage/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/advimage/langs/ja_dlg.js | 1 + .../tiny_mce/plugins/advlink/css/advlink.css | 8 + .../tiny_mce/plugins/advlink/editor_plugin.js | 1 + .../tiny_mce/plugins/advlink/editor_plugin_src.js | 61 + .../tiny_mce/plugins/advlink/js/advlink.js | 543 + .../tiny_mce/plugins/advlink/langs/de_dlg.js | 1 + .../tiny_mce/plugins/advlink/langs/en_dlg.js | 1 + .../tiny_mce/plugins/advlink/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/advlink/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/plugins/advlink/link.htm | 338 + .../tiny_mce/plugins/advlist/editor_plugin.js | 1 + .../tiny_mce/plugins/advlist/editor_plugin_src.js | 176 + .../tiny_mce/plugins/autolink/editor_plugin.js | 1 + .../tiny_mce/plugins/autolink/editor_plugin_src.js | 184 + .../tiny_mce/plugins/autoresize/editor_plugin.js | 1 + .../plugins/autoresize/editor_plugin_src.js | 119 + .../tiny_mce/plugins/autosave/editor_plugin.js | 1 + .../tiny_mce/plugins/autosave/editor_plugin_src.js | 433 + .../tiny_mce/plugins/autosave/langs/en.js | 4 + .../tiny_mce/plugins/bbcode/editor_plugin.js | 1 + .../tiny_mce/plugins/bbcode/editor_plugin_src.js | 120 + .../tiny_mce/plugins/contextmenu/editor_plugin.js | 1 + .../plugins/contextmenu/editor_plugin_src.js | 163 + .../plugins/directionality/editor_plugin.js | 1 + .../plugins/directionality/editor_plugin_src.js | 85 + .../tiny_mce/plugins/emotions/editor_plugin.js | 1 + .../tiny_mce/plugins/emotions/editor_plugin_src.js | 43 + .../tiny_mce/plugins/emotions/emotions.htm | 42 + .../tiny_mce/plugins/emotions/img/smiley-cool.gif | Bin 0 -> 354 bytes .../tiny_mce/plugins/emotions/img/smiley-cry.gif | Bin 0 -> 329 bytes .../plugins/emotions/img/smiley-embarassed.gif | Bin 0 -> 331 bytes .../plugins/emotions/img/smiley-foot-in-mouth.gif | Bin 0 -> 342 bytes .../tiny_mce/plugins/emotions/img/smiley-frown.gif | Bin 0 -> 340 bytes .../plugins/emotions/img/smiley-innocent.gif | Bin 0 -> 336 bytes .../tiny_mce/plugins/emotions/img/smiley-kiss.gif | Bin 0 -> 338 bytes .../plugins/emotions/img/smiley-laughing.gif | Bin 0 -> 343 bytes .../plugins/emotions/img/smiley-money-mouth.gif | Bin 0 -> 321 bytes .../plugins/emotions/img/smiley-sealed.gif | Bin 0 -> 323 bytes .../tiny_mce/plugins/emotions/img/smiley-smile.gif | Bin 0 -> 344 bytes .../plugins/emotions/img/smiley-surprised.gif | Bin 0 -> 338 bytes .../plugins/emotions/img/smiley-tongue-out.gif | Bin 0 -> 328 bytes .../plugins/emotions/img/smiley-undecided.gif | Bin 0 -> 337 bytes .../tiny_mce/plugins/emotions/img/smiley-wink.gif | Bin 0 -> 350 bytes .../tiny_mce/plugins/emotions/img/smiley-yell.gif | Bin 0 -> 336 bytes .../tiny_mce/plugins/emotions/js/emotions.js | 43 + .../tiny_mce/plugins/emotions/langs/de_dlg.js | 1 + .../tiny_mce/plugins/emotions/langs/en_dlg.js | 1 + .../tiny_mce/plugins/emotions/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/emotions/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/plugins/example/dialog.htm | 22 + .../tiny_mce/plugins/example/editor_plugin.js | 1 + .../tiny_mce/plugins/example/editor_plugin_src.js | 84 + .../tiny_mce/plugins/example/img/example.gif | Bin 0 -> 87 bytes .../tiny_mce/plugins/example/js/dialog.js | 19 + .../tiny_mce/plugins/example/langs/en.js | 3 + .../tiny_mce/plugins/example/langs/en_dlg.js | 3 + .../plugins/example_dependency/editor_plugin.js | 1 + .../example_dependency/editor_plugin_src.js | 50 + .../tiny_mce/plugins/fullpage/css/fullpage.css | 143 + .../tiny_mce/plugins/fullpage/editor_plugin.js | 1 + .../tiny_mce/plugins/fullpage/editor_plugin_src.js | 405 + .../tiny_mce/plugins/fullpage/fullpage.htm | 259 + .../tiny_mce/plugins/fullpage/js/fullpage.js | 232 + .../tiny_mce/plugins/fullpage/langs/de_dlg.js | 1 + .../tiny_mce/plugins/fullpage/langs/en_dlg.js | 1 + .../tiny_mce/plugins/fullpage/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/fullpage/langs/ja_dlg.js | 1 + .../tiny_mce/plugins/fullscreen/editor_plugin.js | 1 + .../plugins/fullscreen/editor_plugin_src.js | 159 + .../tiny_mce/plugins/fullscreen/fullscreen.htm | 110 + .../tiny_mce/plugins/iespell/editor_plugin.js | 1 + .../tiny_mce/plugins/iespell/editor_plugin_src.js | 54 + .../tiny_mce/plugins/inlinepopups/editor_plugin.js | 1 + .../plugins/inlinepopups/editor_plugin_src.js | 699 + .../inlinepopups/skins/clearlooks2/img/alert.gif | Bin 0 -> 810 bytes .../inlinepopups/skins/clearlooks2/img/button.gif | Bin 0 -> 272 bytes .../inlinepopups/skins/clearlooks2/img/buttons.gif | Bin 0 -> 1195 bytes .../inlinepopups/skins/clearlooks2/img/confirm.gif | Bin 0 -> 907 bytes .../inlinepopups/skins/clearlooks2/img/corners.gif | Bin 0 -> 909 bytes .../skins/clearlooks2/img/horizontal.gif | Bin 0 -> 769 bytes .../skins/clearlooks2/img/vertical.gif | Bin 0 -> 84 bytes .../inlinepopups/skins/clearlooks2/window.css | 90 + .../tiny_mce/plugins/inlinepopups/template.htm | 387 + .../plugins/insertdatetime/editor_plugin.js | 1 + .../plugins/insertdatetime/editor_plugin_src.js | 83 + .../tiny_mce/plugins/layer/editor_plugin.js | 1 + .../tiny_mce/plugins/layer/editor_plugin_src.js | 262 + .../tiny_mce/plugins/legacyoutput/editor_plugin.js | 1 + .../plugins/legacyoutput/editor_plugin_src.js | 139 + .../tiny_mce/plugins/lists/editor_plugin.js | 1 + .../tiny_mce/plugins/lists/editor_plugin_src.js | 955 + .../tiny_mce/plugins/media/css/media.css | 17 + .../tiny_mce/plugins/media/editor_plugin.js | 1 + .../tiny_mce/plugins/media/editor_plugin_src.js | 898 + .../javascript/tiny_mce/plugins/media/js/embed.js | 73 + .../javascript/tiny_mce/plugins/media/js/media.js | 503 + .../tiny_mce/plugins/media/langs/de_dlg.js | 1 + .../tiny_mce/plugins/media/langs/en_dlg.js | 1 + .../tiny_mce/plugins/media/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/media/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/plugins/media/media.htm | 922 + .../tiny_mce/plugins/media/moxieplayer.swf | Bin 0 -> 19980 bytes .../tiny_mce/plugins/nonbreaking/editor_plugin.js | 1 + .../plugins/nonbreaking/editor_plugin_src.js | 54 + .../tiny_mce/plugins/noneditable/editor_plugin.js | 1 + .../plugins/noneditable/editor_plugin_src.js | 537 + .../tiny_mce/plugins/pagebreak/editor_plugin.js | 1 + .../plugins/pagebreak/editor_plugin_src.js | 74 + .../tiny_mce/plugins/paste/editor_plugin.js | 1 + .../tiny_mce/plugins/paste/editor_plugin_src.js | 885 + .../tiny_mce/plugins/paste/js/pastetext.js | 36 + .../tiny_mce/plugins/paste/js/pasteword.js | 51 + .../tiny_mce/plugins/paste/langs/de_dlg.js | 1 + .../tiny_mce/plugins/paste/langs/en_dlg.js | 1 + .../tiny_mce/plugins/paste/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/paste/langs/ja_dlg.js | 1 + .../tiny_mce/plugins/paste/pastetext.htm | 27 + .../tiny_mce/plugins/paste/pasteword.htm | 21 + .../tiny_mce/plugins/preview/editor_plugin.js | 1 + .../tiny_mce/plugins/preview/editor_plugin_src.js | 53 + .../tiny_mce/plugins/preview/example.html | 28 + .../tiny_mce/plugins/preview/jscripts/embed.js | 73 + .../tiny_mce/plugins/preview/preview.html | 17 + .../tiny_mce/plugins/print/editor_plugin.js | 1 + .../tiny_mce/plugins/print/editor_plugin_src.js | 34 + .../tiny_mce/plugins/save/editor_plugin.js | 1 + .../tiny_mce/plugins/save/editor_plugin_src.js | 101 + .../plugins/searchreplace/css/searchreplace.css | 6 + .../plugins/searchreplace/editor_plugin.js | 1 + .../plugins/searchreplace/editor_plugin_src.js | 61 + .../plugins/searchreplace/js/searchreplace.js | 142 + .../tiny_mce/plugins/searchreplace/langs/de_dlg.js | 1 + .../tiny_mce/plugins/searchreplace/langs/en_dlg.js | 1 + .../tiny_mce/plugins/searchreplace/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/searchreplace/langs/ja_dlg.js | 1 + .../plugins/searchreplace/searchreplace.htm | 100 + .../tiny_mce/plugins/spellchecker/css/content.css | 1 + .../tiny_mce/plugins/spellchecker/editor_plugin.js | 1 + .../plugins/spellchecker/editor_plugin_src.js | 436 + .../tiny_mce/plugins/spellchecker/img/wline.gif | Bin 0 -> 46 bytes .../tiny_mce/plugins/style/css/props.css | 14 + .../tiny_mce/plugins/style/editor_plugin.js | 1 + .../tiny_mce/plugins/style/editor_plugin_src.js | 71 + .../javascript/tiny_mce/plugins/style/js/props.js | 709 + .../tiny_mce/plugins/style/langs/de_dlg.js | 1 + .../tiny_mce/plugins/style/langs/en_dlg.js | 1 + .../tiny_mce/plugins/style/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/style/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/plugins/style/props.htm | 845 + .../javascript/tiny_mce/plugins/style/readme.txt | 19 + .../tiny_mce/plugins/tabfocus/editor_plugin.js | 1 + .../tiny_mce/plugins/tabfocus/editor_plugin_src.js | 122 + .../javascript/tiny_mce/plugins/table/cell.htm | 180 + .../javascript/tiny_mce/plugins/table/css/cell.css | 17 + .../javascript/tiny_mce/plugins/table/css/row.css | 25 + .../tiny_mce/plugins/table/css/table.css | 13 + .../tiny_mce/plugins/table/editor_plugin.js | 1 + .../tiny_mce/plugins/table/editor_plugin_src.js | 1452 ++ .../javascript/tiny_mce/plugins/table/js/cell.js | 319 + .../tiny_mce/plugins/table/js/merge_cells.js | 27 + .../javascript/tiny_mce/plugins/table/js/row.js | 237 + .../javascript/tiny_mce/plugins/table/js/table.js | 501 + .../tiny_mce/plugins/table/langs/de_dlg.js | 1 + .../tiny_mce/plugins/table/langs/en_dlg.js | 1 + .../tiny_mce/plugins/table/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/table/langs/ja_dlg.js | 1 + .../tiny_mce/plugins/table/merge_cells.htm | 32 + .../javascript/tiny_mce/plugins/table/row.htm | 158 + .../javascript/tiny_mce/plugins/table/table.htm | 188 + .../javascript/tiny_mce/plugins/template/blank.htm | 12 + .../tiny_mce/plugins/template/css/template.css | 23 + .../tiny_mce/plugins/template/editor_plugin.js | 1 + .../tiny_mce/plugins/template/editor_plugin_src.js | 159 + .../tiny_mce/plugins/template/js/template.js | 106 + .../tiny_mce/plugins/template/langs/de_dlg.js | 1 + .../tiny_mce/plugins/template/langs/en_dlg.js | 1 + .../tiny_mce/plugins/template/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/template/langs/ja_dlg.js | 1 + .../tiny_mce/plugins/template/template.htm | 31 + .../plugins/visualblocks/css/visualblocks.css | 21 + .../tiny_mce/plugins/visualblocks/editor_plugin.js | 1 + .../plugins/visualblocks/editor_plugin_src.js | 63 + .../tiny_mce/plugins/visualchars/editor_plugin.js | 1 + .../plugins/visualchars/editor_plugin_src.js | 83 + .../tiny_mce/plugins/wordcount/editor_plugin.js | 1 + .../plugins/wordcount/editor_plugin_src.js | 122 + .../tiny_mce/plugins/xhtmlxtras/abbr.htm | 142 + .../tiny_mce/plugins/xhtmlxtras/acronym.htm | 142 + .../tiny_mce/plugins/xhtmlxtras/attributes.htm | 149 + .../tiny_mce/plugins/xhtmlxtras/cite.htm | 142 + .../tiny_mce/plugins/xhtmlxtras/css/attributes.css | 11 + .../tiny_mce/plugins/xhtmlxtras/css/popup.css | 9 + .../javascript/tiny_mce/plugins/xhtmlxtras/del.htm | 162 + .../tiny_mce/plugins/xhtmlxtras/editor_plugin.js | 1 + .../plugins/xhtmlxtras/editor_plugin_src.js | 132 + .../javascript/tiny_mce/plugins/xhtmlxtras/ins.htm | 162 + .../tiny_mce/plugins/xhtmlxtras/js/abbr.js | 28 + .../tiny_mce/plugins/xhtmlxtras/js/acronym.js | 28 + .../tiny_mce/plugins/xhtmlxtras/js/attributes.js | 111 + .../tiny_mce/plugins/xhtmlxtras/js/cite.js | 28 + .../tiny_mce/plugins/xhtmlxtras/js/del.js | 53 + .../plugins/xhtmlxtras/js/element_common.js | 229 + .../tiny_mce/plugins/xhtmlxtras/js/ins.js | 53 + .../tiny_mce/plugins/xhtmlxtras/langs/de_dlg.js | 1 + .../tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js | 1 + .../tiny_mce/plugins/xhtmlxtras/langs/hu_dlg.js | 1 + .../tiny_mce/plugins/xhtmlxtras/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/themes/advanced/about.htm | 52 + .../javascript/tiny_mce/themes/advanced/anchor.htm | 26 + .../tiny_mce/themes/advanced/charmap.htm | 55 + .../tiny_mce/themes/advanced/color_picker.htm | 70 + .../tiny_mce/themes/advanced/editor_template.js | 1 + .../themes/advanced/editor_template_src.js | 1490 ++ .../javascript/tiny_mce/themes/advanced/image.htm | 80 + .../tiny_mce/themes/advanced/img/colorpicker.jpg | Bin 0 -> 2584 bytes .../tiny_mce/themes/advanced/img/flash.gif | Bin 0 -> 239 bytes .../tiny_mce/themes/advanced/img/icons.gif | Bin 0 -> 11982 bytes .../tiny_mce/themes/advanced/img/iframe.gif | Bin 0 -> 600 bytes .../tiny_mce/themes/advanced/img/pagebreak.gif | Bin 0 -> 325 bytes .../tiny_mce/themes/advanced/img/quicktime.gif | Bin 0 -> 301 bytes .../tiny_mce/themes/advanced/img/realmedia.gif | Bin 0 -> 439 bytes .../tiny_mce/themes/advanced/img/shockwave.gif | Bin 0 -> 384 bytes .../tiny_mce/themes/advanced/img/trans.gif | Bin 0 -> 43 bytes .../tiny_mce/themes/advanced/img/video.gif | Bin 0 -> 597 bytes .../tiny_mce/themes/advanced/img/windowsmedia.gif | Bin 0 -> 415 bytes .../tiny_mce/themes/advanced/js/about.js | 73 + .../tiny_mce/themes/advanced/js/anchor.js | 56 + .../tiny_mce/themes/advanced/js/charmap.js | 363 + .../tiny_mce/themes/advanced/js/color_picker.js | 345 + .../tiny_mce/themes/advanced/js/image.js | 253 + .../javascript/tiny_mce/themes/advanced/js/link.js | 159 + .../tiny_mce/themes/advanced/js/source_editor.js | 78 + .../tiny_mce/themes/advanced/langs/de.js | 1 + .../tiny_mce/themes/advanced/langs/de_dlg.js | 1 + .../tiny_mce/themes/advanced/langs/en.js | 1 + .../tiny_mce/themes/advanced/langs/en_dlg.js | 1 + .../tiny_mce/themes/advanced/langs/hu.js | 1 + .../tiny_mce/themes/advanced/langs/hu_dlg.js | 1 + .../tiny_mce/themes/advanced/langs/ja.js | 1 + .../tiny_mce/themes/advanced/langs/ja_dlg.js | 1 + .../javascript/tiny_mce/themes/advanced/link.htm | 57 + .../tiny_mce/themes/advanced/shortcuts.htm | 47 + .../themes/advanced/skins/default/content.css | 50 + .../themes/advanced/skins/default/dialog.css | 118 + .../themes/advanced/skins/default/img/buttons.png | Bin 0 -> 3133 bytes .../themes/advanced/skins/default/img/items.gif | Bin 0 -> 64 bytes .../advanced/skins/default/img/menu_arrow.gif | Bin 0 -> 68 bytes .../advanced/skins/default/img/menu_check.gif | Bin 0 -> 70 bytes .../themes/advanced/skins/default/img/progress.gif | Bin 0 -> 1787 bytes .../themes/advanced/skins/default/img/tabs.gif | Bin 0 -> 1322 bytes .../tiny_mce/themes/advanced/skins/default/ui.css | 219 + .../themes/advanced/skins/highcontrast/content.css | 24 + .../themes/advanced/skins/highcontrast/dialog.css | 106 + .../themes/advanced/skins/highcontrast/ui.css | 106 + .../themes/advanced/skins/o2k7/content.css | 48 + .../tiny_mce/themes/advanced/skins/o2k7/dialog.css | 118 + .../themes/advanced/skins/o2k7/img/button_bg.png | Bin 0 -> 2766 bytes .../advanced/skins/o2k7/img/button_bg_black.png | Bin 0 -> 651 bytes .../advanced/skins/o2k7/img/button_bg_silver.png | Bin 0 -> 2084 bytes .../tiny_mce/themes/advanced/skins/o2k7/ui.css | 222 + .../themes/advanced/skins/o2k7/ui_black.css | 8 + .../themes/advanced/skins/o2k7/ui_silver.css | 5 + .../tiny_mce/themes/advanced/source_editor.htm | 25 + .../tiny_mce/themes/simple/editor_template.js | 1 + .../tiny_mce/themes/simple/editor_template_src.js | 84 + .../tiny_mce/themes/simple/img/icons.gif | Bin 0 -> 806 bytes .../javascript/tiny_mce/themes/simple/langs/de.js | 1 + .../javascript/tiny_mce/themes/simple/langs/en.js | 1 + .../javascript/tiny_mce/themes/simple/langs/hu.js | 1 + .../javascript/tiny_mce/themes/simple/langs/ja.js | 1 + .../themes/simple/skins/default/content.css | 25 + .../tiny_mce/themes/simple/skins/default/ui.css | 32 + .../tiny_mce/themes/simple/skins/o2k7/content.css | 17 + .../themes/simple/skins/o2k7/img/button_bg.png | Bin 0 -> 5102 bytes .../tiny_mce/themes/simple/skins/o2k7/ui.css | 35 + .../classic/share/javascript/tiny_mce/tiny_mce.js | 1 + .../share/javascript/tiny_mce/tiny_mce_popup.js | 5 + .../share/javascript/tiny_mce/tiny_mce_src.js | 18988 +++++++++++++++++++ .../javascript/tiny_mce/utils/editable_selects.js | 70 + .../share/javascript/tiny_mce/utils/form_utils.js | 210 + .../share/javascript/tiny_mce/utils/mctabs.js | 162 + .../share/javascript/tiny_mce/utils/validate.js | 252 + .../mayor-base/www/skin/cron/base/html/alert.phtml | 6 + .../mayor-base/www/skin/cron/base/html/base.phtml | 56 + .../www/skin/default/base/css/Elusive-Icons.eot | Bin 0 -> 41988 bytes .../www/skin/default/base/css/Elusive-Icons.svg | 298 + .../www/skin/default/base/css/Elusive-Icons.ttf | Bin 0 -> 41804 bytes .../www/skin/default/base/css/Elusive-Icons.woff | Bin 0 -> 76072 bytes .../www/skin/default/base/css/elusive-webfont.css | 891 + .../www/skin/default/base/html/base.phtml | 464 + .../mayor-base/www/skin/gray/base/css/base.css | 678 + .../www/skin/oldschool/base/css/base.css | 86 + .../www/skin/oldschool/base/css/head.css | 149 + .../www/skin/oldschool/base/html/base.phtml | 337 + .../skin/oldschool/base/img/mayor_small_ssl.png | Bin 0 -> 3779 bytes .../www/skin/oldschool/module-auth/css/login.css | 45 + .../mayor-base/www/skin/pda/base/css/base.css | 182 + .../mayor-base/www/skin/pda/base/html/alert.phtml | 85 + .../mayor-base/www/skin/pda/base/html/base.phtml | 240 + .../www/skin/pda/module-auth/css/login.css | 4 + .../www/skin/pda/module-auth/html/login.phtml | 60 + .../mayor-base/www/skin/rpc/base/html/alert.phtml | 56 + .../mayor-base/www/skin/rpc/base/html/base.phtml | 23 + .../mayor-base/www/skin/sulix/base/css/base.css | 268 + .../mayor-base/www/skin/sulix/base/html/base.phtml | 332 + .../sulix/base/img/bejelentkezes_gomb_140x26.png | Bin 0 -> 3447 bytes .../sulix/base/img/bejelentkezes_gomb_66x28.png | Bin 0 -> 3712 bytes .../mayor-base/www/skin/sulix/base/img/favicon.ico | Bin 0 -> 1150 bytes .../mayor-base/www/skin/sulix/base/img/fur.png | Bin 0 -> 167469 bytes .../www/skin/sulix/base/img/mayor_small_ssl.png | Bin 0 -> 38044 bytes .../www/skin/sulix/base/img/powered_by_mayor.png | Bin 0 -> 3874 bytes .../skin/sulix/base/img/powered_by_mayor_small.png | Bin 0 -> 4361 bytes .../www/skin/sulix/module-auth/css/login.css | 89 + .../www/skin/sulix/module-auth/html/login.phtml | 79 + .../skin/sulix/module-naplo/css/admin/tanevek.css | 17 + .../www/skin/sulix/module-naplo/css/naplo.css | 84 + .../css/orarend/orarendTeremModositas.css | 8 + .../skin/sulix/module-password/css/password.css | 43 + .../skin/sulix/share/css/calendar_date_select.css | 139 + .../mayor-base/www/skin/sza2010/base/css/base.css | 85 + .../mayor-base/www/skin/sza2010/base/css/head.css | 153 + .../www/skin/sza2010/base/html/alert.phtml | 68 + .../www/skin/sza2010/base/html/base.phtml | 310 + .../mayor-base/www/skin/sza2010/base/img/bg.png | Bin 0 -> 83991 bytes .../www/skin/sza2010/base/img/foot.orig.png | Bin 0 -> 104928 bytes .../mayor-base/www/skin/sza2010/base/img/foot.png | Bin 0 -> 59467 bytes .../www/skin/sza2010/base/img/mayor_small_ssl.png | Bin 0 -> 4815 bytes .../www/skin/sza2010/base/img/meghivo.png | Bin 0 -> 212148 bytes .../mayor-base/www/skin/teszt/base/css/base.css | 288 + .../mayor-base/www/skin/teszt/base/html/base.phtml | 407 + .../www/skin/teszt/base/img/MaYoR-star_medium.png | Bin 0 -> 1548 bytes .../www/skin/teszt/base/img/MaYoR-star_small.png | Bin 0 -> 832 bytes .../teszt/base/img/MaYoR_elektronikus_naplo.png | Bin 0 -> 6623 bytes .../www/skin/teszt/base/img/MaYoR_rypple.png | Bin 0 -> 1184 bytes .../www/skin/teszt/base/img/MaYoR_star.png | Bin 0 -> 907 bytes .../www/skin/teszt/base/img/mayor_small_ssl.png | Bin 0 -> 6178 bytes .../www/skin/teszt/base/img/school_logo.php | 91 + .../www/skin/teszt/base/img/settings.png | Bin 0 -> 4335 bytes .../www/skin/teszt/module-auth/css/login.css | 46 + .../mayor-base/www/skin/vakbarat/base/css/base.css | 175 + .../www/skin/vakbarat/base/html/base.phtml | 231 + .../www/skin/vakbarat/module-auth/css/login.css | 9 + .../www/skin/vakbarat/module-auth/html/login.phtml | 55 + .../mayor-base/www/skin/winter/base/css/base.css | 85 + .../mayor-base/www/skin/winter/base/css/head.css | 154 + .../www/skin/winter/base/html/base.phtml | 314 + .../mayor-base/www/skin/winter/base/img/bg.gif | Bin 0 -> 3195 bytes .../mayor-base/www/skin/winter/base/img/bg2.gif | Bin 0 -> 3871 bytes .../mayor-base/www/skin/winter/base/img/bg2.jpg | Bin 0 -> 8596 bytes .../www/skin/winter/base/img/mayor_small_ssl.gif | Bin 0 -> 1703 bytes .../skin/winter/base/img/mayor_small_winter.gif | Bin 0 -> 2761 bytes .../www/skin/winter/module-auth/css/login.css | 39 + 643 files changed, 79331 insertions(+) create mode 100644 mayor-orig/mayor-base/www/skin/ajax/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/ajax/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/api/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/api/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/color_schemes.php create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/css/base.php create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/img/favicon.ico create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png create mode 100644 mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png.orig create mode 100644 mayor-orig/mayor-base/www/skin/blue/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/Eduroam_Logo.svg create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/ajaxLoad.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/alert.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/favicon.ico create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/flags/de_DE.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/flags/en_US.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/flags/hu_HU.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/flags/jp_JP.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/gradient.jpg create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/gradient.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-flip.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-marc15.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-santa.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.jpg create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/private.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/public.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/javascript/base.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery-1.8.3.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/base/javascript/noiframe.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/css/forgotten.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/html/forgotten.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/html/login.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/img/login.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/javascript/forgotten.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-auth/javascript/login.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-password/css/password.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-password/html/changeMyPassword.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-password/html/changePassword.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-password/html/resetPassword.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-password/javascript/changeMyPassword.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/accountInfo.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/admin/knownNodes.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/admin/registration.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/createAccount.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/createGroup.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/download.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/facebookConnect.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/googleapi.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/groupInfo.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/search/searchAccount.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/search/searchGroup.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/css/sessionAdmin.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/accountInfo.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/admin/knownNodes.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/admin/registration.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/createAccount.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/createGroup.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/download.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/facebookConnect.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/googleapi.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/groupInfo.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/search/searchAccount.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/search/searchGroup.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/html/sessionAdmin.phtml create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/img/download.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/javascript/createAccount.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/javascript/facebookConnect.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/module-session/javascript/googleapi.jquery.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/aac.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/ai.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/aiff.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/avi.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/bmp.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/c.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/css.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/dat.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/dmg.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/doc.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/dotx.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/dwg.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/dxf.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/eps.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/exe.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/flv.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/gif.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/h.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/hpp.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/html.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/ics.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/iso.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/java.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/jpg.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/key.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/mid.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/mp3.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/mp4.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/mpg.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/odf.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/odt.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/otp.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/ots.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/ott.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/pdf.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/php.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/png.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/ppt.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/psd.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/py.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/qt.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/rar.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/rb.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/rtf.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/sql.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/tga.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/tgz.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/tiff.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/txt.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/wav.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/xls.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/xlsx.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/xml.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/yml.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/img/filetypes/zip.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/MIT-LICENSE create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/README create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/blank_iframe.html create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/images/calendar_date_select/calendar.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/calendar_date_select.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_american.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_db.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_euro_24hr.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_finnish.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_hyphen_ampm.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_iso_date.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_italian.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/format_mayor.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/locale/fi.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/locale/hu.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/locale/jp.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/javascripts/calendar_date_select/locale/pl.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/stylesheets/calendar_date_select/blue.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/stylesheets/calendar_date_select/default.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/stylesheets/calendar_date_select/plain.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/stylesheets/calendar_date_select/red.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/calendar_date_select/stylesheets/calendar_date_select/silver.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/ColReorder.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/css/ColReorder.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/css/jquery.dataTables.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/back_disabled.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/back_enabled.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/back_enabled_hover.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/forward_disabled.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/forward_enabled.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/forward_enabled_hover.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/insert.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/sort_asc.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/sort_asc_disabled.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/sort_both.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/sort_desc.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/sort_desc_disabled.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/images/unchecked.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/jquery.dataTables.columnFilter.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-dataTables/jquery.dataTables.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/animated-overlay.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_flat_0_aaaaaa_40x100.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_flat_75_ffffff_40x100.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-icons_222222_256x240.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-icons_2e83ff_256x240.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-icons_454545_256x240.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-icons_888888_256x240.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/images/ui-icons_cd0a0a_256x240.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/jquery-ui-timepicker-addon.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/css/base/jquery-ui.min.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/i18n/jquery-ui-i18n.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/i18n/jquery-ui-timepicker-hu.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/i18n/jquery.ui.datepicker-hu.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/jquery-ui-timepicker-addon.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/jquery-ui/jquery-ui.min.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/changelog.txt create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/custom create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_arrow.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_back.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_cellid.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_checkpw.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_deleteimage.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_download.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_explorer.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_flip.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_fullimg.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_getcustomsettings.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_getsetsettings.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_getuploadinfo.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_basic.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_changeorder.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_delete.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_explorer.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_framework.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_managefolders.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_settings.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_upload.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_view.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_koschtit.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_loading.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_makepic.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_managefolders.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_mouse_help.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_close.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_download.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_full.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_globe.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_info.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_link.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_next.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_play.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_prev.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_stop.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_vcomm.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_next.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_noimage.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojs.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojsdisplayimage.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_online_docu.jpg create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_preview.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savecomment.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_saveneworder.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savesquarethumb.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_shade.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_upload.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_vcomm.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_dir create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_lastmodified create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_dir create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_lastmodified create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/ki_setup.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/kos-epulet_ki_setup.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_include.php create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/readme.txt create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/MIT-LICENSE create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/builder.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/controls.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/dragdrop.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/effects.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/scriptaculous.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/slider.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/sound.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/scriptaculous/unittest.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/langs/de.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/langs/en.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/langs/hu.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/langs/ja.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/license.txt create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/css/advhr.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/js/rule.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advhr/rule.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/css/advimage.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/image.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/img/sample.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/js/image.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/css/advlink.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/js/advlink.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/link.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/langs/en.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/bbcode/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/emotions.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cool.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cry.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-embarassed.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-frown.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-innocent.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-kiss.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-laughing.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-sealed.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-smile.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-surprised.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-undecided.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-wink.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-yell.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/js/emotions.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/ja_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/dialog.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/img/example.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/js/dialog.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/css/fullpage.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/fullpage.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/js/fullpage.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/iespell/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/template.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/insertdatetime/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/layer/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/layer/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/css/media.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/js/embed.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/js/media.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/media.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/moxieplayer.swf create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/js/pastetext.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/js/pasteword.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pastetext.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pasteword.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/example.html create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/jscripts/embed.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/preview.html create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/print/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/print/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/save/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/save/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/js/searchreplace.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/css/content.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/img/wline.gif create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/css/props.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/js/props.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/props.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/readme.txt create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/cell.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/cell.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/row.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/table.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/cell.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/merge_cells.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/row.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/table.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/merge_cells.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/row.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/table.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/blank.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/css/template.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/js/template.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/template.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/css/visualblocks.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualchars/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/del.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/abbr.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/acronym.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/attributes.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/cite.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/del.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/element_common.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/ins.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/langs/de_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/langs/hu_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/about.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/anchor.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/charmap.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/color_picker.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/image.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/colorpicker.jpg create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/flash.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/icons.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/iframe.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/pagebreak.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/quicktime.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/realmedia.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/shockwave.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/trans.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/video.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/windowsmedia.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/about.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/anchor.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/charmap.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/color_picker.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/image.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/link.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/source_editor.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en_dlg.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja_dlg.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/link.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/shortcuts.htm create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/content.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/dialog.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/buttons.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/items.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_check.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/progress.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/tabs.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/ui.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/content.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/dialog.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/ui.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/content.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/dialog.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui_black.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/source_editor.htm create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template_src.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/img/icons.gif create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/de.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/en.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/hu.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/ja.js create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/content.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/ui.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/content.css create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png create mode 100644 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/ui.css create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce_popup.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce_src.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/utils/editable_selects.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/utils/form_utils.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/utils/mctabs.js create mode 100755 mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/utils/validate.js create mode 100644 mayor-orig/mayor-base/www/skin/cron/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/cron/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/default/base/css/Elusive-Icons.eot create mode 100644 mayor-orig/mayor-base/www/skin/default/base/css/Elusive-Icons.svg create mode 100644 mayor-orig/mayor-base/www/skin/default/base/css/Elusive-Icons.ttf create mode 100644 mayor-orig/mayor-base/www/skin/default/base/css/Elusive-Icons.woff create mode 100644 mayor-orig/mayor-base/www/skin/default/base/css/elusive-webfont.css create mode 100644 mayor-orig/mayor-base/www/skin/default/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/gray/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/oldschool/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/oldschool/base/css/head.css create mode 100644 mayor-orig/mayor-base/www/skin/oldschool/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/oldschool/base/img/mayor_small_ssl.png create mode 100644 mayor-orig/mayor-base/www/skin/oldschool/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/pda/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/pda/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/pda/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/pda/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/pda/module-auth/html/login.phtml create mode 100644 mayor-orig/mayor-base/www/skin/rpc/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/rpc/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_140x26.png create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_66x28.png create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/favicon.ico create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/fur.png create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/mayor_small_ssl.png create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor.png create mode 100644 mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor_small.png create mode 100644 mayor-orig/mayor-base/www/skin/sulix/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/sulix/module-auth/html/login.phtml create mode 100644 mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/admin/tanevek.css create mode 100644 mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/naplo.css create mode 100644 mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/orarend/orarendTeremModositas.css create mode 100644 mayor-orig/mayor-base/www/skin/sulix/module-password/css/password.css create mode 100644 mayor-orig/mayor-base/www/skin/sulix/share/css/calendar_date_select.css create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/css/head.css create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/html/alert.phtml create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/img/bg.png create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.orig.png create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.png create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/img/mayor_small_ssl.png create mode 100644 mayor-orig/mayor-base/www/skin/sza2010/base/img/meghivo.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_medium.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_small.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_elektronikus_naplo.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_rypple.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_star.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/mayor_small_ssl.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/school_logo.php create mode 100644 mayor-orig/mayor-base/www/skin/teszt/base/img/settings.png create mode 100644 mayor-orig/mayor-base/www/skin/teszt/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/vakbarat/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/vakbarat/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/vakbarat/module-auth/css/login.css create mode 100644 mayor-orig/mayor-base/www/skin/vakbarat/module-auth/html/login.phtml create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/css/base.css create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/css/head.css create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/html/base.phtml create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/img/bg.gif create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/img/bg2.gif create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/img/bg2.jpg create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_ssl.gif create mode 100644 mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_winter.gif create mode 100644 mayor-orig/mayor-base/www/skin/winter/module-auth/css/login.css (limited to 'mayor-orig/mayor-base/www/skin') diff --git a/mayor-orig/mayor-base/www/skin/ajax/base/html/alert.phtml b/mayor-orig/mayor-base/www/skin/ajax/base/html/alert.phtml new file mode 100644 index 00000000..e81b75ed --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/ajax/base/html/alert.phtml @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/ajax/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/ajax/base/html/base.phtml new file mode 100644 index 00000000..cfa12036 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/ajax/base/html/base.phtml @@ -0,0 +1,101 @@ + base.php + putValidXHTML() +*/ + + + /* Egy JSON példa + echo '{ "action" : [ ' + .'{ "func" : "alert", "param" : [ "Helló", "World" ] }, ' + .'{ "func" : "update", "param" : [ { "id" : "updateForm", "content" : "Helló Update" } ]}, ' + .'{ "func" : "hide", "param" : [ "settings" ] },' + .'{ "func" : "show", "param" : [ "updateWindow" ] },' + .'{ "func" : "remove", "param" : [ "head" ] },' + .'{ "func" : "removeClass", "param" : [ { "id" : "jegy-1", "class" : "jegy1" } ] },' + .'{}],' + .' "name" : "Violet", "occupation" : "character" }'; + */ + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + global $_JSON; + + if ($_JSON['result'] === false) @header("HTTP/1.1 400 Bad Request"); + else @header("HTTP/1.1 200 OK"); + + @header('Content-type: application/json; charset=utf-8'); + @header("Etag: ".__SALTVALUE.'-'.__SALTNAME.'-'.$_SESSION['mayorToken']); // ajax request esetén innen tudható a _SALTVALUE + + _httpHeader(); + + if ( (!is_array($_JSON)?false:json_encode($_JSON)) === false) { + ob_start(); + define('_UNIQUE', uniqid()); + //echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + $_JSON['html'] = ob_get_contents(); + ob_end_clean(); + } + if (is_array($_SESSION['alert']) && count($_SESSION['alert'])>0) { + for($i=0; $i'.$aType.':'.$aCode.')'; + else $msg = $ALERT_MSG[$aCode]; + + // paraméter behelyettesítés + for($i = 0; $i < count($param); $i++) { + $_msg = $msg; + $msg = @str_replace("%$i%",''.($param[$i]).'',$msg); + if ($param[$i] != '' and $_msg == $msg) $pstr .= ''.($param[$i]).','; + } + if ($pstr != '') $msg .= ' (' . substr($pstr,0,-1) . ')'; + if (($aType == 'message') or ($aType == 'page')) { + $title = _ERROR; + $class = 'errorMsg'; + if ($aType == 'page') $showPage = false; + } else { + $title = _INFORMATION; + $class = 'infoMsg'; + } + $msg = ''.$title.': ' . $msg; + $showPage .= '
'.str_replace('***','
',$msg).'
'."\n"; + } + + return $showPage; + +} + +?> diff --git a/mayor-orig/mayor-base/www/skin/api/base/html/alert.phtml b/mayor-orig/mayor-base/www/skin/api/base/html/alert.phtml new file mode 100644 index 00000000..fe4c54e4 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/api/base/html/alert.phtml @@ -0,0 +1,13 @@ +0)) { + var_dump($_SESSION['alert']); + return false; // ne jelenjen meg az oldal + } else { + return true; // nincs hiba + } + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/api/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/api/base/html/base.phtml new file mode 100644 index 00000000..34ca652f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/api/base/html/base.phtml @@ -0,0 +1,11 @@ + diff --git a/mayor-orig/mayor-base/www/skin/blue/base/color_schemes.php b/mayor-orig/mayor-base/www/skin/blue/base/color_schemes.php new file mode 100644 index 00000000..68fcc9dc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/blue/base/color_schemes.php @@ -0,0 +1,93 @@ + '#3496B9', // a fő szín a felső sávban/menüben + 'login' => '#00c0ff', // bejelentkezés:hover, svg-k színe + 'active' => '#3facc7', // első szint aktív eleme, 3. szint alap,... + 'hover' => '#4fbcd7', // hover a menüben és almenüben + 'hover-color' => '#fdb933', // !! Betűszín - hover, aktív... + 'nav' => '#3fa79c', // a menü kinyíló része + 'nav2' => '#d2dfe9', // nav kettő, kinyitó fül, stb + ); + // yellow + $_COLOR_SCHEMES['yellow'] = array( + 'head' => '#B99634', + 'login' => '#ffc000', + 'active' => '#c7ac3f', + 'hover' => '#d7bc4f', + 'hover-color' => '#800', + 'nav' => '#9ca73f', + 'nav2' => '#e9dfd2', + ); + // red + $_COLOR_SCHEMES['red'] = array( + 'head' => '#B93234', + 'login' => '#ff4000', + 'active' => '#c7393f', + 'hover' => '#d73f4f', + 'hover-color' => '#fdb933', + 'nav' => '#9c383f', + 'nav2' => '#e9dfd2', + ); + // black + $_COLOR_SCHEMES['black'] = array( + 'head' => '#000000', + 'login' => '#000000', + 'active' => '#888888', + 'hover' => '#070f0f', + 'hover-color' => '#fdb933', + 'nav' => '#666666', + 'nav2' => '#e0e0e0', + ); + // nemzeti + $_COLOR_SCHEMES['nemzeti'] = array( + 'head' => '#006000', + 'login' => '#a00000', + 'active' => '#a00000', + 'hover' => '#ffffff', + 'hover-color' => '#ff0000', + 'nav' => '#666666', + 'nav2' => '#e0ffe0', + ); + // green + $_COLOR_SCHEMES['green'] = array( + 'head' => '#32B934', + 'login' => '#40ff00', + 'active' => '#39c73f', + 'hover' => '#3fd74f', + 'hover-color' => '#b9fd33', + 'nav' => '#389c3f', + 'nav2' => '#dfe9d2', + ); + // dark-blue + $_COLOR_SCHEMES['dark-blue'] = array( + 'head' => '#008', + 'login' => '#008', + 'active' => '#36a', + 'hover' => '#4ac', + 'hover-color' => '#fdb933', + 'nav' => '#44b', + 'nav2' => '#bcd', + ); + + function colorToRGBA($color, $opacity) { + if ($color[0] == '#') { + $hex = str_replace("#", "", $color); + if(strlen($hex) == 3) { + $r = hexdec(substr($hex,0,1).substr($hex,0,1)); + $g = hexdec(substr($hex,1,1).substr($hex,1,1)); + $b = hexdec(substr($hex,2,1).substr($hex,2,1)); + } else { + $r = hexdec(substr($hex,0,2)); + $g = hexdec(substr($hex,2,2)); + $b = hexdec(substr($hex,4,2)); + } + $rgb = array($r, $g, $b); + } else { + $rgb = explode(',', str_replace(' ','',substr($color,4,strlen($color)-1))); + } + return 'rgba('.implode(', ', $rgb).', '.$opacity.')'; + } + +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/blue/base/css/base.css b/mayor-orig/mayor-base/www/skin/blue/base/css/base.css new file mode 100644 index 00000000..350a7f96 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/blue/base/css/base.css @@ -0,0 +1,209 @@ +/* + Module: base + + A rétegek sorrendje: nav2(1), head(2), poz(2), nav1(3), nav(3), logo(3), logobadge(4) +*/ + +@media screen { + + html { height: 100%; } + html body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin:0px; padding:0px; height: 100%; overflow: auto; } + #debug { + padding: 20px; background: rgba(0,0,0,0.7); color: yellow; border: 0px red solid; + position: absolute; z-index: 1000; top: 0px; left: 0px; right: 0px; + } + #debug pre { background: rgba(240,240,240,0.9); color: #880000; padding: 10px; margin: 0px;} + #help { box-shadow: 3px 3px 15px 0px rgba(100,100,100,5.0); + position: absolute; top: 10px; left: 50%; height: 600px; width: 1000px; z-index: 500; margin: 0 -500px; + border: 1px solid rgb(0,0,0); background: white; } + #help iframe { width: 1000px; height: 558px; margin: 0; border: none; } + #helpHeader { text-align: center; font-size: 16px; width: 980px; height: 20px; margin: 0px; background: #194a5b; cursor: pointer; color: white; font-weight: bold; padding: 10px; } + #hideHelp { + position: absolute; top:6px; right: 4px; + cursor: pointer; background: #822; color: white; padding: 2px 5px; font-size: 16px; + border: #822 1px solid; border-radius: 3px; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); + box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25); + } + + a { text-decoration:none; } + .onClickHideShow, .onClickHide, .onClickShow { cursor: pointer; } + + div.errorMsg { margin: 10px 20%; background: #fee; border: solid 1px red; border-radius: 2px; padding: 10px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.errorMsg span { font-weight: bold; color: #f00; } + div.infoMsg { margin: 10px 20%; background-color: #eee; border: solid 1px rgb(90,133,184); border-radius: 2px; padding: 10px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.infoMsg span { font-weight: bold; color: rgb(21,71,123); } + div.errorMsg span.alertParam, div.infoMsg span.alertParam { font-weight: normal; font-style: italic; color: green; } + + #logo { z-index: 3; height: 40px; position: absolute; top: 8px; left: 14px; border: 0px none; } + #logobadge { z-index: 4; height: 25px; position: fixed; top: 28px; left: 90px; border: 0px none; } + + #head { z-index: 2; position: absolute; width: 100%; height: 60px; background: #3496B9 no-repeat right center; } + + #nav, #nav ul { list-style: none; } + #nav { z-index: 3; margin: 0; height: 60px; padding-left: 140px; } + #nav li { position: relative; } +/*!*/ + #nav > li { float: left; z-index: 20; text-align: center; padding: 0; height: 60px; + /* background: #47c980; background: #3facc7; */ background: #3fa79c; border-bottom: 1px solid #D2DFE9; } + #nav > li.active { max-width: 160px; } +/* #nav > li:nth-child(odd) { background: #929cb3; }*/ + #nav > li:hover { z-index: 22; } + #nav > li > ul { top: 50px; left: -1px; /* background: #1A4B5C; */} + #nav > li > ul > li > a { margin-left: 10px; } + + #nav li:hover { background: #4fbcd7;} +/*!*/ + #nav li.active { background: #3496B9; background: #3facc7; } + #nav li a { display: block; padding: 3px 10px; color: white; } +/* #nav > li > a { padding: 23px 40px; height: 60px; display: inline-block;} */ + #nav > li > a { padding: 0px 20px; height: 60px; vertical-align: middle; display: table-cell; min-width: 100px; } + #nav li a:hover { color:#fdb933; } + #nav li:hover > ul { display: block; } +/* #nav li.over ul { display: block; }*/ + + #nav li.nav1szin { background: #3496B9; border-bottom: 1px solid white; } + #nav ul.sub { background: #3facc7; } + + + #nav ul { display: none; position: absolute; width: 160px; padding: 0px; } + #nav ul span { float: left; margin: 6px 5px; color: white; } +/*!*/ + #nav > li > ul { top: 61px; } + #nav ul > li { background: #3496B9; } + #nav ul li { text-align: left; margin-bottom: 1px; } + #nav ul li a { padding: 6px 10px; } + #nav ul li.active > a { color:#fdb933; } + + #nav ul ul { top: 0px; left: -145px; z-index: 30; background: #3facc7; background: #3496B9} + #nav ul ul a { background: #3facc7; } + #nav ul ul a:hover { background: #4fbcd7; } + + #nav li.start { + height: 60px; min-width: 0; padding-right: 0px; padding-left: 6px; + background: #D2DFE9; border-right: 4px solid #D2DFE9; border-radius: 0px 30px 30px 0px; border-bottom: 0px; + z-index: 20; + } + + #poz { z-index: 2; padding: 0; list-style: none; background-color: rgb(230,230,230); margin: 0; height: 20px; border-bottom: #f3f3f3 solid 4px; text-shadow: 0px 1px rgba(52, 150, 185, 0.1); } + #poz > li { padding: 2px 6px; } + #poz > li div.nev { float: right; padding: 2px; width: auto; color: #3496b9; text-align: right; } + #poz > li div.nev span { margin-right: 0px; font-size:12px; } + #poz > li div.nev span:hover { color:#00c0ff; } + #poz > li a { margin-right:5px; margin-left:15px; padding:0px; margin-top:0px; vertical-align: middle;} + + #settings { width: 300px; + margin-top: 5px; position:relative; right: 20px; + background: white; + box-shadow: rgba(0, 0, 0, 0.117188) 0px 2px 4px 0px; + border: 1px solid rgb(230,230,230); + border-top-width: 0px; + } + #settings div { padding: 20px 10px; box-shadow: rgba(0, 0, 0, 0.117188) 0px 2px 4px 0px; + border-bottom: 1px solid rgb(230,230,230); margin-bottom: 2px;} + #settings div p { margin: 0; padding: 0; text-align: center; } + #settings div p.name { font-weight: bold; } + #settings table { width: 100%; background: #D2DFE9; background: rgb(245,245,245);} + #settings td { width: 50%; text-align: center; padding: 10px; } + #settings td a { + display: inline-block; + vertical-align: baseline; line-height: 29px; + position: static; + padding: 0px 8px; height: 29px; margin: 0px 8px; + text-align: center; text-decoration: none; font-weight: bold; font-size: 10px; + background: white; color: #444; + border: solid 1px rgba(0, 0, 0, 0.0976563); border-radius: 2px; + } + #settings td a:hover { border: #c6c6c6 1px solid; } + #poz > li span.school { + font-variant: small-caps; + font-size: 14px; + color: white; + letter-spacing: 0.4em; + overflow: hidden; + } + + #nav1 { z-index: 3; position: absolute; margin-left: 310px; margin-right: 0px; width: 100%;} + #nav1 div { background: rgba(52,150,185,0.6); } + #nav1 div a { padding: 22px 12px 23px 12px; display: inline-block; text-decoration: none; color: #fff; background: #3496b9; margin-top: 1px; line-height: 14px; } + #nav1 div a:hover { color: #fdb933; /*background: #5FCCE7; */} + #nav1 div a.aktiv { color:#fdb933; /*background: #4FBCD7; */} + #nav1 div span.onClickHideShow { cursor: pointer; color: white; background: rgba(255,255,255,0.2); padding: 23px 12px 23px 12px; float: right; margin-right: 310px/* annyi, amennyi a #nav1 bal margója!*/; } + + #nav2.vertical { z-index: 1; width: 140px; margin: 0; height: 100%; + background-color: #D2DFE9; + + background: -webkit-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: -moz-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + margin-top: -25px; + padding-top: 25px; + position: fixed; + overflow: auto; + top:83px; + } + #nav2.vertical ul { margin: 0; padding: 0; list-style: none; } + #nav2.vertical ul li { border-bottom: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li:first-child { border-top: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li a { display: block; color: black; font-size: 11px; width: 128px; padding: 6px 6px; text-decoration: none; } + #nav2.vertical ul li a.aktiv { color: #ee7f00; font-size: 12px; } + #nav2.vertical ul li a:hover { color: white; background: #9abcd8; } + + #nav2.horizontal { z-index: 1; width: 100%; + margin-top: 0px; + top: 83px; + text-align: center; + padding-top: 5px; padding-bottom: 5px; + position: fixed; + overflow: none; + border-bottom: solid 3px #eeeeee; + background-color: #82bfd5; + color: white; + font-size:x-small; + } + #nav2.horizontal ul { margin: 0; padding: 0; list-style: none; } + #nav2.horizontal ul li { display: inline; border-right: solid 1px #888888; } + #nav2.horizontal ul li:last-child { display: inline; border-right: solid 0px #888888; } + #nav2.horizontal ul li a {display: inline; color: white; width: 128px; padding: 0px 6px; text-decoration: none; } + #nav2.horizontal ul li a.aktiv { color: white; background-color: orange;} + #nav2.horizontal ul li a:hover { color: white; background: orange; } + #nav2.horizontal:hover { + + } + + div.mayorfoot { text-align: center; font-size:smaller; color: #aaa; } + div.mayorfoot a { color: rgba(52, 150, 185, 0.6);} + div.mayorfoot:hover a { color: rgba(52, 150, 185, 1);} + #mayorfoot.leftpad { margin-top:2em; margin-left: 141px; } + #mayorfoot.toppad { margin-top: 40px; margin-left: 0px; } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow { z-index: 152; position: fixed; background: rgb(255,255,255); min-height: 100px; min-width: 200px; border: #3496B9 3px solid; border-radius: 10px;} + #updateWindow #updateHeader { min-height: 20px; min-width: 100px; background: #1a4c5c; color: white; text-align: center; line-height: 20px; position: relative; top: -13px; border-radius: 20px; margin: 0 50px; border: solid 3px #3496b9; } + #updateWindow #updateCloseButton { position: absolute; right: -20px; top: -20px; z-index: 0; background : white; border: solid 3px #3496b9; border-radius: 20px;} + #updateWindow #updateCloseButton:hover { background : #eeeeee;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 400px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; width: 100px; } + #keyHelp td.desc { color: white; text-align: left; } + + #logo, #head, #nav1, #nav, #poz { position: fixed; } + #head { top: 0; left: 0; } + #nav { top: 0; left: 0; } + #nav1 { top: 0; } + #poz { top: 60px; width: 100%; } + + #mayorbody { padding-top: 1px; padding-right: 0px; + /*margin-left:0px;*/ margin-top: 83px; + } + #mayorbody.leftpad { + margin-left: 141px; } + #mayorbody.toppad { + margin-left: 0px; top:33px; position: relative; + } + +} +@media print { + #nav, #nav1, #nav2, #poz, #head, #logo, #mayorfoot, #logobadge { display: none; } +} diff --git a/mayor-orig/mayor-base/www/skin/blue/base/css/base.php b/mayor-orig/mayor-base/www/skin/blue/base/css/base.php new file mode 100644 index 00000000..36b8db17 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/blue/base/css/base.php @@ -0,0 +1,212 @@ +/* + Module: base + + A rétegek sorrendje: nav2(1), head(2), poz(2), nav1(3), nav(3), logo(3), logobadge(4) +*/ +@media screen { + + html { height: 100%; } + html body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin:0px; padding:0px; height: 100%; overflow: auto; } + #debug { + padding: 20px; background-color: rgba(0,0,0,0.7); color: yellow; border: 0px red solid; + position: absolute; z-index: 1000; top: 0px; left: 0px; right: 0px; + } + #debug pre { background-color: rgba(240,240,240,0.9); color: #880000; padding: 10px; margin: 0px;} + #help { box-shadow: 3px 3px 15px 0px rgba(100,100,100,5.0); + position: absolute; top: 10px; left: 50%; height: 600px; width: 1000px; z-index: 500; margin: 0 -500px; + border: 1px solid rgb(0,0,0); background-color: white; } + #help iframe { width: 1000px; height: 558px; margin: 0; border: none; } + #helpHeader { text-align: center; font-size: 16px; width: 980px; height: 20px; margin: 0px; background-color: #194a5b; cursor: pointer; color: white; font-weight: bold; padding: 10px; } + #hideHelp { + position: absolute; top:6px; right: 4px; + cursor: pointer; background-color: #822; color: white; padding: 2px 5px; font-size: 16px; + border: #822 1px solid; border-radius: 3px; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); + box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25); + } + + a { text-decoration:none; } + .onClickHideShow, .onClickHide, .onClickShow { cursor: pointer; } + + div.errorMsg { margin: 20px 20%; background-color: #fee; border: solid 1px red; border-radius: 2px; padding: 15px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.errorMsg span { font-weight: bold; color: #f00; } + div.infoMsg { margin: 20px 20%; background-color: #eef; border: groove 1px #0000ff; border-radius: 2px; padding: 15px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.infoMsg span { font-weight: bold; color: #00a; } + div.errorMsg span.alertParam, div.infoMsg span.alertParam { font-weight: normal; font-style: italic; color: green; } + + #logo { z-index: 3; height: 40px; position: absolute; top: 8px; left: 14px; border: 0px none; } + #logobadge { z-index: 4; height: 25px; position: fixed; top: 28px; left: 90px; border: 0px none; } + + #head { z-index: 2; position: absolute; width: 100%; height: 60px; background: no-repeat right center; } + + #nav, #nav ul { list-style: none; } + #nav { z-index: 3; margin: 0; height: 60px; padding-left: 140px; } + #nav li { position: relative; } +/*!*/ + #nav > li { float: left; z-index: 20; text-align: center; padding: 0; height: 60px; background-color: ; border-bottom: 1px solid ; } + #nav > li.active { max-width: 160px; } + #nav > li:hover { z-index: 22; } + #nav > li > ul { top: 50px; left: -1px; } + #nav > li > ul > li > a { margin-left: 10px; } + + #nav li:hover { background-color: ;} +/*!*/ + #nav li.active { background-color: ; } + #nav li a { display: block; padding: 3px 10px; color: white; } + #nav > li > a { padding: 0px 20px; height: 60px; vertical-align: middle; display: table-cell; min-width: 100px; } + #nav li a:hover { color: ; } + #nav li:hover > ul { display: block; } + + #nav li.nav1szin { background-color: ; border-bottom: 1px solid white; } + #nav ul.sub { background-color: ; } + + + #nav ul { display: none; position: absolute; width: 160px; padding: 0px; } + #nav ul span { float: left; margin: 6px 5px; color: white; } +/*!*/ + #nav > li > ul { top: 61px; } + #nav ul > li { background-color: ; } + #nav ul li { text-align: left; margin-bottom: 1px; } + #nav ul li a { padding: 6px 10px; } + #nav ul li.active > a { color: ; } + + #nav ul ul { top: 0px; left: -145px; z-index: 30; background-color: ; } + #nav ul ul a { background-color: ; } + #nav ul ul a:hover { background-color: ; } + + #nav li.start { + height: 60px; min-width: 0; padding-right: 0px; padding-left: 6px; + background-color: ; border-right: 4px solid ; border-radius: 0px 30px 30px 0px; border-bottom: 0px; + z-index: 20; + } + + #poz { z-index: 2; padding: 0; list-style: none; background-color: rgb(230,230,230); margin: 0; height: 20px; border-bottom: #f3f3f3 solid 4px; text-shadow: 0px 1px rgba(52, 150, 185, 0.1); } + #poz > li { padding: 2px 6px; } + #poz > li div.nev { float: right; padding: 2px; width: auto; color: ; text-align: right; } + #poz > li div.nev span { margin-right: 0px; font-size:12px; } + #poz > li div.nev span:hover { color:; } + #poz > li a { margin-right:5px; margin-left:15px; padding:0px; margin-top:0px; vertical-align: middle;} + + #settings { width: 300px; + margin-top: 5px; position:relative; right: 20px; + background-color: white; + box-shadow: rgba(0, 0, 0, 0.117188) 0px 2px 4px 0px; + border: 1px solid rgb(230,230,230); + border-top-width: 0px; + } + #settings div { padding: 20px 10px; box-shadow: rgba(0, 0, 0, 0.117188) 0px 2px 4px 0px; + border-bottom: 1px solid rgb(230,230,230); margin-bottom: 2px;} + #settings div p { margin: 0; padding: 0; text-align: center; } + #settings div p.name { font-weight: bold; } + #settings table { width: 100%; background-color: rgb(245,245,245); } + #settings td { width: 50%; text-align: center; padding: 10px; } + #settings td a { + display: inline-block; + vertical-align: baseline; line-height: 29px; + position: static; + padding: 0px 8px; height: 29px; margin: 0px 8px; + text-align: center; text-decoration: none; font-weight: bold; font-size: 10px; + background-color: white; color: #444; + border: solid 1px rgba(0, 0, 0, 0.0976563); border-radius: 2px; + } + #settings td a:hover { border: #c6c6c6 1px solid; } + #poz > li span.school { + font-variant: small-caps; + font-size: 14px; + color: white; + letter-spacing: 0.4em; + overflow: hidden; + } + + #nav1 { z-index: 3; position: absolute; margin-left: 310px; margin-right: 0px; width: 100%;} + #nav1 div { background-color: ; } + #nav1 div a { padding: 22px 12px 23px 12px; display: inline-block; text-decoration: none; color: #fff; background-color: ; margin-top: 1px; line-height: 14px; } + #nav1 div a:hover { color: ; } + #nav1 div a.aktiv { color: ; } + #nav1 div span.onClickHideShow { cursor: pointer; color: white; background-color: rgba(255,255,255,0.2); padding: 23px 12px 23px 12px; float: right; margin-right: 310px/* annyi, amennyi a #nav1 bal margója!*/; } + + #nav2.vertical { z-index: 1; width: 140px; margin: 0; height: 100%; + background-color: ; + + background: -webkit-linear-gradient(top, 0%, 50%,#ffffff 100%); + background: -moz-linear-gradient(top, 0%, 50%,#ffffff 100%); + background: linear-gradient(top, 0%, 50%,#ffffff 100%); + margin-top: -25px; + padding-top: 25px; + position: fixed; + overflow: auto; + top:83px; + } + #nav2.vertical ul { margin: 0; padding: 0; list-style: none; } + #nav2.vertical ul li { border-bottom: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li:first-child { border-top: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li a { display: block; color: black; font-size: 11px; width: 128px; padding: 6px 6px; text-decoration: none; } + #nav2.vertical ul li a.aktiv { color: #ee7f00; font-size: 12px; } + #nav2.vertical ul li a:hover { color: white; background-color: #9abcd8; } + + #nav2.horizontal { z-index: 1; width: 100%; + margin-top: 0px; + top: 83px; + text-align: center; + padding-top: 5px; padding-bottom: 5px; + position: fixed; + overflow: none; + border-bottom: solid 3px #eeeeee; + background-color: #82bfd5; + color: white; + font-size:x-small; + } + #nav2.horizontal ul { margin: 0; padding: 0; list-style: none; } + #nav2.horizontal ul li { display: inline; border-right: solid 1px #888888; } + #nav2.horizontal ul li:last-child { display: inline; border-right: solid 0px #888888; } + #nav2.horizontal ul li a {display: inline; color: white; width: 128px; padding: 0px 6px; text-decoration: none; } + #nav2.horizontal ul li a.aktiv { color: white; background-color: orange;} + #nav2.horizontal ul li a:hover { color: white; background-color: orange; } + #nav2.horizontal:hover { + + } + + div.mayorfoot { text-align: center; font-size:smaller; color: #aaa; } + div.mayorfoot a { color: rgba(52, 150, 185, 0.6);} + div.mayorfoot:hover a { color: rgba(52, 150, 185, 1);} + #mayorfoot.leftpad { margin-top:2em; margin-left: 141px; } + #mayorfoot.toppad { margin-top: 40px; margin-left: 0px; } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow { z-index: 152; position: fixed; background-color: rgb(255,255,255); min-height: 100px; min-width: 200px; border: 3px solid; border-radius: 10px;} + #updateWindow #updateHeader { min-height: 20px; min-width: 100px; background-color: #1a4c5c; color: white; text-align: center; line-height: 20px; position: relative; top: -13px; border-radius: 20px; margin: 0 50px; border: solid 3px ; } + #updateWindow #updateCloseButton { position: absolute; right: -20px; top: -20px; z-index: 0; background-color: white; border: solid 3px ; border-radius: 20px;} + #updateWindow #updateCloseButton:hover { background-color: #eeeeee;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 400px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; width: 100px; } + #keyHelp td.desc { color: white; text-align: left; } + + #logo, #head, #nav1, #nav, #poz { position: fixed; } + #head { top: 0; left: 0; } + #nav { top: 0; left: 0; } + #nav1 { top: 0; } + #poz { top: 60px; width: 100%; } + + #mayorbody { padding-top: 1px; padding-right: 0px; + /*margin-left:0px;*/ margin-top: 83px; + } + #mayorbody.leftpad { + margin-left: 141px; } + #mayorbody.toppad { + margin-left: 0px; top:33px; position: relative; + } + +} +@media print { + #nav, #nav1, #nav2, #poz, #head, #logo, #mayorfoot, #logobadge { display: none; } +} diff --git a/mayor-orig/mayor-base/www/skin/blue/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/blue/base/html/base.phtml new file mode 100644 index 00000000..ebe1161b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/blue/base/html/base.phtml @@ -0,0 +1,401 @@ + base.php + putValidXHTML() +*/ + + require('skin/blue/base/color_schemes.php'); + if (!defined('__COLOR_SCHEME') || !is_array($_COLOR_SCHEMES[__COLOR_SCHEME])) + $_COLORS = $_COLOR_SCHEMES['blue']; + else + $_COLORS = $_COLOR_SCHEMES[__COLOR_SCHEME]; + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpHeader(); + + if ($MENU['set'][$policy][$page][$sub][$f]['refresh'] > 0) { + @header("Refresh:".intval($MENU['set'][$policy][$page][$sub][$f]['refresh'])); + } + + html_head($page,$sub,$f,$lang,$skin); + _debugLayer(); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + echo '
'; + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'leftpad' : 'toppad'; + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH, $SSSBB; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + + // debug üzenetek layer-ének lezárása +// if (defined('__START_DEBUG') && __START_DEBUG === true) echo "\n"; + + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - '; + echo _MAIN_TITLE; + echo '.'; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + if (is_string($SSSHH) && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo "\n\n"; + if (is_string($SSSBB) && $SSSBB!='') echo $SSSBB; + +} + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $policy, $page, $sub, $f, $LANGUAGES, $SKINSSHOW, $_COLORS; + + echo ''."\n"; + + $loginout_img = _svgLoginout(array('print'=>false, 'color' => $_COLORS['login'])); + $down_svg = _svgDown(array('print'=>false, 'color' => $_COLORS['login'])); + // ------------------------ + + echo ''; + + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy, $SCHOOL_LOGO, $SCHOOL_IDENTITY, $SCHOOL_URL, $NAV; + + + _updateWindow(); + _keyHelp(); + + //if (date('m')==12) $imgextra = '-santa'; else $imgextra = ''; + if (defined('_HOME_LOGO') && file_exists(_HOME_LOGO)) $HOME_LOGO=_HOME_LOGO; + elseif (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + + if (defined('_HOME_LOGO_BADGE') && file_exists(_HOME_LOGO_BADGE)) $HOME_LOGO_BADGE=_HOME_LOGO_BADGE; +// elseif (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) +// $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + +echo ''; + + echo "\n"; + echo ''."\n\n"; + + mayor_menu($MENU,$sessionID,$lang,$skin); + echo ''; + echo ''; + if ($HOME_LOGO_BADGE!='') echo ''; + echo ''; + + + echo "\n"; + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'vertical' : 'horizontal'; + echo ''."\n\n"; + +} + + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'leftpad' : 'toppad'; + echo '
'._MAIN_FOOTER.'
'."\n\n"; + echo "\n"; +} + + +?> diff --git a/mayor-orig/mayor-base/www/skin/blue/base/img/favicon.ico b/mayor-orig/mayor-base/www/skin/blue/base/img/favicon.ico new file mode 100644 index 00000000..5720d1ed Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/blue/base/img/favicon.ico differ diff --git a/mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png b/mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png new file mode 100644 index 00000000..ca42a8d0 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png differ diff --git a/mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png.orig b/mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png.orig new file mode 100644 index 00000000..c2b3d41b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/blue/base/img/mayor_small_ssl.png.orig differ diff --git a/mayor-orig/mayor-base/www/skin/blue/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/blue/module-auth/css/login.css new file mode 100644 index 00000000..872d000f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/blue/module-auth/css/login.css @@ -0,0 +1,46 @@ +@media screen { + +div.mayorbody img { border-width: 0px; } +div.mayorbody h1 {text-align: center; margin:10px; font-size:20px; } +div.mayorbody h2 {text-align: center; margin:10px; font-size: 15px; } +div.mayorbody table { font-size: 12px; } +div.mayorbody table.main {width: 100%; border-width: 0px;} +div.mayorbody table.loginablak { + background-color: #ffffff; + border-width: 1px; + border-style: solid; + border-color: #555550; + width:400px} +div.mayorbody td { padding: 2px } +div.mayorbody form { margin: 30px;padding: 0px; } +div.mayorbody input { font-size: 12px; font-family:Verdana,Arial; background-color: #fffff0; border: solid 1px #666690;} +div.mayorbody select.pp { padding: 0px; margin: 0px; border: none 0px #778890; font-size: 12px; background-color: #eeeee0; font-family: Verdana,Arial; } +div.mayorbody select.pp>option { border: none 0px black; } +div.mayorbody input.submit { border: solid 1px #776650; } +div.mayorbody table.loginablak thead td { + background-color: #666690; + text-align: center; + font-family: Verdana,arial; + font-size: 10pt; + font-weight: bold; + color: white; + border-bottom: solid 1px white; +div.mayorbody } +div.mayorbody table.loginablak tbody tr.top td { border-top: solid 1px #666690; } + +div.mayorbody tfoot td { background-color: #888880; text-align: center; } +div.mayorbody td.co { text-align: center; vertical-align: bottom; font-family: Verdana,arial; font-size:8pt; } +div.mayorbody img.aauthImg { + border-top: solid 1px #666690; + border-bottom: solid 1px #888880; + border-left: solid 1px #666690; + border-right: solid 1px #888880; +} +#warning { height: 40px; } +#capsLockWarning { + background: #ffffaa; color: #ffaaaa; + text-align: center; font-size: 20px; font-weight: bold; + padding: 20px; margin: 10px auto; width: 300px; +} + +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/base/css/base.css b/mayor-orig/mayor-base/www/skin/classic/base/css/base.css new file mode 100644 index 00000000..a550588b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/css/base.css @@ -0,0 +1,753 @@ +@media screen { + + html { height: 100%; } + html body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin:0px; padding:0px; height: 100%; overflow: auto; } + a { text-decoration:none; } + .onClickHideShow, .onClickHide, .onClickShow { cursor: pointer; } + .input {outline: none;} + + /* mayorlayers */ + #debug { + padding: 20px; background: rgba(0,0,0,0.7); color: yellow; border: 0px red solid; + position: absolute; z-index: 1000; top: 0px; left: 0px; right: 0px; + } + #debug pre { background: rgba(240,240,240,0.9); color: #880000; padding: 10px; margin: 0px;} + + #help { + border-radius: 2px; + box-shadow: 3px 3px 15px 0px rgba(100,100,100,5.0); + position: absolute; top: 10px; left: 50%; height: 600px; width: 1000px; z-index: 500; margin: 0 -500px; + border: 1px solid #888888; background: white; } + #help iframe { width: 1000px; height: 558px; margin: 0; border: none; } + #helpHeader { text-align: center; font-size: 16px; width: 992px; height: 20px; margin: 0px; background: #44cbf8; cursor: pointer; color: white; font-weight: bold; padding: 4px; + border-bottom: #f3f3f3 solid 4px; + } + #hideHelp { + position: absolute; top:4px; right: 4px; + cursor: pointer; background: #822; color: white; padding: 2px 5px; font-size: 12px; + border: #822 1px solid; border-radius: 2px; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); +/* box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25);*/ + } + #hideHelp:hover { background-color:red;} + + div.errorMsg { margin: 10px 20%; background: #fee; border: solid 1px red; border-radius: 2px; padding: 10px; box-shadow: 0px 0px 0px rgba(0,0,0,0.5); } + div.errorMsg span { font-weight: bold; color: #f00; } + div.infoMsg { margin: 10px 20%; background-color: #eee; border: solid 1px rgb(90,133,184); border-radius: 2px; padding: 10px; box-shadow: 0px 0px 0px rgba(0,0,0,0.5); } + div.infoMsg span { font-weight: bold; color: rgb(21,71,123); } + div.errorMsg span.alertParam, div.infoMsg span.alertParam { font-weight: normal; color: rgba(0,0,0,0.8); } + + div#mayorErrorSmall span { padding:4px 4px;} + div#mayorErrorSmall span.errorMsg { color:red; } + div#mayorErrorSmall span.infoMsg { color:rgb(21,71,123); } + + #mayorSearch { + z-index:4; + position: fixed; + width: 500px; + max-height: 500px; overflow:auto; + padding: 10px; + border: 5px solid #ccc; + border-radius: 2px; + background-color: #fff; + top: 30%; + left: 50%; + margin-top: -100px; + margin-left: -250px; + box-shadow: 0px 1px 100px 30px rgba(101,101,101,0.9); + } + #mayorSearch input { + overflow:none; + font-size:30px; + width: 99%; + height: 50px; + padding: 0px 0px 0px 0px; + margin: 0px; + border-style: solid; + border-width: 0px 0px 1px 0px; + border-color: #dddddd; + outline: none; + } + + #mayorSearch a { display: block; color: cornflowerblue; padding: 2px; font-size: 13px; } + #mayorSearch a:before { content:' \25AB '; } + #mayorSearch a:hover { text-decoration: underline; } + #mayorSearch a.aktiv { outline: solid 2px cornflower; } + #mayorSearch a.aktiv:before, #mayorSearch a:hover:before { content:' \25AA '; } + + div.inlinehelp { position: relative; display: inline-block; color:#446688; } +/* div.inlinehelp span.onClickHideShow { padding: 1px 6px; border-radius: 14px; border: #68a solid 1px; color: #468; font-weight: bold; font-size: 10px;}*/ + div.inlinehelp span.onClickHideShow { font-size: 10px; color: #446688;} + div.inlinehelp p { + width: 200px; position: absolute; display: inline-block; top: -15px; left: 35px; z-index: 1000; + background-color: #ffa; + border: solid 1px #888; padding: 4px; border-radius: 2px; + font-weight: normal; text-align: left; white-space: pre-wrap; + } + div.inlinehelp span.onClickHideShow:hover { color: rgb(106,128,250); } + + /* mayorhead */ + /* placeholder */ + #head { z-index: 2; position: absolute; width: 100%; height: 60px; + background-color: #3496B9; + } + + #mayorhead { } + + #logo { z-index: 3; height: 40px; position: absolute; top: 8px; left: 14px; border: 0px none; } + #logobadge { z-index: 4; height: 25px; position: fixed; top: 28px; left: 90px; border: 0px none; } + + #nav, #nav ul { list-style: none; } + #nav { z-index: 3; margin: 0px; + padding-left: 140px; + } + + #nav li { position: relative; } + #nav > li { float: left; z-index: 20; text-align: center; padding: 0; +/* background-color: #3fa79c; */ + background-color: #3496B9; + border-bottom: 0px solid #D2DFE9; + /* border-bottom: 1px solid rgb(165,190,200);/* */ + } + #nav > li.active { max-width: 160px; } + #nav > li:hover { z-index: 22; } + #nav > li > ul { top: 50px; left: -1px; /* background: #1A4B5C; */} + #nav > li > ul > li > a { margin-left: 10px; } + + #nav li:hover { background: #4fbcd7; + background-color: #3FA79C; + } + #nav li.active { background: #3facc7; } + + #nav li a { display: block; padding: 3px 10px; color: white; } + #nav > li > a { padding: 0px 20px; line-height: 60px; vertical-align: middle; display: table-cell; min-width: 70px; + -webkit-transition: all 0.1s ease; + transition: all 0.1s ease; + } + #nav li a:hover { color: orange; } + #nav li:hover > ul { display: block; } + + #nav li.nav1szin { background: #3496B9; border-bottom: 1px solid white; } + #nav ul.sub { background: #3facc7; } + + #nav ul { display: none; position: absolute; width: 160px; padding: 0px; } + #nav ul span { float: left; margin: 6px 5px; color: white; } + + #nav > li > ul { top: 60px; border-top: solid 4px rgba(255,255,255,0.4); } + #nav ul > li { background: #3496B9; } + #nav ul li { text-align: left; margin-bottom: 1px; } + #nav ul li a { padding: 6px 10px; } + #nav ul li.active > a { color:#fdb933; } + + #nav ul ul { top: 0px; left: -145px; z-index: 30; background: #3facc7; background: #3496B9} + #nav ul ul a { background: #3facc7; } + #nav ul ul a:hover { background: #4fbcd7; color: white; border-right: solid 4px orange;} /* mod */ + + #nav li.start { /* fogó */ + height: 20px; min-width: 0; padding-right: 0px; padding-left: 6px; + margin-top:20px; + background-color:lightgrey; + border-radius: 0px 50px 50px 0px; border-bottom: 0px; + z-index: 20; + } + + #nav:hover li.start { + animation: moIn 0.1s; -webkit-animation: moIn 0.1s; + } + + #nav li.start:hover { + background: #D2DFE9; + padding-left:9px; + } + + #poz { z-index: 2; padding: 0; list-style: none; background-color: rgb(230,230,230); margin: 0; + height: 20px; border-bottom: #f3f3f3 solid 4px; text-shadow: 0px 1px rgba(52, 150, 185, 0.1); + border-top: rgb(247, 197, 14) solid 4px; + animation-name: niceMaYoR; + animation-duration: 30s; + animation-iteration-count: 4; + animation-direction: alternate; + animation-timing-function: ease-in-out; + animation-delay: 60s; + } + + #poz > li { padding: 2px 6px; } + #poz > li div.nev { float: right; padding: 2px; width: auto; color: #3496b9; text-align: right; } + #poz > li div.nev span { margin-right: 0px; } + #poz > li div.nev span:hover { color:rgb(70, 130, 180);/*color:#00c0ff;*/ } + #poz > li div.nev a { color: #3496b9;} + +/* #poz > li div.nev span.icon-googleplus, #poz > li div.nev span.icon-facebook { color:#aaa; }*/ + #poz > li div.nev.googleapi span.icon-googleplus { color: #f44336;} + #poz > li div.nev.fbconnect span.icon-facebook { color: #3B5998;} + + #poz > li a { margin-right:4px; margin-left:4px; padding:0px; margin-top:0px; vertical-align: top;} + + #settings { + width: 100%; + margin-top: 5px; position:relative; right: 0px; + background: #eee; + border-width: 0px 1px 1px 1px; + border-style: solid; + border-color: rgb(230,230,230); + border-top: dotted 1px #dddddd; + } + #settings div { + padding: 20px 10px; + border-bottom: 1px solid rgb(230,230,230); + } + #settings div p { margin: 0; padding: 0; text-align: center; } + #settings div p.name { font-weight: bold; } + #settings table { width: 100%; background: rgb(245,245,245);} + #settings table:hover { box-shadow: 0px 0px 100px #eeeeee;} + #settings td { width: 50%; text-align: center; padding: 10px; } + #settings td a { + display: inline-block; + vertical-align: baseline; line-height: 29px; + position: static; + padding: 0px 8px; height: 29px; margin: 0px 8px; + text-align: center; text-decoration: none; font-weight: bold; font-size: 10px; + background: white; color: #444; + border: solid 1px rgba(0, 0, 0, 0.0976563); + border-radius: 2px; + } + #settings td a:hover { border: white 1px solid; background-color: #44CBF8; color: white; } + + #poz > li span.school { + font-variant: small-caps; + font-size: 14px; + color: rgb(125,150,160); + /* font-weight: bold; */ + letter-spacing: 0.16em; + overflow: hidden; + white-space:nowrap; + } + #poz > li span.school:hover { text-shadow: 0 0 0.2em #eee, 0 0 0.2em #eee; color: #666; cursor: default; } + + #nav1 { z-index: 3; position: absolute; margin-left: 290px; margin-right: 0px; width: 100%; + + } + #nav1 div { background: rgba(52,150,185,0.6); } + #nav1 div a { line-height:60px; padding: 0px 12px 0px 12px; display: inline-block; text-decoration: none; color: #fff; + background: #3496b9; margin-top: 0px; + } + #nav1 div a:hover { color: #fdb933; + background-color: ; + box-shadow: inset 0px -3px 0px #44CBF8; + } + #nav1 div a.aktiv { color:#fdb933; } + #nav1 div a.aktiv:hover { color: white; } + + #nav1 div span.onClickHideShow { + display:none; + cursor: pointer; color: white; background: rgba(255,255,255,0.2); line-height:60px; + padding: 0px 12px 0px 12px; float: right; margin-right: 290px/* annyi, amennyi a #nav1 bal margója!*/; } + + #nav2.vertical { + z-index: 1; width: 140px; margin: 0; height: 100%; + background-color: #D2DFE9; +/* margin-top: -25px; + padding-top: 25px; +*/ position: fixed; + overflow: auto; + top:88px; + background: -webkit-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: -moz-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + } + #nav2.vertical ul { margin: 0; padding: 0; list-style: none; } + #nav2.vertical ul li { border-bottom: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li:first-child { border-top: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li a { display: block; color: black; font-size: 11px; text-decoration: none; padding: 6px 6px; width:128px; } + #nav2.vertical ul li a.aktiv { background-color: white; } + #nav2.vertical ul li a:hover { color: white; background: #9abcd8; } + + #nav2.horizontal { + z-index: 1; width: 100%; + margin-top: 0px; + top: 88px; + text-align: center; + padding-top: 5px; padding-bottom: 5px; + position: fixed; + overflow: none; + border-bottom: solid 3px #eeeeee; + background-color: #82bfd5; + color: white; + font-size:x-small; + } + #nav2.horizontal ul { margin: 0; padding: 0; list-style: none; } + #nav2.horizontal ul li { display: inline; border-right: solid 1px #888888; } + #nav2.horizontal ul li:last-child { display: inline; border-right: solid 0px #888888; } + #nav2.horizontal ul li a {display: inline; color: white; width: 128px; padding: 0px 6px; text-decoration: none; } + #nav2.horizontal ul li a.aktiv { color: white; background-color: orange;} + #nav2.horizontal ul li a:hover { color: white; background: orange; } + #nav2.horizontal:hover li { } + + div.mayorfoot { text-align: center; font-size:smaller; color: #aaa; } + div.mayorfoot a { color: rgba(52, 150, 185, 0.6);} + div.mayorfoot:hover a { color: rgba(52, 150, 185, 1);} + #mayorfoot.leftpad { margin-top:2em; margin-left: 141px; } + #mayorfoot.toppad { margin-top: 40px; margin-left: 0px; } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + + #updateWindow { z-index: 152; position: fixed; background: rgb(255,255,255); min-height: 100px; min-width: 200px; border: #3496B9 2px solid; border-radius: 4px; left:20%; right:20%;} +/* #updateWindow #updateHeader { min-height: 20px; min-width: 100px; background: #1a4c5c; color: white; text-align: center; line-height: 20px; position: relative; top: -13px; border-radius: 4px; margin: 0 50px; border: solid 2px #3496b9; }*/ + #updateWindow #updateHeader { min-height: 30px; min-width: 100px; background: #1a4c5c; color: white; + font-size:16px;text-align: center; line-height:30px; margin: 0 0px 10px 0px; border-bottom: solid 2px rgb(247, 197, 14); /*#3496b9*/ } + #updateWindow #updateCloseButton { position: absolute; right: -20px; top: -20px; z-index: 0; background : white; border: solid 3px #3496b9; border-radius: 20px;} + #updateWindow #updateCloseButton:hover { background : #eeeeee;} + #updateHeader { cursor: pointer; } + #updateForm { max-height: 100%; overflow: auto; } + + + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 400px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; width: 100px; } + #keyHelp td.desc { color: white; text-align: left; } + + #logo, #head, #nav1, #nav, #poz { position: fixed; } + #head { top: 0; left: 0; } + #nav { top: 0; left: 0; } + #nav1 { top: 0; } + #poz { top: 60px; width: 100%; } + + #mayorbody { padding-top: 1px; padding-right: 0px; + /*margin-left:0px;*/ margin-top: 88px; + } + #mayorbody.leftpad { margin-left: 141px; } + #mayorbody.toppad { margin-left: 0px; top:33px; position: relative;} + + /* alternates */ + #mayorhead.small #nav1 div a { line-height:30px; } + #mayorhead.small #nav > li > a { line-height:30px;} + #mayorhead.small #head { height:30px;} + #mayorhead.small #poz { height:20px;} + + /* ------------ */ +/* #mayorerror {z-index:100;position:fixed; bottom:0px; min-height:88px; width:100%;background-color: rgba(255,20,147,0.9); border-bottom: solid 1px red; display:none;}*/ + + #nav2 .icons span { padding: 0px 6px; vertical-align:middle; cursor:pointer} + #nav2.vertical .icons { height:26px; color: lightslategrey;} + #nav2.vertical .icons span { font-size:11px; display:table-cell; padding-top:8px;} + #nav2.vertical .icons span:hover {color:white;} + + #nav2.horizontal .icons {display:inline; float:left; padding-top:3px; height:100%;} + #nav2.horizontal .icons span { font-size:11px; display:inline; padding-top:0px; color: white; border: dotted 1px lightblue; padding:3px; margin:0px 2px; background-color: rgba(100,100,100,0.1);} + #nav2.horizontal .icons span:hover {color:orange;} + + #nav2 ul li.fullmenuitem { display:none } + + #nav2fullmenu.aktiv { color: rgb(30, 144, 255);} + #nav2fullmenu.aktiv:hover { color: rgb(60,174,255) !important;} + + #mayorGlobalLogin { + /*background-color: rgba(0, 0, 0, 0.6); */ + padding:0px 0px 0px 0px; z-index: 100; position:fixed; top:0px; right:0px; height:60px; max-height:60px; } + #mayorGlobalLogin span { color:#eeeeee; padding-right:0px; } + #mayorGlobalLogin span.failed { color: rgb(255,215,0);; text-shadow: 0px 0px 2px #ff0000;} + #mayorGlobalLogin:hover span.failed { color: rgb(255,235,0); } + + #mayorGlobalLogin form.fb button:hover span { color: #3B5998; } + #mayorGlobalLogin form.googleapi button:hover span { color: red; } + + #mayorGlobalLogin div.large { font-size:40px; padding:10px; color: #eeeeee;} + #mayorGlobalLogin div.large:hover { font-size:40px; padding:10px; color: white; } + + #mayorGlobalLogin input[type=text] { width:100px; } + #mayorGlobalLogin input[type=password] { width:100px; } + + /* add default */ + #mayorGlobalLogin form input {margin:2px;} + #mayorGlobalLogin table { height:60px;} + + #mayorGlobalLogin form button.api { + background-color: inherit; + border: solid 0px #fff; + padding: 0px; + font-size: 24px; + margin-top: 2px; + } + #mayorGlobalLogin.restricted { background-color: #F06; } + + + + #mglFBconnect.FBstatusunknown { /*color: #aaa;*/ } + #mglFBconnect:after { content: " "; + margin-left:4px;display: inline-block; width:8px; + height:8px;border-radius: 8px;border: solid 1px white; background-color:#888; + } + #mglFBconnect:hover:after {} + #mglFBconnect.FB2:after {background-color:lightgreen;} + #mglFBconnect.FB1:after {background-color:orange;} + #mglFBconnect.FB0:after {background-color:red;} + + #mayorErrorHide {color: rgb(90, 133, 184); cursor:pointer;} + #mayorErrorHide:hover {color: rgba(52, 150, 185, 0.6);} + + .hidden { display:none } + + #ui-datepicker-div {position: relative; z-index:4 !important;} + + #mayorErrorSmall.mayorErrorSmallInfo { + overflow:hidden; + line-height:22px; + border-bottom: solid 4px rgb(106,128,250); + border-top: solid 4px lightblue; + padding:0px; height:20px; width:100%; + background-color:rgba(250,250,250,0.9); position:fixed; + top:60px;left:0px; z-index:3 + } + + #mayorErrorSmall.mayorErrorSmallError { + overflow:hidden; + line-height:22px; + border-bottom: solid 4px red; + border-top: solid 4px orange; + padding:0px; height:20px; width:100%; + background-color:rgba(250,250,250,0.9); position:fixed; + top:60px;left:0px; z-index:3 + } + + +/* .nyitva2 { width:390px !important; }*/ + + #updateWindowSide { + z-index: 152; + position: fixed; + background-color: rgba(73, 71, 71,0.92); + border-left: solid 0px black; + padding:4px; + color:white; + right: -368px; + width: 360px; + top:60px; + bottom:0; + overflow-y: auto; + border-top : solid 4px grey; + transition: all 300ms ease; + } + #updateWindowSide.nyitva { right:0px; } + #updateWindowSide h1 { padding: 4px 8px; margin:0px; text-align:center; border-bottom: solid 1px #dddddd; } + #updateWindowSide h1 div { font-size:16px; min-height: 20px; } + #updateWindowSide h1 span#btn_updateWindowSideClose { float:left; font-size:18px; cursor: pointer; } + #updateWindowSide h1 span#btn_updateWindowSideClose:hover { color: #777777; } + #updateWindowSide a {color: inherit; } + #updateWindowSide a:hover {color: inherit; } + + #updateWindowSideSub { + z-index: 153; + position: fixed; + background-color: rgba(100, 100, 100, 0.98); + border-left: solid 0px black; + padding:4px; + color:white; + right: -368px; + width: 360px; + top:60px; + bottom:0; + overflow-y: auto; + border-top : solid 4px #eee; + transition: all 300ms ease; + } + #updateWindowSideSub.nyitva { right:0px; } + #updateWindowSideSub h1 { padding: 4px 8px; margin:0px; text-align:center; border-bottom: solid 1px #dddddd; } + #updateWindowSideSub h1 div { font-size:16px; min-height: 20px; } + #updateWindowSideSub h1 span#btn_updateWindowSideSubClose { float:left; font-size:18px; cursor: pointer; } + #updateWindowSideSub h1 span#btn_updateWindowSideSubClose:hover { color: #777777; } + #updateWindowSideSub a {color: inherit; } + #updateWindowSideSub a:hover {color: inherit; } + + #mayorNaviIconHolder { text-align:center; display:table; width:100%; border-bottom: solid 1px white; font-size:12px; } + div.mayorNaviIcon { display:inline-block; text-align:center; padding: 10px 5px 5px 5px; margin-right:4px; border-width:0px 0px 0px 0px; border-style: solid; border-color:white;} + div.mayorNaviIcon a { color:inherit; text-decoration: none; display:inline-block;} + div.mayorNaviIcon span { font-size:16px; } + div.mayorNaviIcon:hover { background-color: cornflowerblue; cursor:pointer; text-shadow: 0px 0px 1px blue;} + + #nav, #nav1,#nav2 {display:visible;} + #mayorIcons { height: 26px; color: #789; } + #hamburgerIcon { +display:none; +color:#D2DFE9; font-size:20px;z-index:100000; +margin-left:0px; +position:fixed; +top:0px; +padding:0px 8px; +cursor: pointer; +vertical-align: middle; +border-radius:1px; +border: solid 0px #eee; + } + #hamburgerIcon span { line-height:60px; } + #hamburgerIcon:active {color:white;} + #hamburgerIcon.nyitva { + color:white; + } + + .hamburger { display:none; + position:fixed; z-index:1000; top:0px; left:0px; + padding: 15px 15px; + cursor: pointer; + transition-property: opacity, -webkit-filter; + transition-property: opacity, filter; + transition-property: opacity, filter, -webkit-filter; + transition-duration: 0.15s; + transition-timing-function: linear; + font: inherit; + color: inherit; + text-transform: none; + background-color: transparent; + border: 0; + margin: 0; + overflow: visible; + } + + /* author Jonathan Suh jonsuh + mayor.hu */ + /* https://github.com/jonsuh/hamburgers */ + .hamburger:hover { opacity: 0.7; } + .hamburger-box {width: 20px;height: 30px;display: inline-block;position: relative;} + .hamburger-inner {display: block;top: 50%;margin-top: -2px;} + .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { + width: 20px;height: 3px; + background-color: #eee; + border-radius: 2px;position: absolute; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + transition-duration: 0.15s; + transition-timing-function: ease; + } + .hamburger-inner::before, .hamburger-inner::after {content: "";display: block;} + .hamburger-inner::before { top: -7px; } + .hamburger-inner::after { bottom: -7px; } + + /* Squeeze */ + .hamburger--squeeze .hamburger-inner { + transition-duration: 0.1s; + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + .hamburger--squeeze .hamburger-inner::before { transition: top 0.1s 0.14s ease, opacity 0.1s ease;} + .hamburger--squeeze .hamburger-inner::after { + transition: bottom 0.1s 0.14s ease, -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + .hamburger--squeeze.is-active .hamburger-inner { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + transition-delay: 0.14s; + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + .hamburger--squeeze.is-active .hamburger-inner::before {top: 0;opacity: 0;transition: top 0.1s ease, opacity 0.1s 0.14s ease;} + + .hamburger--squeeze.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + transition: bottom 0.1s ease, -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* end of hamburger */ + + #mayorNav { + width:100%; + position:absolute; + z-index:1; + background-color: #37699d; /* #82bfd5; */ + opacity:1; + padding-bottom:1em; + border-bottom: solid 4px #F7C50E; + } + + #mayorNav { color:#fff; } + #mayorNav a { color:#fff; } + #mayorNav a:hover { color:white; } + #mayorNav ul {list-style-type: none; } + #mayorNav>ul>li { margin-bottom:1.4em; font-size:16px; padding-bottom:1em;} + #mayorNav>ul>li>a { font-size: large; border-bottom: solid 1px #eee; } + #mayorNav>ul>li>a:first-child { line-height:2em;} + #mayorNav ul li a:active { background-color: #303F9F;} + #mayorNav ul li {line-height:2em; } + + #mayorNav div.mayorNavIcons { + width:100%; + text-align: center; + } /* ALERT! elnevezés */ + #mayorNav div.mayorNavIcons div { + background-color: ; display: inline-block; text-align:center; padding:14px; + } + #mayorNav div.mayorNavIcons div:active { background-color: orange; } + #mayorNav div.mayorNavIcons div:hover { background-color: orange; } + #mayorNav div.mayorNavIcons div span { font-size:x-large;} + div.mayorLogo a img { + -webkit-transition: margin 1s; + transition: margin 1s; + } + + div.arckep--container { display:inline-block; position: relative;overflow: hidden;border: solid 2px #fff; color: white; border-radius: 50%;} + div.arckep--container img {width: 100%; height: auto; filter: grayscale(100%)}; + div.arckep--container:hover { border: solid 2px orange; } + div.arckep--container img:hover { filter: grayscale(10%)}; + + div.arckepContainer { + position: relative;overflow: hidden;border-radius: 50%;border: solid 2px #fff; color: white; + } + div.arckepContainer span { + border-radius: 50%;border: solid 2px #fff; color: white; + height:50px; min-height:50px; width:50px; min-width:50px; background-color: #ddd; + font-size:20px; + display: flex; + justify-content: center; + align-items: center; + } + div.arckepContainer.osztalyAdat:hover span { background-color: #8cc864; } + div.arckepContainer.diakNev:hover span { background-color: #ff8c00; } + div.arckepContainer.tankorAdat:hover span { background-color: #aca; } + + div.arckepContainer.square, + div.arckep--container.square, + div.arckepContainer.square span { border-radius: 0px; transition: all 0.1s ease;} + + div.arckepContainer.classic, + div.arckep--container.classic, + div.arckepContainer.classic span { border-radius: 0px; + height:66px; min-height:66px; width:50px; min-width:50px; + } + + div.arckepContainer.size_s { height:32px;width:32px;min-height:32px;min-width:32px;font-size:15px; } + div.arckepContainer.size_s span {height:30px;width:30px;min-height:30px;min-width:30px;font-size:13px;} + div.arckepContainer {display: inline-block !important;} + div.arckep--container {display: inline-block !important;} + + div._dotHolder {text-align:center; width:90%; margin:auto; padding:10px 0px;vertical-align:middle;} + div._dot {background-color:#eee;display: inline-block;border-radius: 50%;height:10px; width:10px;} + div._dot:hover {background-color:cornflowerblue !important;} + div._dotHolder:hover div._dot {background-color:#ccc;} + + div.arckepContainer:hover span { border: solid 2px orange; } + +} +@media print { + #nav, #nav1, #nav2, #poz, #head, #logo, #logobadge, #mayorGlobalLogin, #updateWindowSide, #updateWindowSideSub, #mayorErrorSmall, .noprint { display: none; } + div.arckep--container {display: none;} + div.arckepContainer {display: none;} + #mayorfoot { text-align:center; font-size:x-small; } +} + +@media (max-width: 900px) { + #nav>li a {padding:0px 8px;} +} +@media (max-width: 850px) { + #nav>li a {width:70px; padding:0px 4px;} +} +@media (max-width: 764px) { + + .input {outline: none;} + .school { display: none; } + #nav, #nav1, #nav2 { display: none;} + #nav2>ul:not(:first-child) {display:none;} + #mayorbody { margin-left:0px; } + #mayorbody.toppad { margin-left: 0px; top:0px; position: relative;} + #hamburgerIcon {display:block;} + div.mayorLogo a img { margin-left:40px; } + + #mayorSearch { + z-index:4; + position: fixed; + width: 99%; + padding: 0px; + border: 5px solid #ccc; + border-radius: 2px; + background-color: #fff; + top: 120px; + left: 0px; + margin-top: 0px; + margin-left: 0px; + box-shadow: 0px 1px 100px 10px rgba(101,101,101,0.9); + } + #mayorSearch a { font-size:16px; line-height:16px; padding:8px; } + + .hamburger { display: inline-block;} + div.arckepContainer {display:none;} + div.arckep--container {display:none;} + + #updateWindowSide input[type="color"], + #updateWindowSide input[type="date"], + #updateWindowSide input[type="datetime"], + #updateWindowSide input[type="datetime-local"], + #updateWindowSide input[type="email"], + #updateWindowSide input[type="month"], + #updateWindowSide input[type="number"], + #updateWindowSide input[type="password"], + #updateWindowSide input[type="search"], + #updateWindowSide input[type="tel"], + #updateWindowSide input[type="text"], + #updateWindowSide input[type="time"], + #updateWindowSide input[type="url"], + #updateWindowSide input[type="week"], + #updateWindowSide select, + #updateWindowSide select:focus, + #updateWindowSide textarea { + font-size: 16px; + } + #updateWindowSide, #updateWindowSideSub { + overflow: scroll; + -webkit-overflow-scrolling: touch; + font-size: 16px; + } + #updateWindowSide.nyitva, #updateWindowSideSub.nyitva { + width: 360px; + background-color: #494747; + } + + #updateWindowSide h1 span#btn_updateWindowSideClose { float: left; font-size: 20px; cursor: pointer; } + #updateWindowSideSub h1 span#btn_updateWindowSideSubClose { float: left; font-size: 20px; cursor: pointer; } +} +@media (max-width: 350px) { + div#mayorGlobalLogin form.passwordAuth span {display:none;} +} + +@keyframes niceMaYoR { + 0% { border-top: rgb(247,197,14) solid 4px; } + 100% { border-top: rgb(147,197,214) solid 4px; } +} + +@keyframes moIn {from {padding-left:6px;}to {padding-left:9px;}} +@-webkit-keyframes moIn {from {padding-left:6px;}to {padding-left:9px;}} +@keyframes moOut {from {padding-left:9px;}to {padding-left:6px;}} +@-webkit-keyframes moOut {from {padding-left:9px;}to {padding-left:6px;}} + +.mayorLoader { + background: linear-gradient(270deg, #E6E6E6, #E6E6E6, #7D96A0, #E6E6E6, #E6E6E6); + background-size: 400% 400%; + -webkit-animation: mayorLoaderAnim 4s ease infinite; + -moz-animation: mayorLoaderAnim 4s ease infinite; + -o-animation: mayorLoaderAnim 4s ease infinite; + animation: mayorLoaderAnim 4s ease infinite; +} + +@-webkit-keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} +@-moz-keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} +@-o-keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} +@keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} + + + diff --git a/mayor-orig/mayor-base/www/skin/classic/base/html/alert.phtml b/mayor-orig/mayor-base/www/skin/classic/base/html/alert.phtml new file mode 100644 index 00000000..ec691a3e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/html/alert.phtml @@ -0,0 +1,85 @@ +'.$aType.':'.$aCode.''; + else $msg = $ALERT_MSG[$aCode]; + + // paraméter behelyettesítés + for($i = 0; $i < count($param); $i++) { + $_msg = $msg; + $msg = @str_replace("%$i%",''.($param[$i]).'',$msg); + if ($param[$i] != '' and $_msg == $msg) $pstr .= ''.($param[$i]).','; + } + if ($pstr != '') $msg .= '
' . substr($pstr,0,-1) . ''; + if (($aType == 'message') or ($aType == 'page')) { + $title = _ERROR; + $class = 'errorMsg'; + if ($aType == 'page') $showPage = false; + $sign=''; + $hasError = true; + } else { + $title = _INFORMATION; + $class = 'infoMsg'; + $sign=''; + $hasInfo = true; + } + + $class .= ' hidden'; + + $msg = ''.$title.' ['.$j.']: ' . $msg; + //echo '
'.str_replace('***','
',$msg).'
'."\n"; + + $x .= $sign.str_replace('***',' ',str_replace('
',' ',$msg))."
\n"; + + // Függetlenül attól, hogy milyen paramétert kaptunk a $_SESSION['alert']-et üresre állítjuk + $_SESSION['alert'] = array(); + } + if ($hasInfo==true && $hasError==false) { + echo '
'.$x.'
'; + } else { + echo '
'.$x.'
'; + } + + return $showPage; + + } + +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/classic/base/html/base.phtml new file mode 100644 index 00000000..5ae07424 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/html/base.phtml @@ -0,0 +1,618 @@ + base.php + putValidXHTML() + + Felhasználtuk: http://projects.lukehaas.me/css-loaders/ + +*/ + + require('skin/blue/base/color_schemes.php'); // blue? !!!!!!!!!!!!???????????????? + if (!defined('__COLOR_SCHEME') || !is_array($_COLOR_SCHEMES[__COLOR_SCHEME])) + $_COLORS = $_COLOR_SCHEMES['blue']; + else + $_COLORS = $_COLOR_SCHEMES[__COLOR_SCHEME]; + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpHeader(); + + if ($MENU['set'][$policy][$page][$sub][$f]['refresh'] > 0) { + @header("Refresh:".intval($MENU['set'][$policy][$page][$sub][$f]['refresh'])); + } + + html_head($page,$sub,$f,$lang,$skin); + _debugLayer(); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + echo '
'; + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'leftpad' : 'toppad'; + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH, $SSSBB; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + + // debug üzenetek layer-ének lezárása +// if (defined('__START_DEBUG') && __START_DEBUG === true) echo "\n"; + + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo _SITE.' - '; + echo _MAIN_TITLE; + echo ' '; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + includeSocial($page,$sub,$f); + + if (is_string($SSSHH) && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo ''."\n".''."\n"; + if (is_string($SSSBB) && $SSSBB!='') echo $SSSBB; + +} + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $policy, $page, $sub, $f, $LANGUAGES, $SKINSSHOW, $_COLORS,$NAV; +// echo '
'; + echo '
'; + + echo ''."\n"; + + // ------------------------ + + + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy, $SCHOOL_LOGO, $SCHOOL_IDENTITY, $SCHOOL_URL, $NAV; + + _updateWindow(); + _updateWindowSide(); + _keyHelp(); + _searchLayer(); + + echo '
'; + mayorGlobalLogin(defined('_USERACCOUNT') && (!is_string(_USERACCOUNT) || _USERACCOUNT=='') ); + + //if (date('m')==12) $imgextra = '-santa'; else $imgextra = ''; + if (defined('_HOME_LOGO') && file_exists(_HOME_LOGO)) $HOME_LOGO=_HOME_LOGO; + elseif (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + + if (defined('_HOME_LOGO_BADGE') && file_exists(_HOME_LOGO_BADGE)) $HOME_LOGO_BADGE=_HOME_LOGO_BADGE; +// elseif (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) +// $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + + echo ''; + + echo "\n"; + echo ''."\n\n"; + + mayor_menu($MENU,$sessionID,$lang,$skin); + + + echo ''; + + /* ----------------- POZ ----------------- */ + $loginout_img = _svgLoginout(array('print'=>false, 'color' => $_COLORS['login'])); + $down_svg = _svgDown(array('print'=>false, 'color' => $_COLORS['login'])); + echo ''; + // ------------- POZ ------------ + + + echo "\n"; + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'vertical' : 'horizontal'; + echo ''."\n\n"; + echo '
'."\n"; + + mayor_menu_full($MENU); + mayor_breadcrumb(); + +} + + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'leftpad' : 'toppad'; + echo '
'._MAIN_FOOTER.'
'."\n\n"; + echo "\n"; +} + +function mayor_menu_full($MENU,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { // TESTING ONLY + + global $policy, $page, $sub, $f, $LANGUAGES, $SKINSSHOW, $_COLORS, $NAVI; + + echo ''; + } + echo ''."\n"; + echo ''."\n"; + + // ------------------------ + + + +} + +function mayor_breadcrumb() { // TESTING ONLY + + return false; + global $MENU,$page; + echo ''; +} + +//dump(array_keys($MENU)); +//dump($MENU['modules']); + // naplo:orarend:i:[txt,url,refresh,icon] + // portal:sub: +//die(); + +?> diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/Eduroam_Logo.svg b/mayor-orig/mayor-base/www/skin/classic/base/img/Eduroam_Logo.svg new file mode 100644 index 00000000..8a784750 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/img/Eduroam_Logo.svg @@ -0,0 +1,2063 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eJzsvV2PZsmRHnY/wPyH8sUCpOApnsw8mXkObQh4662qFWVylyD3y9iVB709TbKl/hj09CxF+cbi +XMgXNmzf6ML2nReQJdiSAV1YNvRvBvrwv3A8T0RG5jnvW9XVH8PVitNJTldFn5PnKzMy4oknIn/n +P/nxTz85fPbyz598ki6ni48/+p3fOb568uj1y1ffv6D44gfPnn35xetXEH3nJ9+9COVywlGHHyyf +2pF/9OTVF09fvvg+/+0y4V9vcf53fvqrl7948rRe//j43YvvfBfyP3j6+tkT+Zd/8z/+9//un/xf +//Z//Wf//n//P//NP/+fP4nf9StLT9ePXstBYfpejN+LU8gX+fsxX/z4Rzzm0Yu/ePTFF0//AY4o +aeHlrl5++eKzpy9+fvXy74v04pOwloscl4tPZvzr33r6kydfbA+5zCnGhAPzZVp4dL1cwiqi+bKs +cak48frl4y+fP3nx+sevXj5+8sUXx5fPXr764vsXx189enHxo0c/l395dPFfPnn27OUvL66ePXr8 +9+Scww/yp7dPnz2RF/D80euLEPm2Dj8I8dOrL58+++z3vnz+50/k3ZQ1UJ4+Za9/+IV0Jz3jZ8rr +pz94LqKfPnn9Wm5aLsqX/pPfvRrvRaRs3/nTr7/6P77+9b/6+tf/z9df/bf4+at//fWv/++vv/on +X3/1L//Od9uFXr38/PmjV38PnV18EqfpIqfpYrJ//YMnzz9/Ju+d7yeWfJnl7UyT/DX+0g6WJ+SB +n4Q5Xcrr+yQt02WRb3VRarqsYa0XYenH9xf55C+ePvnl9y9+7+WLJ/a2Dq9e/1S/5jzLPfG/9k8/ ++fLZk1d/+OLpa7nlQtmqr+tHLz978kzO6F3cPnvEt8QW+n/tiD949OrnT17LMHj57MvXHKuLX0U+ +yQ8f/eoJvmywi/z+509e/MHLP+KtfhLKRQirjJkyX6wxyqfL8nC8RArzRcjRLxv6f61z9IR+2hU4 +rn4sX/b3Xz39+dMX3/8kJHm37ZHrp7/76uln/aPXeLHof/gwl8vw/7X93+5Z3sDr109etIeQAXf8 +0TB8pssf/RTXvnnx2fHlc3yMLzhznshdyJh69vLn9q/9F/6bdPHl5/YwFHwq3+7Hr56+QMcff/R7 ++m/Lpz9+9qX84+++evnl5z948bOXH3/0HVUff/TksagI+cCfXfz+n/9d+UVUwZ/FKf0c//mzGGb5 +O/wpfvkT+S38WZrLn8UY/iymWY70sy8fPf38u2+4lLyBV08u9F/lXP4qf/8Mfz/k/OsnP5NZ2ztQ +KW7td/VmY8Lff9/uPPud/4X/h48gf/8+/nNsZ0lfNy/+4smzl58/uXj04rOLP3706vOH3NCPnz16 +8ejVBf9hcz/tMrzCl/jPrzYX9Bd8/0398OlfyEUeybd80N3IAP5cvgdP4jG7O7vngOGfHnSpR69/ +ISr1yYvPvtg895fDoPEH/cUDH1T7e8jlf/qr53/+8tnTL55vLv5H40X/a7seevfDH/hor5+8evH7 +L/QZX335xS8u/uDly2ebS32O//xXPr7aRb8cH/KP3vzYohf1On+tb8wPvuumDn4/P//tupnjo2fP +nv781aPPf/H08V3387ftctEv1679Gv+5epebvOO6D5pajznMzt9tKH8oV8j/4F3u6bTjv4a3Y3Pw +4uazp7Ls3aFl7z3mp7989PrxLy5++PTPXz169fTJG9QdBtrPnr74TG70p18+ff3ELyImwucwmC9+ ++otHn0OMI2+HI3u/+VMxGkaj4JNP7jcXxJ66ejEe8ruvHn32VAwS8Qv+8MWLR8/FVPi5iS6CXOSc +VMyheHH12ccf/enHH/3nH3804Y+8/WmeylSndTpMV9NxupluwxRCED0d5lBCDWLjh0O4CtfhJtzG +SeaFfK+YY4k1LnGNh3iM1/Hm44/ibZpSSHPKqaQqfsaartIxXaebdDtPc5jjPM95LtKWeZ0P89V8 +Pd/Mt3nKYhHmOedccs1LPuSrfMzXH3+Ub/JtmUoo8eOP/ma/62D3neW+F9653vv1cPd6/9meoD3D +kU8xPIfctdyWPE17litpfB57mpjS5okO9kz9qZI9VdWn+vgjea6jPJk82we6a73v/v7FXOU3mP0b +6J3bfZ+98/Heb4YvYncvd233jyeQu55447e3tze317fH26vbw+16u9zW23Kbb+fbJFcJt9PN7c3N +zfXN8ebq5nCz3iw39abc5JtZrhDlPU/Xt9c319fXx+ur68P1er18/NF1vS7XWd5flCeajrfHm+P1 +8Xi8Oh6O63E51mM55uN8TMd4DMfp6vbq5ur66nh1dXW4Wq+Wq3pVrvLVfJXkO4Wr6XD78UeHm8P1 +4Xi4Ohza6/72rn9Ddz1f/M6nV6+oUabLJMNnyeJepakGcfymy7iGVdxauGEFf+qZH6L4aeUii/sn +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 +Fzp6S40c3Q0pFcBinJCTVWze4GiUQlDJZVuskO/lfEyuitXyF29qNLBdzTqTTjkcnHLfyGicqLLR +vbdPGMcy6HEBjMbpTWlXlmdWLezhxkU3iyIJWjTgTqpvbLBohpTRlb9Z0d2ivQIVzWOe5QAyLZys +WfPa73Ab6nEpbU60H40DE83Dcx9vlGgctIkC8D6v2dkIBomuFml6M6KB7/Jn54Rxr1wQot9Voy/f +XPn6/xQQ/d/Mff7Z9tvHP/0XP/3t2Tya++3vfvXnv/vhP//mh9+/fuWv/8YZ1J5e8U//4oe//Ouv +3PO//+avf/jV//zDb/7DX/0XsNV+7W//469eL/E//e63P/3hi//H3/yI1/3ND3/zq//1h//HLv+D +j/4Xv/393/zBpr/74d//7acHYRr7a5b9F1/03/zm13/7V/4sz89ei2f/8x9+9/0PP/3t8fD15x4e +//eX/9ereX7e7377/XHT5y/7p6+//tm/KL/6059+be1Q0CD41Z/99qc/f42+v30NwF/+0uT//If/ +8HrZ419+8Sd/9h/5b1P/9s9/95/+5q+irf/uz374/Yf99ZH++188H//sF3/yfPzb3w== + + + /+JP/hP+46R/Px//y+u//u+X7Pcf9eNffvwf/+fz8evXHf/2L37xJ78cr63kYz6L6Zv+F2xrsBx8 +B9FcFrT+8/LX3d9dbb3++gk//L+9/uelEFTmJIzVs9BLr32GR7HX+rwIY3udLl9HPPzHa/3ui/8B +NQr5C2gWejpz5gj2e61b9rCPjGtb/hLCaYiQ2JeQxqX6JuwqNvg9WzjkAHS8fuNuFjk/r9XtfgYT +qgUwemhguC42iuPd7BZez3DI9wMfze5X+9wPrxb+Pfp49AQlFQeOB0ZYHHxf71CEiH9pQ3PiH2dG +ARukay2oX+je9Hz8y1/414R6/ABQjcZ+1FeGZa6dcginMtteQmwgr33sFiapEt+rhS1/BOi4mkWE +ZXspddczuPD7PdKuZ/trvrf/E3LBHh6yBDby9ssptyfBAfklRCZgT29CxkX147FNTtxa/7ia5XGk +lI/rGVz4/c88mz/2P47oPziioedgzBawDTlmO2ixGM+vlYGrRn8GCmjgGi4ftlog2AJ2jfe+FTyx +3Q+gSnH5ftRDeL3XId+dcDS7u+t4hqtvkaGDEh/3xUVo/bvZLby/75Yfg2E3ewybT/3wx68W6AT4 +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 + + + diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/ajaxLoad.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/ajaxLoad.gif new file mode 100644 index 00000000..ab584bdf Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/ajaxLoad.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/alert.png b/mayor-orig/mayor-base/www/skin/classic/base/img/alert.png new file mode 100644 index 00000000..ae0b97e6 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/alert.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/favicon.ico b/mayor-orig/mayor-base/www/skin/classic/base/img/favicon.ico new file mode 100644 index 00000000..b62f5763 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/favicon.ico differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/flags/de_DE.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/de_DE.gif new file mode 100644 index 00000000..eec5b66b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/de_DE.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/flags/en_US.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/en_US.gif new file mode 100644 index 00000000..06fdc66b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/en_US.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/flags/hu_HU.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/hu_HU.gif new file mode 100644 index 00000000..8a85f033 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/hu_HU.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/flags/jp_JP.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/jp_JP.gif new file mode 100644 index 00000000..b4100239 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/flags/jp_JP.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/gradient.jpg b/mayor-orig/mayor-base/www/skin/classic/base/img/gradient.jpg new file mode 100644 index 00000000..57d9afbc Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/gradient.jpg differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/gradient.png b/mayor-orig/mayor-base/www/skin/classic/base/img/gradient.png new file mode 100644 index 00000000..e9a9cfca Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/gradient.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-flip.png b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-flip.png new file mode 100644 index 00000000..5021cec5 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-flip.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-marc15.png b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-marc15.png new file mode 100644 index 00000000..84a84068 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-marc15.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-santa.png b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-santa.png new file mode 100644 index 00000000..bdd10d8b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl-santa.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.gif new file mode 100644 index 00000000..378ffb88 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.jpg b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.jpg new file mode 100644 index 00000000..74e323c8 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.jpg differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.png b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.png new file mode 100644 index 00000000..ca42a8d0 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/mayor_small_ssl.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent.gif new file mode 100644 index 00000000..cbb71a41 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.gif new file mode 100644 index 00000000..1d14530b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.png b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.png new file mode 100644 index 00000000..9537b1ba Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/parent100.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private.gif new file mode 100644 index 00000000..238bc04b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.gif new file mode 100644 index 00000000..82faef04 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.png b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.png new file mode 100644 index 00000000..f2716596 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/private100.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public.gif new file mode 100644 index 00000000..21a7298c Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.gif b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.gif new file mode 100644 index 00000000..368c7a4d Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.png b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.png new file mode 100644 index 00000000..8aee3a73 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/base/img/policy/public100.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/base/javascript/base.jquery.min.js b/mayor-orig/mayor-base/www/skin/classic/base/javascript/base.jquery.min.js new file mode 100644 index 00000000..7241d8a8 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/javascript/base.jquery.min.js @@ -0,0 +1,977 @@ +var debug = false; +function _debug(str) { + if (debug) console.log(str); +} + +// A $.getScript hívás cache-eléséért... +$.ajaxSetup({ + cache: true +}); + +includeCSS = function(href) { + for (i = 0; i < arguments.length; i++) { + href = arguments[i]; + var cssLink = $(""); + $("head").append(cssLink); //IE hack: append before setting href + cssLink.attr({ + rel: "stylesheet", + type: "text/css", + href: href+'?r='+$('body').data('mayorrev') + }); + } +}; + +// Hogy az aloldalak megváják az alábbi modulok betöltését... +$.holdReady(true); + // A korábbi loadJs megoldás helyett... + includeCSS( + "skin/classic/share/javascript/jquery-ui/css/base/jquery-ui.min.css", + "skin/classic/share/javascript/jquery-ui/css/base/jquery-ui-timepicker-addon.css" + ); + + $.getScript("skin/classic/share/javascript/jquery-ui/jquery-ui.min.js").done(function() { + $.getScript("skin/classic/share/javascript/jquery-ui/i18n/jquery.ui.datepicker-hu.min.js").done(function() { + $.getScript("skin/classic/share/javascript/jquery-ui/jquery-ui-timepicker-addon.js").done(function() { + $.getScript("skin/classic/share/javascript/jquery-ui/i18n/jquery-ui-timepicker-hu.js").done(function() { + $.holdReady(false); + }); + }); + }); + }); + + +$(document).ready(function() { + + /*var isMobile = false; + if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) + || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) isMobile = true; + */ + + $('body').bind('click', mayorClick); + $('body').bind('change', mayorChange); + $('body').bind('keypress', mayorKeyPress); + $('body').bind('keydown', mayorKeyDown); + $('body').bind('submit', mayorSubmit); + + $(window).resize(mayorNavResize); + if ($(document).width()>$(window).width()) mayorNavResize(); + $('#leftsideclose').bind('click', mayorNavResize); + + if (e = $('#focus')) e.focus(); // A focus id-t használhatjuk automatikus fokuszálásra... (ld. login) + // A loadUrl id-t használhatjuk automatikus betöltésre... hol használunk ilyet? Például a download oldalon. + loadElement = $('#loadUrl'); + if (loadElement.length > 0) { window.location.replace(loadElement.attr('href')); } + + $('.date').datepicker({ dateFormat: "yy-mm-dd" }); + $('.datetime').datetimepicker({ dateFormat: "yy-mm-dd", timeFormat: "HH:mm", controlTypee: "select" }); + $('#hideHelp').click(function() { $('#takaro').hide(); }); + $('#help').draggable(); + $('#updateWindow').draggable({ handle: '#updateHeader' }); + var uwNext = {'width': '100%', 'top': '10px', 'left': '0px' }; + $('#updateHeader').dblclick(function(event) { + tmp = $('#updateWindow').css(['width','top','left']); + $('#updateWindow').css(uwNext); + uwNext = tmp; + }); + + // hibakijelzés + mayorErrorCounter = 0; + $('#mayorErrorSmall').hover( + function() { + if ($('#mayorErrorSmall div').height() > 25 ) { + var h = $('#mayorErrorSmall div').height(); + if (h>=300) h=300; + $('#mayorErrorSmall').css('overflow','auto'); + $('#mayorErrorSmall').stop().animate({height: h+"px"}, 400); + } + mayorErrorCounter++; + }, + function() { + if ($('#mayorErrorSmall').hasClass('closedbyuser')==true) return; + if ($('#mayorErrorSmall div').height() > 25 ) { + $('#mayorErrorSmall').css('overflow','hidden'); + } + if (mayorErrorCounter>3) { + $('#mayorErrorSmall').slideUp( 300 ); +// $('#mayorErrorSign').show().animate({ color: 'red'}, 1000).delay(1000).animate({color: "#778899"}, 1000); + $('#mayorErrorSign').fadeIn(300); + } else { + $('#mayorErrorSmall').stop().animate({height: "20px"}, 200); + } + } + ); + +// !!!!!!!!!!!!!!!!!!! +// !!!!!!!!!!!!!!!!!!! DEV +// $('#mayorNav').toggle(); + + $('#hamburgerIcon').click(function(){ + window.scrollTo(0, 0); + $(this).toggleClass('nyitva').toggleClass('is-active'); + $('#mayorNav').toggle(); + }); + + $('.hamburger').click(function(){ + window.scrollTo(0, 0); + $(this).toggleClass('is-active'); + $('#mayorNav').toggle(); + }); + + // --TODO mayorClick() + $('#mayorErrorHide').click(function(){ + mayorErrorCounter=0; + $('#mayorErrorSmall').addClass('closedbyuser').fadeOut('fast'); + $('#mayorErrorSign').fadeIn('fast'); + }); + // --TODO mayorClick(); + $('#mayorErrorSign').click(function(){ + mayorErrorCounter=0; + $('#mayorErrorSmall').slideDown(100); + $('#mayorErrorSign').fadeOut(); + }); + // --TODO mayorSubmit + $('#mayorGlobalLogin form.check').submit(function() { + var inputs = $('#mayorGlobalLogin form input'); + for (i=0 ; i0) { + if ($('#SESSION_ALERT_TIME').val() !== undefined) { + var sessionAlertTime = $('#SESSION_ALERT_TIME').val(); + if (sessionAlertTime>0) setTimeout('mayorSessionTimeOutAlert()',sessionAlertTime); + } + if ($('#SESSION_MAX_IDLE_TIME').val() !== undefined) { + var sessionMaxIdleTime = $('#SESSION_MAX_IDLE_TIME').val(); + if (sessionMaxIdleTime>0) setTimeout('mayorSessionTimedOut()',sessionMaxIdleTime); + } + } + $('form').preventDoubleSubmission(); + +}); + +/* + .gsub --> .replace + .up --> parents()[0] = parent(), vagy inkább closest? + include --> indexOf() > -1 + .down --> .find + $F() --> .val() +*/ + +(function($) { + var re = /([^&=]+)=?([^&]*)/g; + var decode = function(str) { + return decodeURIComponent(str.replace(/\+/g, ' ')); + }; + $.parseParams = function(query) { + var params = {}, e; + if (query) { + if (query.substr(0, 1) == '?') { + query = query.substr(1); + } + + while (e = re.exec(query)) { + var k = decode(e[1]); + var v = decode(e[2]); + if (params[k] !== undefined) { + if (!$.isArray(params[k])) { + params[k] = [params[k]]; + } + params[k].push(v); + } else { + params[k] = v; + } + } + } + return params; + }; +})(jQuery); + +mayorKeyDown = function(event) { + var element = $(event.target); + var charKeyCode = event.keyCode ? event.keyCode : event.which; + var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false); + var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false); + var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false); + + // Esc - WebKit csak keyup esetén + if (charKeyCode==27) { // Esc + $('#takaro').hide(); // takaró elem + $('#keyHelp').hide(); // gyorsbillentyűk + $('#help').hide(); // súgó + $('.inlinehelp .openable').hide(); // helyi súgó + $('#mayorSearch').hide(); // kereső + if ($('#inform') !== null) $('#inform').parent('div').hide(); // haladási/tanmenet + if ($('#haladform') !== null) $('#haladform').parent('div').hide(); // haladási/tankör órái + if ($('#jegyAdat') !== null) $('#jegyAdat').hide(); // osztályozó/tankor + if ($('#updateWindow').is(':visible')) { + $('#updateWindow').hide(); // update ablak + if ($.isFunction(hideUpdateLayer)) hideUpdateLayer(); + } + if ($('#updateWindowSideSub').hasClass('nyitva') ) { + $('#updateWindowSideSub').removeClass('nyitva'); + } else if ($('#updateWindowSide').hasClass('nyitva') ) { + $('#updateWindowSide').removeClass('nyitva'); // update ablak (jobb oldal) + if ($.isFunction(hideUpdateWindowSide)) hideUpdateWindowSide(); + } else if (ctrlKey) { //nyitjuk + $('#updateWindowSide').addClass('nyitva'); + //$('#updateWindowSideSub').toggleClass('nyitva'); + } + } else if (charKeyCode==112) { // F1 - Help // charKeyCode==121 F10 + var params = $.parseParams(window.location.toString().split('?')[1] || '' ); + var page=params.page?params.page:''; + var sub=params.sub?params.sub:''; + var f=params.f?params.f:''; + var url = "http://wiki.mayor.hu/doku.php?id="+page+":"+sub+":"+f; + var helpElement = $('#help'); + if (typeof(helpElement) === 'undefined' || helpElement === null) { + window.open(url,'help'); + } else { + if (helpElement.css('display') == 'none') helpElement.children('iframe').prop('src',url); + $('#takaro').fadeToggle('fast'); // takaró elem + helpElement.fadeToggle('fast'); + } +// event.stopImmediatePropagation(); + event.preventDefault(); +// event.stopPropagation(); + } else if (charKeyCode==86 && ctrlKey && shiftKey) { // Ctrl-Shift-V: Vakbarát nézet + if (location.toString().indexOf('skin')>-1) { + window.location = location.toString().replace(/skin=([^&]*)/,'skin=vakbarat'); + } else { + if (location.toString().indexOf('?')>-1) window.location = location.toString()+'&skin=vakbarat'; + else window.location = location.toString()+'?skin=vakbarat'; + } + } else if (charKeyCode==38) { // fel nyíl + if (element.closest('#mayorSearch').length == 1) { + $('#mayorSearch *:focus').removeClass('aktiv').prev('a').focus(); + $('#mayorSearch a:focus').addClass('aktiv'); + event.preventDefault(); + } + } else if (charKeyCode==40) { // le nyíl + if (element.closest('#mayorSearch').length == 1) { + $('#mayorSearch *:focus').removeClass('aktiv').next('a').focus(); + $('#mayorSearch a:focus').addClass('aktiv'); + event.preventDefault(); + } + } else { + } + +} + +mayorKeyPress = function(event) { + var element = $(event.target); + var charKeyCode = event.keyCode ? event.keyCode : event.which; + var shiftKey = event.shiftKey ? event.shiftKey : ((charKeyCode == 16) ? true : false); + var altKey = event.altKey ? event.altKey : ((charKeyCode == 18) ? true : false); + var ctrlKey = event.ctrlKey ? event.ctrlKey : ((charKeyCode == 17) ? true : false); + + if ($('capsLockWarning')) { + var s = String.fromCharCode( event.which ); + if ( s.toUpperCase() === s && s.toLowerCase() !== s && !event.shiftKey ) { + $('#capsLockWarning').show(); + } else { + $('#capsLockWarning').hide(); + } + } + + // formon belül + if(event.target.type!='text' && event.target.type!='textarea' && event.target.type!='select' && event.target.type!='select-one' && event.target.type!='password') { + var location = window.location.toString(); + if (charKeyCode==63) { // ?: Help + $('#takaro').toggle(); + $('#keyHelp').toggle(); + } else if (charKeyCode==83) { // S: settings + $('#settings').toggle(); + } else if (charKeyCode==70 || charKeyCode==95) { // F,_: find + $('#mayorSearch').toggle(); + event.preventDefault(); + $('#mayorSearch input[type=text]').focus(); + } else if (charKeyCode==68) { // D: debug + $('#debug').toggle(); +// } else if (charKeyCode==104) { +// alert('Alt-H: HELP: '+event.altKey+event.target.type); + } else if (charKeyCode==76) { // L: login/logout + if (location.indexOf('policy=private')>-1 || location.indexOf('policy=parent')>-1) { + window.location = window.location.toString().replace(/page=([^&]*)/,'page=session').replace(/sub=([^&]*)/,'sub=').replace(/f=([^&]*)/,'f=logout').replace(/policy=([^&]*)/,'policy=public'); + } else { + if (location.indexOf('?')>-1) { + // window.location = window.location.toString().replace(/page=([^&]*)/,'page=auth').replace(/sub=([^&]*)/,'sub=').replace(/f=([^&]*)/,'f=login').replace(/policy=([^&]*)/,'policy=public'); + window.location=window.location.toString().replace(/\?(.*)/,'')+'?page=auth&f=login'; + } else { + window.location = window.location+'?page=auth&sub=&f=login&policy=public'; + } + } + } else { + } + } +} + +mayorClick = function(event) { + var element = $(event.target); + $('body').data('lastClick',element); + $('.inlinehelp .openable:visible').hide(); + $('#mayorSearch:visible').hide(); + if (element.hasClass('confirm')) { + // A confirm elemre kattintva a form jóváhagyását előbb jóvá kell hagyni + if (!confirm(element.prop('title'))) { + event.preventDefault(); + } + } + if (element.hasClass('onClickHideShow')) { + var o = element.parents('.hideShowContainer').find('.openable').toggle(); + event.preventDefault(); + } + + if (element.hasClass('onClickHide')) { + // Az onClickHide elem kattintásra becsukja a hozzárendelt elemet. A hozzárendelés + // az id-ben történik: 'hide'+ElemId+[':'+elemId2...] + var id = element[0].id; + if (id && id.substring(0,4) == 'hide') { + var openables = ('#'+id.charAt(4).toLowerCase()+ id.substring(5).replace(':',', #') ); + $(openables).hide(); + } + } + if (element.hasClass('onClickShow')) { + // Az onClickShow elem kattintásra kinyitja a hozzárendelt elemet, miközben a többi + // őt tartalmazó hideShowContainer-en belüli openable elemet becsukaja. A hozzárendelés + // az id-ben történik: 'show'+ElemId+[':'+elemId2...] + var container = element.parents('.hideShowContainer'); + var openable = container.find('.openable').hide(); + var onclickshow = container.find('.onClickShow').removeClass('selected'); + var id = element[0].id; + if (id && id.substring(0,4) == 'show') { + var openables = ('#'+id.charAt(4).toLowerCase()+ id.substring(5).replace(':',', #') ); + $(openables).show(); + } + element.addClass('selected'); + } + if (element[0].id == 'updateCloseButtonClick') { + if ($('#updateWindow').is(':visible')) { + $('#updateWindow').hide(); + $('#takaro').hide(); + if ($.isFunction(hideUpdateLayer)) hideUpdateLayer(); + } + } + if (element[0].id == 'btn_updateWindowSideClose') { + //if ($('#updateWindowSide').is(':visible')) { + $('#updateWindowSideSub').removeClass('nyitva'); + $('#updateWindowSide').removeClass('nyitva'); + if ($.isFunction(hideUpdateWindowSide)) hideUpdateWindowSide(); + //} + } + if (element[0].id == 'btn_updateWindowSideSubClose') { + $('#updateWindowSideSub').removeClass('nyitva'); + if ($.isFunction(hideUpdateWindowSideSub)) hideUpdateWindowSideSub(); + } + if (element.hasClass('onClickUpdateAction')) { +//TODO - check + element.parents('form').find('input[name=action]').val(element[0].id); + } + if (element.hasClass('onClickUpdateWindow')) { + // A kattintott elem href paraméteréből vett url-ből kiveszi a getParameters-ben megadott + // paramétereken kívüli paramétereket, ezeket post paraméterként rakja az updateForm-ba. + // Az url "maradéka" pedig a form action-be kerül, végül update-eli a form-ot... + formElement = $('#updateForm'); + formElement.html(''); + var origUrl = '', title = ''; + if (element.prop('title')) $('#updateHeader').html(element.prop('title')); + if (element.prop('href')) origUrl = element.prop('href'); + var pos = origUrl.indexOf("?"); + if (pos != -1) url = origUrl.substr(0,pos); + else url = origUrl; + var getParameters = ["page", "sub", "f", "lang", "sessionID", "policy"]; + var separator = '?'; + + var o = $.parseParams( origUrl.split('?')[1] ); + $.each(o,function(key,value) { + if (getParameters.indexOf(key) != -1) { + url = url+separator+key+'='+value; + separator='&'; + } else if (key == 'skin') { + url = url+separator+'skin=ajax'; + separator='&'; + } else { + //formElement.insert({ bottom: new Element('input', {type : 'hidden', name : key, value : value}) }); + jQuery('').attr('type','text').attr('name',key).attr('value',value).appendTo(formElement); + } + }); + + formElement.prop('action',url); + updateForm(formElement, element); +// event.stopImmediatePropagation(); + event.preventDefault(); + event.stopPropagation(); + } + if (element.hasClass('onClickUpdate')) { + event.preventDefault(); + // Az onClickUpdate class tagjaira kattintva update-eli az őket tartalmazó formot + var formElement = element.parents("form"); + updateForm(formElement, element); + event.preventDefault(); + event.stopPropagation(); +// jQuery.post(url); + } + if (event.target.id == 'nav2fullmenu') { + $('#nav2').find('.fullmenuitem').toggle(); + $('#nav2').find('.nav2menuitem').toggle(); + $('#nav2fullmenu').toggleClass('aktiv'); + } + if (event.target.id ==='skin-oldschool') { + mayorSkinChange('oldschool'); + } + if (event.target.id ==='skin-vakbarat') { + mayorSkinChange('vakbarat'); + } +} + + + + +// || event.target.id ==='mayorNaviSearchIcon') { + + +mayorSkinChange = function(toSkin) { + if (location.toString().indexOf('skin')>-1) { + window.location = location.toString().replace(/skin=([^&]*)/,'skin='+toSkin); + } else { + if (location.toString().indexOf('?')>-1) window.location = location.toString()+'&skin='+toSkin; + else window.location = location.toString()+'?skin='+toSkin; + } +} + +mayorChange = function(event) { + + var element = $(event.target); + + if (element.hasClass('onChangeSubmit') && window.location.toString().indexOf('skin=vakbarat')<=0) { + element.parents('form').submit(); + } + if (element.closest('form.onChangeRequest').length > 0) { + var formElement = element.closest('form.onChangeRequest'); + + var uriOrig = formElement.attr('action'); + var uri = formElement.attr('action').replace(/skin=([^&]*)/,'skin=ajax')+'&request=true'; + + // input class="ajaxOption"-ban megadott value="onChangeRequestStop" tudja tiltani az eseményt (új szülő felvétele - diakSzulo oldal) + var ajaxRequestOK = (formElement.find('input.ajaxOption[value=onChangeRequestStop]').length == 0); + // A class="DOA" - disable on ajax req - elemek letiltása + formElement.find('.DOA').prop('disabled',true); + + formElement.attr('action', uri); + element.addClass('ajaxRequest'); + if (ajaxRequestOK) { + ajaxRequest(formElement, { + onSuccess: function(transport, status, xhr) { + element.addClass('ajaxRequestDone'); + element.removeClass('ajaxRequest'); + element.removeClass('ajaxRequestError'); + formElement.find('.DOA').prop('disabled',false).removeClass('ajaxRequest'); + // Egyedi kezelőfüggvény meghívása + // pre-be pl.: $_JSON['onSuccess']['func'] = 'myTestFunc'; $_JSON['onSuccess']['param'] = array('txt' => 'Hahó'); + // js-be pl.: myTestFunc = function(param) { console.log('myTestFunc: '+param.txt); } + if (transport.onSuccess && transport.onSuccess.func && $.isFunction(window[transport.onSuccess.func])) + window[transport.onSuccess.func](transport.onSuccess.param); + + }, + onFailure: function() { + element.addClass('ajaxRequestError'); + element.removeClass('ajaxRequest'); + element.removeClass('ajaxRequestDone'); + formElement.find('.DOA').prop('disabled',false).removeClass('ajaxRequest'); + } + }); + } + formElement.attr('action', uriOrig); + + } + + + if (element.hasClass('onChangeUpdate')) { + // Az onChangeUpdate class tagjaira kattintva update-eli az őket tartalmazó formot + + + var formElement = $(element).closest('form'); + updateForm(formElement, $(element)); + event.preventDefault(); + event.stopPropagation(); + } + + + +} + +function ucfirst(str) { + var f = str.charAt(0).toUpperCase(); + return f + str.substr(1); +} +function lcfirst(str) { + var f = str.charAt(0).toLowerCase(); + return f + str.substr(1); +} + + +mayorSubmit = function(event) { + var element = $(event.target); + var formElement; + if (element.is('form')) { + formElement = element; + // elmentettük a body.data.lastClick - be, hogy mi volt az utolsó clicked elem + var element2 = $('body').data('lastClick'); + } else { + formElement = element.parents('form'); + } + if (formElement.hasClass('onSubmitUpdate')) { + event.preventDefault(); + // Az onSubmitUpdate class-ba sorolt formok submit esetén update-elve lesznek - !! az összes submit elmegy !! + updateForm(formElement, element2); + event.stopImmediatePropagation(); + event.stopPropagation(); + return false; + } else if (element.attr('id') == 'mayorSearch') { + //$('#nav li.active a:contains()') + $('#mayorSearch a').remove(); + var pattern = $('#mayorSearch input[type=text]').val(); + $('#nav li a:contains('+pattern+')').clone().appendTo('#mayorSearch'); + if (pattern!=lcfirst(pattern)) + $('#nav li a:contains('+lcfirst(pattern)+')').clone().appendTo('#mayorSearch'); + if (pattern!=ucfirst(pattern)) + $('#nav li a:contains('+ucfirst(pattern)+')').clone().appendTo('#mayorSearch'); +/* $('#nav li.active a:contains('+pattern+')').clone().appendTo('#mayorSearch'); + if (pattern!=lcfirst(pattern)) + $('#nav li.active a:contains('+lcfirst(pattern)+')').clone().appendTo('#mayorSearch'); + if (pattern!=ucfirst(pattern)) + $('#nav li.active a:contains('+ucfirst(pattern)+')').clone().appendTo('#mayorSearch'); +*/ + return false; + } +} +/* +var lastScrollLeft = 0; +$(window).scroll(function() { + var documentScrollLeft = $(document).scrollLeft(); + if (lastScrollLeft != documentScrollLeft) { + //console.log('scroll x'+documentScrollLeft); + lastScrollLeft = documentScrollLeft; + } + //mayorNavResize(); +}); +*/ + +var mayorLoaderCounter = 0; +mayorLoaderStart = function() { + mayorLoaderCounter++; + $('#poz li:first').addClass('mayorLoader'); +} +mayorLoaderStop = function() { // override by naplo.js + $('#poz li:first').removeClass('mayorLoader'); +} + + +mayorNavResize = function(event) { + if (event===undefined) return true; + + var wi = $(window).width(); + var navElem = $('#nav2'); + var mayorbodyElem = $('#mayorbody'); + var mayorfootElem = $('#mayorfoot'); + var smallWidth = false; + if (event.target.id == "leftsideclose") swap=true; else swap = false; + if (navElem) { + if ($(document).width()>$(window).width()+140) smallWidth = true; + if ((swap || wi<1100 || smallWidth) && navElem.hasClass('vertical')) { + mayorbodyElem.removeClass('leftpad').addClass('toppad'); + mayorfootElem.removeClass('leftpad').addClass('toppad'); + navElem.removeClass('vertical').addClass('horizontal'); +// navElem.addClass('horizontal'); +// mayorbodyElem.addClass('toppad'); +// mayorfootElem.addClass('toppad'); + new $.ajax('/index.php?skin=ajax&request=true&page=session&sub=&f=set&policy=public&layout=1', { + method: 'get', + success: function(transport) { + } + }); + } else if + ((swap || (wi>=1100 && !smallWidth)) && navElem.hasClass('horizontal')) { + mayorbodyElem.removeClass('toppad').addClass('leftpad'); + mayorfootElem.removeClass('toppad').addClass('leftpad'); + navElem.removeClass('horizontal').addClass('vertical'); +// navElem.addClass('vertical'); +// mayorbodyElem.addClass('leftpad'); +// mayorfootElem.addClass('leftpad'); + new $.ajax('/index.php?skin=ajax&request=true&page=session&sub=&f=set&policy=public&layout=0', { + method: 'post', + success: function(transport) { + } + }); + } else { + //console.log('Nothing to do'); + } + } else { + //console.log('Not ready'); + } + /*if ($('#nav1').data('nav1count')==0) { // ha nincs nav1 menu, akkor engedélyezzük a nav dinamikus resize-ját (igen ám, de inicializálásnál ugrál) + $('nav').show(); + var navSize = 140+$('#mayorGlobalLogin').width() + 0; + $('#nav>li').each(function() { + navSize+=($(this).width()); + if (navSize>$('#mayorhead').width()) { + $(this).hide(); + } else { + $(this).show(); + } + }); + }*/ + +} + +updateForm = function(formElement, submitElement) { + + var url = formElement.attr('action').replace(/skin=([^&]*)/,'skin=ajax'); +// szerintem ez mpst nem kell... ? +// formElement.find('input[type=submit]').prop('disabled',true); +// submitElement.prop('disabled',false); + if (submitElement && submitElement.attr('name')!==undefined) options = { submitClass: submitElement.attr('class'), submitName: submitElement.attr('name'), submitValue: submitElement.val() }; + else options = false; + ajaxUpdate(formElement, url, options); + +} + +/** + * Az options paraméterben át kell adni az átadandó submit elem nevét és értékét, mert a serializeArray nem teszi be! + * , és a serialize()??? +**/ +ajaxUpdate = function(container, url, options) { + + mayorLoaderStart(); + postData = container.serializeArray(); + if (options) postData.push({ name: options.submitName, value: options.submitValue }); + postData.push({ name: 'mayorToken', value : $('body').data('mayortoken') }); + + $.ajax(url,{ + data: postData, + type: 'POST', + success: function(transport, status, xhr){ + var contentType=xhr.getResponseHeader('Content-type'); + if (contentType.indexOf('application/json')>-1 || contentType.indexOf('text/html')>-1) { + if ( typeof transport.html !== 'undefined' && transport.html !== null) { + container.html(transport.html); + if ($.isFunction(showUpdateLayer)) showUpdateLayer(options); + } else if ($.isFunction(processJSON)) { + processJSON(transport); + } else { + } + } else { + container.html(xhr.responseText); + } + if (options && options.onSuccess && $.isFunction(options.onSuccess)) options.onSuccess(transport, status, xhr); + // IE bubbling? A most betöltött form-okra... + }, + error: function (xhr,status,errText) { // Type: Function( jqXHR jqXHR, String textStatus, String errorThrown ) + _debug(status); + _debug(errText); + updateSalt(xhr.getResponseHeader('Etag')); + }, + complete: function(xhr, status) { + mayorLoaderStop(); + updateSalt(xhr.getResponseHeader('Etag')); + } + }); +} + +ajaxRequest = function(formElement, options) { + + var url = formElement.attr('action').replace(/skin=([^&]*)/,'skin=ajax'); + var adat = formElement.serializeArray(); + adat.push({ name: 'mayorToken', value : $('body').data('mayortoken') }); + + mayorLoaderStart(); + $.ajax(url,{ + data: adat, + type: 'POST', + success: function(transport, status, xhr){ + if (options && options.onSuccess && $.isFunction(options.onSuccess)) options.onSuccess(transport, status, xhr); + }, + error: function (xhr,status,errText) { // Type: Function( jqXHR jqXHR, String textStatus, String errorThrown ) + _debug('stat: '+status); + _debug('errTxt: '+errText); + if (options && options.onFailure && $.isFunction(options.onFailure)) options.onFailure(xhr,status,errText); + }, + complete: function(xhr, status) { + mayorLoaderStop(); + updateSalt(xhr.getResponseHeader('Etag')); + } + + }); +} + +var showUpdateLayer = function() {} +var processJSON; +updateSalt = function(etagHeader) { + if (etagHeader !== null) { + /** + * A header Etag mezője (__SALTVALUE-__SALTNAME[-...]) alapján frissítjük az input.salt mezőket + **/ + etagArray=etagHeader.split("-"); + $('input.salt').each( + function(index) { + // tömörített oldalküldés (?) esetén a web-szerver + if ($(this).prop('name') == etagArray[1]) $(this).val(etagArray[0]); + } + ); + $('input.mayorToken').each( + function(index) { + if ($(this).prop('name') == 'mayorToken') $(this).val(etagArray[2]); + } + ); + $('body').data('mayortoken',etagArray[2]); + } +} + +// Hasznos függvények +// string funkciók +function LTrim(str) { return str.replace(/\s*((\S+\s*)*)/, "$1"); } +function RTrim(str) { return str.replace(/((\s*\S+)*)\s*/, "$1"); } +function Trim(str) { return LTrim(RTrim(str)); } + +// formátum-ellenőrzők +function IsEmpty(str) { + return (str === null | Trim(str) === "") ? true : false; +} + +function IsEmail(str) { + var reEmail = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; + return (str) ? reEmail.test(Trim(str)) : false; +} + +function IsInteger(str) { + var reInteger = /^[+-]?\d+?$/; + return (str) ? reInteger.test(Trim(str)) : false; +} + +function IsNumber(str) { + var reNumber = /^[+-]?\d+([,\.]\d+)?$/; + return (str) ? reNumber.test(Trim(str)) : false; +} + +function IsHexa(str) { + var reString = /^[0-9A-Fa-f]*?$/; + return (str) ? reString.test(Trim(str)) : false; +} + +function IsDate(str) { + var reDate = /^(19|20)\d\d([-/.])(0[1-9]|1[0-2])\2(0[1-9]|[12][0-9]|3[01])$/; + return (str) ? reDate.test(Trim(str)) : false; +} + +function CorrectDate(str) { + if (IsDate(str)) + return Trim(str).replace(/^(\d{4})[-/.](\d{2})[-/.](\d{2})$/, "$1.$2.$3"); + else + return null; +} + +mayorSessionTimeOutAlert(); + +function mayorSessionTimeOutAlert() { + $('#takaro').fadeIn(); + $('#updateWindow').fadeIn(); + $('#updateForm').html('
A munkamenet hamarosan lejár!
').fadeIn(); + $('body,html').animate({scrollTop: 0}, 800); +} + +function mayorSessionTimedOut() { +// $('#takaro').fadeOut(); +// $('.infoMsg').fadeOut(); +// $('#mayorhead').append('
A munkamenet lejárt, kérjük jelentkezzen be újra!
').fadeIn(); + $('#mayorbody').fadeOut(); + window.location.replace(location.origin); +} + +jQuery.fn.preventDoubleSubmission = function() { + $(this).on('submit',function(e){ + var $form = $(this); + if ($form.data('submitted') === true) { + e.preventDefault(); + } else { + $form.data('submitted', true); + } + }); + return this; +}; + +/* teszt +function isNear( $element, distance, event ) { + var left = $element.offset().left - distance, + top = $element.offset().top - distance, + right = left + $element.width() + ( 2 * distance ), + bottom = top + $element.height() + ( 2 * distance ), + x = event.pageX, + y = event.pageY; + return ( x > left && x < right && y > top && y < bottom ); +}; +*/ + +function href(p) { + var get = ''; + $.each( p, function( key, value ) { get += key + "=" + value + "&"; }); + return ('index.php?policy=private&'+get+'sessionID='+$('body').data('sessionid')).replace('&','&'); +} + +$(document).ready(function() { // facebook + + if (typeof(FB_APP_ID)!=='undefined' && FB_APP_ID!='') { + + window.fbAsyncInit = function() { + FB.init({ + appId : FB_APP_ID, + cookie : true, + xfbml : true, + version : 'v2.2' + }); + FB.getLoginStatus(function(response) { + if (response.status === 'connected') { + $('#mglFBconnect').removeClass('FBstatusunknown').addClass('FB2'); + } else if (response.status === 'not_authorized') { + $('#mglFBconnect').removeClass('FBstatusunknown').addClass('FB1'); + } else { + $('#mglFBconnect').removeClass('FBstatusunknown').addClass('FB0'); + } + }); // ,true - ha nem cache-elt változat kell + FB.Event.subscribe('auth.login', my_login_event); + FB.Event.subscribe('auth.logout', my_logout_event); + FB.Event.subscribe('auth.authResponseChange', my_authResponseChange_event); + }; + // Load the SDK asynchronously + (function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.src = "//connect.facebook.net/en_US/sdk.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'facebook-jssdk')); + } +}); // doc ready + +var my_login_event = function() { + //console.log('***facebook login event'); +} + +var my_logout_event = function() { + //console.log('***facebook logout event'); +} + +var my_authResponseChange_event = function(response) { + //console.log('***authResponseChange'); +} + +var mayor_facebookconnect_redirect = function() { + var origUrl = $(location).attr('href'); + var pos = origUrl.indexOf("?"); + if (pos != -1) url = origUrl+'&action=facebooklogin'; + else url = origUrl+'?action=facebooklogin'; + window.location = url; +} + + +// Az ajax hívások vésszatérési értékét feldolgozó és a layer-t megjelenítő függvény változók inicializálása (hogy ne legyen undefined) +var showUpdateLayer = function() {}; +var hideUpdateLayer = function() {}; +var showUpdateWindowSide = function() {}; +var hideUpdateWindowSide = function() {}; +var showUpdateWindowSideSub = function() {}; +var hideUpdateWindowSideSub = function() {}; +var processJSON; + +$(document).ready(function() { // még több click eseménykezelő! + $('#mayorMenuSearchIcon').on('click',function(event) { + $('#mayorSearch').show(); + event.preventDefault(); + event.stopImmediatePropagation(); // STOP mayorClick + $('#mayorSearch input[type=text]').focus(); + }); + $('#mayorNaviSearchIcon').on('click',function(event) { + $('#mayorSearch').show(); + event.preventDefault(); + event.stopImmediatePropagation(); // STOP mayorClick + $('#mayorSearch input[type=text]').focus(); + }); + + //gapi.load('auth2', function() { + // gapi.auth2.init(); + //}); + if (typeof(GOOGLEAPI_CLIENT_ID)!=='undefined' && GOOGLEAPI_CLIENT_ID!='') { + startGoogleAuth(); + } +}); + +// GOOGLE +var googleUser = {}; +var startGoogleAuth = function() { + gapi.load('auth2', function(){ + auth2 = gapi.auth2.init({ + client_id: GOOGLEAPI_CLIENT_ID, + cookiepolicy: 'single_host_origin', + }); + attachSignin(document.getElementById('googleLoginBtn')); + }); +}; +function attachSignin(element) { + auth2.attachClickHandler(element, {}, + function(googleUser) { + var id_token = googleUser.getAuthResponse().id_token; + var origUrl = $(location).attr('href'); + var pos = origUrl.indexOf("?"); + if (pos != -1) url = origUrl+'&action=googleapilogin'+'&id_token='+id_token; + else url = origUrl+'?action=googleapilogin'+'&id_token='+id_token; + window.location = url; + }, function(error) { + // alert(JSON.stringify(error, undefined, 2)); + }); +} +// GOOGLE + diff --git a/mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery-1.8.3.min.js b/mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery-1.8.3.min.js new file mode 100644 index 00000000..83589daa --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery-1.8.3.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.3 jquery.com | jquery.org/license */ +(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery.min.js b/mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery.min.js new file mode 100644 index 00000000..ce1b6b6e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/base/javascript/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
t
",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("
"; + } + } + uploadfield += "
Upload a watermark:
Add watermark to images:
Reduce maximum image size to:x
"; + node.innerHTML = uploadfield; + + } + if(!$("kiu_topdiv")){ + node = document.createElement("div"); + node.id = "kiu_topdiv"; + node.style.background = "#aaaaaa"; + node.style.position = ""; + node.style.height = "45px"; + node.style.zIndex = 1001; + node.style.padding = "5px 20px 0px 120px"; + node.style.font = "12px Tahoma, sans-serif"; + node.style.color = "#222222"; + node.style.borderBottom = "1px solid #000000"; + node.style.borderRight = "1px solid #000000"; + node.style.left = "0px"; + node.style.top = "0px"; + var dirs = ""; + for(var i = 0; i < kib.dirs.length; i++){ + dirs = dirs + "" + kib.dirs[i] + ""; + } + currentfolder = kib.dirs[0]; + node.innerHTML = "
Selected gallery upload folder" + currentfolder + "
" + dirs; + document.body.appendChild(node); + } + if(!$("kiu_botdiv")){ + node = document.createElement("div"); + node.id = "kiu_botdiv"; + node.style.background = "#aaaaaa"; + node.style.position = ""; + node.style.zIndex = 1001; + node.style.padding = "5px"; + node.style.font = "12px Tahoma, sans-serif"; + node.style.color = "#222222"; + node.style.borderTop = "1px solid #000000"; + node.style.borderRight = "1px solid #000000"; + node.style.borderLeft = "1px solid #000000"; + node.style.right = "25px"; + node.style.bottom = "0px"; + node.innerHTML = ""; + document.body.appendChild(node); + kib.showhelp(node, 4, 5); + node.onmouseover = function(){ + kib.hidehelp(); + } + } + + viewdim(); + + kiu.setFolder(currentfolder); + } + + this.destr = function(){ + + + document.body.removeChild($("kiu_maindiv")); + document.body.removeChild($("kiu_topdiv")); + document.body.removeChild($("kiu_botdiv")); + fw.shadebody(0); + } + + /* -------------------------------- methodes ------------------------------------ */ + + function viewdim(){ + if(window.innerHeight){ + windowX = window.innerWidth; + windowY = window.innerHeight; + } else if(document.documentElement && document.documentElement.clientHeight){ // Explorer 6 Strict Mode + windowX = document.documentElement.clientWidth; + windowY = document.documentElement.clientHeight; + } else if (document.body){ // other Explorers + windowX = document.body.clientWidth; + windowY = document.body.clientHeight; + } + var maindiv = $("kiu_maindiv"); + maindiv.style.width = windowX - 8 + "px"; + maindiv.style.height = windowY - 8 + "px"; + } + + this.closeUpload = function(){ + kib.hidehelp(); + fw.removejs("kiu"); + kib.reinit(); + } + + function supportAjaxUploadWithProgress() { + var xhr = new XMLHttpRequest(); + if (window.File && window.FileReader && window.FileList && ('upload' in xhr) && ('onprogress' in xhr.upload)) { + if(window.FormData){ + return 1; + } else if('sendAsBinary' in xhr){ + return 1; + } + } + return 0; + } + + this.choseFiles = function(obj){ + var fakefield = obj.nextSibling.firstChild; + var fileInput = obj; + var ret = ""; + + var temp = fileInput.value.split("\\"); + ret = temp[temp.length-1]; + + ret = fileInput.files[0].name; + + fakefield.value = ret; + } + + this.choseMFiles = function(obj){ + var fakefield = obj.nextSibling.firstChild; + var fileInput = obj; + var ret = ""; + + for(var i = 0; i < fileInput.files.length; i++){ + if(i != 0)ret += ", "; + ret += fileInput.files[i].name; + } + + var temp = fw.getDim(fakefield, 1); + fakefield.style.visibility = "hidden"; + fakefield.style.height = "auto"; + fakefield.style.overflow = "visible"; + fakefield.innerHTML = ret; + temp2 = fw.getDim(fakefield, 1); + fakefield.style.overflow = "hidden"; + fakefield.style.height = temp[1] + "px"; + fakefield.style.visibility = "visible"; + fw.resize(fakefield, 4, 0, temp2[1]); + } + + this.setFolder = function(folder){ + currentfolder = folder; + var i = 0; + while(document.getElementsByName("kiu_upform"+i)[0]){ + var obj = document.getElementsByName("kiu_upform"+i)[0]; + obj.dir.value = folder; + i++; + } + $("kiu_selfolder").innerHTML = folder; + } + + this.uploadWatermark = function(){ + var myform = document.getElementsByName("kiu_watermark_form")[0]; + myform.submit(); + } + + this.uploadedWatermark = function(){ + var obj = $("kiu_wm_preview"); + obj.src = "ki_watermark.pic?" + Math.round(Math.random()*10000); + obj.style.visibility = 'visible'; + } + + this.toggleWatermark = function(wm){ + var i = 0; + while(document.getElementsByName("kiu_upform"+i)[0]){ + var obj = document.getElementsByName("kiu_upform"+i)[0]; + if(wm.checked == true){ + obj.addwatermark.value = "1"; + } else { + obj.addwatermark.value = "0"; + } + i++; + } + } + + this.startUpload = function(){ + $("kiu_progress").style.display = "block"; + if(supportAjaxUploadWithProgress()){ + sendfile(0); + } else { + $("kiu_progress_cur").style.width = "0%"; + $("kiu_progress_tot").style.width = "0%"; + var myform = document.getElementsByName("kiu_upform0"); + var loop = 0; + while(myform[0]){ + myform[0].maxx.value = $("kiu_maxx").value; + myform[0].maxy.value = $("kiu_maxy").value; + + if(myform[0].pic.files[0]){ + finalsizes.push(myform[0].pic.files[0].size); + } else { + finalsizes.push(0); + } + + if(myform[0].pic.value){ + finalsizes.push(1); + } else { + finalsizes.push(0); + } + + loop++; + myform = document.getElementsByName("kiu_upform"+loop); + } + fw.getHTTP("ki_getuploadinfo.php?form=reset", submitform, 0); + } + } + + function sendfile(no){ + var fileInput = $('kiu_m_file'); + var file = fileInput.files[no]; + + if(!file){ + allfinished(); + return -1; + } + + var allsize = 0; + var completesize = 0; + for(var i = 0; i < no; i++){ + completesize += fileInput.files[i].size; + } + for(var i = 0; i < fileInput.files.length; i++){ + allsize += fileInput.files[i].size; + } + + var reader = new FileReader(); + + reader.onloadend = function(evt){ + + var xhr = new XMLHttpRequest(); + + var bar_cur = $("kiu_progress_cur"); + var bar_tot = $("kiu_progress_tot"); + + bar_cur.nextSibling.innerHTML = "Current '" + file.name + "'"; + + xhr.upload.addEventListener("progress", function(e) { + if(e.lengthComputable){ + var curfilecomplete = Math.round((e.loaded / e.total)*file.size); + var barsize = Math.round(((completesize+curfilecomplete)/allsize)*100); + bar_cur.style.width = Math.round((e.loaded / e.total)*100) + "%"; + bar_tot.style.width = barsize + "%"; + bar_tot.nextSibling.innerHTML = "Total: " + barsize + " %"; + } + }, false); + + xhr.onload = function(e) { + completesize += file.size; + bar_cur.style.width = "100%"; + bar_cur.nextSibling.innerHTML = "'" + file.name + "' uploaded."; + var barsize = Math.round((completesize/allsize)*100); + bar_tot.style.width = barsize + "%"; + bar_tot.nextSibling.innerHTML = "Total: " + barsize + " %"; + setTimeout(function(){ + sendfile(no+1); + }, 1000); + }; + + xhr.open('POST', 'ki_upload.php', true); + + var wm = $("kiu_wmcb"); + if(wm.checked == true){ + wm = "1"; + }else{ + wm = "0"; + } + + if(window.FormData){ + var formData = new FormData(); + formData.append("dir", currentfolder); + formData.append("addwatermark", wm); + formData.append("pic", file); + formData.append("maxx", $("kiu_maxx").value); + formData.append("maxy", $("kiu_maxy").value); + xhr.send(formData); + } else { + //xhr.setRequestHeader("Cache-Control", "no-cache"); + //xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); + + var CRLF = "\r\n"; + var boundary = "AJAX-----------------------" + (new Date).getTime(); + + var requestBody = "Content-Type: multipart/form-data; boundary="+boundary+CRLF+CRLF; + //requestBody += "Content-Length: "+file.size+CRLF+CRLF; + requestBody += "--"+boundary+CRLF; + + requestBody += "Content-Disposition: form-data; name=\"dir\""+CRLF+CRLF; + requestBody += currentfolder+CRLF; + requestBody += "--"+boundary+CRLF; + + requestBody += "Content-Disposition: form-data; name=\"addwatermark\""+CRLF+CRLF; + requestBody += wm+CRLF; + requestBody += "--"+boundary+CRLF; + + requestBody += "Content-Disposition: form-data; name=\"maxx\""+CRLF+CRLF; + requestBody += $("kiu_maxx").value+CRLF; + requestBody += "--"+boundary+CRLF; + + requestBody += "Content-Disposition: form-data; name=\"maxy\""+CRLF+CRLF; + requestBody += $("kiu_maxy").value+CRLF; + requestBody += "--"+boundary+CRLF; + + requestBody += "Content-Disposition: form-data; name=\"pic\"; filename=\""+file.name+"\""+CRLF; + requestBody += "Content-Type: application/octet-stream"+CRLF+CRLF; + requestBody += evt.target.result+CRLF; + requestBody += "--"+boundary+"--"+CRLF; + + xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + boundary); + xhr.sendAsBinary(requestBody); + } + }; + reader.readAsBinaryString(file); + } + + + function submitform(responseText, nextform){ + for(var i = nextform; i < finalsizes.length; i++){ + if(finalsizes[i] != 0){ + //alert("started " + i); + document.getElementsByName("kiu_upform"+i)[0].submit(); + setTimeout( function(){ + fw.getHTTP("ki_getuploadinfo.php?form="+i, gotuploadinfo, i); + }, 1000); + return; + } + } + var counter = 0; + for(var i = 0; i < finalsizes.length; i++){ + if(finalsizes[i] == 0)counter++; + } + if(counter == finalsizes.length){ + allfinished(); + } else { // alle gestartet, aber es laufen noch uploads + setTimeout( function(){ + fw.getHTTP("ki_getuploadinfo.php?form="+(nextform-1), gotuploadinfo, nextform-1); + }, 1000); + } + } + + function allfinished(){ + $("kiu_progress").style.display = "none"; + var bar_cur = $("kiu_progress_cur"); + var bar_tot = $("kiu_progress_tot"); + bar_cur.nextSibling.innerHTML = ""; + bar_tot.nextSibling.innerHTML = ""; + bar_cur.style.width = "0%"; + bar_tot.style.width = "0%"; + if(!supportAjaxUploadWithProgress()){ + finalsizes = Array(); + var myform = document.getElementsByName("kiu_upform0"); + var loop = 0; + while(myform[0]){ + myform[0].reset(); + loop++; + myform = document.getElementsByName("kiu_upform"+loop); + } + } else { + $('kiu_m_file_form').reset(); + var fakefield = $('kiu_m_file').nextSibling.firstChild; + fakefield.innerHTML = ""; + fw.resize(fakefield, 4, 0, 18); + } + } + + function gotuploadinfo(responseText, nextform){ + var obj = $("kiu_uploaddata"); + var counter; + var currentsizes = Array(); + + obj.innerHTML = responseText; + + for(var i = 1; i < obj.childNodes.length; i++){ + currentsizes.push(obj.childNodes[i].value); + } + + var bar_cur = $("kiu_progress_cur"); + var bar_tot = $("kiu_progress_tot"); + + var fileName = document.getElementsByName("kiu_upform"+nextform)[0].pic.files[0].name; + if(currentsizes[nextform] != "finished"){ + var barsize = Math.round((currentsizes[nextform]/finalsizes[nextform])*100); + bar_cur.style.width = barsize + "%"; + bar_cur.nextSibling.innerHTML = "Current '" + fileName + "'"; + var total = 0; + var current = 0; + for(var i = 0; i < finalsizes.length; i++){ + total += finalsizes[i]; + if(currentsizes[i] != "finished"){ + current += parseInt(currentsizes[i]); + } else { + current += parseInt(finalsizes[i]); + } + } + barsize = Math.round((current/total)*100); + bar_tot.style.width = barsize + "%"; + bar_tot.nextSibling.innerHTML = "Total: " + barsize + " %"; + } else { + bar_cur.style.width = "100%"; + bar_cur.nextSibling.innerHTML = "'" + fileName + "' uploaded."; + } + + var fileName = document.getElementsByName("kiu_upform"+nextform)[0].pic.value.split("\\"); + fileName = fileName[fileName.length-1]; + if(currentsizes[nextform] != "finished"){ + bar_cur.style.width = "100%"; + bar_cur.nextSibling.innerHTML = "Current '" + fileName + "' " + Math.round(currentsizes[nextform]/1024) + " KB uploaded"; + var total = 0; + var current = 0; + for(var i = 0; i < finalsizes.length; i++){ + total += finalsizes[i]; + if(currentsizes[i] == "finished"){ + current += 1; + } + } + var barsize = Math.round((current/total)*100); + bar_tot.style.width = barsize + "%"; + bar_tot.nextSibling.innerHTML = "Total: " + barsize + " %"; + } else { + bar_cur.style.width = "100%"; + bar_cur.nextSibling.innerHTML = "'" + fileName + "' uploaded."; + } + + + counter = 0; + for(var i = 0; i < currentsizes.length; i++){ + if(currentsizes[i] == "finished" || finalsizes[i] == 0)counter++; + } + if(counter == currentsizes.length){ + allfinished(); + } else { + for(var i = 0; i < currentsizes.length; i++){ + if(currentsizes[i] != "finished" && finalsizes[i] != 0){ + if(obj.firstChild.value == 1){ + submitform("", nextform+1); + } else { // upload läuft, aber nächster kann noch nicht gestartet werden + setTimeout( function(){ + fw.getHTTP("ki_getuploadinfo.php?form="+nextform, gotuploadinfo, nextform); + }, 1000); + } + return; + } + } + } + + } + + + + function preventDefaultAction(aEvent) { + + aEvent.stopPropagation(); + + + aEvent.preventDefault(); + + + aEvent.returnValue = false; + + } + + function taste_kiu(aEvent) { + aEvent = aEvent ? aEvent : window.event; + var keyCode = aEvent.keyCode; + if(keyCode == 27){ + kiu.closeUpload(); + preventDefaultAction(aEvent); + return false; + } + } +} + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_view.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_view.php new file mode 100644 index 00000000..e2edf708 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_js_view.php @@ -0,0 +1,1789 @@ +"; + } else { + if($style != "")$style = " style='".$style."' "; + echo ""; + } +} + +function addEvent($el, $event, $function){ + global $browser; + if($browser == "ie6" || $browser == "ie7"){ + echo $el.".attachEvent('on".$event."', ".$function.");\n"; + } else { + echo $el.".addEventListener('".$event."', ".$function.", false);\n"; + } +} + +function removeEvent($el, $event, $function){ + global $browser; + if($browser == "ie6" || $browser == "ie7"){ + echo $el.".detachEvent('on".$event."', ".$function.");\n"; + } else { + echo $el.".removeEventListener('".$event."', ".$function.", false);\n"; + } +} + +//------------------------------------------------------------------------ end functions ---------------------------------------------------------------------------------- + +$browser = $_SERVER['HTTP_USER_AGENT']; + +if(preg_match("/Opera/",$browser)) + $browser = "opera"; +elseif(preg_match("/MSIE [9]/",$browser)) + $browser = "ie9"; +elseif(preg_match("/MSIE [7-8]/",$browser)) + $browser = "ie7"; +elseif(preg_match("/MSIE [1-6]/",$browser)) + $browser = "ie6"; +elseif(preg_match("/AppleWebKit/",$browser)) + $browser = "webkit"; +else + $browser = "gecko"; + +if($browser == "ie6") + $posfix = "absolute"; +else + $posfix = "fixed"; + +if(isset($_GET['reldir'])) + $reldir = $_GET['reldir']; +else + $reldir = ""; + +$confdir = $reldir."ki_config/"; +$galleriesdir = $reldir."ki_galleries/"; +$basedir = $reldir."ki_base/"; + +if(isset($_GET['gallery'])) + $gallery = $_GET['gallery']; +else + $gallery = ""; + +// -------------- Sicherheitsabfragen! +if(preg_match("/[\.]*\//", $gallery))exit(); +// ---------- Ende Sicherheitsabfragen! + +$confdir = $reldir."ki_config/"; +$galleriesdir = $reldir."ki_galleries/"; +$basedir = $reldir."ki_base/"; + +include_once("../ki_config/ki_setup.php"); +if(is_file("../ki_config/".$gallery."_ki_setup.php"))include_once("../ki_config/".$gallery."_ki_setup.php"); + +$pwok = 0; +if(isset($_SESSION['pwquery'])){ + if($_SESSION['pwquery'] === $pw)$pwok = 1; +} + +header("Content-Type: application/x-javascript"); +?> + +// Viewing module 'kiv' -------------------------------------------------------------------- + +function kiv_module(){ + + /* -------------------------------- variables ----------------------------------- */ + + var cur_gallery = -1; + var cur_pic = -1; + var preloading; + var breakpreloading = 0; + var cur_load = 0; + var windowX; + var windowY; + var oversizeX = 0; + var oversizeY = 0; + var posX; + var posY; + var previewing = 0; + var ss = -1; + var stop = 0; + var flipped = 2; + + /* -------------------------------- getElementById function --------------------- */ + + function $(id){ + return document.getElementById(id); + } + + /* -------------------------------- constructor/descturctor --------------------- */ + + this.constr = function(params){ + + viewdim(); + var node; + if(!$("kiv_picdiv")){ + node = document.createElement("div"); + node.id = "kiv_picdiv"; + node.style.position = ""; + node.style.zIndex = 1000; + node.style.background = ""; + node.style.padding = "0px"; + node.style.display = "none"; + node.style.overflow = "hidden"; + document.body.appendChild(node); + } + + if(!$("kiv_comdiv")){ + node = document.createElement("div"); + node.id = "kiv_comdiv"; + node.style.position = ""; + node.style.zIndex = 1000; + node.style.background = ""; + node.style.padding = "10px"; + node.style.display = "none"; + node.style.overflow = "hidden"; + node.style.font = ""; + node.style.color = ""; + fw.dropshadow(node, 1); + document.body.appendChild(node); + } + + if(!$("kiv_inshadow")){ + node = document.createElement("div"); + node.id = "kiv_inshadow"; + node.style.position = "relative"; + node.style.left = "0%"; + node.style.top = "0%"; + node.style.zIndex = 1000; + node.style.background = "none"; + node.style.padding = "0px"; + node.style.border = "px solid "; + node.style.width = "0px"; + node.style.height = "0px"; + node.style.display = "none"; + node.style.overflow = "hidden"; + node.style.cursor = "pointer"; + node.onclick = function(){ + kiv.goon(1); + } + fw.dropshadow(node, 3); + $("kiv_picdiv").appendChild(node); + } + if(!$("kiv_closebutton")){ + var tbcontent = ""; + node = document.createElement("div"); + node.id = "kiv_closebutton"; + node.style.position = "absolute"; + node.style.top = "0px"; + node.style.right = "0px"; + node.style.background = ""; + node.style.zIndex = 10000; + node.style.padding = "1px 1px 3px 1px"; + node.style.lineHeight = "12px"; + fw.dropshadow(node, 1); + node.innerHTML = tbcontent; + $("kiv_inshadow").appendChild(node); + } + + if(!$("kiv_help")){ + var nodeh = document.createElement("div"); + nodeh.id = "kiv_help"; + nodeh.style.color = ""; + nodeh.style.font = "12px Tahoma, sans-serif"; + nodeh.style.position = "absolute"; + + nodeh.style.left = "4px"; + + nodeh.style.right = "4px"; + + nodeh.style.bottom = "4px"; + nodeh.style.lineHeight = "19px"; + nodeh.style.textAlign = "left"; + nodeh.style.zIndex = "10"; + if(ss == 1)nodeh.style.display = "none"; + var infosymbol = ""; + var infocontent = ""; + infocontent = infocontent.replace("[mouse]", ""); + nodeh.innerHTML = infosymbol; + fw.addevent( nodeh, "mouseover", function(){ + nodeh.style.width = "250px"; + nodeh.style.padding = "4px"; + nodeh.style.background = ""; + nodeh.style.border = "2px solid "; + nodeh.innerHTML = infocontent; + fw.fade(nodeh, 100); + } ); + fw.addevent( nodeh, "mouseout", function(){ + nodeh.style.width = "auto"; + nodeh.style.padding = "0px"; + nodeh.style.background = "none"; + nodeh.style.border = "0px"; + nodeh.innerHTML = infosymbol; + fw.fade(nodeh, 51); + } ); + $("kiv_inshadow").appendChild(nodeh); + setTimeout( function(){ + if(nodeh && ss != 1 && nodeh.style.width != "250px" && nodeh.style.display != "none")fw.fade(nodeh, 51); + }, 5000); + } + + + if(!$("kiv_gpspic")){ + var tbcontent = ""; + node = document.createElement("div"); + node.id = "kiv_gpspic"; + node.style.position = "absolute"; + node.style.top = "0px"; + node.style.left = "0px"; + node.style.background = ""; + node.style.zIndex = 10000; + node.style.padding = "1px 1px 3px 1px"; + node.style.lineHeight = "12px"; + fw.dropshadow(node, 1); + node.style.display = "none"; + node.innerHTML = tbcontent; + $("kiv_inshadow").appendChild(node); + } + + + + if(!$("kiv_loading")){ + node = document.createElement("img"); + node.id = "kiv_loading"; + + node.style.margin = "0px"; + node.style.marginLeft = "-px"; + node.style.marginTop = "-px"; + node.style.position = ""; + node.style.top = "50%"; + node.style.left = "50%"; + node.style.zIndex = 10000; + node.src = ""; + node.style.padding = "0px"; + node.style.border = "0px"; + node.style.display = "none"; + document.body.appendChild(node); + } + if(!$("kiv_prevdiv")){ + node = document.createElement("div"); + node.id = "kiv_prevdiv"; + node.style.position = ""; + node.style.zIndex = 10000; + node.style.background = ""; + node.style.padding = "4px 2px 4px 2px"; + node.style.height = "100px"; + node.style.overflow = "hidden"; + node.style.display = "none"; + fw.dropshadow(node, 1); + document.body.appendChild(node); + } + + if(!$("kiv_wowdiv")){ + node = document.createElement("div"); + node.id = "kiv_wowdiv"; + node.style.position = ""; + node.style.zIndex = 1001; + node.style.padding = "0px"; + node.style.display = "none"; + + node.style.padding = "px"; + node.style.background = ""; + + document.body.appendChild(node); + } + + + + if(!$("kiv_share")){ + node = document.createElement("div"); + node.id = "kiv_share"; + node.style.width = "280"; + node.style.position = ""; + node.style.top = windowY + "px"; + node.style.left = "50%"; + node.style.marginLeft = "-145px"; + node.style.background = ""; + + node.style.borderRadius = "20px"; + node.style.MozBorderRadius = "20px"; + node.style.WebkitBorderRadius = "20px"; + + node.style.border = "2px solid "; + node.style.zIndex = 1000; + node.style.padding = "3px 3px 30px 3px"; + node.style.overflow = "hidden"; + node.style.lineHeight = "12px"; + node.style.display = "none"; + var tbcontent = ""; + node.innerHTML = tbcontent + ""; + document.body.appendChild(node); + } + + fw.shadebody(1); + + if(!$("kiv_tb")){ + var breite = ; + var tbcontent = ""; + + breite += ; + tbcontent += ""; + + + breite += ; + tbcontent += ""; + + if(kib.pics[params[0]].length > 1){ + + tbcontent += ""; + + tbcontent += ""; + tbcontent += ""; + } + node = document.createElement("div"); + node.id = "kiv_tb"; + node.style.position = ""; + node.style.top = "-px"; + node.style.left = "50%"; + node.style.marginLeft = -(breite+10)/2+"px"; + node.style.background = ""; + + node.style.borderRadius = "20px"; + node.style.MozBorderRadius = "20px"; + node.style.WebkitBorderRadius = "20px"; + + node.style.border = "2px solid "; + node.style.zIndex = 10000; + node.style.padding = "20px 3px 3px 3px"; + node.style.lineHeight = "12px"; + node.style.display = "none"; + node.innerHTML = tbcontent; + document.body.appendChild(node); + } + + + + alert("WARNING: If you want to write custom comments you have to set '$comm_auto = 0'. Custom comments won't get saved. Set '$show_warnings = 0' if you don't want to see this warning again."); + + kiv.getImage(params[0], params[1]); + } + + this.destr = function(){ + document.body.removeChild($("kiv_picdiv")); + document.body.removeChild($("kiv_comdiv")); + + document.body.removeChild($("kiv_tb")); + + document.body.removeChild($("kiv_loading")); + document.body.removeChild($("kiv_prevdiv")); + document.body.removeChild($("kiv_wowdiv")); + document.body.removeChild($("kiv_share")); + + + } + + /* -------------------------------- methodes ------------------------------------ */ + + + this.deleteVComm = function(counter){ + fw.getHTTP("ki_vcomm.php?file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&gallery=" + kib.dirs[cur_gallery] + "&counter=" + counter + "&get=1", kiv.getvcomm, null); + } + + this.publishVComm = function(counter){ + fw.getHTTP("ki_vcomm.php?file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&gallery=" + kib.dirs[cur_gallery] + "&publish=" + counter + "&get=1", kiv.getvcomm, null); + } + + this.savecomment = function(aEvent, commstring){ + aEvent = aEvent ? aEvent : window.event; + var keyCode = aEvent.keyCode; + if(keyCode == 27){ + kiv.closeImage(); + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 33 && !aEvent.shiftKey){ + kiv.goon(-1); + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 34 && !aEvent.shiftKey){ + kiv.goon(1); + preventDefaultAction(aEvent); + return false; + } + if((aEvent.ctrlKey == true && keyCode == 13) || keyCode == 10){ + fw.getHTTP("ki_savecomment.php?file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&gallery=" + kib.dirs[cur_gallery] + "&comment=" + encodeURIComponent(commstring), saved, null); + preventDefaultAction(aEvent); + return false; + } + } + + function saved(){ + stop = 0; + kiv.goon(1); + } + + function squarethumbhandling(){ + if($("square_selector")){ + var sths = 0; + var startx = 0; + var starty = 0; + var obj = $("square_selector"); + obj.style.display = "block"; + var sub = fw.findPos(obj); + var objx = parseInt(obj.style.width); + var objy = parseInt(obj.style.height); + if(objx == objy)return; + var wide = objx > objy ? 1 : 0; + var square_1 = $("square_1").style; + var square_2 = $("square_2").style; + var posx = parseInt(square_1.width); + var posy = parseInt(square_1.height); + fw.addevent( obj, "mousedown", function(x, y){ + if(sths == 0){ + sths = 1; + startx = x - sub[0]; + starty = y - sub[1]; + } + } ); + fw.addevent( obj, "mousemove", function(x, y){ + if(sths == 1){ + var movx = (x - sub[0]) - startx; + var movy = (y - sub[1]) - starty; + if(wide == 1){ + var temp = posx + movx; + if(temp < 0)temp = 0; + if(temp > (objx - 100))temp = objx - 100; + square_1.width = temp + "px"; + square_2.width = objx - (temp + 100) + "px"; + } else { + var temp = posy + movy; + if(temp < 0)temp = 0; + if(temp > (objy - 100))temp = objy - 100; + square_1.height = temp + "px"; + square_2.height = objy - (temp + 100) + "px"; + } + } + } ); + fw.addevent( obj, "mouseup", function(x, y){ + if(sths == 1){ + var final = -1; + if(wide == 1){ + var final = posx + (x - sub[0]) - startx; + if(final < 0)final = 0; + if(final > (objx - 100))final = objx - 100; + final = final / objx; + } else { + var final = posy + (y - sub[1]) - starty; + if(final < 0)final = 0; + if(final > (objy - 100))final = objy - 100; + final = final / objy; + } + var params = "?file=" + kib.dirs[cur_gallery] + "/" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&pos=" + final; + fw.getHTTP("ki_savesquarethumb.php" + params, null); + var long = new Date(); + long.setTime(long.getTime() + (10 * 365 * 24 * 60 * 60 * 1000)); + document.cookie = "koschtit_" + kib.dirs[cur_gallery] + cur_gallery + "_" + kib.pics[cur_gallery][cur_pic].file + "=" + final + "; path=/; expires=" + long.toGMTString(); + obj.style.background = "#00ff00"; + setTimeout( function(){ + obj.style.background = "#000000"; + }, 400); + } + sths = 0; + } ); + var custompos = -1; + var nameEQ = "koschtit_" + kib.dirs[cur_gallery] + cur_gallery + "_" + kib.pics[cur_gallery][cur_pic].file + "="; + var ca = document.cookie.split(';'); + for(var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0)==' ')c = c.substring(1,c.length); + if(c.indexOf(nameEQ) == 0)custompos = c.substring(nameEQ.length,c.length); + } + if(custompos != -1){ + if(wide == 1){ + var temp = Math.round(custompos*objx); + square_1.width = temp + "px"; + square_2.width = objx - (temp + 100) + "px"; + } else { + var temp = Math.round(custompos*objy); + square_1.height = temp + "px"; + square_2.height = objy - (temp + 100) + "px"; + } + } + } + } + + + function viewdim(){ + if(window.innerHeight){ + windowX = window.innerWidth; + windowY = window.innerHeight; + } else if(document.documentElement && document.documentElement.clientHeight){ // Explorer 6 Strict Mode + windowX = document.documentElement.clientWidth; + windowY = document.documentElement.clientHeight; + } else if (document.body){ // other Explorers + windowX = document.body.clientWidth; + windowY = document.body.clientHeight; + } + if($("kiv_share"))$("kiv_share").style.top = windowY + "px"; + if($("kiv_comdiv")){ + var com_div = $("kiv_comdiv"); + var sizes = fw.getDim($("kiv_picdiv"), 1); + var comm_x = com_div.offsetWidth; + var comm_y = com_div.offsetHeight; + if(comm_x > sizes[0]){ + comm_x = sizes[0]; + com_div.style.width = (sizes[0] - 2*10) + "px"; + comm_y = com_div.offsetHeight; + } + + var x_pos = $("kiv_picdiv").offsetLeft; + var y_pos = $("kiv_picdiv").offsetHeight + $("kiv_picdiv").offsetTop + 5; + if(y_pos + comm_y > windowY){ + y_pos -= comm_y + 10; + if(comm_x != sizes[0])x_pos += 5; + } + + var x_pos = $("kiv_picdiv").offsetLeft + sizes[0] - comm_x; + var y_pos = $("kiv_picdiv").offsetHeight + $("kiv_picdiv").offsetTop + 5; + if(y_pos + comm_y > windowY){ + y_pos -= comm_y + 10; + if(comm_x != sizes[0])x_pos -= 5; + } + + var x_pos = $("kiv_picdiv").offsetLeft + 0.5*(sizes[0] - comm_x); + var y_pos = $("kiv_picdiv").offsetHeight + $("kiv_picdiv").offsetTop + 5; + if(y_pos + comm_y > windowY){ + y_pos -= comm_y + 10; + } + + com_div.style.left = x_pos + "px"; + com_div.style.top = y_pos + "px"; + } + } + + function preloadgallery(){ + if(breakpreloading == 1)return; + var files = kib.pics[cur_gallery].length; + cur_load = cur_pic + 1; + if(cur_load == files)return; + var loaded = 0; + while(preloading[cur_load] != null){ + cur_load++; + loaded++; + if(loaded == files){ + return; + } + if(cur_load == files || cur_load - cur_pic > 3)return; + } + preloading[cur_load] = document.createElement('img'); + preloading[cur_load].onload = function(){ + preloadgallery(); + }; + var picsize = calcpicsize(cur_load); + if(picsize[0] != kib.pics[cur_gallery][cur_load].x){ + preloading[cur_load].src = "ki_makepic.php?fullimg=1&file=" + kib.dirs[cur_gallery] + "/" + encodeURIComponent(kib.pics[cur_gallery][cur_load].file) + "&width=" + picsize[0] + "&height=" + picsize[1]; + } else { + preloading[cur_load].src = "" + kib.dirs[cur_gallery] + "/" + kib.pics[cur_gallery][cur_load].file; + } + } + + this.getImage = function(gallerynumber, picnumber){ + if(stop == 1)return; + var firsttoshow = 0; + if(cur_gallery == -1){ + firsttoshow = 1; + preloading = new Array(kib.pics[gallerynumber].length); + } + if($("kib_helpbox")){ + kib.hidehelp(); + } + + if($("kiv_vcomments_form")){ + $("kiv_picdiv").removeChild($("kiv_vcomments_form")); + if($("kiv_vcomments_list"))$("kiv_picdiv").removeChild($("kiv_vcomments_list")); + } + kiv.removewow(); + fw.fade("kiv_gpspic", 0); + if(gallerynumber == -1)gallerynumber = cur_gallery; + breakpreloading = 1; + preloading[cur_load] = null; + cur_gallery = gallerynumber; + cur_pic = picnumber; + var picsize = calcpicsize(picnumber); + + oversizeX = posX = 0; + oversizeY = posY = 0; + if(picsize[0]+2* > windowX)oversizeX = Math.round((picsize[0] - windowX)*0.5) + ; + if(picsize[1]+2* > windowY)oversizeY = Math.round((picsize[1] - windowY)*0.5) + ; + + var params = "?reldir=&gallery=" + kib.dirs[cur_gallery] + "&file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&x=" + picsize[0] + "&y=" + picsize[1]; + fw.getHTTP("ki_fullimg.php" + params, kiv.gotImage, Array(picsize, firsttoshow, 0)); + } + + this.gotImage = function(responseText, params){ + if(stop == 1)return; + var picdiv = $("kiv_picdiv"); + var inshad = $("kiv_inshadow"); + var picdivsize = params[0]; + var firsttoshow = params[1]; + if(params[2] == 0){ // Bild wird geladen + picdivsize[0] += ; + picdivsize[1] += ; + + if(firsttoshow == 1){ // Einfgen/Warten von onload beim ersten ffnen + + picdiv.style.top = "50%"; + picdiv.style.left = "50%"; + picdiv.style.width = "0px"; + picdiv.style.height = "1px"; + picdiv.style.display = "block"; + + var node = document.createElement("div"); + node.innerHTML = responseText; + var temp = node.childNodes.length; + for(var i = 0; i < temp; i++){ + picdiv.appendChild(node.childNodes[0]); + } + + var thepic = $("thepicture"); + thepic.onload = function(){ + if(kiv != null && thepic == $("thepicture"))kiv.gotImage("", Array(picdivsize, firsttoshow, 1)); + }; + thepic.src = thepic.alt; + setTimeout( function(){ if(kiv != null && thepic != null){if(thepic.alt != "" && !thepic.complete){fw.fade("kiv_loading", 100, Array(function(){$("kiv_loading").src = "";}));$("kiv_picdiv").style.zIndex = 99;}} }, 750); + + } else { // Einfgen/Warten von onload beim Weiterklicken + + + if($("square_selector"))picdiv.removeChild($("square_selector")); + + + if($("kiv_gps"))picdiv.removeChild($("kiv_gps")); + + + if($("kiv_vcomm"))picdiv.removeChild($("kiv_vcomm")); + + if($("thepicture"))$("thepicture").id = "oldpic"; + + fw.fade("kiv_comdiv", 0); + + var node = document.createElement("div"); + node.innerHTML = responseText; + var temp = node.childNodes.length; + for(var i = 0; i < temp; i++){ + picdiv.appendChild(node.childNodes[0]); + } + var thepic = $("thepicture"); + thepic.onload = function(){ + if(kiv != null && thepic == $("thepicture"))kiv.gotImage("", Array(picdivsize, firsttoshow, 1)); + }; + thepic.src = thepic.alt; + setTimeout( function(){ if(kiv != null && thepic != null){if(thepic.alt != "" && !thepic.complete){fw.fade("kiv_loading", 100, Array(function(){$("kiv_loading").src = "";}));$("kiv_picdiv").style.zIndex = 99;}} }, 750); + + + } + + } else { // Bild wurde geladen -> Bild anzeigen + + $("kiv_loading").style.display = "none"; + if(previewing == 0){ + $("kiv_picdiv").style.zIndex = 1000; + $("kiv_comdiv").style.zIndex = 1000; + } + preloading[cur_pic] = 1; + breakpreloading = 0; + preloadgallery(); + + + var shareadd = location.search; + if(shareadd.indexOf('kit_code=') != -1) + shareadd = shareadd.substr(0, shareadd.indexOf('kit_code=')-1); + if(shareadd.indexOf('?') == -1) + shareadd = "?" + shareadd; + else + shareadd += "&"; + var slash = ""; + if(location.pathname.substr(0, 1) != "/")slash = "/"; + shareadd = "http://" + location.hostname + slash + location.pathname + shareadd + "kit_code=" + cur_gallery+"_"+cur_pic + location.hash; + $("kiv_share").childNodes[1].value = shareadd; + + + var thepic = $("thepicture"); + if(thepic != null){ + thepic.alt = ""; + thepic.style.display = "none"; + thepic.style.visibility = "visible"; + } + flipped = 0; + + if(firsttoshow == 1){ // Bild wurde geladen -> Bild anzeigen beim ersten ffnen + + fw.resize( picdiv, 2, picdivsize[0], 1, Array( function(){ + + fw.resize( picdiv, 2, picdivsize[0], picdivsize[1], Array( function(){ + inshad.style.width = picdivsize[0] - 2* + "px"; + inshad.style.height = picdivsize[1] - 2* + "px"; + inshad.style.display = "block"; + fw.dropshadow(picdiv, 1); + fw.fade("thepicture", 100, Array( function(){ + + + fw.move("kiv_tb", 3, 0, -); + $("kiv_tb").setAttribute("contr", "stay"); + setTimeout( function() { + if($("kiv_tb"))$("kiv_tb").setAttribute("contr", ""); + }, 5000); + + + fw.move("kiv_share", 3, 0, windowY - 29); + $("kiv_share").setAttribute("contr", "stay"); + setTimeout( function() { + if($("kiv_share"))$("kiv_share").setAttribute("contr", ""); + }, 5000); + + viewdim(); + showcomment(); + checkgps(); + checkvcomment(); + var focme = $("focusme"); + if(focme){ + kib.showhelp(focme, 4, 2); + } + + + squarethumbhandling(); + + if(ss == 1)setTimeout( function(){if(kiv != null){if(ss == 1){ss = 2;kiv.goon(1);}}} , ); + + } )); + } )); + } )); + + } else { // Bild wurde geladen -> Bild anzeigen beim Weiterklicken + + fw.fade("oldpic", 0, Array( function(){ + var picdiv = $("kiv_picdiv"); + for(var i = 0; i < picdiv.childNodes.length; i++){ + if(picdiv.childNodes[i].id == "oldpic"){ + picdiv.removeChild(picdiv.childNodes[i]); + i-=1; + } + } + } )); + fw.fade("thepicture", 100, Array( function(){ + inshad.style.display = "block"; + fw.resize( inshad, 1, picdivsize[0] - 2*, picdivsize[1] - 2* ); + fw.resize( picdiv, 2, picdivsize[0], picdivsize[1], Array( function(){ + showcomment(); + checkgps(); + checkvcomment(); + if(previewing == 0){ + + } + + squarethumbhandling(); + + if(ss != 1)fw.fade("kiv_help", 51); + if(ss == 1)setTimeout( function(){if(kiv != null){if(ss == 1){ss = 2;kiv.goon(1);}}} , ); + } )); + } )); + } + } + } + + function checkgps(){ + + if(stop == 1 || ss == 1)return; + if(!$("kiv_gps"))return; + var coordinates = $("kiv_gps").value; + if(coordinates != "0,0"){ + fw.fade("kiv_gpspic", 100); + } else { + + var params = "?gallery=" + kib.dirs[cur_gallery] + "&file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file); + fw.getHTTP("ki_cellid.php" + params, gotCellInfo, Array(cur_gallery, cur_pic)); + + } + + } + + + function gotCellInfo(responseText, params){ + if(stop == 1 || ss == 1)return; + if(cur_gallery != params[0] || cur_pic != params[1])return; + if(responseText == "0,0")return; + $("kiv_gps").value = responseText; + fw.fade("kiv_gpspic", 100); + } + + + + this.opengps = function(){ + if($("kiv_gps")){ + if($("kiv_gps").value != "0,0"){ + var coordinates = $("kiv_gps").value; + var filename = kib.pics[cur_gallery][cur_pic].file; + filename = filename.substr(0, filename.length-4); + window.open("http://maps.google.com/?q=" + filename + "@" + coordinates); + } + } + } + + + function checkvcomment(){ + + if(stop == 1 || ss == 1)return; + if(!$("vcommbutton"))return; + if(!$("kiv_vcomm"))return; + var obj = $("vcommbutton"); + if($("kiv_vcomm").value == "1"){ + var tb = obj.parentNode; + tb.setAttribute("contr", "stay"); + fw.move(tb, 3, 0, -, Array(function(){ + + fw.fade(obj, 10, Array(fw.fade, obj, 100, Array(fw.fade, obj, 10, Array(fw.fade, obj, 100, Array(fw.fade, obj, 10, Array(fw.fade, obj, 100, Array(function(){ + if(tb){ + tb.setAttribute("contr", ""); + } + }))))))); + + setTimeout( function(){ + if(tb){ + tb.setAttribute("contr", ""); + } + }, 2000); + + })); + } + + } + + + this.removewow = function(){ + var wowdiv = $("kiv_wowdiv"); + wowdiv.innerHTML = ""; + wowdiv.style.display = "none"; + fw.dropshadow(wowdiv, 0); + + var blende = $("fw_blend"); + blende.style.cursor = "auto"; + blende.onclick = null; + + } + + + function mousemoved(aEvent) { + if(stop == 1)return; + aEvent = aEvent ? aEvent : window.event; + var x = aEvent.clientX ? aEvent.clientX : aEvent.pageX; + var y = aEvent.clientY ? aEvent.clientY : aEvent.pageY; + + + var tb = $("kiv_tb"); + if(y > windowY * 0.33 || x > (windowX/2+200) || x < (windowX/2-200)){ + if(tb.getAttribute("contr") == ""){ + fw.move(tb, 3, 0, -); + tb.setAttribute("contr", "open"); + } + } else { + if(tb.getAttribute("contr") == "open"){ + fw.move(tb, 3, 20, -); + tb.setAttribute("contr", ""); + } + } + + + + var sh = $("kiv_share"); + if(y < windowY - 150 || x > (windowX/2+300) || x < (windowX/2-300)){ + if(sh.getAttribute("contr") == ""){ + + if(aEvent.srcElement.nodeName == "INPUT")return; + + fw.move(sh, 3, 0, windowY); + sh.setAttribute("contr", "open"); + } + } else { + if(sh.getAttribute("contr") == "open"){ + fw.move(sh, 3, 20, windowY - 29); + sh.setAttribute("contr", ""); + } + } + + + if(!x)x = 1; + if(ss == 1)return; + + var dim = fw.getDim($("kiv_picdiv")); + var wowdiv = $("kiv_wowdiv"); + + + if(windowX - dim[0] >= 0.33*windowX){ // Bild bedeckt max 2/3 des Bildschirmplatzes + if(x > (windowX + dim[0])*0.5 && cur_pic != kib.pics[cur_gallery].length-1){ + if(y > (windowY-dim[1])*0.5 && y < (windowY+dim[1])*0.5){ + if(!wowdiv.firstChild){ + var picsize = calcpicsize(cur_pic+1); + var picsrc = ""; + if(picsize[0] != kib.pics[cur_gallery][cur_pic+1].x){ + picsrc = "ki_makepic.php?fullimg=1&file=" + kib.dirs[cur_gallery] + "/" + encodeURIComponent(kib.pics[cur_gallery][cur_pic+1].file) + "&width=" + picsize[0] + "&height=" + picsize[1]; + } else { + picsrc = "" + kib.dirs[cur_gallery] + "/" + kib.pics[cur_gallery][cur_pic+1].file; + } + wowdiv.style.zIndex = 10000; + wowdiv.innerHTML = "
"; + wowdiv.style.left = (windowX + dim[0])*0.5 - 30 + "px"; + fw.dropshadow("kiv_wowdiv_inshadow", 3); + fw.dropshadow(wowdiv, 1); + fw.fade(wowdiv, 100); + } + var obj = kib.pics[cur_gallery][cur_pic+1]; + var breite = x - (windowX + dim[0])*0.5 + 50; + var hoehe = (obj.y/obj.x)*breite; + var maxh = dim[1]*0.66; + if(hoehe > maxh){ + hoehe = maxh; + breite = (obj.x/obj.y)*hoehe; + } + var pic = wowdiv.firstChild; + pic.style.width = breite + "px"; + pic.style.height = hoehe + "px"; + wowdiv.style.top = y + "px"; + wowdiv.style.marginTop = -0.5*(hoehe+*2) + "px"; + var inshad = $("kiv_wowdiv_inshadow"); + inshad.style.width = breite + "px"; + inshad.style.height = hoehe + "px"; + } + } else if(x < (windowX - dim[0])*0.5 && cur_pic != 0){ + if(y > (windowY-dim[1])*0.5 && y < (windowY+dim[1])*0.5){ + if(!wowdiv.firstChild){ + var picsize = calcpicsize(cur_pic-1); + var picsrc = ""; + if(picsize[0] != kib.pics[cur_gallery][cur_pic-1].x){ + picsrc = "ki_makepic.php?fullimg=1&file=" + kib.dirs[cur_gallery] + "/" + encodeURIComponent(kib.pics[cur_gallery][cur_pic-1].file) + "&width=" + picsize[0] + "&height=" + picsize[1]; + } else { + picsrc = "" + kib.dirs[cur_gallery] + "/" + kib.pics[cur_gallery][cur_pic-1].file; + } + wowdiv.style.zIndex = 999; + wowdiv.innerHTML = "
"; + fw.dropshadow("kiv_wowdiv_inshadow", 3); + fw.dropshadow(wowdiv, 1); + fw.fade(wowdiv, 100); + } + var obj = kib.pics[cur_gallery][cur_pic-1]; + var breite = (windowX - dim[0])*0.5 - x + 50; + var hoehe = (obj.y/obj.x)*breite; + var maxh = dim[1]*0.66; + if(hoehe > maxh){ + hoehe = maxh; + breite = (obj.x/obj.y)*hoehe; + } + var pic = wowdiv.firstChild; + pic.style.width = breite + "px"; + pic.style.height = hoehe + "px"; + wowdiv.style.left = (windowX - dim[0])*0.5 + 30 - breite - *2 + "px"; + wowdiv.style.top = y + "px"; + wowdiv.style.marginTop = -0.5*(hoehe+*2) + "px"; + var inshad = $("kiv_wowdiv_inshadow"); + inshad.style.width = breite + "px"; + inshad.style.height = hoehe + "px"; + } + } else { + if(wowdiv.firstChild){ + kiv.removewow(); + } + } + } + + if(windowX - dim[0] >= 80){ // Mindestens 40 Pixel Platz zu jeder Seite + if(x > (windowX + dim[0])*0.5 && cur_pic != kib.pics[cur_gallery].length-1){ + if(y > (windowY-dim[1])*0.5 && y < (windowY+dim[1])*0.5){ + if(!wowdiv.firstChild){ + wowdiv.innerHTML = ""; + wowdiv.style.left = (windowX + dim[0])*0.5 + 5 + "px"; + wowdiv.style.top = "50%"; + wowdiv.style.marginTop = -0.5*() + "px"; + fw.fade(wowdiv, 100); + var blende = $("fw_blend"); + blende.style.cursor = "pointer"; + blende.onclick = function(){ + kiv.goon(1); + } + } + } + } else if(x < (windowX - dim[0])*0.5 && cur_pic != 0){ + if(y > (windowY-dim[1])*0.5 && y < (windowY+dim[1])*0.5){ + if(!wowdiv.firstChild){ + wowdiv.innerHTML = ""; + wowdiv.style.left = (windowX - dim[0])*0.5 - 5 - + "px"; + wowdiv.style.top = "50%"; + wowdiv.style.marginTop = -0.5*() + "px"; + fw.fade(wowdiv, 100); + var blende = $("fw_blend"); + blende.style.cursor = "pointer"; + blende.onclick = function(){ + kiv.goon(-1); + } + } + } + + } else { + if(wowdiv.firstChild){ + kiv.removewow(); + } + } + } + + + 0){ ?> + if(windowX - dim[0] < 200)return; // Mindestens 100 Pixel Platz zu jeder Seite + if(x > windowX - 40 && cur_pic != kib.pics[cur_gallery].length-1){ + + if(wowdiv.firstChild){ + fw.dropshadow(wowdiv, 0); + fw.fade(wowdiv, 0, Array( function(){ + wowdiv.innerHTML = ""; + } )); + } + + + previewing = 1; + var prevdiv = $("kiv_prevdiv"); + prevdiv.style.top = y - 54 + "px"; + prevdiv.style.left = windowX + 500 + "px"; + prevdiv.style.width = "20px"; + $("kiv_picdiv").style.zIndex = 99; + $("kiv_comdiv").style.zIndex = 99; + prevdiv.style.display = "block"; + fw.move(prevdiv, 2, windowX - 20, 0, Array( function(){ + var params = "?reldir=&gallery=" + kib.dirs[cur_gallery] + "&file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&topic=1"; + fw.getHTTP("ki_preview.php" + params, kiv.showpreview, 1); + + } )); + } else if(x < 40 && cur_pic != 0){ + + if(wowdiv.firstChild){ + fw.dropshadow(wowdiv, 0); + fw.fade(wowdiv, 0, Array( function(){ + wowdiv.innerHTML = ""; + } )); + } + + + previewing = 1; + var prevdiv = $("kiv_prevdiv"); + prevdiv.style.top = y - 54 + "px"; + prevdiv.style.left = "-500px"; + prevdiv.style.width = "20px"; + $("kiv_picdiv").style.zIndex = 99; + $("kiv_comdiv").style.zIndex = 99; + prevdiv.style.display = "block"; + fw.move(prevdiv, 2, 0, 0, Array( function(){ + var params = "?reldir=&gallery=" + kib.dirs[cur_gallery] + "&file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&topic=-1"; + fw.getHTTP("ki_preview.php" + params, kiv.showpreview, -1); + + } )); + } + + } + + this.showpreview = function(responseText, topic){ + if(stop == 1 || previewing == 0)return; + var prevdiv = $("kiv_prevdiv"); + prevdiv.innerHTML = responseText; + var gesbreite = $("gesbreite").value; + if(topic == 1){ + prevdiv.style.width = gesbreite + "px"; + fw.move(prevdiv, 2, windowX - gesbreite - 4, 0); + } else { + prevdiv.style.left = -1*gesbreite + 20 + "px"; + prevdiv.style.width = gesbreite + "px"; + fw.move(prevdiv, 2, 0, 0); + } + } + + function closepreview(aEvent){ + if(stop == 1)return; + aEvent = aEvent ? aEvent : window.event; + var x = aEvent.clientX ? aEvent.clientX : aEvent.pageX; + var y = aEvent.clientY ? aEvent.clientY : aEvent.pageY; + + if(x > windowX - 40 || x < 40)return; + + + previewing = 0; + var prevdiv = $("kiv_prevdiv"); + if($("kiv_loading").style.display == "none"){ + $("kiv_picdiv").style.zIndex = 1000; + $("kiv_comdiv").style.zIndex = 1000; + } + if(parseInt(prevdiv.style.left) > 0){ + fw.move(prevdiv, 2, windowX, 0, Array( function(){ + prevdiv.innerHTML = ""; + prevdiv.style.display = "none"; + + } )); + } else { + fw.move(prevdiv, 2, -prevdiv.offsetWidth, 0, Array( function(){ + prevdiv.innerHTML = ""; + prevdiv.style.display = "none"; + + } )); + } + } + + function showcomment(){ + if(stop == 1)return; + var com_div = $("kiv_comdiv"); + var sizes = fw.getDim($("kiv_picdiv"), 1); + if($("thecomment")){ + com_div.style.visibility = "hidden"; + com_div.style.display = "block"; + com_div.style.width = "auto"; + + var commstring = $("thecomment").innerHTML; + + commstring = commstring.replace(/%x/, cur_pic+1); + commstring = commstring.replace(/%X/, kib.pics[cur_gallery].length); + commstring = commstring.replace(/%g/, kib.dirs[cur_gallery]); + var filename = kib.pics[cur_gallery][cur_pic].file; + commstring = commstring.replace(/%f/, filename.substr(0, filename.length-4)); + + com_div.innerHTML = commstring; + + $("kiv_picdiv").removeChild($("thecomment")); + + var comm_x = com_div.offsetWidth; + var comm_y = com_div.offsetHeight; + + if(comm_x > sizes[0]){ + comm_x = sizes[0]; + com_div.style.width = (sizes[0] - 2*10) + "px"; + comm_y = com_div.offsetHeight; + } + + + var x_pos = $("kiv_picdiv").offsetLeft; + var y_pos = $("kiv_picdiv").offsetHeight + $("kiv_picdiv").offsetTop + 5; + if(y_pos + comm_y > windowY){ + y_pos -= comm_y + 10; + if(comm_x != sizes[0])x_pos += 5; + } + + var x_pos = $("kiv_picdiv").offsetLeft + sizes[0] - comm_x; + var y_pos = $("kiv_picdiv").offsetHeight + $("kiv_picdiv").offsetTop + 5; + if(y_pos + comm_y > windowY){ + y_pos -= comm_y + 10; + if(comm_x != sizes[0])x_pos -= 5; + } + + var x_pos = $("kiv_picdiv").offsetLeft + 0.5*(sizes[0] - comm_x); + var y_pos = $("kiv_picdiv").offsetHeight + $("kiv_picdiv").offsetTop + 5; + if(y_pos + comm_y > windowY){ + y_pos -= comm_y + 10; + } + + + com_div.style.left = x_pos + "px"; + com_div.style.top = y_pos + "px"; + com_div.style.display = "none"; + com_div.style.visibility = "visible"; + fw.fade(com_div, 100); + + var focme = $("focusme"); + if(focme){ + focme.focus(); + } + } + + } + + function calcpicsize(fileno){ + var picx = kib.pics[cur_gallery][fileno].x; + var picy = kib.pics[cur_gallery][fileno].y; + var winx = picx + ; + var winy = picy + ; + + var xlimiter = ; + var ylimiter = ; + if(xlimiter < 1)xlimiter = parseInt(*windowX); + if(ylimiter < 1)ylimiter = parseInt(*windowY); + + if(xlimiter > windowX)xlimiter = windowX - 20; + if(ylimiter > windowY)ylimiter = windowY - 34; + + if(winy > ylimiter || winx > xlimiter){ + var k; + if( (picx / picy) > 1){ + k = picy / picx; + picx = xlimiter-; + picy = k*picx; + if(picy > ylimiter-){ + picy = ylimiter-; + picx = (1/k) * picy; + } + } else { + k = picx / picy; + picy = ylimiter-; + picx = k*picy; + if(picx > xlimiter-){ + picx = xlimiter-; + picy = (1/k) * picx; + } + } + picx = Math.round(picx); + picy = Math.round(picy); + } + + return new Array(picx, picy); + } + + this.slideshow = function(){ + if(stop == 1)return; + if(ss == 2)ss = 1; + ss *= -1; + var sspic = $("ssbutton"); + if(ss == 1){ + + sspic.src = "ki_nav_stop.png"; + + sspic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=ki_nav_stop.png)"; + + sspic.title = ""; + $("kiv_help").style.display = "none"; + ss = 2; + kiv.goon(1); + } else { + + sspic.src = "ki_nav_play.png"; + + sspic.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=ki_nav_play.png)"; + + sspic.title = ""; + fw.fade("kiv_help", 51); + } + } + + this.sshelp = function(val){ + ss = val; + } + + this.goon = function(topic){ + if(stop == 1 || ss == 1)return; + if(ss == 2)ss = 1; + if(topic > 0){ + if(cur_pic + topic <= kib.pics[cur_gallery].length-1){ + kiv.getImage(cur_gallery, cur_pic+topic); + } else { + kiv.getImage(cur_gallery, (cur_pic+topic)-kib.pics[cur_gallery].length); + } + } else { + if(cur_pic + topic >= 0){ + kiv.getImage(cur_gallery, cur_pic+topic); + } else { + kiv.getImage(cur_gallery, kib.pics[cur_gallery].length+(cur_pic+topic)); + } + } + } + + this.closeImage = function(){ + stop = 1; + if($("kib_helpbox")){ + kib.hidehelp(); + } + + kiv.removewow(); + if(window.stop !== undefined){ + window.stop(); + }else if(document.execCommand !== undefined){ + document.execCommand("Stop", false); + } + var picdiv = $("kiv_picdiv"); + + if($("square_selector")){ + var obj = $("square_selector"); + obj.parentNode.removeChild(obj); + } + + if($("kiv_vcomments_form"))$("kiv_picdiv").removeChild($("kiv_vcomments_form")); + if($("kiv_vcomments_list"))$("kiv_picdiv").removeChild($("kiv_vcomments_list")); + fw.fade("kiv_share", 0); + fw.fade("kiv_closebutton", 0); + fw.fade("kiv_help", 0); + fw.fade("kiv_gpspic", 0); + fw.fade("kiv_prevdiv", 0); + fw.fade("kiv_tb", 0); + fw.fade("kiv_inshadow", 0); + + fw.fade("kiv_comdiv", 0, Array( function() { + fw.fade("thepicture", 0, Array( fw.resize, picdiv, 2, parseInt(picdiv.style.width), 1, Array( fw.resize, picdiv, 2, 0, 1, Array( function(){fw.removejs("kiv");if(typeof(kie_module) == "function"){$("kie_maindiv").style.zIndex = 1000;$("kie_tb").style.display = "block";}else{if(typeof(kis_module) != "function")fw.shadebody(0);}} )))); + } )); + + } + + function preventDefaultAction(aEvent) { + + aEvent.stopPropagation(); + + + aEvent.preventDefault(); + + + aEvent.returnValue = false; + + } + + function taste(aEvent) { + aEvent = aEvent ? aEvent : window.event; + var keyCode = aEvent.keyCode; + var charCode = aEvent.charCode ? aEvent.charCode : 0; + if(keyCode == 27){ + kiv.closeImage(); + preventDefaultAction(aEvent); + return false; + } + if(stop == 1 || flipped != 0)return; + + if(keyCode == 19 || keyCode == 32 || charCode == 32){ + if(kib.pics[cur_gallery].length > 1)kiv.slideshow($("ssbutton")); + preventDefaultAction(aEvent); + return false; + } + if(ss == 1)return false; + + + if(keyCode == 70 || charCode == 102 || keyCode == 102){ + kiv.flip_vcomm(); + preventDefaultAction(aEvent); + return false; + } + + if(keyCode == 33 || keyCode == 36){ + kiv.goon(-1); + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 34 || keyCode == 35){ + kiv.goon(1); + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 38){ + + if(kib.pics[cur_gallery][cur_pic].y+2* > windowY){ + if(posY < oversizeY){ + posY += 20; + var picdiv = $("kiv_picdiv"); + picdiv.style.marginTop = -(0.5*picdiv.offsetHeight) + posY + "px"; + } + } + + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 40){ + + if(kib.pics[cur_gallery][cur_pic].y+2* > windowY){ + if(oversizeY + posY > 0){ + posY -= 20; + var picdiv = $("kiv_picdiv"); + picdiv.style.marginTop = -(0.5*picdiv.offsetHeight) + posY + "px"; + } + } + + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 37){ + + if(kib.pics[cur_gallery][cur_pic].x+2* > windowX){ + if(posX < oversizeX){ + posX += 20; + var picdiv = $("kiv_picdiv"); + picdiv.style.marginLeft = -(0.5*picdiv.offsetWidth) + posX + "px"; + } + } else { + kiv.goon(-1); + } + + kiv.goon(-1); + + preventDefaultAction(aEvent); + return false; + } + if(keyCode == 39){ + + if(kib.pics[cur_gallery][cur_pic].x+2* > windowX){ + if(oversizeX + posX > 0){ + posX -= 20; + var picdiv = $("kiv_picdiv"); + picdiv.style.marginLeft = -(0.5*picdiv.offsetWidth) + posX + "px"; + } + } else { + kiv.goon(1); + } + + kiv.goon(1); + + preventDefaultAction(aEvent); + return false; + } + } + + + this.flip_vcomm = function(){ + if(flipped == 0){ + if($("kib_helpbox")){ + kib.hidehelp(); + } + flip(1); + flipped = 2; + return; + } + if(flipped == 1){ + flip(-1); + flipped = 2; + return; + } + } + + function flip(direction){ + if(stop == 1 || ss == 1 || flipped == 2)return; + + stop = 1; + + var picsize = calcpicsize(cur_pic); + picsize[0] += ; + picsize[1] += ; + + if(direction == 1){ + if(picsize[0] < 700)picsize[0] = 700; + if(picsize[1] < 410)picsize[1] = 410; + } else { + $("kiv_picdiv").removeChild($("kiv_vcomments_form")); + $("kiv_picdiv").removeChild($("kiv_vcomments_list")); + } + + var flipZ = (picsize[0]/(1.2*picsize[1]))*0.25; + if(flipZ > 0.5)flipZ = 0.5; + if(flipZ < 0.05)flipZ = 0.05; + + + if($("square_selector"))$("square_selector").style.display = "none"; + + + if($("kiv_gpspic"))$("kiv_gpspic").style.display = "none"; + + + $("kiv_help").style.display = "none"; + + $("kiv_comdiv").style.visibility = "hidden"; + var node = $("kiv_inshadow"); + node.style.display = "none"; + node.style.width = picsize[0] - + "px"; + node.style.height = picsize[1] - + "px"; + + var temp = 0; + + var node = document.createElement("div"); + node.innerHTML = ""; + var what = node.childNodes.length; + for(var i = 0; i < what; i++){ + $("kiv_picdiv").appendChild(node.childNodes[0]); + } + $("kiv_flipT1").onload = function(){ + temp++; + if(temp == 4)kiv.flip2(direction, picsize, flipZ); + }; + $("kiv_flipB1").onload = function(){ + temp++; + if(temp == 4)kiv.flip2(direction, picsize, flipZ); + }; + $("kiv_flipT2").onload = function(){ + temp++; + if(temp == 4)kiv.flip2(direction, picsize, flipZ); + }; + $("kiv_flipB2").onload = function(){ + temp++; + if(temp == 4)kiv.flip2(direction, picsize, flipZ); + }; + } + + this.flip2 = function(direction, picsize, flipZ){ + var obj = $("kiv_picdiv"); + fw.dropshadow(obj, 0); + fw.fade("thepicture", 0, Array( function(){ + + var node = document.createElement("div"); + node.id = "kiv_flip_"; + node.style.margin = "0px"; + node.style.position = "absolute"; + node.style.marginLeft = "-50%"; + node.style.marginTop = "-50%"; + node.style.top = "50%"; + node.style.left = "50%"; + node.style.padding = "0px"; + node.style.border = "0px"; + node.style.width = "100%"; + node.style.height = "100%"; + node.style.background = ""; + obj.appendChild(node); + + obj.style.background = "none"; + + fw.resize2( "kiv_picdiv", 2, 0, picsize[1], Array( function() { + $("kiv_flipT1").style.display = "none"; + $("kiv_flipB1").style.display = "none"; + $("kiv_flipT2").style.width = "100%"; + $("kiv_flipB2").style.width = "100%"; + fw.resize2( "kiv_picdiv", 2, picsize[0], picsize[1], Array( function() { + $("kiv_picdiv").removeChild($("kiv_flipT1")); + $("kiv_picdiv").removeChild($("kiv_flipB1")); + $("kiv_picdiv").removeChild($("kiv_flipT2")); + $("kiv_picdiv").removeChild($("kiv_flipB2")); + $("kiv_picdiv").removeChild($("kiv_flip_")); + $("kiv_picdiv").style.background = ""; + fw.dropshadow(obj, 1); + obj = $("thepicture"); + var picsize = calcpicsize(cur_pic); + if(direction == 1){ + obj.style.left = "px"; + obj.style.top = "px"; + obj.style.margin = "0px"; + obj.style.width = "230px"; + obj.style.padding = "5px"; + obj.style.height = (picsize[1]/picsize[0])*230 + "px"; + + obj.onclick = function(){ + kiv.flip_vcomm(); + }; + fw.fade(obj, 100); + + picsize[0] += ; + picsize[1] += ; + if(picsize[0] < 700)picsize[0] = 700; + if(picsize[1] < 410)picsize[1] = 410; + picsize[0] -= ; + picsize[1] -= ; + + var node = document.createElement("div"); + node.id = "kiv_vcomments_form"; + node.style.margin = "0px"; + node.style.position = "absolute"; + node.style.top = "px"; + node.style.left = "px"; + node.style.padding = "0px"; + node.style.textAlign = "left"; + node.style.border = "0px"; + node.style.lineHeight = "12px"; + node.style.font = ""; + node.style.color = ""; + node.innerHTML = "

"; + $("kiv_picdiv").appendChild(node); + $("vcomm_email").focus(); + $("vcomm_assystem").style.width = picsize[0]-240 + "px"; + + node = document.createElement("div"); + node.id = "kiv_vcomments_list"; + node.style.margin = "0px"; + node.style.position = "absolute"; + node.style.top = "px"; + node.style.left = "px"; + node.style.padding = "5px"; + node.style.textAlign = "left"; + node.style.lineHeight = "12px"; + node.style.width = picsize[0] + 10 - 10 + "px"; + node.style.height = picsize[1] - 260 - 5 + "px"; + node.style.background = ""; + node.style.overflowY = "scroll"; + node.style.font = ""; + node.style.color = ""; + node.innerHTML = ""; + $("kiv_picdiv").appendChild(node); + var params = "?file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&gallery=" + kib.dirs[cur_gallery] + "&get=1"; + fw.getHTTP("ki_vcomm.php" + params, kiv.getvcomm, null); + + } else { + flipped = 0; + obj.style.left = "50%"; + obj.style.top = "50%"; + obj.style.padding = "0px"; + obj.style.marginLeft = -0.5*picsize[0]+"px"; + obj.style.marginTop = -0.5*picsize[1]+"px"; + obj.style.width = picsize[0]+"px"; + obj.style.height = picsize[1]+"px"; + + obj.onclick = function(){ + kiv.goon(1); + }; + fw.fade(obj, 100, Array( function(){ + + + if($("square_selector"))$("square_selector").style.display = "block"; + + + checkgps(); + + + fw.fade("kiv_help", 51); + + + $("kiv_comdiv").style.visibility = "visible"; + $("kiv_inshadow").style.display = "block"; + + if($("focusme"))$("focusme").focus(); + + flipped = 0; + } ) ); + } + stop = 0; + } ) ); + fw.resize2( "kiv_flipT2", 4, 0, 0 ); + fw.resize2( "kiv_flipB2", 4, 0, 0 ); + fw.resize2( "kiv_flip_", 2, picsize[0], picsize[1] ); + } ) ); + fw.resize2( "kiv_flipT1", 4, 0, Math.round(picsize[1]*flipZ) ); + fw.resize2( "kiv_flipB1", 4, 0, Math.round(picsize[1]*flipZ) ); + fw.resize2( "kiv_flip_", 2, 0, Math.round(picsize[1]*(1-2*flipZ))+8 ); + + } ) ); + } + + this.sendvcomment = function(){ + var email = $("vcomm_email").value; + var assystem = $("vcomm_assystem").value; + if(email != "" && assystem != ""){ + var shareadd = location.search; + if(shareadd.indexOf('kit_code=') != -1) + shareadd = shareadd.substr(0, shareadd.indexOf('kit_code=')-1); + if(shareadd.indexOf('?') == -1) + shareadd = "?" + shareadd; + else + shareadd += "&"; + var slash = ""; + if(location.pathname.substr(0, 1) != "/")slash = "/"; + shareadd = encodeURIComponent(location.hostname + slash + location.pathname + shareadd + "kit_code=" + cur_gallery+"_"+cur_pic + location.hash); + var params = "?file=" + encodeURIComponent(kib.pics[cur_gallery][cur_pic].file) + "&gallery=" + kib.dirs[cur_gallery] + "&email=" + encodeURIComponent(email) + "&assystem=" + encodeURIComponent(assystem) + "&address=" + shareadd; + fw.getHTTP("ki_vcomm.php" + params, kiv.savedvcomm, null); + } else { + alert("ERROR: Name and/or comment empty."); + } + } + + this.savedvcomm = function(responseText){ + if(responseText == "1"){ + alert("ERROR: For spam avoiding reasons you are only allowed to post a comment every 3 minutes."); + } else if(responseText == "2") { + alert("ERROR: Your comment has been identified as spam."); + } else { + $("vcomm_email").value = ""; + $("vcomm_assystem").value = ""; + var vlist = $("kiv_vcomments_list"); + + var old = vlist.innerHTML; + vlist.style.visibility = "hidden"; + var oldd = parseInt(vlist.style.height); + vlist.style.height = "auto"; + var olds = fw.getDim(vlist, 1)[1]; + vlist.innerHTML = responseText; + var news = fw.getDim(vlist, 1)[1]; + vlist.innerHTML = old; + vlist.style.height = oldd + "px"; + vlist.style.visibility = "visible"; + fw.move(vlist, 3, 0, 280 + (news - olds), Array(function(){ + vlist.innerHTML = responseText; + vlist.style.top = "280px"; + })); + + alert("Thanks. Your comment will be visible after moderation."); + + } + } + + this.getvcomm = function(responseText){ + if(responseText != ""){ + if($("kiv_vcomments_list")){ + $("kiv_vcomments_list").innerHTML = responseText; + } + } + flipped = 1; + } + + + this.download = function(){ + var node = document.createElement("form"); + node.action = "ki_download.php"; + node.method = "post"; + node.innerHTML = ""; + document.body.appendChild(node); + node.submit(); + document.body.removeChild(node); + } +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_koschtit.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_koschtit.php new file mode 100644 index 00000000..bad23817 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_koschtit.php @@ -0,0 +1,404 @@ + filemtime($galleryfolder.$b[0])) ? -1 : 1; +} + +function cmp_2($a, $b) +{ + global $galleryfolder; + + $exif = @exif_read_data($galleryfolder.$a[0]); + $date1 = ""; + if (isset($exif['DateTimeOriginal'])) + $date1 = $exif['DateTimeOriginal']; + if (empty($date1) && isset($exif['DateTime'])) + $date1 = $exif['DateTime']; + if (!empty($date1)){ + $date1 = explode(':', str_replace(' ',':', $date1)); + if(sizeof($date1) > 4){ + $date1 = "{$date1[0]}-{$date1[1]}-{$date1[2]} {$date1[3]}:{$date1[4]}"; + if(sizeof($date1) > 5)$date1 .= ":{$date1[5]}"; + $date1 = strtotime($date1); + } + } else { + $date1 = filemtime($galleryfolder.$a[0]); + } + $exif = @exif_read_data($galleryfolder.$b[0]); + $date2 = ""; + if (isset($exif['DateTimeOriginal'])) + $date2 = $exif['DateTimeOriginal']; + if (empty($date2) && isset($exif['DateTime'])) + $date2 = $exif['DateTime']; + if (!empty($date2)){ + $date2 = explode(':', str_replace(' ',':', $date2)); + if(sizeof($date2) > 4){ + $date2 = "{$date2[0]}-{$date2[1]}-{$date2[2]} {$date2[3]}:{$date2[4]}"; + if(sizeof($date2) > 5)$date2 .= ":{$date1[5]}"; + $date2 = strtotime($date2); + } else { + $date2 = filemtime($galleryfolder.$b[0]); + } + } else { + $date2 = filemtime($galleryfolder.$b[0]); + } + + return $date1 > $date2 ? 1 : -1; +} + +function cmp_3($a, $b) +{ + return strcmp($a[0], $b[0]); +} + +//-------------------------------------------------------------------------- end functions -------------------------------------------------------------------------------- + +$supported = array("jpg","png","gif"); + +$reldir = ""; +if(isset($_POST['reldir']))$reldir = $_POST['reldir']; +$confdir = $reldir."ki_config/"; +$galleriesdir = $reldir."ki_galleries/"; +$basedir = $reldir."ki_base/"; + +if(isset($_POST['gallery'])) + $gallery = $_POST['gallery']; +else + exit(); + +if(isset($_POST['gallerynumber'])) + $gallerynumber = $_POST['gallerynumber']; +else + exit(); + +if(isset($_POST['startfrom'])) + $startfrom = $_POST['startfrom']; +else + $startfrom = 0; + +if(isset($_POST['collectinfo'])) + $collectinfo = 1; +else + $collectinfo = 0; + +// -------------- Sicherheitsabfragen! +if(preg_match("/[\.]*\//", $gallery))exit(); +// ---------- Ende Sicherheitsabfragen! + +include_once("../ki_config/ki_setup.php"); +if(is_file("../ki_config/".$gallery."_ki_setup.php")){ + include_once("../ki_config/".$gallery."_ki_setup.php"); + $configfile = "../ki_config/".$gallery."_ki_setup.php"; +} else { + $configfile = "../ki_config/ki_setup.php"; +} +$galleryfolder = "../ki_galleries/".$gallery."/"; +$thumbsfolder = $galleryfolder."thumbs/"; +$commentsfolder = $galleryfolder."comments/"; +$viewercommentsfolder = $galleryfolder."viewercomments/"; + +$temp = getimagesize("ki_nav_next.png"); +if($nav_always == 1 && $show_nav == 1)$fr_height -= ($temp[1]+18); +if($th_lines == "auto")$th_lines = ceil($thumbs/($th_per_line)); +if($th_width == "auto")$th_width = round($fr_width/($th_per_line)) - round($fr_height*0.04) - 4; +if($th_height == "auto")$th_height = round($fr_height/($th_lines)) - round($fr_height*0.04) - 4; +$th_width = $th_width - 2*$th_bord_size; +$th_height = $th_height - 2*$th_bord_size; +if(($th_lines*$th_per_line) < $thumbs)$thumbs = $th_lines*$th_per_line; + +$zeile = 1; +$spalte = 0; + +$spaltenbreite = $fr_width/($th_per_line); +$zeilenhoehe = $fr_height/($th_lines); + +/*------------------- error/warning checking ------------------*/ +if($collectinfo == 1){ + if (!function_exists('imagecreatetruecolor')) { + echo "
ERROR: KoschtIT Image Gallery can't find the PHP GD2 Library available. Please make sure you have removed the semicolon from this line ';extension=php_gd2.dll' in your php.ini and the library is correctly installed.
"; + } + if(!is_dir($galleryfolder)) { + echo "
ERROR: KoschtIT Image Gallery can't find the following folder on the server: '".htmlentities($gallery)."' . Please check if the folder is available in the 'ki_galleries' folder.
"; + echo ""; + exit(); + } + if($checkgps == 1){ + if(!function_exists("exif_read_data")){ + if($show_warnings == 1)echo "
WARNING: You don't have the exif extension for PHP installed. The script won't be able to read any positioning metadata from your pictures. Please disable '\$checkgps' for fixing this issue. Set '\$show_warnings = 0' if you don't want to see this warning again.
"; + } + } + if($pic_order == 3){ + if(!function_exists("exif_read_data")){ + $pic_order = 2; + if($show_warnings == 1)echo "
WARNING: You don't have the exif extension for PHP installed. You can't set \'$pic_order\' to 3. Please set a different value for '\$pic_order'. Set '\$show_warnings = 0' if you don't want to see this warning again.
"; + } + } + if($checkgps == 1 && $cellinfo == 1){ + if(!function_exists("curl_init")){ + if($show_warnings == 1)echo "
WARNING: You don't have the curl extension for PHP installed. You will need this extension for retrieving geo-tagging information from opencellid.com . Please disable '\$cellinfo' for fixing this issue. Set '\$show_warnings = 0' if you don't want to see this warning again.
"; + } + } + if($thumbs_to_disk == 1){ + $error = 0; + if(!is_dir($thumbsfolder)){ + @chmod($galleryfolder, 0777); + if( !@mkdir($thumbsfolder, 0777) ) { + $error = 1; + } + } else { + if(!is_file($thumbsfolder."test") && !$f = @fopen($thumbsfolder."test", 'w')){ + $error = 1; + } + @fclose($f); + @unlink($thumbsfolder."test"); + } + if($error == 1 && $show_warnings == 1)echo "
WARNING: KoschtIT Image Gallery can't get writing permission on the server (\"ki_galleries\\".$gallery."\\thumbs\"-folder). Thumbs won't be saved. Please disable '\$thumbs_to_disk' or grant writing permission. Set '\$show_warnings = 0' if you don't want to see this warning again.
"; + } + if($comments == 1){ + $error = 0; + if(!is_dir($commentsfolder)){ + @chmod($galleryfolder, 0777); + if( !@mkdir($commentsfolder, 0777) ) { + $error = 1; + } + } else { + if(!is_file($commentsfolder."test") && !$f = @fopen($commentsfolder."test", 'w')){ + $error = 1; + } + @fclose($f); + @unlink($commentsfolder."test"); + } + if($error == 1 && $show_warnings == 1)echo "
WARNING: KoschtIT Image Gallery can't get writing permission on the server (\"ki_galleries\\".$gallery."\\comments\"-folder). Picture comments won't be saved, but you can still use '\$comm_auto'. Please disable '\$comments' or grant writing permission. Set '\$show_warnings = 0' if you don't want to see this warning again.
"; + } + if($viewercomments == 1){ + $error = 0; + if(!is_dir($viewercommentsfolder)){ + @chmod($galleryfolder, 0777); + if( !@mkdir($viewercommentsfolder, 0777) ) { + $error = 1; + } + } else { + if(!is_file($viewercommentsfolder."test") && !$f = @fopen($viewercommentsfolder."test", 'w')){ + $error = 1; + } + @fclose($f); + @unlink($viewercommentsfolder."test"); + } + if($error == 1 && $show_warnings == 1)echo "
WARNING: KoschtIT Image Gallery can't get writing permission on the server (\"ki_galleries\\".$gallery."\\viewercomments\"-folder). User comments won't be saved. Please disable '\$viewercomments' or grant writing permission. Set '\$show_warnings = 0' if you don't want to see this warning again.
"; + } +} +/*------------------- end error/warning checking ------------------*/ + +/*------------------- config settings ------------------*/ +$savefile = $gallery."_lastmodified"; +$lastmodified = filemtime($configfile); +$saved = $fr_width.$fr_height.$thumbs.$th_per_line.$th_lines.$th_width.$th_height.$th_bord_size.$th_bord_hover_increase.$th_to_square.$th_2sq_crop_vert.$th_2sq_crop_hori.$show_nav.$nav_always; +$writestring = ""; +if(!file_exists($savefile))@file_put_contents($savefile, $writestring); +if(!file_exists($savefile)) { + $thumbs_to_disk = 0; +} else { + include_once($savefile); + if($lm_saved !== $saved){ + @file_put_contents($savefile, $writestring); + $matches = @glob($thumbsfolder."*.*", GLOB_ERR); + if(is_array($matches)){ + foreach($matches as $sf) { + if(!is_dir($sf) && !is_link($sf)){ + @unlink($sf); + } + } + } + } else { + $lastmodified = $lm_lastmodified; + } +} +/*------------------- end config settings ------------------*/ + +$files = array(); +$temp = array(); +$savedfolderhash = 0; +if(is_file($gallery."_dir")){ + $temp = explode(PHP_EOL, file_get_contents($gallery."_dir")); + $savedfolderhash = unserialize($temp[0]); +} +//$folderhash = pic_order + MTime of $galleryfolder + fileSize of all files +$folderhash = $pic_order; +$iterator = new DirectoryIterator($galleryfolder); +foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + $folderhash += $fileInfo->getMTime(); + continue; + } elseif($fileInfo->isFile()) { + $folderhash += $fileInfo->getSize(); + } +} +if($folderhash != $savedfolderhash){ + if($pic_order == 4 && sizeof($temp) > 1){ + $files = unserialize($temp[1]); + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $newcandidate = array($file, $imgsize[0], $imgsize[1]); + if(!in_array($newcandidate, $files))$files[] = $newcandidate; + } + } + reset($files); + } else { + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $files[] = array($file, $imgsize[0], $imgsize[1]); + } + } + switch($pic_order){ + case 0: + usort($files, "cmp_1"); + break; + case 1: + usort($files, "cmp_0"); + break; + case 2: + usort($files, "cmp_3"); + break; + case 3: + usort($files, "cmp_2"); + break; + default: + usort($files, "cmp_1"); + break; + } + reset($files); + } +} else { + $files = unserialize($temp[1]); +} + +if($collectinfo == 1){ + $id = 0; + $fileinfo = ""; + foreach ($files as $file) { + if($id != 0)$fileinfo .= ", "; + $id++; + $fileinfo .= "{ \"file\" : \"".$file[0]."\", \"x\" : ".$file[1].", \"y\" : ".$file[2]." }"; + } + echo ""; + @file_put_contents($gallery."_dir", serialize($folderhash).PHP_EOL.serialize($files)); +} + +$id = 0; +foreach ($files as $file) { + $id++; + if($id > $startfrom) { + + $spalte++; + if($spalte == $th_per_line+1){ + $zeile++; + $spalte = 1; + } + + $breite = $file[1]; + $hoehe = $file[2]; + + if( ($breite / $hoehe) > 1){ + $k = $hoehe / $breite; + $breite = $th_width; + $hoehe = $k*$breite; + if($hoehe > $th_height){ + $hoehe = $th_height; + $breite = (1/$k) * $hoehe; + } + } else { + $k = $breite / $hoehe; + $hoehe = $th_height; + $breite = $k*$hoehe; + if($breite > $th_width){ + $breite = $th_width; + $hoehe = (1/$k) * $breite; + } + } + + if($th_to_square == 1) { + if($th_width < $th_height){ + $breite = $th_width; + } else { + $breite = $th_height; + } + $hoehe = $breite; + } + + $x_pos = round($spaltenbreite*($spalte - 0.5) - 0.5*$breite) - $th_bord_size; + $y_pos = round($zeilenhoehe*($zeile - 0.5) - 0.5*$hoehe) - $th_bord_size; + + $breite = round($breite); + $hoehe = round($hoehe); + + if($th_bord_hover_increase > 1){ + $inc_breite = round($breite*$th_bord_hover_increase); + $inc_hoehe = round($breite*$th_bord_hover_increase); + } else { + $inc_breite = $breite; + $inc_hoehe = $hoehe; + } + + if($zeile <= $th_lines && ($id-$startfrom) <= $thumbs) + { + $src = $basedir."ki_makepic.php?file=".$gallery."/".rawurlencode($file[0])."&width=".$inc_breite."&height=".$inc_hoehe; + $style = "border:".$th_bord_size."px solid ".$th_bord_color."; position:absolute; left:".$x_pos."px; top:".$y_pos."px; cursor:pointer; visibility:hidden; margin:0px; width:".$breite."px; height:".$hoehe."px;"; + if($thumbs_to_disk == 1){ + if(!is_file($thumbsfolder.$lastmodified.$file[0])){ + $src .= "&picname=".$lastmodified.rawurlencode($file[0]); + } else { + $src = $galleriesdir.$gallery."/thumbs/".$lastmodified.$file[0]; + } + } + echo "".$breite."_".$hoehe."_".$x_pos."_".$y_pos.""; + } + } +} + +if(($id-$startfrom) > $thumbs)echo ""; +if($startfrom != 0)echo ""; +?> diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_loading.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_loading.gif new file mode 100644 index 00000000..3cd7d9de Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_loading.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_makepic.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_makepic.php new file mode 100644 index 00000000..93606187 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_makepic.php @@ -0,0 +1,317 @@ += 1) + $wide = 1; + else + $wide = 0; + + $custom = -1; + if(is_file("custom")){ + $content = @file_get_contents("custom"); + $pictures = explode("|", $content); + $picname = $gallery."_".$filename; + for($i = 0; $i < count($pictures); $i++){ + if(strpos($pictures[$i], $picname) !== FALSE){ + $custom = substr($pictures[$i], strpos($pictures[$i], "=") + 1); + } + } + } + + if($custom == -1){ + switch($th_2sq_crop_vert){ + case "top": + $src_y = 0; + if($wide == 1) + $src_h = $imgsize[1]; + else + $src_h = $imgsize[0]; + break; + case "middle"; + if($wide == 1){ + $src_y = 0; + $src_h = $imgsize[1]; + } else { + $src_y = $imgsize[1]*0.5-0.5*$imgsize[0]; + $src_h = $imgsize[0]; + } + break; + case "bottom": + if($wide == 1){ + $src_y = 0; + $src_h = $imgsize[1]; + } else { + $src_y = $imgsize[1]-$imgsize[0]; + $src_h = $imgsize[0]; + } + break; + } + switch($th_2sq_crop_hori){ + case "left": + $src_x = 0; + if($wide == 1) + $src_w = $imgsize[1]; + else + $src_w = $imgsize[0]; + break; + case "center"; + if($wide == 1){ + $src_x = $imgsize[0]*0.5-0.5*$imgsize[1]; + $src_w = $imgsize[1]; + } else { + $src_x = 0; + $src_w = $imgsize[0]; + } + break; + case "right": + if($wide == 1){ + $src_x = $imgsize[0]-$imgsize[1]; + $src_w = $imgsize[1]; + } else { + $src_x = 0; + $src_w = $imgsize[0]; + } + break; + } + } else { + if($wide == 1){ + $src_x = $custom*$imgsize[0]; + $src_y = 0; + $src_w = $imgsize[1]; + $src_h = $imgsize[1]; + } else { + $src_y = $custom*$imgsize[1]; + $src_x = 0; + $src_h = $imgsize[0]; + $src_w = $imgsize[0]; + } + } +} + + +$limit = getMemLimit(); +$need = getNeededMemoryForImageCreate($imgsize[0], $imgsize[1]); +if($need > $limit){ + while($limit < $need){ + if(!@ini_set("memory_limit", strval(round(return_bytes(ini_get("memory_limit"))*2))) || $limit < 0){ + if(!isset($_GET['fullimg'])){ + $im = imagecreate($breite, $hoehe); + $bg = imagecolorallocate($im, 255, 255, 255); + imagefill($im, 0, 0, $bg); + $textcolor = imagecolorallocate($im, 255, 0, 0); + imagestringwrap($im, 2, 2, 2, "ERROR: '".substr($file, strrpos($file, "/")+1)."' needs too much memory to create this thumb. Please reduce it's size by hand.", $textcolor, $breite-2); + header('Content-type: image/png'); + imagepng($im); + imagedestroy($im); + exit(); + } else { + header("Location: ".$file); + exit(); + } + } else { + $limit = return_bytes(ini_get("memory_limit")) - memory_get_usage(); + } + } +} + +ini_set("gd.jpeg_ignore_warning", true); + +switch(strtolower(substr($file, -3))){ + case "jpg": + $image = @imagecreatefromjpeg($file); + break; + case "png": + $image = @imagecreatefrompng($file); + break; + case "gif": + $image = @imagecreatefromgif($file); + break; + default: + exit; + break; +} + +$limit = getMemLimit(); +$need = getNeededMemoryForImageCreate($breite, $hoehe); +if($need > $limit){ + while($limit < $need){ + if(!@ini_set("memory_limit", strval(round(return_bytes(ini_get("memory_limit"))*2))) || $limit < 0){ + if(!isset($_GET['fullimg'])){ + $im = imagecreate($breite, $hoehe); + $bg = imagecolorallocate($im, 255, 255, 255); + imagefill($im, 0, 0, $bg); + $textcolor = imagecolorallocate($im, 255, 0, 0); + imagestringwrap($im, 2, 2, 2, "ERROR: '".substr($file, strrpos($file, "/")+1)."' needs too much memory to create this thumb. Please reduce it's size by hand.", $textcolor, $breite-2); + header('Content-type: image/png'); + imagepng($im); + imagedestroy($im); + exit(); + } else { + header("Location: ".$file); + exit(); + } + } else { + $limit = return_bytes(ini_get("memory_limit")) - memory_get_usage(); + } + } +} + +$bild = imagecreatetruecolor($breite, $hoehe); +imagealphablending($bild, false); +imagesavealpha($bild, true); +imagecopyresampled($bild, $image, 0, 0, $src_x, $src_y, $breite, $hoehe, $src_w, $src_h); +imagedestroy($image); + +if(isset($_GET['picname'])){ + $picname = rawurldecode($_GET['picname']); + // -------------- Sicherheitsabfragen! + if(preg_match("/[\.]*\//", $picname))exit(); + // ---------- Ende Sicherheitsabfragen! + switch(strtolower(substr($file, -3))){ + case "jpg": + @imagejpeg($bild, "../ki_galleries/".$gallery."/thumbs/".$_GET['picname'], 80); + break; + case "png": + @imagepng($bild, "../ki_galleries/".$gallery."/thumbs/".$_GET['picname']); + break; + case "gif": + @imagegif($bild, "../ki_galleries/".$gallery."/thumbs/".$_GET['picname']); + break; + } +} else { + //------------------ Start Caching --------------------------------- + header('Last-Modified: '.$gmt_mtime); + header('Cache-Control: public'); + header('Expires: '.gmdate('D, d M Y H:i:s', strtotime('+1 month')).' GMT'); + //------------------ Ende Caching --------------------------------- +} + +switch(strtolower(substr($file, -3))){ + case "jpg": + header("Content-Type: image/jpeg"); + imagejpeg($bild, "", 80); + break; + case "png": + header("Content-Type: image/png"); + imagepng($bild); + break; + case "gif": + header("Content-Type: image/gif"); + imagegif($bild); + break; +} + +imagedestroy($bild); +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_managefolders.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_managefolders.php new file mode 100644 index 00000000..1b8956fd --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_managefolders.php @@ -0,0 +1,122 @@ +isDot()){ + continue; + } else if($fileInfo->isDir()){ + $info = calcSize($dir.$fileInfo->getBasename()."/"); + $size += $info[1]; + } else if($fileInfo->isFile()){ + $size += $fileInfo->getSize(); + $num += 1; + } + } + return array($num, $size); +} + +function listFolders(){ + $setting = ""; + $iterator = new DirectoryIterator("../ki_galleries/"); + foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + continue; + } else if($fileInfo->isDir()) { + $info = calcSize("../ki_galleries/".$fileInfo->getBasename()."/"); + $setting .= "{\"folder\":\"".addslashes($fileInfo->getBasename())."\", \"size\":".round(($info[1]/1024/1024), 2).", \"num\":".$info[0]." }, "; + } + } + $setting = substr($setting, 0, -2)." "; + return $setting; +} + +function deleteAll($folder){ + $iterator = new DirectoryIterator($folder); + foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + continue; + } else if($fileInfo->isFile()){ + @unlink($folder.$fileInfo->getBasename()); + } else if($fileInfo->isDir()){ + deleteAll($folder.$fileInfo->getBasename()."/"); + } + } + return @rmdir($folder); +} + +function emptyAll($folder){ + $iterator = new DirectoryIterator($folder); + foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + continue; + } else if($fileInfo->isFile()){ + if(!@unlink($folder.$fileInfo->getBasename()))return false; + } else if($fileInfo->isDir()){ + deleteAll($folder.$fileInfo->getBasename()."/"); + } + } + return true; +} + +/* ---------------------------------------------------------- end functions -------------------------------------------------- */ + +include_once("../ki_config/ki_setup.php"); + +$pwok = 0; +if(isset($_SESSION['pwquery'])){ + if($_SESSION['pwquery'] === $pw)$pwok = 1; +} + +if($pwok == 1){ + if(isset($_POST['list'])){ + echo "[ ".listFolders()." ]"; + } + if(isset($_POST['createnew'])){ + $error = ""; + $folder = "../ki_galleries/".$_POST['createnew']."/"; + if(!is_dir($folder)){ + if( !@mkdir($folder, 0777) ) { + $error = "ERROR: Could not create new folder. Check permissions."; + } + } else { + $error = "ERROR: Folder already exists."; + } + if($error === "") + echo "[ ".listFolders()." ]"; + else + echo "{\"error\":\"".$error."\" }"; + } + if(isset($_POST['delete'])){ + $error = ""; + $folder = "../ki_galleries/".$_POST['delete']."/"; + if(is_dir($folder)){ + if(!deleteAll($folder))$error = "ERROR: Could not delete folder. Check permissions."; + } else { + $error = "ERROR: Folder not existent."; + } + if($error === "") + echo "[ ".listFolders()." ]"; + else + echo "{\"error\":\"".$error."\" }"; + } + if(isset($_POST['empty'])){ + $error = ""; + $folder = "../ki_galleries/".$_POST['empty']."/"; + if(is_dir($folder)){ + if(!emptyAll($folder))$error = "ERROR: Could not empty folder. Check permissions."; + } else { + $error = "ERROR: Folder not existent."; + } + if($error === "") + echo "[ ".listFolders()." ]"; + else + echo "{\"error\":\"".$error."\" }"; + } +} +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_mouse_help.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_mouse_help.png new file mode 100644 index 00000000..74624e72 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_mouse_help.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_close.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_close.png new file mode 100644 index 00000000..b2c2d106 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_close.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_download.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_download.png new file mode 100644 index 00000000..4e9c99b2 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_download.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_full.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_full.png new file mode 100644 index 00000000..30e18e04 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_full.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_globe.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_globe.png new file mode 100644 index 00000000..d4aaa8fd Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_globe.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_info.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_info.png new file mode 100644 index 00000000..431a975d Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_info.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_link.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_link.png new file mode 100644 index 00000000..c2ac959d Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_link.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_next.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_next.png new file mode 100644 index 00000000..45c77753 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_next.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_play.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_play.png new file mode 100644 index 00000000..1603a9d6 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_play.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_prev.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_prev.png new file mode 100644 index 00000000..11ef619c Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_prev.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_stop.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_stop.png new file mode 100644 index 00000000..685a4cbe Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_stop.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_vcomm.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_vcomm.png new file mode 100644 index 00000000..50ef6f1d Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nav_vcomm.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_next.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_next.png new file mode 100644 index 00000000..699a849b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_next.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_noimage.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_noimage.gif new file mode 100644 index 00000000..35d42e80 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_noimage.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojs.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojs.php new file mode 100644 index 00000000..90bc2fc7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojs.php @@ -0,0 +1,447 @@ +"; + } else { + if($style != "")$style = " style='".$style."' "; + echo ""; + } +} + +if (!function_exists('file_put_contents')) { + function file_put_contents($filename, $data) { + $f = @fopen($filename, 'w'); + if (!$f) { + return false; + } else { + $bytes = fwrite($f, $data); + fclose($f); + return $bytes; + } + } +} + +if (!function_exists('file_get_contents')) { + function file_get_contents($filename) { + if ($handle = @fopen($filename, 'rb')) { + $data = fread($handle, filesize($filename)); + fclose($fh); + return $data; + } + } +} + +function cmp_0($a, $b) +{ + global $galleryfolder; + return (filemtime($galleryfolder.$a[0]) < filemtime($galleryfolder.$b[0])) ? -1 : 1; +} + +function cmp_1($a, $b) +{ + global $galleryfolder; + return (filemtime($galleryfolder.$a[0]) > filemtime($galleryfolder.$b[0])) ? -1 : 1; +} + +function cmp_2($a, $b) +{ + global $galleryfolder; + + $exif = @exif_read_data($galleryfolder.$a[0]); + $date1 = ""; + if (isset($exif['DateTimeOriginal'])) + $date1 = $exif['DateTimeOriginal']; + if (empty($date1) && isset($exif['DateTime'])) + $date1 = $exif['DateTime']; + if (!empty($date1)){ + $date1 = explode(':', str_replace(' ',':', $date1)); + $date1 = "{$date1[0]}-{$date1[1]}-{$date1[2]} {$date1[3]}:{$date1[4]}"; + if(sizeof($date1) > 5)$date1 .= ":{$date1[5]}"; + $date1 = strtotime($date1); + } else { + $date1 = filemtime($galleryfolder.$a[0]); + } + $exif = @exif_read_data($galleryfolder.$b[0]); + $date2 = ""; + if (isset($exif['DateTimeOriginal'])) + $date2 = $exif['DateTimeOriginal']; + if (empty($date2) && isset($exif['DateTime'])) + $date2 = $exif['DateTime']; + if (!empty($date2)){ + $date2 = explode(':', str_replace(' ',':', $date2)); + $date2 = "{$date2[0]}-{$date2[1]}-{$date2[2]} {$date2[3]}:{$date2[4]}"; + if(sizeof($date2) > 5)$date2 .= ":{$date1[5]}"; + $date2 = strtotime($date2); + } else { + $date2 = filemtime($galleryfolder.$b[0]); + } + + return $date1 > $date2 ? 1 : -1; +} + +function cmp_3($a, $b) +{ + return strcmp($a[0], $b[0]); +} + +//-------------------------------------------------------------------------- end functions -------------------------------------------------------------------------------- + +@ini_set("default_charset", "utf-8"); +header('Content-type: text/html; charset=utf-8'); + +$browser = $_SERVER['HTTP_USER_AGENT']; + +if(preg_match("/Opera/",$browser)) + $browser = "opera"; +elseif(preg_match("/MSIE [9]/",$browser)) + $browser = "ie9"; +elseif(preg_match("/MSIE [7-8]/",$browser)) + $browser = "ie7"; +elseif(preg_match("/MSIE [1-6]/",$browser)) + $browser = "ie6"; +elseif(preg_match("/AppleWebKit/",$browser)) + $browser = "webkit"; +else + $browser = "gecko"; + +if($browser == "ie6") + $posfix = "absolute"; +else + $posfix = "fixed"; + +$supported = array("jpg","png","gif"); + +if(isset($_GET['gallery'])) + $gallery = $_GET['gallery']; +else + exit(); + +if(isset($_GET['site'])) + $site = $_GET['site']; +else + exit(); + +if(isset($_GET['startfrom'])) + $startfrom = $_GET['startfrom']; +else + $startfrom = 0; + +if(isset($_GET['explorer'])) + $explorer = 1; +else + $explorer = 0; + +// -------------- Sicherheitsabfragen! +if(preg_match("/[\.]*\//", $gallery))exit(); +// ---------- Ende Sicherheitsabfragen! + +include_once("../ki_config/ki_setup.php"); +if(is_file("../ki_config/".$gallery."_ki_setup.php")){ + include_once("../ki_config/".$gallery."_ki_setup.php"); + $configfile = "../ki_config/".$gallery."_ki_setup.php"; +} else { + $configfile = "../ki_config/ki_setup.php"; +} +$galleryfolder = "../ki_galleries/".$gallery."/"; +$thumbsfolder = $galleryfolder."thumbs/"; +$commentsfolder = $galleryfolder."comments/"; + +$temp = getimagesize("ki_nav_next.png"); +if($nav_always == 1 && $show_nav == 1)$fr_height -= ($temp[1]+18); +if($th_lines == "auto")$th_lines = ceil($thumbs/($th_per_line)); +if($th_width == "auto")$th_width = round($fr_width/($th_per_line)) - round($fr_height*0.04) - 4; +if($th_height == "auto")$th_height = round($fr_height/($th_lines)) - round($fr_height*0.04) - 4; +$th_width = $th_width - 2*$th_bord_size; +$th_height = $th_height - 2*$th_bord_size; +if(($th_lines*$th_per_line) < $thumbs)$thumbs = $th_lines*$th_per_line; + +$zeile = 1; +$spalte = 0; + +$spaltenbreite = $fr_width/($th_per_line); +$zeilenhoehe = $fr_height/($th_lines); +?> + + + + + + +KoschtIT Image Gallery: <?php echo $gallery ?> + + + + + +ERROR: KoschtIT Image Gallery can't find the PHP GD2 Library available. Please make sure you have removed the semicolon from this line ';extension=php_gd2.dll' in your php.ini and the library is correctly installed."; +} +if(!is_dir($galleryfolder)) { + echo "
ERROR: KoschtIT Image Gallery can't find the following folder on the server: '".htmlentities($gallery)."' . Please check if the folder is available in the 'ki_galleries' folder.
"; + exit(); +} +if($pic_order == 3){ + if(!function_exists("exif_read_data")){ + $pic_order = 2; + } +} +/*------------------- end error/warning checking ------------------*/ + +/*------------------- config settings ------------------*/ +$savefile = $gallery."_lastmodified"; +$lastmodified = filemtime($configfile); +$saved = $fr_width.$fr_height.$thumbs.$th_per_line.$th_lines.$th_width.$th_height.$th_bord_size.$th_bord_hover_increase.$th_to_square.$th_2sq_crop_vert.$th_2sq_crop_hori.$show_nav.$nav_always; +$writestring = ""; +if(!file_exists($savefile))@file_put_contents($savefile, $writestring); +if(!file_exists($savefile)) { + $thumbs_to_disk = 0; +} else { + include_once($savefile); + if($lm_saved !== $saved){ + @file_put_contents($savefile, $writestring); + $matches = @glob($thumbsfolder."*.*", GLOB_ERR); + if(is_array($matches)){ + foreach($matches as $sf) { + if(!is_dir($sf) && !is_link($sf)){ + @unlink($sf); + } + } + } + } else { + $lastmodified = $lm_lastmodified; + } +} +/*------------------- end config settings ------------------*/ + +$files = array(); +$temp = array(); +$savedfolderhash = 0; +if(is_file($gallery."_dir")){ + $temp = explode(PHP_EOL, file_get_contents($gallery."_dir")); + $savedfolderhash = unserialize($temp[0]); +} +//$folderhash = pic_order + MTime of $galleryfolder + fileSize of all files +$folderhash = $pic_order; +$iterator = new DirectoryIterator($galleryfolder); +foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + $folderhash += $fileInfo->getMTime(); + continue; + } elseif($fileInfo->isFile()) { + $folderhash += $fileInfo->getSize(); + } +} +if($folderhash != $savedfolderhash){ + if($pic_order == 4 && sizeof($temp) > 1){ + $files = unserialize($temp[1]); + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $newcandidate = array($file, $imgsize[0], $imgsize[1]); + if(!in_array($newcandidate, $files))$files[] = $newcandidate; + } + } + reset($files); + } else { + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $files[] = array($file, $imgsize[0], $imgsize[1]); + } + } + switch($pic_order){ + case 0: + usort($files, "cmp_1"); + break; + case 1: + usort($files, "cmp_0"); + break; + case 2: + usort($files, "cmp_3"); + break; + case 3: + usort($files, "cmp_2"); + break; + default: + usort($files, "cmp_1"); + break; + } + reset($files); + } +} else { + $files = unserialize($temp[1]); +} + +if($explorer == 1){ + $temp = getimagesize("ki_nav_close.png"); +?> +
+ +
+"; +} + + +$id = 0; +foreach ($files as $file) { + $id++; + if($id > $startfrom) { + + $spalte++; + if($spalte == $th_per_line+1){ + $zeile++; + $spalte = 1; + } + + $breite = $file[1]; + $hoehe = $file[2]; + + if( ($breite / $hoehe) > 1){ + $k = $hoehe / $breite; + $breite = $th_width; + $hoehe = $k*$breite; + if($hoehe > $th_height){ + $hoehe = $th_height; + $breite = (1/$k) * $hoehe; + } + } else { + $k = $breite / $hoehe; + $hoehe = $th_height; + $breite = $k*$hoehe; + if($breite > $th_width){ + $breite = $th_width; + $hoehe = (1/$k) * $breite; + } + } + + if($th_to_square == 1) { + if($th_width < $th_height){ + $breite = $th_width; + } else { + $breite = $th_height; + } + $hoehe = $breite; + } + + $x_pos = round($spaltenbreite*($spalte - 0.5) - 0.5*$breite) - $th_bord_size; + $y_pos = round($zeilenhoehe*($zeile - 0.5) - 0.5*$hoehe) - $th_bord_size; + + $breite = round($breite); + $hoehe = round($hoehe); + + if($th_bord_hover_increase > 1){ + $inc_breite = round($breite*$th_bord_hover_increase); + $inc_hoehe = round($breite*$th_bord_hover_increase); + } else { + $inc_breite = $breite; + $inc_hoehe = $hoehe; + } + + if(($zeile <= $th_lines && ($id-$startfrom) <= $thumbs) || $explorer == 1) + { + $src = "ki_makepic.php?file=".$gallery."/".rawurlencode($file[0])."&width=".$inc_breite."&height=".$inc_hoehe; + $style = "width:".$breite."px; height:".$hoehe."px;"; + $exp = ""; + if($explorer == 0){ + $style .= " position:absolute; left:".$x_pos."px; top:".$y_pos."px;"; + } else { + $exp .= "&explorer=1"; + } + if($thumbs_to_disk == 1){ + if(!is_file($thumbsfolder.$lastmodified.$file[0])){ + $src .= "&picname=".$lastmodified.rawurlencode($file[0]); + } else { + $src = "../ki_galleries/".$gallery."/thumbs/".$lastmodified.$file[0]; + } + } + echo ""; + } + } +} + + +if($explorer == 0 && $show_nav == 1){ + $breite = 0; + if($nav_pos === "right"){ + $xpos = "right:3px;"; + } elseif($nav_pos === "left"){ + $xpos = "left:3px;"; + } else { + $temp = getimagesize("ki_nav_close.png"); + $temp = $temp[0]+4; + $breite = $temp; + if($slideshow == 1 && $id > 1)$breite += $temp; + if($startfrom != 0)$breite += $temp; + if(($id-$startfrom) > $thumbs)$breite += $temp; + $xpos = "left:50%; margin-left:-".(0.5*($breite+10))."px;"; + } +?> +
+ + 1){ +?> + + + + $thumbs){ +?> + + +
+"; +?> + + + + \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojsdisplayimage.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojsdisplayimage.php new file mode 100644 index 00000000..10a35720 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_nojsdisplayimage.php @@ -0,0 +1,427 @@ +"; + } else { + if($style != "")$style = " style='".$style."' "; + echo ""; + } +} + +if (!function_exists('file_put_contents')) { + function file_put_contents($filename, $data) { + $f = @fopen($filename, 'w'); + if (!$f) { + return false; + } else { + $bytes = fwrite($f, $data); + fclose($f); + return $bytes; + } + } +} + +if (!function_exists('file_get_contents')) { + function file_get_contents($filename) { + if ($handle = @fopen($filename, 'rb')) { + $data = fread($handle, filesize($filename)); + fclose($fh); + return $data; + } + } +} + +function cmp_0($a, $b) +{ + global $galleryfolder; + return (filemtime($galleryfolder.$a[0]) < filemtime($galleryfolder.$b[0])) ? -1 : 1; +} + +function cmp_1($a, $b) +{ + global $galleryfolder; + return (filemtime($galleryfolder.$a[0]) > filemtime($galleryfolder.$b[0])) ? -1 : 1; +} + +function cmp_2($a, $b) +{ + global $galleryfolder; + + $exif = @exif_read_data($galleryfolder.$a[0]); + $date1 = ""; + if (isset($exif['DateTimeOriginal'])) + $date1 = $exif['DateTimeOriginal']; + if (empty($date1) && isset($exif['DateTime'])) + $date1 = $exif['DateTime']; + if (!empty($date1)){ + $date1 = explode(':', str_replace(' ',':', $date1)); + $date1 = "{$date1[0]}-{$date1[1]}-{$date1[2]} {$date1[3]}:{$date1[4]}"; + if(sizeof($date1) > 5)$date1 .= ":{$date1[5]}"; + $date1 = strtotime($date1); + } else { + $date1 = filemtime($galleryfolder.$a[0]); + } + $exif = @exif_read_data($galleryfolder.$b[0]); + $date2 = ""; + if (isset($exif['DateTimeOriginal'])) + $date2 = $exif['DateTimeOriginal']; + if (empty($date2) && isset($exif['DateTime'])) + $date2 = $exif['DateTime']; + if (!empty($date2)){ + $date2 = explode(':', str_replace(' ',':', $date2)); + $date2 = "{$date2[0]}-{$date2[1]}-{$date2[2]} {$date2[3]}:{$date2[4]}"; + if(sizeof($date2) > 5)$date2 .= ":{$date1[5]}"; + $date2 = strtotime($date2); + } else { + $date2 = filemtime($galleryfolder.$b[0]); + } + + return $date1 > $date2 ? 1 : -1; +} + +function cmp_3($a, $b) +{ + return strcmp($a[0], $b[0]); +} + +function is_utf8($str) { + $c=0; $b=0; + $bits=0; + $len=strlen($str); + for($i=0; $i<$len; $i++){ + $c=ord($str[$i]); + if($c > 128){ + if(($c >= 254)) return false; + elseif($c >= 252) $bits=6; + elseif($c >= 248) $bits=5; + elseif($c >= 240) $bits=4; + elseif($c >= 224) $bits=3; + elseif($c >= 192) $bits=2; + else return false; + if(($i+$bits) > $len) return false; + while($bits > 1){ + $i++; + $b=ord($str[$i]); + if($b < 128 || $b > 191) return false; + $bits--; + } + } + } + return true; +} + +function utf8_encode_safe($string){ + + if( is_utf8($string) ) + return $string; + else + return utf8_encode($string); +} + +/* ---------------------------------------------------------- end functions -------------------------------------------------- */ + +$browser = $_SERVER['HTTP_USER_AGENT']; + +if(preg_match("/Opera/",$browser)) + $browser = "opera"; +elseif(preg_match("/MSIE [9]/",$browser)) + $browser = "ie9"; +elseif(preg_match("/MSIE [7-8]/",$browser)) + $browser = "ie7"; +elseif(preg_match("/MSIE [1-6]/",$browser)) + $browser = "ie6"; +elseif(preg_match("/AppleWebKit/",$browser)) + $browser = "webkit"; +else + $browser = "gecko"; + +if($browser == "ie6") + $posfix = "absolute"; +else + $posfix = "fixed"; + +/* --------------------------------------------------------- Display full image ---------------------------------------------------------------------- */ + +@ini_set("default_charset", "utf-8"); +header('Content-type: text/html; charset=utf-8'); + +if(isset($_GET['fileno'])) + $fileno = $_GET['fileno']; +else + exit; + +if(isset($_GET['gallery'])) + $gallery = $_GET['gallery']; +else + exit; + +if(isset($_GET['site'])) + $site = $_GET['site']; +else + exit; + +if(isset($_GET['explorer'])) + $explorer = 1; +else + $explorer = 0; + +if(isset($_GET['ss'])) + $ss = 1; +else + $ss = 0; + +// -------------- Sicherheitsabfragen! +if(!is_int(intval($fileno)))exit(); +if(preg_match("/[\.]*\//", $gallery))exit(); +// ---------- Ende Sicherheitsabfragen! + +include_once("../ki_config/ki_setup.php"); +if(is_file("../ki_config/".$gallery."_ki_setup.php"))include_once("../ki_config/".$gallery."_ki_setup.php"); + +$supported = array("jpg","png","gif"); + +$galleryfolder = "../ki_galleries/".$gallery."/"; + +/*------------------- error/warning checking ------------------*/ +if(!is_dir($galleryfolder)) { + echo "
ERROR: KoschtIT Image Gallery could't find the following folder on the server: '".htmlentities($gallery)."' . Please check if the folder is available in the 'ki_galleries' folder.
"; + exit(); +} +if($pic_order == 3){ + if(!function_exists("exif_read_data")){ + $pic_order = 2; + } +} +/*------------------- end error/warning checking ------------------*/ + +$files = array(); +$temp = array(); +$savedfolderhash = 0; +if(is_file($gallery."_dir")){ + $temp = explode(PHP_EOL, file_get_contents($gallery."_dir")); + $savedfolderhash = unserialize($temp[0]); +} +//$folderhash = pic_order + MTime of $galleryfolder + fileSize of all files +$folderhash = $pic_order; +$iterator = new DirectoryIterator($galleryfolder); +foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + $folderhash += $fileInfo->getMTime(); + continue; + } elseif($fileInfo->isFile()) { + $folderhash += $fileInfo->getSize(); + } +} +if($folderhash != $savedfolderhash){ + if($pic_order == 4 && sizeof($temp) > 1){ + $files = unserialize($temp[1]); + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $newcandidate = array($file, $imgsize[0], $imgsize[1]); + if(!in_array($newcandidate, $files))$files[] = $newcandidate; + } + } + reset($files); + } else { + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $files[] = array($file, $imgsize[0], $imgsize[1]); + } + } + switch($pic_order){ + case 0: + usort($files, "cmp_1"); + break; + case 1: + usort($files, "cmp_0"); + break; + case 2: + usort($files, "cmp_3"); + break; + case 3: + usort($files, "cmp_2"); + break; + default: + usort($files, "cmp_1"); + break; + } + reset($files); + } +} else { + $files = unserialize($temp[1]); +} + +$file = $files[$fileno][0]; + +$x = $files[$fileno][1]; +$y = $files[$fileno][2]; + +$xlimiter = 10000; +$ylimiter = 10000; +if(is_int($max_pic_width)){ + $xlimiter = $max_pic_width; +} +if(is_int($max_pic_height)){ + $ylimiter = $max_pic_height; +} +if($y > $ylimiter || $x > $xlimiter){ + if(($x / $y) > 1){ + $k = $y / $x; + $x = $xlimiter-2*$bord_size; + $y = $k*$x; + if($y > $ylimiter-2*$bord_size){ + $y = $ylimiter-2*$bord_size; + $x = (1/$k) * $y; + } + } else { + $k = $x / $y; + $y = $ylimiter-2*$bord_size; + $x = $k*$y; + if($x > $xlimiter-2*$bord_size){ + $x = $xlimiter-2*$bord_size; + $y = (1/$k) * $x; + } + } + $x = round($x); + $y = round($y); +} + +$commfile = "../ki_galleries/".$gallery."/comments/".substr($file, 0, -4).".txt"; +$srcfile = $gallery."/".$file; + +if($x != $files[$fileno][1] || $y != $files[$fileno][2]){ + $srcfile = "ki_makepic.php?fullimg=1&file=".$srcfile."&width=".$x."&height=".$y; +} else { + $srcfile = "../ki_galleries/".$srcfile; +} +?> + + + + + + + +&ss=1"> + +KoschtIT Image Gallery: <?php echo $gallery ?> + + + + + 1)) + $breite = ($temp[0]+4)*3; + else + $breite = ($temp[0]+4)*2; + if($downloadpics == 1)$breite += ($temp[0]+4); + if($slideshow == 1)$breite += ($temp[0]+4); +?> +
+ " style="float:left;"> + + + + + + + 1){ + if($next == count($files))$next = 0; + if($prev == -1)$prev = count($files)-1; + ?> + " style="float:left;"> + " style="float:left;"> + +
+ + +
+" style="display:block; text-decoration:none;"> +
"; +?> +
+".utf8_encode_safe(stripslashes($comm))."
"; + }elseif($comm_text_align === "right"){ + echo "
".utf8_encode_safe(stripslashes($comm))."
"; + }else{ + echo "
".utf8_encode_safe(stripslashes($comm))."
"; + } + } +} +?> + + + \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_online_docu.jpg b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_online_docu.jpg new file mode 100644 index 00000000..be39a2c6 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_online_docu.jpg differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_preview.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_preview.php new file mode 100644 index 00000000..6298e9dc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_preview.php @@ -0,0 +1,240 @@ + filemtime($galleryfolder.$b[0])) ? -1 : 1; +} + +function cmp_2($a, $b) +{ + global $galleryfolder; + + $exif = @exif_read_data($galleryfolder.$a[0]); + $date1 = ""; + if (isset($exif['DateTimeOriginal'])) + $date1 = $exif['DateTimeOriginal']; + if (empty($date1) && isset($exif['DateTime'])) + $date1 = $exif['DateTime']; + if (!empty($date1)){ + $date1 = explode(':', str_replace(' ',':', $date1)); + $date1 = "{$date1[0]}-{$date1[1]}-{$date1[2]} {$date1[3]}:{$date1[4]}"; + if(sizeof($date1) > 5)$date1 .= ":{$date1[5]}"; + $date1 = strtotime($date1); + } else { + $date1 = filemtime($galleryfolder.$a[0]); + } + $exif = @exif_read_data($galleryfolder.$b[0]); + $date2 = ""; + if (isset($exif['DateTimeOriginal'])) + $date2 = $exif['DateTimeOriginal']; + if (empty($date2) && isset($exif['DateTime'])) + $date2 = $exif['DateTime']; + if (!empty($date2)){ + $date2 = explode(':', str_replace(' ',':', $date2)); + $date2 = "{$date2[0]}-{$date2[1]}-{$date2[2]} {$date2[3]}:{$date2[4]}"; + if(sizeof($date2) > 5)$date2 .= ":{$date1[5]}"; + $date2 = strtotime($date2); + } else { + $date2 = filemtime($galleryfolder.$b[0]); + } + + return $date1 > $date2 ? 1 : -1; +} + +function cmp_3($a, $b) +{ + return strcmp($a[0], $b[0]); +} + +//-------------------------------------------------------------------------- end functions -------------------------------------------------------------------------------- + + +if(isset($_POST['file'])) + $file = rawurldecode($_POST['file']); +else + exit; + +if(isset($_POST['gallery'])) + $gallery = $_POST['gallery']; +else + exit; + +if(isset($_POST['topic'])) + $topic = $_POST['topic']; +else + exit; + +// -------------- Sicherheitsabfragen! +if(preg_match("/[\.]*\//", $file))exit(); +if(preg_match("/[\.]*\//", $gallery))exit(); +if(!is_file("../ki_galleries/".$gallery."/".$file))exit(); +// ---------- Ende Sicherheitsabfragen! + +include_once("../ki_config/ki_setup.php"); +if(is_file("../ki_config/".$gallery."_ki_setup.php"))include_once("../ki_config/".$gallery."_ki_setup.php"); + +/*------------------- error/warning checking ------------------*/ +if($pic_order == 3){ + if(!function_exists("exif_read_data")){ + $pic_order = 2; + } +} +/*------------------- end error/warning checking ------------------*/ + +$supported = array("jpg","png","gif"); +$galleryfolder = "../ki_galleries/".$gallery."/"; +if(!is_dir($galleryfolder))exit(); + +$files = array(); +$temp = array(); +$savedfolderhash = 0; +if(is_file($gallery."_dir")){ + $temp = explode(PHP_EOL, file_get_contents($gallery."_dir")); + $savedfolderhash = unserialize($temp[0]); +} +//$folderhash = pic_order + MTime of $galleryfolder + fileSize of all files +$folderhash = $pic_order; +$iterator = new DirectoryIterator($galleryfolder); +foreach ($iterator as $fileInfo) { + if($fileInfo->isDot()){ + $folderhash += $fileInfo->getMTime(); + continue; + } elseif($fileInfo->isFile()) { + $folderhash += $fileInfo->getSize(); + } +} +if($folderhash != $savedfolderhash){ + if($pic_order == 4 && sizeof($temp) > 1){ + $files = unserialize($temp[1]); + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $file = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($file, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$file); + if($imgsize[0]){ + $newcandidate = array($file, $imgsize[0], $imgsize[1]); + if(!in_array($newcandidate, $files))$files[] = $newcandidate; + } + } + reset($files); + } else { + $iterator->rewind(); + foreach ($iterator as $fileInfo) { + $tfile = $fileInfo->getFilename(); + if(!in_array(strtolower(substr($tfile, -3)), $supported))$continue; + $imgsize = @getimagesize($galleryfolder.$tfile); + if($imgsize[0]){ + $files[] = array($tfile, $imgsize[0], $imgsize[1]); + } + } + switch($pic_order){ + case 0: + usort($files, "cmp_1"); + break; + case 1: + usort($files, "cmp_0"); + break; + case 2: + usort($files, "cmp_3"); + break; + case 3: + usort($files, "cmp_2"); + break; + default: + usort($files, "cmp_1"); + break; + } + reset($files); + } +} else { + $files = unserialize($temp[1]); +} + +$id = -1; +foreach ($files as $picfile) { + $id++; + if($picfile[0] == $file){ + break; + } +} + +$gesbreite = 0; + +if($topic == 1){ + $id++; + for($i = 0; $i < $preview_pics; $i++){ + if($id + $i >= count($files))break; + $srcfile = $basedir."ki_makepic.php?file=".$gallery."/".rawurlencode($files[$id+$i][0]); + $y = 100; + $x = floor($files[$id+$i][1]/$files[$id+$i][2]*100); + $gesbreite += $x + 4; + echo ""; + + } +} else { + $id--; + for($i = 0; $i < $preview_pics; $i++){ + if($id - $i < 0)break; + $srcfile = $basedir."ki_makepic.php?file=".$gallery."/".rawurlencode($files[$id-$i][0]); + $y = 100; + $x = floor($files[$id-$i][1]/$files[$id-$i][2]*100); + $gesbreite += $x + 4; + echo ""; + } +} + +echo ""; +?> + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savecomment.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savecomment.php new file mode 100644 index 00000000..365f6d5b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savecomment.php @@ -0,0 +1,65 @@ + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_saveneworder.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_saveneworder.php new file mode 100644 index 00000000..3aa7eaec --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_saveneworder.php @@ -0,0 +1,129 @@ + $newpos){ + for($i = 0; $i < sizeof($files); $i++){ + if($i < $newpos || $i > $oldpos){ + $newfiles[] = $files[$i]; + continue; + } + if($i == $newpos){ + $newfiles[] = $files[$oldpos]; + continue; + } + if($i <= $oldpos){ + $newfiles[] = $files[$i-1]; + continue; + } + } + } else { + for($i = 0; $i < sizeof($files); $i++){ + if($i < $oldpos || $i > $newpos){ + $newfiles[] = $files[$i]; + continue; + } + if($i < $newpos){ + $newfiles[] = $files[$i+1]; + continue; + } + if($i == $newpos){ + $newfiles[] = $files[$oldpos]; + continue; + } + } + } + + if(@file_put_contents($gallery."_dir", serialize($savedfolderhash).PHP_EOL.serialize($newfiles)) > 0){ + $setupfile = "../ki_config/".$gallery."_ki_setup.php"; + $params = ""; + if(is_file($setupfile)){ + $temp = explode(PHP_EOL, file_get_contents($setupfile)); + $set = 0; + for($i = 1; $i < sizeof($temp) - 1; $i++){ + if(strpos($temp[$i], "\$pic_order") !== FALSE){ + $params .= "\$pic_order = 4;\r\n"; + $set = 1; + } else { + $params .= $temp[$i]."\r\n"; + } + } + if($set == 0){ + $params .= "\$pic_order = 4;\r\n"; + } + } else { + $params = "\$pic_order = 4;\r\n"; + } + $params = ""; + if(@file_put_contents($setupfile, $params) > 0){ + echo "ok"; + } + } + + } + +} +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savesquarethumb.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savesquarethumb.php new file mode 100644 index 00000000..28f1993d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_savesquarethumb.php @@ -0,0 +1,101 @@ +"; + @file_put_contents($savefile, $writestring); + $oldcontent = file_get_contents($configfile); + if(substr($oldcontent, -1) === "\n"){ + $oldcontent = substr($oldcontent, 0, -1); + } else { + $oldcontent .= "\n"; + } + @file_put_contents($configfile, $oldcontent); + /*------------------- end change config settings ------------------*/ + + $picname = $gallery."_".$file; + if(!is_file("custom")){ + @file_put_contents("custom", $picname."=".$pos); + } else { + $content = @file_get_contents("custom"); + $pictures = explode("|", $content); + $newcontent = ""; + $found = 0; + for($i = 0; $i < count($pictures); $i++){ + if(strpos($pictures[$i], $picname) !== FALSE){ + $pictures[$i] = $picname."=".$pos; + $found = 1; + } + $newcontent .= $pictures[$i]."|"; + } + if($found == 0){ + $newcontent .= $picname."=".$pos."|"; + } + $newcontent = substr($newcontent, 0, -1); + @file_put_contents("custom", $newcontent); + } +} +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_shade.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_shade.php new file mode 100644 index 00000000..ff203826 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_shade.php @@ -0,0 +1,41 @@ + \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_upload.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_upload.php new file mode 100644 index 00000000..afd72d8b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_upload.php @@ -0,0 +1,243 @@ + + + 0){ + $logoAspect = $logoWidth / $logoHeight; + + if($imageWidth > $imageHeight){ + $wide = 1; + } else { + $wide = 0; + } + + if($logoWidth > $logoHeight){ + $logoWide = 1; + } else { + $logoWide = 0; + } + + if($wide == 1){ + if($logoWide == 1){ + $logoWidth = round($watermark_size * $imageWidth); + $logoHeight = round((1/$logoAspect) * $logoWidth); + if($logoHeight > $imageHeight){ + $logoHeight = round($watermark_size * $imageHeight); + $logoWidth = round($logoAspect * $logoHeight); + } + } else { + $logoHeight = round($watermark_size * $imageHeight); + $logoWidth = round($logoAspect * $logoHeight); + } + } else { + if($logoWide == 0){ + $logoHeight = round($watermark_size * $imageHeight); + $logoWidth = round($logoAspect * $logoHeight); + if($logoWidth > $imageWidth){ + $logoWidth = round($watermark_size * $imageWidth); + $logoHeight = round((1/$logoAspect) * $logoWidth); + } else { + $logoWidth = round($watermark_size * $imageWidth); + $logoHeight = round((1/$logoAspect) * $logoWidth); + } + } + } + } + + switch($watermark_vert){ + case "top": + $starty = 0; + break; + case "middle"; + $starty = round(($imageHeight - $logoHeight)*0.5); + break; + case "bottom": + $starty = $imageHeight-$logoHeight; + break; + } + switch($watermark_hori){ + case "left": + $startx = 0; + break; + case "center"; + $startx = round(($imageWidth - $logoWidth)*0.5); + break; + case "right": + $startx = $imageWidth-$logoWidth; + break; + } + + // Paste the logo + imagecopyresampled($image, $logoImage, $startx, $starty, 0, 0, $logoWidth, $logoHeight, $logoWidth_o, $logoHeight_o); + + imageDestroy($logoImage); + } + } + + $maxx = 10000; + $maxy = 10000; + if(isset($_POST['maxx'])){ + if(intval($_POST['maxx']) > 0)$maxx = intval($_POST['maxx']); + } + if(isset($_POST['maxy'])){ + if(intval($_POST['maxy']) > 0)$maxy = intval($_POST['maxy']); + } + + $aspect = $imageWidth / $imageHeight; + + if($aspect > 1){ + if($imageWidth > $maxx){ + $imageWidth = $maxx; + $imageHeight = round((1/$aspect) * $imageWidth); + } + if($imageHeight > $maxy){ + $imageHeight = $maxy; + $imageWidth = round($aspect * $imageHeight); + } + } else { + if($imageHeight > $maxy){ + $imageHeight = $maxy; + $imageWidth = round($aspect * $imageHeight); + } + if($imageWidth > $maxx){ + $imageWidth = $maxx; + $imageHeight = round((1/$aspect) * $imageWidth); + } + } + + if($imageWidth_o != $imageWidth || $imageHeight_o != $imageHeight){ + $bild = imagecreatetruecolor($imageWidth, $imageHeight); + imagealphablending($bild, false); + imagesavealpha($bild, true); + imagecopyresampled($bild, $image, 0, 0, 0, 0, $imageWidth, $imageHeight, $imageWidth_o, $imageHeight_o); + switch($temp[1]){ + case "jpg": + imagejpeg($bild, $target_name, 80); + break; + case "png": + imagepng($bild, $target_name); + break; + case "gif": + imagegif($bild, $target_name); + break; + } + imageDestroy($bild); + } else { + if($addwatermak == 1){ + // Save image + switch($temp[1]){ + case "jpg": + imagejpeg($image, $target_name, 80); + break; + case "png": + imagepng($image, $target_name); + break; + case "gif": + imagegif($image, $target_name); + break; + } + } + } + + // Release memory + imageDestroy($image); + + echo "done"; + } + } + } + } +} +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_vcomm.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_vcomm.php new file mode 100644 index 00000000..78b73cc0 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/ki_vcomm.php @@ -0,0 +1,221 @@ + +".$betreff."
".nl2br($content)."
"; + + $header = "MIME-Version: 1.0\n"; + $header .= "Content-type: text/html; charset=UTF-8\n"; + $header .= "Content-Transfer-Encoding: 8bit\n"; + $header .= "From: ".$admin_mail_from."\n"; + //$header .= "Reply-To: ".$admin_mail_from."\n"; + + // verschicke die E-Mail + @ini_set(sendmail_from, $admin_mail_from); + @mail($to, $betreff, $content, $header); + @ini_restore(sendmail_from); +} + + + +/* ---------------------------------------------------------- end functions -------------------------------------------------- */ + +if (get_magic_quotes_gpc()) { + function stripslashes_gpc(&$value) + { + $value = stripslashes($value); + } + array_walk_recursive($_GET, 'stripslashes_gpc'); + array_walk_recursive($_POST, 'stripslashes_gpc'); + array_walk_recursive($_COOKIE, 'stripslashes_gpc'); + array_walk_recursive($_REQUEST, 'stripslashes_gpc'); +} + +if(isset($_POST['file'])) + $file = rawurldecode($_POST['file']); +else + exit; + +if(isset($_POST['gallery'])) + $gallery = $_POST['gallery']; +else + exit; + +// -------------- Sicherheitsabfragen! +if(preg_match("/[\.]*\//", $file))exit(); +if(preg_match("/[\.]*\//", $gallery))exit(); +if(!is_file("../ki_galleries/".$gallery."/".$file))exit(); +// ---------- Ende Sicherheitsabfragen! + +include_once("../ki_config/ki_setup.php"); +if(is_file("../ki_config/".$gallery."_ki_setup.php"))include_once("../ki_config/".$gallery."_ki_setup.php"); + +$pwok = 0; +if(isset($_SESSION['pwquery'])){ + if($_SESSION['pwquery'] === $pw)$pwok = 1; +} + +$commfile = "../ki_galleries/".$gallery."/viewercomments/".substr($file, 0, -4).".txt"; + +if(!isset($_POST['get'])){ + + if(isset($_POST['email'])) + $name = addslashes(htmlentities(rawurldecode($_POST['email']), ENT_QUOTES, "UTF-8")); + else + exit; + + if(isset($_POST['assystem'])) + $comment = addslashes(htmlentities(rawurldecode($_POST['assystem']), ENT_QUOTES, "UTF-8")); + else + exit; + + if(isset($_POST['address'])) + $address = rawurldecode($_POST['address']); + else + exit; + + if (!ini_get('date.timezone') && function_exists("date_default_timezone_set"))date_default_timezone_set('Europe/Berlin'); + + if( stripos($name, "@") !== false ){ + echo "2"; + exit(); + } + + $ip = $_SERVER["REMOTE_ADDR"]; + $date = date("m/d/Y"); + $time = date('H').":".date('i'); + + $moderate = ""; + if($moderate_posts == 1)$moderate = "._.1"; + $post = $name."._.".$date."._.".$time."._.".$ip.$moderate."\r\n".$comment."\r\n:_:\r\n"; + + $oldcomments = ""; + if(is_file($commfile)){ + $oldcomments = file_get_contents($commfile); + $handle = @fopen($commfile, "r"); + if($handle) { + $lastcomment = fgets($handle); + $data = explode("._.", $lastcomment, 4); + $lastip = rtrim($data[3]); + $lastdate = $data[1]; + $lasttime = substr($data[2], 0, 2)*60+substr($data[2], 3, 2); + $newtime = substr($time, 0, 2)*60+substr($time, 3, 2); + if($lastip === $ip && $lastdate === $date){ + if($newtime - $lasttime < 3){ + echo "1"; + exit(); + } + } + } + fclose($handle); + } + file_put_contents($commfile, $post); + if($oldcomments !== ""){ + file_put_contents($commfile, $oldcomments, FILE_APPEND); + } + + if($admin_mail != 0){ + $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; + $address = "http".$s."://".$address; + $message = stripslashes($comment); + + $betreff = "New comment on picture (".$_SERVER['HTTP_HOST'].")"; + if($moderate_posts == 1){ + $content = "A new comment has been made for one of your images. Visit '".$address."' and flip the picture to read all comments for this image.\nThis is the last comment:\n\n\"".$message."\"\n\nThis comment is moderated and is not readable in public yet. You have the option publish this comment when you login as admin.\n\n\nE-Mail generated by KoschtIT Image Gallery.\nhttp://koschtit.tabere.net/en/"; + } else { + $content = "A new comment has been made for one of your images. Visit '".$address."' and flip the picture to read all comments for this image.\nThis is the last comment:\n\n\"".$message."\"\n\n\nE-Mail generated by KoschtIT Image Gallery.\nhttp://koschtit.tabere.net/en/"; + } + sendAmail($admin_mail_to, $betreff, $content); + } +} + +if(isset($_POST['counter']) || isset($_POST['publish'])){ + $newfile = ""; +} +$counter = 0; +$handle = @fopen($commfile, "r"); +if($handle) { + while(!feof($handle)){ + $head = fgets($handle); + $headdata = explode("._.", $head); + $comment = ""; + while($acommentline = fgets($handle)){ + if($acommentline === ":_:\r\n")break; + $comment .= $acommentline; + } + if(sizeof($headdata) == 4 || ($pwok == 1 && sizeof($headdata) == 5)){ + $buttons = ""; + if($pwok == 1){ + if(isset($_POST['publish'])){ + if($counter == $_POST['publish']){ + array_pop($headdata); + $newfile .= $headdata[0]."._.".$headdata[1]."._.".$headdata[2]."._.".$headdata[3]."\r\n".$comment.":_:\r\n"; + } else { + $newfile .= $head.$comment.":_:\r\n"; + } + } + $buttons = ""; + if($moderate_posts == 1 && sizeof($headdata) == 5)$buttons .= ""; + } + $skip = 0; + if(isset($_POST['counter'])){ + if($_POST['counter'] != $counter){ + $newfile .= $head.$comment.":_:\r\n"; + } else { + $skip = 1; + } + } + if($skip == 0){ +?> +
»
+".$vcomm_ncy."

"; +} +if(isset($_POST['counter']) || isset($_POST['publish'])){ + if($pwok == 1){ + if(strlen($newfile) > 2){ + file_put_contents($commfile, $newfile); + } else { + @unlink($commfile); + echo "

"; + } + } +} +?> + + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_dir b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_dir new file mode 100644 index 00000000..18896e28 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_dir @@ -0,0 +1,2 @@ +i:2707615525; +a:16:{i:0;a:3:{i:0;s:20:"iskolahomlokzat1.jpg";i:1;i:1865;i:2;i:2592;}i:1;a:3:{i:0;s:22:"iskolahomlokzat1-k.jpg";i:1;i:187;i:2;i:260;}i:2;a:3:{i:0;s:9:"terem.jpg";i:1;i:2189;i:2;i:1406;}i:3;a:3:{i:0;s:11:"terem-k.jpg";i:1;i:219;i:2;i:141;}i:4;a:3:{i:0;s:12:"folyoso3.jpg";i:1;i:1894;i:2;i:1398;}i:5;a:3:{i:0;s:14:"folyoso3-k.jpg";i:1;i:189;i:2;i:140;}i:6;a:3:{i:0;s:14:"konyvtar-k.jpg";i:1;i:170;i:2;i:165;}i:7;a:3:{i:0;s:12:"konyvtar.jpg";i:1;i:1704;i:2;i:1649;}i:8;a:3:{i:0;s:12:"folyoso2.jpg";i:1;i:1519;i:2;i:1719;}i:9;a:3:{i:0;s:15:"hatsolepcso.jpg";i:1;i:1209;i:2;i:1986;}i:10;a:3:{i:0;s:17:"hatsolepcso-k.jpg";i:1;i:121;i:2;i:199;}i:11;a:3:{i:0;s:14:"folyoso2-k.jpg";i:1;i:152;i:2;i:172;}i:12;a:3:{i:0;s:14:"folyoso1-k.jpg";i:1;i:124;i:2;i:176;}i:13;a:3:{i:0;s:12:"folyoso1.jpg";i:1;i:1240;i:2;i:1757;}i:14;a:3:{i:0;s:16:"elsolepcso-k.jpg";i:1;i:158;i:2;i:190;}i:15;a:3:{i:0;s:14:"elsolepcso.jpg";i:1;i:1588;i:2;i:1909;}} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_lastmodified b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_lastmodified new file mode 100644 index 00000000..eb79d55a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/kos-epulet_lastmodified @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_dir b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_dir new file mode 100644 index 00000000..5975e58f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_dir @@ -0,0 +1,2 @@ +i:2703855617; +a:3:{i:0;a:3:{i:0;s:19:"mayor-vasarely4.png";i:1;i:400;i:2;i:400;}i:1;a:3:{i:0;s:7:"ml1.png";i:1;i:295;i:2;i:196;}i:2;a:3:{i:0;s:13:"mm-bw-pro.png";i:1;i:500;i:2;i:253;}} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_lastmodified b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_lastmodified new file mode 100644 index 00000000..61d1a8d0 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_base/mayor logo_lastmodified @@ -0,0 +1,4 @@ + \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/ki_setup.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/ki_setup.php new file mode 100644 index 00000000..da86d1bf --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/ki_setup.php @@ -0,0 +1,96 @@ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/kos-epulet_ki_setup.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/kos-epulet_ki_setup.php new file mode 100644 index 00000000..a92dea52 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_config/kos-epulet_ki_setup.php @@ -0,0 +1,96 @@ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_include.php b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_include.php new file mode 100644 index 00000000..db30e454 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/koschtit/ki_include.php @@ -0,0 +1,306 @@ += $basedirsize - $reldirsize - 1 && $i >= 0; $i--){ + for($j = $confdirsize - 1; $j >= 0; $j--){ + if($basedir[$i] === $confdir[$j]){ + $foundat = $j; + break; + } + } + if($foundat != -1) + break; + else + $reldir .= "../"; +} + +if($foundat != -1){ + for($i = $foundat + 1; $i < $confdirsize; $i++){ + $reldir .= $confdir[$i]."/"; + } +} else { + +// Enter the relative path here, if the script asks you to. Example: $reldir = "../script/"; +$reldir = ""; +// ---------------------------------------------------------------------------------------- + +} + +if (!function_exists('file_put_contents')) { + function file_put_contents($filename, $data) { + $f = @fopen($filename, 'w'); + if (!$f) { + return false; + } else { + $bytes = fwrite($f, $data); + fclose($f); + return $bytes; + } + } +} + +$browser = $_SERVER['HTTP_USER_AGENT']; + +if(preg_match("/Opera/",$browser)) + $browser = "opera"; +elseif(preg_match("/MSIE [9]/",$browser)) + $browser = "ie9"; +elseif(preg_match("/MSIE [7-8]/",$browser)) + $browser = "ie7"; +elseif(preg_match("/MSIE [1-6]/",$browser)) + $browser = "ie6"; +elseif(preg_match("/AppleWebKit/",$browser)) + $browser = "webkit"; +else + $browser = "gecko"; + +$confdir = $reldir."ki_config/"; +$galleriesdir = $reldir."ki_galleries/"; +$basedir = $reldir."ki_base/"; + +if(!is_file($basedir."ki_js_view.php")){ +?> + + + +"; + if(!@file_put_contents($confdir."ki_setup.php", $params)){ +?> + + + + + + +]+class\s*=\s*[\"'][^>]*koschtitgallery[^>]*[\"'][^>]*)>.*|U", $buffer, $out, PREG_PATTERN_ORDER); + $navimgsize = getimagesize($basedir."ki_nav_next.png"); + if(is_array($out)){ + if(is_array($out[0])){ + for($i = 0; $i < count($out[0]); $i++){ + if(preg_match("|]+title\s*=\s*[\"']([^>]+)[\"'][^>]*>|U", $out[0][$i], $temp)){ + $titlefound = $temp[1]; + include($confdir."ki_setup.php"); + if(is_file($confdir.$titlefound."_ki_setup.php")) + include($confdir.$titlefound."_ki_setup.php"); + $stylestring = "position:relative; padding:0px; width:".$fr_width."px; min-height:".$fr_height."px; background:".$fr_color.";"; + if($show_nav == 1 && $nav_always == 0)$fr_height += ($navimgsize[1]+18); + $noscript = ""; + if(in_array($browser, array("ie6", "ie7"))){ + $noscript = " +

+ + + +
+
+ {#advimage_dlg.swap_image} + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ + + + +
 
+
+ +
+ {#advimage_dlg.misc} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + + + +
 
+
+
+ + +
+ + +
+ + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/img/sample.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/img/sample.gif new file mode 100644 index 00000000..53bf6890 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/img/sample.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/js/image.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/js/image.js new file mode 100644 index 00000000..f0b7c6ee --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/js/image.js @@ -0,0 +1,464 @@ +var ImageDialog = { + preInit : function() { + var url; + + tinyMCEPopup.requireLangPack(); + + if (url = tinyMCEPopup.getParam("external_image_list_url")) + document.write(''); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(), fl = tinyMCEPopup.getParam('external_image_list', 'tinyMCEImageList'); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', fl); + this.fillFileList('over_list', fl); + this.fillFileList('out_list', fl); + 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.replace(/ /g, '%20'), + 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 { + tinymce.each(args, function(value, name) { + if (value === "") { + delete args[name]; + } + }); + + ed.execCommand('mceInsertContent', false, tinyMCEPopup.editor.dom.createHTML('img', args), {skip_undo : 1}); + ed.undoManager.add(); + } + + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); + 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 = typeof(l) === 'function' ? 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, b, bStyle, bColor, v, isIE = tinymce.isIE, 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') { + b = img.style.border ? img.style.border.split(' ') : []; + bStyle = dom.getStyle(img, 'border-style'); + bColor = dom.getStyle(img, 'border-color'); + + dom.setStyle(img, 'border', ''); + + v = f.border.value; + if (v || v == '0') { + if (v == '0') + img.style.border = isIE ? '0' : '0 none none'; + else { + var isOldIE = tinymce.isIE && (!document.documentMode || document.documentMode < 9); + + if (b.length == 3 && b[isOldIE ? 2 : 1]) + bStyle = b[isOldIE ? 2 : 1]; + else if (!bStyle || bStyle == 'none') + bStyle = 'solid'; + if (b.length == 3 && b[isIE ? 0 : 2]) + bColor = b[isOldIE ? 0 : 2]; + else if (!bColor || bColor == 'none') + bColor = 'black'; + img.style.border = v + 'px ' + bStyle + ' ' + bColor; + } + } + } + + // 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/de_dlg.js new file mode 100644 index 00000000..c5ea891a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.advimage_dlg',{"image_list":"Bilderliste","align_right":"Rechts","align_left":"Links","align_textbottom":"Unten im Text","align_texttop":"Oben im Text","align_bottom":"Unten","align_middle":"Mittig","align_top":"Oben","align_baseline":"Zeile",align:"Ausrichtung",hspace:"Horizontaler Abstand",vspace:"Vertikaler Abstand",dimensions:"Ausma\u00dfe",border:"Rahmen",list:"Bilderliste",alt:"Beschreibung",src:"Adresse","dialog_title":"Bild einf\u00fcgen/ver\u00e4ndern","missing_alt":"Soll wirklich keine Beschreibung f\u00fcr das Bild eingegeben werden? Bestimmte Benutzer mit k\u00f6rperlichen Einschr\u00e4nkungen k\u00f6nnen so nicht darauf zugreifen, ebenso solche, die einen Textbrowser benutzen oder die Anzeige von Bildern deaktiviert haben.","example_img":"Vorschau auf das Aussehen",misc:"Verschiedenes",mouseout:"bei keinem Mauskontakt",mouseover:"bei Mauskontakt","alt_image":"Alternatives Bild","swap_image":"Bild austauschen",map:"Image-Map",id:"ID",rtl:"Rechts nach links",ltr:"Links nach rechts",classes:"Klassen",style:"Format","long_desc":"Ausf\u00fchrliche Beschreibung",langcode:"Sprachcode",langdir:"Schriftrichtung","constrain_proportions":"Seitenverh\u00e4ltnis beibehalten",preview:"Vorschau",title:"Titel",general:"Allgemein","tab_advanced":"Erweitert","tab_appearance":"Aussehen","tab_general":"Allgemein",width:"Breite",height:"H\u00f6he"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/en_dlg.js new file mode 100644 index 00000000..5f122e2c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.advimage_dlg',{"image_list":"Image List","align_right":"Right","align_left":"Left","align_textbottom":"Text Bottom","align_texttop":"Text Top","align_bottom":"Bottom","align_middle":"Middle","align_top":"Top","align_baseline":"Baseline",align:"Alignment",hspace:"Horizontal Space",vspace:"Vertical Space",dimensions:"Dimensions",border:"Border",list:"Image List",alt:"Image Description",src:"Image URL","dialog_title":"Insert/Edit 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.","example_img":"Appearance Preview Image",misc:"Miscellaneous",mouseout:"For Mouse Out",mouseover:"For Mouse Over","alt_image":"Alternative Image","swap_image":"Swap Image",map:"Image Map",id:"ID",rtl:"Right to Left",ltr:"Left to Right",classes:"Classes",style:"Style","long_desc":"Long Description Link",langcode:"Language Code",langdir:"Language Direction","constrain_proportions":"Constrain Proportions",preview:"Preview",title:"Title",general:"General","tab_advanced":"Advanced","tab_appearance":"Appearance","tab_general":"General",width:"Width",height:"Height"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/hu_dlg.js new file mode 100644 index 00000000..37c93464 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.advimage_dlg',{"image_list":"K\u00e9plista","align_right":"Jobbra","align_left":"Balra","align_textbottom":"Sz\u00f6veg alj\u00e1hoz","align_texttop":"Sz\u00f6veg tetej\u00e9hez","align_bottom":"Lentre","align_middle":"K\u00f6z\u00e9pre","align_top":"Fentre","align_baseline":"Alapvonalhoz",align:"Igaz\u00edt\u00e1s",hspace:"V\u00edzszintes t\u00e1vols\u00e1g",vspace:"F\u00fcgg\u0151leges t\u00e1vols\u00e1g",dimensions:"M\u00e9retek",border:"Keret",list:"K\u00e9plista",alt:"K\u00e9p helyettes\u00edt\u0151 sz\u00f6vege",src:"K\u00e9p internet c\u00edme","dialog_title":"K\u00e9p besz\u00far\u00e1sa/szerkeszt\u00e9se","missing_alt":"Biztosan folytatja k\u00e9pet le\u00edr\u00f3 sz\u00f6veg n\u00e9lk\u00fcl? En\u00e9lk\u00fcl a fogyat\u00e9koss\u00e1ggal \u00e9l\u0151k, sz\u00f6veges b\u00f6ng\u00e9sz\u0151t haszn\u00e1l\u00f3k \u00e9s a k\u00e9pek megjelen\u00edt\u00e9s\u00e9t letilt\u00f3 felhaszn\u00e1l\u00f3k h\u00e1tr\u00e1nyba ker\u00fclnek.","example_img":"El\u0151n\u00e9zeti k\u00e9p megjelen\u00edt\u00e9se",misc:"Vegyes",mouseout:"K\u00e9p az eg\u00e9rkurzor lev\u00e9telekor",mouseover:"K\u00e9p az eg\u00e9rkurzor f\u00f6l\u00e9vitelekor","alt_image":"Alternat\u00edv k\u00e9p","swap_image":"K\u00e9pcsere",map:"K\u00e9p t\u00e9rk\u00e9p",id:"ID",rtl:"Jobbr\u00f3l balra",ltr:"Balr\u00f3l jobbra",classes:"Oszt\u00e1lyok",style:"CSS St\u00edlus","long_desc":"B\u0151vebb le\u00edr\u00e1s\u00fa link",langcode:"Nyelv k\u00f3d",langdir:"Nyelv \u00edr\u00e1s ir\u00e1ny","constrain_proportions":"Ar\u00e1nytart\u00e1s",preview:"El\u0151n\u00e9zet",title:"C\u00edm",general:"\u00c1ltal\u00e1nos","tab_advanced":"Halad\u00f3","tab_appearance":"Megjelen\u00e9s","tab_general":"\u00c1ltal\u00e1nos",width:"Sz\u00e9less\u00e9g",height:"Magass\u00e1g"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/ja_dlg.js new file mode 100644 index 00000000..f8449c42 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advimage/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.advimage_dlg',{"image_list":"\u753b\u50cf\u306e\u4e00\u89a7","align_right":"\u53f3\u5bc4\u305b","align_left":"\u5de6\u5bc4\u305b","align_textbottom":"\u30c6\u30ad\u30b9\u30c8\u3092\u4e0b\u7aef\u63c3\u3048","align_texttop":"\u30c6\u30ad\u30b9\u30c8\u3092\u4e0a\u7aef\u63c3\u3048","align_bottom":"\u4e0b\u63c3\u3048","align_middle":"\u4e2d\u592e\u63c3\u3048","align_top":"\u4e0a\u63c3\u3048","align_baseline":"\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u63c3\u3048",align:"\u914d\u7f6e",hspace:"\u5de6\u53f3\u306e\u4f59\u767d",vspace:"\u4e0a\u4e0b\u306e\u4f59\u767d",dimensions:"\u5bf8\u6cd5",border:"\u67a0\u7dda",list:"\u753b\u50cf\u306e\u4e00\u89a7",alt:"\u753b\u50cf\u306e\u8aac\u660e",src:"\u753b\u50cf\u306eURL","dialog_title":"\u753b\u50cf\u3092\u633f\u5165/\u7de8\u96c6","missing_alt":"\u753b\u50cf\u306e\u8aac\u660e\u3092\u542b\u3081\u305a\u306b\u7d9a\u3051\u307e\u3059\u304b? \u753b\u50cf\u306e\u8aac\u660e\u304c\u306a\u3044\u3068\u76ee\u306e\u4e0d\u81ea\u7531\u306a\u65b9\u3001\u30c6\u30ad\u30b9\u30c8\u8868\u793a\u3060\u3051\u306e\u30d6\u30e9\u30a6\u30b6\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u65b9\u3001\u753b\u50cf\u306e\u8868\u793a\u3092\u6b62\u3081\u3066\u308b\u65b9\u304c\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002","example_img":"\u753b\u50cf\u306e\u30d7\u30ec\u30d3\u30e5\u30fc\u306e\u69d8\u5b50",misc:"\u305d\u306e\u4ed6",mouseout:"\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u304c\u5916\u308c\u308b\u6642",mouseover:"\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u304c\u304b\u304b\u308b\u6642","alt_image":"\u5225\u306e\u753b\u50cf","swap_image":"\u753b\u50cf\u306e\u5165\u308c\u66ff\u3048",map:"\u30a4\u30e1\u30fc\u30b8\u30de\u30c3\u30d7",id:"ID",rtl:"\u53f3\u304b\u3089\u5de6",ltr:"\u5de6\u304b\u3089\u53f3",classes:"\u30af\u30e9\u30b9",style:"\u30b9\u30bf\u30a4\u30eb","long_desc":"\u8a73\u7d30\u306a\u8aac\u660e\u306e\u30ea\u30f3\u30af",langcode:"\u8a00\u8a9e\u30b3\u30fc\u30c9",langdir:"\u6587\u7ae0\u306e\u65b9\u5411","constrain_proportions":"\u7e26\u6a2a\u6bd4\u306e\u7dad\u6301",preview:"\u30d7\u30ec\u30d3\u30e5\u30fc",title:"\u30bf\u30a4\u30c8\u30eb",general:"\u4e00\u822c","tab_advanced":"\u9ad8\u5ea6\u306a\u8a2d\u5b9a","tab_appearance":"\u8868\u793a","tab_general":"\u4e00\u822c",width:"\u5e45",height:"\u9ad8\u3055"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/css/advlink.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/css/advlink.css new file mode 100755 index 00000000..14364316 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/editor_plugin.js new file mode 100755 index 00000000..983fe5a9 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/editor_plugin_src.js new file mode 100755 index 00000000..14e46a76 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/js/advlink.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/js/advlink.js new file mode 100644 index 00000000..f013aac1 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/js/advlink.js @@ -0,0 +1,543 @@ +/* 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('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; + + // Anchor list + html = getAnchorListHTML('anchorlist','href'); + if (html == "") + document.getElementById("anchorlistrow").style.display = 'none'; + else + document.getElementById("anchorlistcontainer").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) { + var prospect = inst.dom.create("p", null, inst.selection.getContent()); + if (prospect.childNodes.length === 1) { + elm = prospect.firstChild; + } + } + + 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'); + var linkTarget = inst.dom.getAttrib(elm, 'target') ? inst.dom.getAttrib(elm, 'target') : "_self"; + + // 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', linkTarget); + 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', linkTarget, 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' + name + ''; + + if ((name = nodes[i].id) != "" && !nodes[i].href) + html += ''; + } + + if (html == "") + return ""; + + 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) { + i = inst.selection.getBookmark(); + inst.dom.remove(elm, 1); + inst.selection.moveToBookmark(i); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + + // Create new anchor elements + if (elm == null) { + inst.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("mceInsertLink", 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/de_dlg.js new file mode 100644 index 00000000..475dfe95 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.advlink_dlg',{"target_name":"Name der Zielseite",classes:"Klassen",style:"Format",id:"ID","popup_position":"Position (X/Y)",langdir:"Schriftrichtung","popup_size":"Gr\u00f6\u00dfe","popup_dependent":"Vom Elternfenster abh\u00e4ngig
(nur Mozilla/Firefox) ","popup_resizable":"Vergr\u00f6\u00dfern des Fenster zulassen","popup_location":"Adressleiste anzeigen","popup_menubar":"Browsermen\u00fc anzeigen","popup_toolbar":"Werkzeugleisten anzeigen","popup_statusbar":"Statusleiste anzeigen","popup_scrollbars":"Scrollbalken anzeigen","popup_return":"Link trotz Popup folgen","popup_name":"Name des Fensters","popup_url":"Popup-Adresse",popup:"JavaScript-Popup","target_blank":"In neuem Fenster \u00f6ffnen","target_top":"Im obersten Frame \u00f6ffnen (sprengt das Frameset)","target_parent":"Im \u00fcbergeordneten Fenster/Frame \u00f6ffnen","target_same":"Im selben Fenster/Frame \u00f6ffnen","anchor_names":"Anker","popup_opts":"Optionen","advanced_props":"Erweiterte Eigenschaften","event_props":"Ereignisse","popup_props":"Popup-Eigenschaften","general_props":"Allemeine Eigenschaften","advanced_tab":"Erweitert","events_tab":"Ereignisse","popup_tab":"Popup","general_tab":"Allgemein",list:"Linkliste","is_external":"Diese Adresse scheint ein externer Link zu sein. Soll das dazu ben\u00f6tigte \"http://\" vorangestellt werden?","is_email":"Diese Adresse scheint eine E-Mail Adresse zu sein. Soll das dazu ben\u00f6tigte \"mailto:\" vorangestellt werden?",titlefield:"Titel",target:"Fenster",url:"Adresse",title:"Link einf\u00fcgen/bearbeiten","link_list":"Linkliste",rtl:"Rechts nach links",ltr:"Links nach rechts",accesskey:"Tastenk\u00fcrzel",tabindex:"Tabindex",rev:"Beziehung des Linkziels zur Seite",rel:"Beziehung der Seite zum Linkziel",mime:"MIME-Type der Zielseite",encoding:"Zeichenkodierung der Zielseite",langcode:"Sprachcode","target_langcode":"Sprache der Zielseite",width:"Breite",height:"H\u00f6he"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/en_dlg.js new file mode 100644 index 00000000..3169a565 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.advlink_dlg',{"target_name":"Target Name",classes:"Classes",style:"Style",id:"ID","popup_position":"Position (X/Y)",langdir:"Language Direction","popup_size":"Size","popup_dependent":"Dependent (Mozilla/Firefox Only)","popup_resizable":"Make Window Resizable","popup_location":"Show Location Bar","popup_menubar":"Show Menu Bar","popup_toolbar":"Show Toolbars","popup_statusbar":"Show Status Bar","popup_scrollbars":"Show Scrollbars","popup_return":"Insert \'return false\'","popup_name":"Window Name","popup_url":"Popup URL",popup:"JavaScript Popup","target_blank":"Open in New Window","target_top":"Open in Top Frame (Replaces All Frames)","target_parent":"Open in Parent Window/Frame","target_same":"Open in This Window/Frame","anchor_names":"Anchors","popup_opts":"Options","advanced_props":"Advanced Properties","event_props":"Events","popup_props":"Popup Properties","general_props":"General Properties","advanced_tab":"Advanced","events_tab":"Events","popup_tab":"Popup","general_tab":"General",list:"Link List","is_external":"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?","is_email":"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",titlefield:"Title",target:"Target",url:"Link URL",title:"Insert/Edit Link","link_list":"Link List",rtl:"Right to Left",ltr:"Left to Right",accesskey:"AccessKey",tabindex:"TabIndex",rev:"Relationship Target to Page",rel:"Relationship Page to Target",mime:"Target MIME Type",encoding:"Target Character Encoding",langcode:"Language Code","target_langcode":"Target Language",width:"Width",height:"Height"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/hu_dlg.js new file mode 100644 index 00000000..ec82452c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.advlink_dlg',{"target_name":"C\u00e9l neve",classes:"Oszt\u00e1lyok",style:"St\u00edlus",id:"ID","popup_position":" (X/Y) Poz\u00edci\u00f3",langdir:"Nyelv \u00edr\u00e1s ir\u00e1ny","popup_size":"M\u00e9ret","popup_dependent":"F\u00fcgg\u0151 (csak Mozilla/Firefox)","popup_resizable":"\u00c1tm\u00e9retezhet\u0151 ablak k\u00e9sz\u00edt\u00e9se","popup_location":"C\u00edm mez\u0151 mutat\u00e1sa","popup_menubar":"Men\u00fcsor mutat\u00e1sa","popup_toolbar":"Eszk\u00f6zsor mutat\u00e1sa","popup_statusbar":"St\u00e1tuszsor mutat\u00e1sa","popup_scrollbars":"G\u00f6rget\u0151s\u00e1vok mutat\u00e1sa","popup_return":"\'return false\' besz\u00far\u00e1sa","popup_name":"Ablakn\u00e9v","popup_url":"Felugr\u00f3 ablak URL",popup:"JavaScript felugr\u00f3 ablak","target_blank":"Megnyit\u00e1s \u00faj ablakban ","target_top":"Megnyit\u00e1s azonos ablakban/keretben legfel\u00fcl","target_parent":"Megnyit\u00e1s sz\u00fcl\u0151 ablakban/keretben ","target_same":"Megnyit\u00e1s azonos ablakban/keretben ","anchor_names":"Horgonyok","popup_opts":"Be\u00e1ll\u00edt\u00e1sok","advanced_props":"Halad\u00f3 tulajdons\u00e1gok","event_props":"Esem\u00e9nyek","popup_props":"Felugr\u00f3 ablak tulajdons\u00e1gai","general_props":"\u00c1ltal\u00e1nos tulajdons\u00e1gok","advanced_tab":"Halad\u00f3","events_tab":"Esem\u00e9nyek","popup_tab":"Felugr\u00f3 ablak","general_tab":"\u00c1ltal\u00e1nos",list:"Link lista","is_external":"A be\u00edrt URL k\u00fcls\u0151 hivatkoz\u00e1snak t\u0171nik, k\u00edv\u00e1nja a sz\u00fcks\u00e9ges http:// -t el\u00e9 tenni?","is_email":"A be\u00edrt URL e-mail c\u00edmnek t\u0171nik, k\u00edv\u00e1nja a sz\u00fcks\u00e9ges mailto: el\u0151tagot el\u00e9 tenni?",titlefield:"C\u00edm",target:"C\u00e9l (target)",url:"Link URL",title:"Hivatkoz\u00e1s besz\u00far\u00e1s/szerkeszt\u00e9s","link_list":"Link lista",rtl:"Jobbr\u00f3l balra",ltr:"Balr\u00f3l jobbra",accesskey:"Gyorsgomb",tabindex:"Tabindex",rev:"C\u00e9l kapcsolata az oldallal",rel:"Oldal kapcsolata a c\u00e9llal",mime:"C\u00e9l MIME t\u00edpus",encoding:"C\u00e9l karakterk\u00f3dol\u00e1s",langcode:"Nyelv k\u00f3d","target_langcode":"C\u00e9l nyelv",width:"Sz\u00e9less\u00e9g",height:"Magass\u00e1g"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/ja_dlg.js new file mode 100644 index 00000000..68ebcd2e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.advlink_dlg',{"target_name":"\u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u540d\u524d",classes:"\u30af\u30e9\u30b9",style:"\u30b9\u30bf\u30a4\u30eb",id:"ID","popup_position":"\u4f4d\u7f6e (X/Y)",langdir:"\u6587\u7ae0\u306e\u65b9\u5411","popup_size":"\u5927\u304d\u3055","popup_dependent":"\u4f9d\u5b58(Mozilla\u3068Firefox\u3060\u3051)","popup_resizable":"\u30a6\u30a4\u30f3\u30c9\u30a6\u306e\u30b5\u30a4\u30ba\u5909\u66f4\u3092\u8a31\u53ef","popup_location":"\u30a2\u30c9\u30ec\u30b9\u30d0\u30fc\u3092\u8868\u793a","popup_menubar":"\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc\u3092\u8868\u793a","popup_toolbar":"\u30c4\u30fc\u30eb\u30d0\u30fc\u3092\u8868\u793a","popup_statusbar":"\u30b9\u30c6\u30fc\u30bf\u30b9\u30d0\u30fc\u3092\u8868\u793a","popup_scrollbars":"\u30b9\u30af\u30ed\u30fc\u30eb\u30d0\u30fc\u3092\u8868\u793a","popup_return":"\'return false\'\u3092\u633f\u5165","popup_name":"\u30a6\u30a4\u30f3\u30c9\u30a6\u306e\u540d\u524d","popup_url":"\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u306eURL",popup:"Javascript\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7","target_blank":"\u65b0\u3057\u3044\u30a6\u30a4\u30f3\u30c9\u30a6\u3067\u958b\u304f","target_top":"\u30c8\u30c3\u30d7\u306e\u30d5\u30ec\u30fc\u30e0\u3067\u958b\u304f(\u3059\u3079\u3066\u306e\u30d5\u30ec\u30fc\u30e0\u3092\u7f6e\u304d\u63db\u3048)","target_parent":"\u89aa\u30a6\u30a4\u30f3\u30c9\u30a6/\u89aa\u30d5\u30ec\u30fc\u30e0\u3067\u958b\u304f","target_same":"\u3053\u306e\u30a6\u30a4\u30f3\u30c9\u30a6/\u30d5\u30ec\u30fc\u30e0\u3067\u958b\u304f","anchor_names":"\u30a2\u30f3\u30ab\u30fc","popup_opts":"\u30aa\u30d7\u30b7\u30e7\u30f3","advanced_props":"\u9ad8\u5ea6\u306a\u5c5e\u6027","event_props":"\u30a4\u30d9\u30f3\u30c8","popup_props":"\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7","general_props":"\u4e00\u822c","advanced_tab":"\u5c02\u9580\u7684","events_tab":"\u30a4\u30d9\u30f3\u30c8","popup_tab":"\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7","general_tab":"\u4e00\u822c",list:"\u30ea\u30f3\u30af\u306e\u4e00\u89a7","is_external":"\u5165\u529b\u3057\u305fURL\u306f\u5916\u90e8\u306e\u30ea\u30f3\u30af\u306e\u3088\u3046\u3067\u3059\u3002\u30ea\u30f3\u30af\u306b http:// \u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b?","is_email":"\u5165\u529b\u3057\u305fURL\u306f\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u3088\u3046\u3067\u3059\u3002\u30ea\u30f3\u30af\u306b mailto: \u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b?",titlefield:"\u30bf\u30a4\u30c8\u30eb",target:"\u30bf\u30fc\u30b2\u30c3\u30c8",url:"\u30ea\u30f3\u30af\u306eURL",title:"\u30ea\u30f3\u30af\u306e\u633f\u5165/\u7de8\u96c6","link_list":"\u30ea\u30f3\u30af\u306e\u4e00\u89a7",rtl:"\u53f3\u304b\u3089\u5de6",ltr:"\u5de6\u304b\u3089\u53f3",accesskey:"\u30a2\u30af\u30bb\u30b9\u30ad\u30fc",tabindex:"\u30bf\u30d6\u30a4\u30f3\u30c7\u30c3\u30af\u30b9",rev:"\u30bf\u30fc\u30b2\u30c3\u30c8\u304b\u3089\u30da\u30fc\u30b8\u306e\u95a2\u4fc2",rel:"\u30da\u30fc\u30b8\u304b\u3089\u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u95a2\u4fc2",mime:"\u30bf\u30fc\u30b2\u30c3\u30c8\u306eMIME\u30bf\u30a4\u30d7",encoding:"\u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0",langcode:"\u8a00\u8a9e\u30b3\u30fc\u30c9","target_langcode":"\u30bf\u30fc\u30b2\u30c3\u30c8\u306e\u8a00\u8a9e",width:"\u5e45",height:"\u9ad8\u3055"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/link.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/link.htm new file mode 100755 index 00000000..8ab7c2a9 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlink/link.htm @@ -0,0 +1,338 @@ + + + + {#advlink_dlg.title} + + + + + + + + + +
+ + + + +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin.js new file mode 100644 index 00000000..57ecce6e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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");if(tinymce.isIE&&/MSIE [2-7]/.test(navigator.userAgent)){d.isIE7=true}},createControl:function(d,b){var f=this,e,i,g=f.editor;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){i=f[d][0]}function c(j,l){var k=true;a(l.styles,function(n,m){if(g.dom.getStyle(j,m)!=n){k=false;return false}});return k}function h(){var k,l=g.dom,j=g.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,i)){g.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(i){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,i.styles);k.removeAttribute("data-mce-style")}}g.focus()}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){h()}});e.onRenderMenu.add(function(j,k){k.onHideMenu.add(function(){if(f.bookmark){g.selection.moveToBookmark(f.bookmark);f.bookmark=0}});k.onShowMenu.add(function(){var n=g.dom,m=n.getParent(g.selection.getNode(),"ol,ul"),l;if(m||i){l=f[d];a(k.items,function(o){var p=true;o.setSelected(0);if(m&&!o.isDisabled()){a(l,function(q){if(q.id==o.id){if(!c(m,q)){p=false;return false}}});if(p){o.setSelected(1)}}});if(!m){k.items[i.id].setSelected(1)}}g.focus();if(tinymce.isIE){f.bookmark=g.selection.getBookmark(1)}});k.add({id:g.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle",titleItem:true}).setDisabled(1);a(f[d],function(l){if(f.isIE7&&l.styles.listStyleType=="lower-greek"){return}l.id=g.dom.uniqueId();k.add({id:l.id,title:l.title,onclick:function(){i=l;h()}})})});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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin_src.js new file mode 100644 index 00000000..a8f046b4 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/advlist/editor_plugin_src.js @@ -0,0 +1,176 @@ +/** + * 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"); + + if (tinymce.isIE && /MSIE [2-7]/.test(navigator.userAgent)) + t.isIE7 = true; + }, + + createControl: function(name, cm) { + var t = this, btn, format, editor = t.editor; + + 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 (editor.dom.getStyle(node, name) != value) { + state = false; + return false; + } + }); + + return state; + }; + + function applyListFormat() { + var list, dom = editor.dom, sel = editor.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)) + editor.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('data-mce-style'); + } + } + + editor.focus(); + }; + + btn = cm.createSplitButton(name, { + title : 'advanced.' + name + '_desc', + 'class' : 'mce_' + name, + onclick : function() { + applyListFormat(); + } + }); + + btn.onRenderMenu.add(function(btn, menu) { + menu.onHideMenu.add(function() { + if (t.bookmark) { + editor.selection.moveToBookmark(t.bookmark); + t.bookmark = 0; + } + }); + + menu.onShowMenu.add(function() { + var dom = editor.dom, list = dom.getParent(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); + } + + editor.focus(); + + // IE looses it's selection so store it away and restore it later + if (tinymce.isIE) { + t.bookmark = editor.selection.getBookmark(1); + } + }); + + menu.add({id : editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle', titleItem: true}).setDisabled(1); + + each(t[name], function(item) { + // IE<8 doesn't support lower-greek, skip it + if (t.isIE7 && item.styles.listStyleType == 'lower-greek') + return; + + item.id = 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin.js new file mode 100644 index 00000000..d1c3502a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutolinkPlugin",{init:function(a,b){var c=this;a.onKeyDown.addToTop(function(d,f){if(f.keyCode==13){return c.handleEnter(d)}});if(tinyMCE.isIE){return}a.onKeyPress.add(function(d,f){if(f.which==41){return c.handleEclipse(d)}});a.onKeyUp.add(function(d,f){if(f.keyCode==32){return c.handleSpacebar(d)}})},handleEclipse:function(a){this.parseCurrentLine(a,-1,"(",true)},handleSpacebar:function(a){this.parseCurrentLine(a,0,"",true)},handleEnter:function(a){this.parseCurrentLine(a,-1,"",false)},parseCurrentLine:function(i,d,b,g){var a,f,c,n,k,m,h,e,j;a=i.selection.getRng(true).cloneRange();if(a.startOffset<5){e=a.endContainer.previousSibling;if(e==null){if(a.endContainer.firstChild==null||a.endContainer.firstChild.nextSibling==null){return}e=a.endContainer.firstChild.nextSibling}j=e.length;a.setStart(e,j);a.setEnd(e,j);if(a.endOffset<5){return}f=a.endOffset;n=e}else{n=a.endContainer;if(n.nodeType!=3&&n.firstChild){while(n.nodeType!=3&&n.firstChild){n=n.firstChild}if(n.nodeType==3){a.setStart(n,0);a.setEnd(n,n.nodeValue.length)}}if(a.endOffset==1){f=2}else{f=a.endOffset-1-d}}c=f;do{a.setStart(n,f-2);a.setEnd(n,f-1);f-=1}while(a.toString()!=" "&&a.toString()!=""&&a.toString().charCodeAt(0)!=160&&(f-2)>=0&&a.toString()!=b);if(a.toString()==b||a.toString().charCodeAt(0)==160){a.setStart(n,f);a.setEnd(n,c);f+=1}else{if(a.startOffset==0){a.setStart(n,0);a.setEnd(n,c)}else{a.setStart(n,f);a.setEnd(n,c)}}var m=a.toString();if(m.charAt(m.length-1)=="."){a.setEnd(n,c-1)}m=a.toString();h=m.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+-]+@)(.+)$/i);if(h){if(h[1]=="www."){h[1]="http://www."}else{if(/@$/.test(h[1])&&!/^mailto:/.test(h[1])){h[1]="mailto:"+h[1]}}k=i.selection.getBookmark();i.selection.setRng(a);tinyMCE.execCommand("createlink",false,h[1]+h[2]);i.selection.moveToBookmark(k);i.nodeChanged();if(tinyMCE.isWebKit){i.selection.collapse(false);var l=Math.min(n.length,c+1);a.setStart(n,l);a.setEnd(n,l);i.selection.setRng(a)}}},getInfo:function(){return{longname:"Autolink",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autolink",tinymce.plugins.AutolinkPlugin)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin_src.js new file mode 100644 index 00000000..c05fbbc0 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autolink/editor_plugin_src.js @@ -0,0 +1,184 @@ +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.AutolinkPlugin', { + /** + * 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; + + // Add a key down handler + ed.onKeyDown.addToTop(function(ed, e) { + if (e.keyCode == 13) + return t.handleEnter(ed); + }); + + // Internet Explorer has built-in automatic linking for most cases + if (tinyMCE.isIE) + return; + + ed.onKeyPress.add(function(ed, e) { + if (e.which == 41) + return t.handleEclipse(ed); + }); + + // Add a key up handler + ed.onKeyUp.add(function(ed, e) { + if (e.keyCode == 32) + return t.handleSpacebar(ed); + }); + }, + + handleEclipse : function(ed) { + this.parseCurrentLine(ed, -1, '(', true); + }, + + handleSpacebar : function(ed) { + this.parseCurrentLine(ed, 0, '', true); + }, + + handleEnter : function(ed) { + this.parseCurrentLine(ed, -1, '', false); + }, + + parseCurrentLine : function(ed, end_offset, delimiter, goback) { + var r, end, start, endContainer, bookmark, text, matches, prev, len; + + // We need at least five characters to form a URL, + // hence, at minimum, five characters from the beginning of the line. + r = ed.selection.getRng(true).cloneRange(); + if (r.startOffset < 5) { + // During testing, the caret is placed inbetween two text nodes. + // The previous text node contains the URL. + prev = r.endContainer.previousSibling; + if (prev == null) { + if (r.endContainer.firstChild == null || r.endContainer.firstChild.nextSibling == null) + return; + + prev = r.endContainer.firstChild.nextSibling; + } + len = prev.length; + r.setStart(prev, len); + r.setEnd(prev, len); + + if (r.endOffset < 5) + return; + + end = r.endOffset; + endContainer = prev; + } else { + endContainer = r.endContainer; + + // Get a text node + if (endContainer.nodeType != 3 && endContainer.firstChild) { + while (endContainer.nodeType != 3 && endContainer.firstChild) + endContainer = endContainer.firstChild; + + // Move range to text node + if (endContainer.nodeType == 3) { + r.setStart(endContainer, 0); + r.setEnd(endContainer, endContainer.nodeValue.length); + } + } + + if (r.endOffset == 1) + end = 2; + else + end = r.endOffset - 1 - end_offset; + } + + start = end; + + do + { + // Move the selection one character backwards. + r.setStart(endContainer, end - 2); + r.setEnd(endContainer, end - 1); + end -= 1; + + // Loop until one of the following is found: a blank space,  , delimeter, (end-2) >= 0 + } while (r.toString() != ' ' && r.toString() != '' && r.toString().charCodeAt(0) != 160 && (end -2) >= 0 && r.toString() != delimiter); + + if (r.toString() == delimiter || r.toString().charCodeAt(0) == 160) { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + end += 1; + } else if (r.startOffset == 0) { + r.setStart(endContainer, 0); + r.setEnd(endContainer, start); + } + else { + r.setStart(endContainer, end); + r.setEnd(endContainer, start); + } + + // Exclude last . from word like "www.site.com." + var text = r.toString(); + if (text.charAt(text.length - 1) == '.') { + r.setEnd(endContainer, start - 1); + } + + text = r.toString(); + matches = text.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+-]+@)(.+)$/i); + + if (matches) { + if (matches[1] == 'www.') { + matches[1] = 'http://www.'; + } else if (/@$/.test(matches[1]) && !/^mailto:/.test(matches[1])) { + matches[1] = 'mailto:' + matches[1]; + } + + bookmark = ed.selection.getBookmark(); + + ed.selection.setRng(r); + tinyMCE.execCommand('createlink',false, matches[1] + matches[2]); + ed.selection.moveToBookmark(bookmark); + ed.nodeChanged(); + + // TODO: Determine if this is still needed. + if (tinyMCE.isWebKit) { + // move the caret to its original position + ed.selection.collapse(false); + var max = Math.min(endContainer.length, start + 1); + r.setStart(endContainer, max); + r.setEnd(endContainer, max); + ed.selection.setRng(r); + } + } + }, + + /** + * 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 : 'Autolink', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autolink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('autolink', tinymce.plugins.AutolinkPlugin); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin.js new file mode 100644 index 00000000..46d9dc3d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this,e=0;if(a.getParam("fullscreen_is_enabled")){return}function b(){var j,i=a.getDoc(),f=i.body,l=i.documentElement,h=tinymce.DOM,k=d.autoresize_min_height,g;g=tinymce.isIE?f.scrollHeight:(tinymce.isWebKit&&f.clientHeight==0?0:f.offsetHeight);if(g>d.autoresize_min_height){k=g}if(d.autoresize_max_height&&g>d.autoresize_max_height){k=d.autoresize_max_height;f.style.overflowY="auto";l.style.overflowY="auto"}else{f.style.overflowY="hidden";l.style.overflowY="hidden";f.scrollTop=0}if(k!==e){j=k-e;h.setStyle(h.get(a.id+"_ifr"),"height",k+"px");e=k;if(tinymce.isWebKit&&j<0){b()}}}d.editor=a;d.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight));d.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0));a.onInit.add(function(f){f.dom.setStyle(f.getBody(),"paddingBottom",f.getParam("autoresize_bottom_margin",50)+"px")});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.onLoad.add(b);a.onLoadContent.add(b)}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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autoresize/editor_plugin_src.js new file mode 100644 index 00000000..7673bcff --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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, oldSize = 0; + + if (ed.getParam('fullscreen_is_enabled')) + return; + + /** + * This method gets executed each time the editor needs to resize. + */ + function resize() { + var deltaSize, d = ed.getDoc(), body = 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 ? body.scrollHeight : (tinymce.isWebKit && body.clientHeight == 0 ? 0 : body.offsetHeight); + + // Don't make it smaller than the minimum height + if (myHeight > t.autoresize_min_height) + resizeHeight = myHeight; + + // If a maximum height has been defined don't exceed this height + if (t.autoresize_max_height && myHeight > t.autoresize_max_height) { + resizeHeight = t.autoresize_max_height; + body.style.overflowY = "auto"; + de.style.overflowY = "auto"; // Old IE + } else { + body.style.overflowY = "hidden"; + de.style.overflowY = "hidden"; // Old IE + body.scrollTop = 0; + } + + // Resize content element + if (resizeHeight !== oldSize) { + deltaSize = resizeHeight - oldSize; + DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px'); + oldSize = resizeHeight; + + // WebKit doesn't decrease the size of the body element until the iframe gets resized + // So we need to continue to resize the iframe down until the size gets fixed + if (tinymce.isWebKit && deltaSize < 0) + resize(); + } + }; + + t.editor = ed; + + // Define minimum height + t.autoresize_min_height = parseInt(ed.getParam('autoresize_min_height', ed.getElement().offsetHeight)); + + // Define maximum height + t.autoresize_max_height = parseInt(ed.getParam('autoresize_max_height', 0)); + + // Add padding at the bottom for better UX + ed.onInit.add(function(ed){ + ed.dom.setStyle(ed.getBody(), 'paddingBottom', ed.getParam('autoresize_bottom_margin', 50) + 'px'); + }); + + // 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)) { + ed.onLoad.add(resize); + ed.onLoadContent.add(resize); + } + + // 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); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/editor_plugin.js new file mode 100755 index 00000000..6da98ff3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(){if(!i.removed){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();try{m.save("TinyMCE")}catch(o){}},getItem:function(l){var m=i.getElement();try{m.load("TinyMCE");return m.getAttribute(l)}catch(n){return null}},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,j=h.storage,i;if(j){i=j.getItem(h.key);if(i){h.editor.setContent(i);h.onRestoreDraft.dispatch(h,{content:i})}}},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() { + if (!ed.removed) { + 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(); + + try { + userDataElement.save("TinyMCE"); + } catch (e) { + // Ignore, saving might fail if "Userdata Persistence" is disabled in IE + } + }, + + getItem : function(key) { + var userDataElement = ed.getElement(); + + try { + userDataElement.load("TinyMCE"); + return userDataElement.getAttribute(key); + } catch (e) { + // Ignore, loading might fail if "Userdata Persistence" is disabled in IE + return null; + } + }, + + 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, content; + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/langs/en.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/autosave/langs/en.js new file mode 100755 index 00000000..fce6bd3e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/bbcode/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/bbcode/editor_plugin.js new file mode 100755 index 00000000..8f8821fd --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(/ |\u00a0/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/bbcode/editor_plugin_src.js new file mode 100755 index 00000000..4e7eb337 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(/ |\u00a0/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin.js new file mode 100755 index 00000000..2ed042c3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(f){var i=this,g,d,j,e;i.editor=f;d=f.settings.contextmenu_never_use_native;i.onContextMenu=new tinymce.util.Dispatcher(this);e=function(k){h(f,k)};g=f.onContextMenu.add(function(k,l){if((j!==0?j:l.ctrlKey)&&!d){return}a.cancel(l);if(l.target.nodeName=="IMG"){k.selection.select(l.target)}i._getMenu(k).showMenu(l.clientX||l.pageX,l.clientY||l.pageY);a.add(k.getDoc(),"click",e);k.nodeChanged()});f.onRemove.add(function(){if(i._menu){i._menu.removeAll()}});function h(k,l){j=0;if(l&&l.button==2){j=l.ctrlKey;return}if(i._menu){i._menu.removeAll();i._menu.destroy();a.remove(k.getDoc(),"click",e);i._menu=null}}f.onMouseDown.add(h);f.onKeyDown.add(h);f.onKeyDown.add(function(k,l){if(l.shiftKey&&!l.ctrlKey&&!l.altKey&&l.keyCode===121){a.cancel(l);g(k,l)}})},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(e){var g=this,d=g._menu,j=e.selection,f=j.isCollapsed(),h=j.getNode()||e.getBody(),i,k;if(d){d.removeAll();d.destroy()}k=b.getPos(e.getContentAreaContainer());d=e.controlManager.createDropMenu("contextmenu",{offset_x:k.x+e.getParam("contextmenu_offset_x",0),offset_y:k.y+e.getParam("contextmenu_offset_y",0),constrain:1,keyboard_focus:true});g._menu=d;d.add({title:"advanced.cut_desc",icon:"cut",cmd:"Cut"}).setDisabled(f);d.add({title:"advanced.copy_desc",icon:"copy",cmd:"Copy"}).setDisabled(f);d.add({title:"advanced.paste_desc",icon:"paste",cmd:"Paste"});if((h.nodeName=="A"&&!e.dom.getAttrib(h,"name"))||!f){d.addSeparator();d.add({title:"advanced.link_desc",icon:"link",cmd:e.plugins.advlink?"mceAdvLink":"mceLink",ui:true});d.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"})}d.addSeparator();d.add({title:"advanced.image_desc",icon:"image",cmd:e.plugins.advimage?"mceAdvImage":"mceImage",ui:true});d.addSeparator();i=d.addMenu({title:"contextmenu.align"});i.add({title:"contextmenu.left",icon:"justifyleft",cmd:"JustifyLeft"});i.add({title:"contextmenu.center",icon:"justifycenter",cmd:"JustifyCenter"});i.add({title:"contextmenu.right",icon:"justifyright",cmd:"JustifyRight"});i.add({title:"contextmenu.full",icon:"justifyfull",cmd:"JustifyFull"});g.onContextMenu.dispatch(g,d,h,f);return d}});tinymce.PluginManager.add("contextmenu",tinymce.plugins.ContextMenu)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js new file mode 100755 index 00000000..48b0fff9 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/contextmenu/editor_plugin_src.js @@ -0,0 +1,163 @@ +/** + * 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, showMenu, contextmenuNeverUseNative, realCtrlKey, hideMenu; + + t.editor = ed; + + contextmenuNeverUseNative = ed.settings.contextmenu_never_use_native; + + /** + * 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); + + hideMenu = function(e) { + hide(ed, e); + }; + + showMenu = ed.onContextMenu.add(function(ed, e) { + // Block TinyMCE menu on ctrlKey and work around Safari issue + if ((realCtrlKey !== 0 ? realCtrlKey : e.ctrlKey) && !contextmenuNeverUseNative) + return; + + Event.cancel(e); + + // Select the image if it's clicked. WebKit would other wise expand the selection + if (e.target.nodeName == 'IMG') + ed.selection.select(e.target); + + t._getMenu(ed).showMenu(e.clientX || e.pageX, e.clientY || e.pageY); + Event.add(ed.getDoc(), 'click', hideMenu); + + ed.nodeChanged(); + }); + + ed.onRemove.add(function() { + if (t._menu) + t._menu.removeAll(); + }); + + function hide(ed, e) { + realCtrlKey = 0; + + // Since the contextmenu event moves + // the selection we need to store it away + if (e && e.button == 2) { + realCtrlKey = e.ctrlKey; + return; + } + + if (t._menu) { + t._menu.removeAll(); + t._menu.destroy(); + Event.remove(ed.getDoc(), 'click', hideMenu); + t._menu = null; + } + }; + + ed.onMouseDown.add(hide); + ed.onKeyDown.add(hide); + ed.onKeyDown.add(function(ed, e) { + if (e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode === 121) { + Event.cancel(e); + showMenu(ed, e); + } + }); + }, + + /** + * 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, p; + + if (m) { + m.removeAll(); + m.destroy(); + } + + p = DOM.getPos(ed.getContentAreaContainer()); + + m = ed.controlManager.createDropMenu('contextmenu', { + offset_x : p.x + ed.getParam('contextmenu_offset_x', 0), + offset_y : p.y + ed.getParam('contextmenu_offset_y', 0), + constrain : 1, + keyboard_focus: true + }); + + 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); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin.js new file mode 100755 index 00000000..90847e78 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.Directionality",{init:function(b,c){var d=this;d.editor=b;function a(e){var h=b.dom,g,f=b.selection.getSelectedBlocks();if(f.length){g=h.getAttrib(f[0],"dir");tinymce.each(f,function(i){if(!h.getParent(i.parentNode,"*[dir='"+e+"']",h.getRoot())){if(g!=e){h.setAttrib(i,"dir",e)}else{h.setAttrib(i,"dir",null)}}});b.nodeChanged()}}b.addCommand("mceDirectionLTR",function(){a("ltr")});b.addCommand("mceDirectionRTL",function(){a("rtl")});b.addButton("ltr",{title:"directionality.ltr_desc",cmd:"mceDirectionLTR"});b.addButton("rtl",{title:"directionality.rtl_desc",cmd:"mceDirectionRTL"});b.onNodeChange.add(d._nodeChange,d)},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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js new file mode 100755 index 00000000..b1340141 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/directionality/editor_plugin_src.js @@ -0,0 +1,85 @@ +/** + * 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; + + function setDir(dir) { + var dom = ed.dom, curDir, blocks = ed.selection.getSelectedBlocks(); + + if (blocks.length) { + curDir = dom.getAttrib(blocks[0], "dir"); + + tinymce.each(blocks, function(block) { + // Add dir to block if the parent block doesn't already have that dir + if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) { + if (curDir != dir) { + dom.setAttrib(block, "dir", dir); + } else { + dom.setAttrib(block, "dir", null); + } + } + }); + + ed.nodeChanged(); + } + } + + ed.addCommand('mceDirectionLTR', function() { + setDir("ltr"); + }); + + ed.addCommand('mceDirectionRTL', function() { + setDir("rtl"); + }); + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/editor_plugin.js new file mode 100755 index 00000000..dbdd8ffb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/editor_plugin_src.js new file mode 100755 index 00000000..71d54169 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/emotions.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/emotions.htm new file mode 100755 index 00000000..10135565 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/emotions.htm @@ -0,0 +1,42 @@ + + + + {#emotions_dlg.title} + + + + + +

+
{#emotions_dlg.title}:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
{#emotions_dlg.usage}
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cool.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cool.gif new file mode 100644 index 00000000..ba90cc36 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cool.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cry.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cry.gif new file mode 100644 index 00000000..74d897a4 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-cry.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-embarassed.gif new file mode 100644 index 00000000..963a96b8 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-embarassed.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif new file mode 100644 index 00000000..c7cf1011 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-frown.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-frown.gif new file mode 100644 index 00000000..716f55e1 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-frown.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-innocent.gif new file mode 100644 index 00000000..334d49e0 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-innocent.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-kiss.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-kiss.gif new file mode 100644 index 00000000..4efd549e Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-kiss.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-laughing.gif new file mode 100644 index 00000000..82c5b182 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-laughing.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif new file mode 100644 index 00000000..ca2451e1 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-sealed.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-sealed.gif new file mode 100644 index 00000000..fe66220c Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-sealed.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-smile.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-smile.gif new file mode 100644 index 00000000..fd27edfa Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-smile.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-surprised.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-surprised.gif new file mode 100644 index 00000000..0cc9bb71 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-surprised.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif new file mode 100644 index 00000000..2075dc16 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-undecided.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-undecided.gif new file mode 100644 index 00000000..bef7e257 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-undecided.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-wink.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-wink.gif new file mode 100644 index 00000000..0631c761 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-wink.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-yell.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-yell.gif new file mode 100644 index 00000000..648e6e87 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/img/smiley-yell.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/js/emotions.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/js/emotions.js new file mode 100644 index 00000000..b360f20b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/js/emotions.js @@ -0,0 +1,43 @@ +tinyMCEPopup.requireLangPack(); + +var EmotionsDialog = { + addKeyboardNavigation: function(){ + var tableElm, cells, settings; + + cells = tinyMCEPopup.dom.select("a.emoticon_link", "emoticon_table"); + + settings ={ + root: "emoticon_table", + items: cells + }; + cells[0].tabindex=0; + tinyMCEPopup.dom.addClass(cells[0], "mceFocus"); + if (tinymce.isGecko) { + cells[0].focus(); + } else { + setTimeout(function(){ + cells[0].focus(); + }, 100); + } + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom); + }, + init : function(ed) { + tinyMCEPopup.resizeToInnerSize(); + this.addKeyboardNavigation(); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { + src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file, + alt : ed.getLang(title), + title : ed.getLang(title), + border : 0 + })); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/de_dlg.js new file mode 100644 index 00000000..7489e35e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.emotions_dlg',{cry:"Weinend",cool:"Cool",desc:"Smileys",title:"Smiley einf\u00fcgen",yell:"Br\u00fcllend",wink:"Zwinkernd",undecided:"Unentschlossen","tongue_out":"Zunge raus",surprised:"\u00dcberrascht",smile:"L\u00e4chelnd",sealed:"Verschlossen","money_mouth":"Geld",laughing:"Lachend",kiss:"K\u00fcssend",innocent:"Unschuldig",frown:"Stirnrunzelnd","foot_in_mouth":"Reingefallen",embarassed:"Verlegen",usage:"Navigation mit linken und rechten Pfeilen."}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/en_dlg.js new file mode 100644 index 00000000..f5aafc39 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.emotions_dlg',{cry:"Cry",cool:"Cool",desc:"Emotions",title:"Insert Emotion",yell:"Yell",wink:"Wink",undecided:"Undecided","tongue_out":"Tongue Out",surprised:"Surprised",smile:"Smile",sealed:"Sealed","money_mouth":"Money Mouth",laughing:"Laughing",kiss:"Kiss",innocent:"Innocent",frown:"Frown","foot_in_mouth":"Foot in Mouth",embarassed:"Embarassed",usage:"Use left and right arrows to navigate."}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/hu_dlg.js new file mode 100644 index 00000000..b48285bb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.emotions_dlg',{cry:"S\u00edr\u00f3s",cool:"Kir\u00e1ly",desc:"Hangulatjelek",title:"Hangulatjel besz\u00far\u00e1sa",yell:"\u00dcv\u00f6lt\u00e9s",wink:"Kacsint\u00e1s",undecided:"Hat\u00e1rozatlan","tongue_out":"Nyelv\u00f6lt\u00e9s",surprised:"Meglepett",smile:"Vigyor",sealed:"Lakat a sz\u00e1j\u00e1n","money_mouth":"P\u00e9nz besz\u00e9l",laughing:"Nevet\u00e9s",kiss:"Cs\u00f3k",innocent:"\u00c1rtatlan",frown:"Rosszall","foot_in_mouth":"L\u00e1b a sz\u00e1jban",embarassed:"Zavarban van",usage:"A navig\u00e1l\u00e1shoz haszn\u00e1ld a bal \u00e9s jobb oldali nyilat."}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/ja_dlg.js new file mode 100644 index 00000000..7ff287f3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/emotions/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.emotions_dlg',{cry:"\u6ce3\u304d\u9854",cool:"\u30af\u30fc\u30eb",desc:"\u8868\u60c5\u30a2\u30a4\u30b3\u30f3",title:"\u8868\u60c5\u30a2\u30a4\u30b3\u30f3\u306e\u633f\u5165",yell:"\u30a8\u30fc\u30eb",wink:"\u30a6\u30a3\u30f3\u30af",undecided:"\u672a\u6c7a\u5b9a","tongue_out":"\u30a2\u30c3\u30ab\u30f3\u30d9\u30fc",surprised:"\u9a5a\u304d",smile:"\u7b11\u9854",sealed:"\u5c01\u5370","money_mouth":"\u53e3\u306b\u304a\u91d1",laughing:"\u7b11\u3044",kiss:"\u30ad\u30b9",innocent:"\u7d14\u771f\u7121\u57a2",frown:"\u6e0b\u9762","foot_in_mouth":"\u53e3\u306b\u8db3",embarassed:"\u56f0\u60d1",usage:"\u5de6\u3068\u53f3\u306e\u30ab\u30fc\u30bd\u30eb\u30ad\u30fc\u3067\u79fb\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/dialog.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/dialog.htm new file mode 100644 index 00000000..50b2b344 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/dialog.htm @@ -0,0 +1,22 @@ + + + + {#example_dlg.title} + + + + + +
+

Here is a example dialog.

+

Selected text:

+

Custom arg:

+ +
+ + +
+
+ + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/editor_plugin.js new file mode 100644 index 00000000..ec1f81ea --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/editor_plugin_src.js new file mode 100644 index 00000000..9a0e7da1 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/img/example.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/img/example.gif new file mode 100644 index 00000000..1ab5da44 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/img/example.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/js/dialog.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/js/dialog.js new file mode 100644 index 00000000..fa834113 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/js/dialog.js @@ -0,0 +1,19 @@ +tinyMCEPopup.requireLangPack(); + +var ExampleDialog = { + init : function() { + var f = document.forms[0]; + + // Get the selected contents as text and place it in the input + f.someval.value = tinyMCEPopup.editor.selection.getContent({format : 'text'}); + f.somearg.value = tinyMCEPopup.getWindowArg('some_custom_arg'); + }, + + insert : function() { + // Insert the contents from the input into the document + tinyMCEPopup.editor.execCommand('mceInsertContent', false, document.forms[0].someval.value); + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(ExampleDialog.init, ExampleDialog); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en.js new file mode 100644 index 00000000..e0784f80 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en.js @@ -0,0 +1,3 @@ +tinyMCE.addI18n('en.example',{ + desc : 'This is just a template button' +}); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en_dlg.js new file mode 100644 index 00000000..ebcf948d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example/langs/en_dlg.js @@ -0,0 +1,3 @@ +tinyMCE.addI18n('en.example_dlg',{ + title : 'This is just a example title' +}); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin.js new file mode 100644 index 00000000..0a4551d3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.ExampleDependencyPlugin",{init:function(a,b){},getInfo:function(){return{longname:"Example Dependency plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example_dependency",version:"1.0"}}});tinymce.PluginManager.add("example_dependency",tinymce.plugins.ExampleDependencyPlugin,["example"])})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/editor_plugin_src.js new file mode 100644 index 00000000..e1c55e41 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/example_dependency/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.ExampleDependencyPlugin', { + /** + * 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) { + }, + + + /** + * 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 Dependency plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example_dependency', + version : "1.0" + }; + } + }); + + /** + * Register the plugin, specifying the list of the plugins that this plugin depends on. They are specified in a list, with the list loaded in order. + * plugins in this list will be initialised when this plugin is initialized. (before the init method is called). + * plugins in a depends list should typically be specified using the short name). If neccesary this can be done + * with an object which has the url to the plugin and the shortname. + */ + tinymce.PluginManager.add('example_dependency', tinymce.plugins.ExampleDependencyPlugin, ['example']); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/css/fullpage.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/css/fullpage.css new file mode 100755 index 00000000..2675cec1 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/css/fullpage.css @@ -0,0 +1,143 @@ +/* Hide the advanced tab */ +#advanced_tab { + display: none; +} + +#metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright { + width: 280px; +} + +#doctype, #docencoding { + width: 200px; +} + +#langcode { + width: 30px; +} + +#bgimage { + width: 220px; +} + +#fontface { + width: 240px; +} + +#leftmargin, #rightmargin, #topmargin, #bottommargin { + width: 50px; +} + +.panel_wrapper div.current { + height: 400px; +} + +#stylesheet, #style { + width: 240px; +} + +#doctypes { + width: 200px; +} + +/* Head list classes */ + +.headlistwrapper { + width: 100%; +} + +.selected { + border: 1px solid #0A246A; + background-color: #B6BDD2; +} + +.toolbar { + width: 100%; +} + +#headlist { + width: 100%; + margin-top: 3px; + font-size: 11px; +} + +#info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element { + display: none; +} + +#addmenu { + position: absolute; + border: 1px solid gray; + display: none; + z-index: 100; + background-color: white; +} + +#addmenu a { + display: block; + width: 100%; + line-height: 20px; + text-decoration: none; + background-color: white; +} + +#addmenu a:hover { + background-color: #B6BDD2; + color: black; +} + +#addmenu span { + padding-left: 10px; + padding-right: 10px; +} + +#updateElementPanel { + display: none; +} + +#script_element .panel_wrapper div.current { + height: 108px; +} + +#style_element .panel_wrapper div.current { + height: 108px; +} + +#link_element .panel_wrapper div.current { + height: 140px; +} + +#element_script_value { + width: 100%; + height: 100px; +} + +#element_comment_value { + width: 100%; + height: 120px; +} + +#element_style_value { + width: 100%; + height: 100px; +} + +#element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title { + width: 250px; +} + +.updateElementButton { + margin-top: 3px; +} + +/* MSIE specific styles */ + +* html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton { + width: 22px; + height: 22px; +} + +textarea { + height: 55px; +} + +.panel_wrapper div.current {height:420px;} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin.js new file mode 100755 index 00000000..dcf76024 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin.js @@ -0,0 +1 @@ +(function(){var b=tinymce.each,a=tinymce.html.Node;tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(c,d){var e=this;e.editor=c;c.addCommand("mceFullPageProperties",function(){c.windowManager.open({file:d+"/fullpage.htm",width:430+parseInt(c.getLang("fullpage.delta_width",0)),height:495+parseInt(c.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:d,data:e._htmlToData()})});c.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});c.onBeforeSetContent.add(e._setContent,e);c.onGetContent.add(e._getContent,e)},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}},_htmlToData:function(){var f=this._parseHeader(),h={},c,i,g,e=this.editor;function d(l,j){var k=l.attr(j);return k||""}h.fontface=e.getParam("fullpage_default_fontface","");h.fontsize=e.getParam("fullpage_default_fontsize","");i=f.firstChild;if(i.type==7){h.xml_pi=true;g=/encoding="([^"]+)"/.exec(i.value);if(g){h.docencoding=g[1]}}i=f.getAll("#doctype")[0];if(i){h.doctype=""}i=f.getAll("title")[0];if(i&&i.firstChild){h.metatitle=i.firstChild.value}b(f.getAll("meta"),function(m){var k=m.attr("name"),j=m.attr("http-equiv"),l;if(k){h["meta"+k.toLowerCase()]=m.attr("content")}else{if(j=="Content-Type"){l=/charset\s*=\s*(.*)\s*/gi.exec(m.attr("content"));if(l){h.docencoding=l[1]}}}});i=f.getAll("html")[0];if(i){h.langcode=d(i,"lang")||d(i,"xml:lang")}i=f.getAll("link")[0];if(i&&i.attr("rel")=="stylesheet"){h.stylesheet=i.attr("href")}i=f.getAll("body")[0];if(i){h.langdir=d(i,"dir");h.style=d(i,"style");h.visited_color=d(i,"vlink");h.link_color=d(i,"link");h.active_color=d(i,"alink")}return h},_dataToHtml:function(g){var f,d,h,j,k,e=this.editor.dom;function c(n,l,m){n.attr(l,m?m:undefined)}function i(l){if(d.firstChild){d.insert(l,d.firstChild)}else{d.append(l)}}f=this._parseHeader();d=f.getAll("head")[0];if(!d){j=f.getAll("html")[0];d=new a("head",1);if(j.firstChild){j.insert(d,j.firstChild,true)}else{j.append(d)}}j=f.firstChild;if(g.xml_pi){k='version="1.0"';if(g.docencoding){k+=' encoding="'+g.docencoding+'"'}if(j.type!=7){j=new a("xml",7);f.insert(j,f.firstChild,true)}j.value=k}else{if(j&&j.type==7){j.remove()}}j=f.getAll("#doctype")[0];if(g.doctype){if(!j){j=new a("#doctype",10);if(g.xml_pi){f.insert(j,f.firstChild)}else{i(j)}}j.value=g.doctype.substring(9,g.doctype.length-1)}else{if(j){j.remove()}}j=f.getAll("title")[0];if(g.metatitle){if(!j){j=new a("title",1);j.append(new a("#text",3)).value=g.metatitle;i(j)}}if(g.docencoding){j=null;b(f.getAll("meta"),function(l){if(l.attr("http-equiv")=="Content-Type"){j=l}});if(!j){j=new a("meta",1);j.attr("http-equiv","Content-Type");j.shortEnded=true;i(j)}j.attr("content","text/html; charset="+g.docencoding)}b("keywords,description,author,copyright,robots".split(","),function(m){var l=f.getAll("meta"),n,p,o=g["meta"+m];for(n=0;n"))},_parseHeader:function(){return new tinymce.html.DomParser({validate:false,root_name:"#document"}).parse(this.head)},_setContent:function(g,d){var m=this,i,c,h=d.content,f,l="",e=m.editor.dom,j;function k(n){return n.replace(/<\/?[A-Z]+/g,function(o){return o.toLowerCase()})}if(d.format=="raw"&&m.head){return}if(d.source_view&&g.getParam("fullpage_hide_in_source_view")){return}h=h.replace(/<(\/?)BODY/gi,"<$1body");i=h.indexOf("",i);m.head=k(h.substring(0,i+1));c=h.indexOf("\n"}f=m._parseHeader();b(f.getAll("style"),function(n){if(n.firstChild){l+=n.firstChild.value}});j=f.getAll("body")[0];if(j){e.setAttribs(m.editor.getBody(),{style:j.attr("style")||"",dir:j.attr("dir")||"",vLink:j.attr("vlink")||"",link:j.attr("link")||"",aLink:j.attr("alink")||""})}e.remove("fullpage_styles");if(l){e.add(m.editor.getDoc().getElementsByTagName("head")[0],"style",{id:"fullpage_styles"},l);j=e.get("fullpage_styles");if(j.styleSheet){j.styleSheet.cssText=l}}},_getDefaultHeader:function(){var f="",c=this.editor,e,d="";if(c.getParam("fullpage_default_xml_pi")){f+='\n'}f+=c.getParam("fullpage_default_doctype",'');f+="\n\n\n";if(e=c.getParam("fullpage_default_title")){f+=""+e+"\n"}if(e=c.getParam("fullpage_default_encoding")){f+='\n'}if(e=c.getParam("fullpage_default_font_family")){d+="font-family: "+e+";"}if(e=c.getParam("fullpage_default_font_size")){d+="font-size: "+e+";"}if(e=c.getParam("fullpage_default_text_color")){d+="color: "+e+";"}f+="\n\n";return f},_getContent:function(d,e){var c=this;if(!e.source_view||!d.getParam("fullpage_hide_in_source_view")){e.content=tinymce.trim(c.head)+"\n"+tinymce.trim(e.content)+"\n"+tinymce.trim(c.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js new file mode 100755 index 00000000..23de7c5a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/editor_plugin_src.js @@ -0,0 +1,405 @@ +/** + * 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, Node = tinymce.html.Node; + + 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, + data : t._htmlToData() + }); + }); + + // Register buttons + ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'}); + + ed.onBeforeSetContent.add(t._setContent, 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 + + _htmlToData : function() { + var headerFragment = this._parseHeader(), data = {}, nodes, elm, matches, editor = this.editor; + + function getAttr(elm, name) { + var value = elm.attr(name); + + return value || ''; + }; + + // Default some values + data.fontface = editor.getParam("fullpage_default_fontface", ""); + data.fontsize = editor.getParam("fullpage_default_fontsize", ""); + + // Parse XML PI + elm = headerFragment.firstChild; + if (elm.type == 7) { + data.xml_pi = true; + matches = /encoding="([^"]+)"/.exec(elm.value); + if (matches) + data.docencoding = matches[1]; + } + + // Parse doctype + elm = headerFragment.getAll('#doctype')[0]; + if (elm) + data.doctype = '"; + + // Parse title element + elm = headerFragment.getAll('title')[0]; + if (elm && elm.firstChild) { + data.metatitle = elm.firstChild.value; + } + + // Parse meta elements + each(headerFragment.getAll('meta'), function(meta) { + var name = meta.attr('name'), httpEquiv = meta.attr('http-equiv'), matches; + + if (name) + data['meta' + name.toLowerCase()] = meta.attr('content'); + else if (httpEquiv == "Content-Type") { + matches = /charset\s*=\s*(.*)\s*/gi.exec(meta.attr('content')); + + if (matches) + data.docencoding = matches[1]; + } + }); + + // Parse html attribs + elm = headerFragment.getAll('html')[0]; + if (elm) + data.langcode = getAttr(elm, 'lang') || getAttr(elm, 'xml:lang'); + + // Parse stylesheet + elm = headerFragment.getAll('link')[0]; + if (elm && elm.attr('rel') == 'stylesheet') + data.stylesheet = elm.attr('href'); + + // Parse body parts + elm = headerFragment.getAll('body')[0]; + if (elm) { + data.langdir = getAttr(elm, 'dir'); + data.style = getAttr(elm, 'style'); + data.visited_color = getAttr(elm, 'vlink'); + data.link_color = getAttr(elm, 'link'); + data.active_color = getAttr(elm, 'alink'); + } + + return data; + }, + + _dataToHtml : function(data) { + var headerFragment, headElement, html, elm, value, dom = this.editor.dom; + + function setAttr(elm, name, value) { + elm.attr(name, value ? value : undefined); + }; + + function addHeadNode(node) { + if (headElement.firstChild) + headElement.insert(node, headElement.firstChild); + else + headElement.append(node); + }; + + headerFragment = this._parseHeader(); + headElement = headerFragment.getAll('head')[0]; + if (!headElement) { + elm = headerFragment.getAll('html')[0]; + headElement = new Node('head', 1); + + if (elm.firstChild) + elm.insert(headElement, elm.firstChild, true); + else + elm.append(headElement); + } + + // Add/update/remove XML-PI + elm = headerFragment.firstChild; + if (data.xml_pi) { + value = 'version="1.0"'; + + if (data.docencoding) + value += ' encoding="' + data.docencoding + '"'; + + if (elm.type != 7) { + elm = new Node('xml', 7); + headerFragment.insert(elm, headerFragment.firstChild, true); + } + + elm.value = value; + } else if (elm && elm.type == 7) + elm.remove(); + + // Add/update/remove doctype + elm = headerFragment.getAll('#doctype')[0]; + if (data.doctype) { + if (!elm) { + elm = new Node('#doctype', 10); + + if (data.xml_pi) + headerFragment.insert(elm, headerFragment.firstChild); + else + addHeadNode(elm); + } + + elm.value = data.doctype.substring(9, data.doctype.length - 1); + } else if (elm) + elm.remove(); + + // Add/update/remove title + elm = headerFragment.getAll('title')[0]; + if (data.metatitle) { + if (!elm) { + elm = new Node('title', 1); + elm.append(new Node('#text', 3)).value = data.metatitle; + addHeadNode(elm); + } + } + + // Add meta encoding + if (data.docencoding) { + elm = null; + each(headerFragment.getAll('meta'), function(meta) { + if (meta.attr('http-equiv') == 'Content-Type') + elm = meta; + }); + + if (!elm) { + elm = new Node('meta', 1); + elm.attr('http-equiv', 'Content-Type'); + elm.shortEnded = true; + addHeadNode(elm); + } + + elm.attr('content', 'text/html; charset=' + data.docencoding); + } + + // Add/update/remove meta + each('keywords,description,author,copyright,robots'.split(','), function(name) { + var nodes = headerFragment.getAll('meta'), i, meta, value = data['meta' + name]; + + for (i = 0; i < nodes.length; i++) { + meta = nodes[i]; + + if (meta.attr('name') == name) { + if (value) + meta.attr('content', value); + else + meta.remove(); + + return; + } + } + + if (value) { + elm = new Node('meta', 1); + elm.attr('name', name); + elm.attr('content', value); + elm.shortEnded = true; + + addHeadNode(elm); + } + }); + + // Add/update/delete link + elm = headerFragment.getAll('link')[0]; + if (elm && elm.attr('rel') == 'stylesheet') { + if (data.stylesheet) + elm.attr('href', data.stylesheet); + else + elm.remove(); + } else if (data.stylesheet) { + elm = new Node('link', 1); + elm.attr({ + rel : 'stylesheet', + text : 'text/css', + href : data.stylesheet + }); + elm.shortEnded = true; + + addHeadNode(elm); + } + + // Update body attributes + elm = headerFragment.getAll('body')[0]; + if (elm) { + setAttr(elm, 'dir', data.langdir); + setAttr(elm, 'style', data.style); + setAttr(elm, 'vlink', data.visited_color); + setAttr(elm, 'link', data.link_color); + setAttr(elm, 'alink', data.active_color); + + // Update iframe body as well + dom.setAttribs(this.editor.getBody(), { + style : data.style, + dir : data.dir, + vLink : data.visited_color, + link : data.link_color, + aLink : data.active_color + }); + } + + // Set html attributes + elm = headerFragment.getAll('html')[0]; + if (elm) { + setAttr(elm, 'lang', data.langcode); + setAttr(elm, 'xml:lang', data.langcode); + } + + // Serialize header fragment and crop away body part + html = new tinymce.html.Serializer({ + validate: false, + indent: true, + apply_source_formatting : true, + indent_before: 'head,html,body,meta,title,script,link,style', + indent_after: 'head,html,body,meta,title,script,link,style' + }).serialize(headerFragment); + + this.head = html.substring(0, html.indexOf('')); + }, + + _parseHeader : function() { + // Parse the contents with a DOM parser + return new tinymce.html.DomParser({ + validate: false, + root_name: '#document' + }).parse(this.head); + }, + + _setContent : function(ed, o) { + var self = this, startPos, endPos, content = o.content, headerFragment, styles = '', dom = self.editor.dom, elm; + + function low(s) { + return s.replace(/<\/?[A-Z]+/g, function(a) { + return a.toLowerCase(); + }) + }; + + // 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' && self.head) + return; + + if (o.source_view && ed.getParam('fullpage_hide_in_source_view')) + return; + + // Parse out head, body and footer + content = content.replace(/<(\/?)BODY/gi, '<$1body'); + startPos = content.indexOf('', startPos); + self.head = low(content.substring(0, startPos + 1)); + + endPos = content.indexOf('\n'; + + header += editor.getParam('fullpage_default_doctype', ''); + header += '\n\n\n'; + + if (value = editor.getParam('fullpage_default_title')) + header += '' + value + '\n'; + + if (value = editor.getParam('fullpage_default_encoding')) + header += '\n'; + + if (value = editor.getParam('fullpage_default_font_family')) + styles += 'font-family: ' + value + ';'; + + if (value = editor.getParam('fullpage_default_font_size')) + styles += 'font-size: ' + value + ';'; + + if (value = editor.getParam('fullpage_default_text_color')) + styles += 'color: ' + value + ';'; + + header += '\n\n'; + + return header; + }, + + _getContent : function(ed, o) { + var self = this; + + if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view')) + o.content = tinymce.trim(self.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(self.foot); + } + }); + + // Register plugin + tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/fullpage.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/fullpage.htm new file mode 100755 index 00000000..14ab8652 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/fullpage.htm @@ -0,0 +1,259 @@ + + + + {#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} + + + + + + + + + + +
+ + + + +
 
+
+
+
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/js/fullpage.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/js/fullpage.js new file mode 100644 index 00000000..3f672ad3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/js/fullpage.js @@ -0,0 +1,232 @@ +/** + * fullpage.js + * + * Copyright 2009, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinyMCEPopup.requireLangPack(); + + 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 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 setVal(id, value) { + var elm = document.getElementById(id); + + if (elm) { + value = value || ''; + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") + elm.checked = !!value; + else + elm.value = value; + } + }; + + function getVal(id) { + var elm = document.getElementById(id); + + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; + + if (elm.type == "checkbox") + return elm.checked; + + return elm.value; + }; + + window.FullPageDialog = { + changedStyle : function() { + var val, styles = tinyMCEPopup.editor.dom.parseStyle(getVal('style')); + + setVal('fontface', styles['font-face']); + setVal('fontsize', styles['font-size']); + setVal('textcolor', styles['color']); + + if (val = styles['background-image']) + setVal('bgimage', val.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1")); + else + setVal('bgimage', ''); + + setVal('bgcolor', styles['background-color']); + + // Reset margin form elements + setVal('topmargin', ''); + setVal('rightmargin', ''); + setVal('bottommargin', ''); + setVal('leftmargin', ''); + + // Expand margin + if (val = styles['margin']) { + val = val.split(' '); + styles['margin-top'] = val[0] || ''; + styles['margin-right'] = val[1] || val[0] || ''; + styles['margin-bottom'] = val[2] || val[0] || ''; + styles['margin-left'] = val[3] || val[0] || ''; + } + + if (val = styles['margin-top']) + setVal('topmargin', val.replace(/px/, '')); + + if (val = styles['margin-right']) + setVal('rightmargin', val.replace(/px/, '')); + + if (val = styles['margin-bottom']) + setVal('bottommargin', val.replace(/px/, '')); + + if (val = styles['margin-left']) + setVal('leftmargin', val.replace(/px/, '')); + + updateColor('bgcolor_pick', 'bgcolor'); + updateColor('textcolor_pick', 'textcolor'); + }, + + changedStyleProp : function() { + var val, dom = tinyMCEPopup.editor.dom, styles = dom.parseStyle(getVal('style')); + + styles['font-face'] = getVal('fontface'); + styles['font-size'] = getVal('fontsize'); + styles['color'] = getVal('textcolor'); + styles['background-color'] = getVal('bgcolor'); + + if (val = getVal('bgimage')) + styles['background-image'] = "url('" + val + "')"; + else + styles['background-image'] = ''; + + delete styles['margin']; + + if (val = getVal('topmargin')) + styles['margin-top'] = val + "px"; + else + styles['margin-top'] = ''; + + if (val = getVal('rightmargin')) + styles['margin-right'] = val + "px"; + else + styles['margin-right'] = ''; + + if (val = getVal('bottommargin')) + styles['margin-bottom'] = val + "px"; + else + styles['margin-bottom'] = ''; + + if (val = getVal('leftmargin')) + styles['margin-left'] = val + "px"; + else + styles['margin-left'] = ''; + + // Serialize, parse and reserialize this will compress redundant styles + setVal('style', dom.serializeStyle(dom.parseStyle(dom.serializeStyle(styles)))); + this.changedStyle(); + }, + + update : function() { + var data = {}; + + tinymce.each(tinyMCEPopup.dom.select('select,input,textarea'), function(node) { + data[node.id] = getVal(node.id); + }); + + tinyMCEPopup.editor.plugins.fullpage._dataToHtml(data); + tinyMCEPopup.close(); + } + }; + + function init() { + var form = document.forms[0], i, item, list, editor = tinyMCEPopup.editor; + + // Setup doctype select box + list = editor.getParam("fullpage_doctypes", defaultDocTypes).split(','); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'doctype', item[0], item[1]); + } + + // Setup fonts select box + list = editor.getParam("fullpage_fonts", defaultFontNames).split(';'); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'fontface', item[0], item[1]); + } + + // Setup fontsize select box + list = editor.getParam("fullpage_fontsizes", defaultFontSizes).split(','); + for (i = 0; i < list.length; i++) + addSelectValue(form, 'fontsize', list[i], list[i]); + + // Setup encodings select box + list = editor.getParam("fullpage_encodings", defaultEncodings).split(','); + for (i = 0; i < list.length; i++) { + item = list[i].split('='); + + if (item.length > 1) + addSelectValue(form, 'docencoding', item[0], item[1]); + } + + // Setup color pickers + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_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('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'; + + // Update form + tinymce.each(tinyMCEPopup.getWindowArg('data'), function(value, key) { + setVal(key, value); + }); + + FullPageDialog.changedStyle(); + + // Update colors + updateColor('textcolor_pick', 'textcolor'); + updateColor('bgcolor_pick', 'bgcolor'); + updateColor('visited_color_pick', 'visited_color'); + updateColor('active_color_pick', 'active_color'); + updateColor('link_color_pick', 'link_color'); + }; + + tinyMCEPopup.onInit.add(init); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/de_dlg.js new file mode 100644 index 00000000..ecdff9ed --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.fullpage_dlg',{title:"Dokument-Eigenschaften","meta_tab":"Allgemein","appearance_tab":"Aussehen","advanced_tab":"Erweitert","meta_props":"Meta-Information",langprops:"Sprache und Codierung","meta_title":"Titel","meta_keywords":"Keywords","meta_description":"Beschreibung","meta_robots":"Robots",doctypes:"DocType",langcode:"Sprachcode",langdir:"Sprachrichtung",ltr:"Links nach Rechts",rtl:"Rechts nach Links","xml_pi":"XML Deklaration",encoding:"Zeichencodierung","appearance_bgprops":"Hintergrund-Eigenschaften","appearance_marginprops":"Abst\u00e4nde des Body","appearance_linkprops":"Linkfarben","appearance_textprops":"Text-Eigenschaften",bgcolor:"Hintergrundfarbe",bgimage:"Hintergrundbild","left_margin":"Linker Abstand","right_margin":"Rechter Abstand","top_margin":"Oberer Abstand","bottom_margin":"Unterer Abstand","text_color":"Textfarbe","font_size":"Schriftgr\u00f6\u00dfe","font_face":"Schriftart","link_color":"Linkfarbe","hover_color":"Hover-Farbe","visited_color":"Visited-Farbe","active_color":"Active-Farbe",textcolor:"Farbe",fontsize:"Schriftgr\u00f6\u00dfe",fontface:"Schriftart","meta_index_follow":"Indizieren und den Links folgen","meta_index_nofollow":"Indizieren, aber den Links nicht folgen","meta_noindex_follow":"Nicht indizieren, aber den Links folgen","meta_noindex_nofollow":"Nicht indizieren und auch nicht den Links folgen","appearance_style":"CSS-Stylesheet und Stileigenschaften",stylesheet:"CSS-Stylesheet",style:"CSS-Stil",author:"Autor",copyright:"Copyright",add:"Neues Element hinzuf\u00fcgen",remove:"Ausgew\u00e4hltes Element entfernen",moveup:"Ausgew\u00e4hltes Element nach oben bewegen",movedown:"Ausgew\u00e4hltes Element nach unten bewegen","head_elements":"\u00dcberschriftenelemente",info:"Information","add_title":"Titel-Element","add_meta":"Meta-Element","add_script":"Script-Element","add_style":"Style-Element","add_link":"Link-Element","add_base":"Base-Element","add_comment":"HTML-Kommentar","title_element":"Titel-Element","script_element":"Script-Element","style_element":"Style-Element","base_element":"Base-Element","link_element":"Link-Element","meta_element":"Meta_Element","comment_element":"Kommentar",src:"Src",language:"Sprache",href:"Href",target:"Ziel",type:"Typ",charset:"Zeichensatz",defer:"Defer",media:"Media",properties:"Eigenschaften",name:"Name",value:"Wert",content:"Inhalt",rel:"Rel",rev:"Rev",hreflang:"Href lang","general_props":"Allgemein","advanced_props":"Erweitert"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/en_dlg.js new file mode 100644 index 00000000..516edc74 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.fullpage_dlg',{title:"Document Properties","meta_tab":"General","appearance_tab":"Appearance","advanced_tab":"Advanced","meta_props":"Meta Information",langprops:"Language and Encoding","meta_title":"Title","meta_keywords":"Keywords","meta_description":"Description","meta_robots":"Robots",doctypes:"Doctype",langcode:"Language Code",langdir:"Language Direction",ltr:"Left to Right",rtl:"Right to Left","xml_pi":"XML Declaration",encoding:"Character Encoding","appearance_bgprops":"Background Properties","appearance_marginprops":"Body Margins","appearance_linkprops":"Link Colors","appearance_textprops":"Text Properties",bgcolor:"Background Color",bgimage:"Background Image","left_margin":"Left Margin","right_margin":"Right Margin","top_margin":"Top Margin","bottom_margin":"Bottom Margin","text_color":"Text Color","font_size":"Font Size","font_face":"Font Face","link_color":"Link Color","hover_color":"Hover Color","visited_color":"Visited Color","active_color":"Active Color",textcolor:"Color",fontsize:"Font Size",fontface:"Font Family","meta_index_follow":"Index and Follow the Links","meta_index_nofollow":"Index and Don\'t Follow the Links","meta_noindex_follow":"Do Not Index but Follow the Links","meta_noindex_nofollow":"Do Not Index and Don\'t Follow the Links","appearance_style":"Stylesheet and Style Properties",stylesheet:"Stylesheet",style:"Style",author:"Author",copyright:"Copyright",add:"Add New Element",remove:"Remove Selected Element",moveup:"Move Selected Element Up",movedown:"Move Selected Element Down","head_elements":"Head Elements",info:"Information","add_title":"Title Element","add_meta":"Meta Element","add_script":"Script Element","add_style":"Style Element","add_link":"Link Element","add_base":"Base Element","add_comment":"Comment Node","title_element":"Title Element","script_element":"Script Element","style_element":"Style Element","base_element":"Base Element","link_element":"Link Element","meta_element":"Meta Element","comment_element":"Comment",src:"Source",language:"Language",href:"HREF",target:"Target",type:"Type",charset:"Charset",defer:"Defer",media:"Media",properties:"Properties",name:"Name",value:"Value",content:"Content",rel:"Rel",rev:"Rev",hreflang:"HREF Lang","general_props":"General","advanced_props":"Advanced"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/hu_dlg.js new file mode 100644 index 00000000..e9f911e3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.fullpage_dlg',{title:"Dokumentum tulajdons\u00e1gai","meta_tab":"\u00c1ltal\u00e1nos","appearance_tab":"Megjelen\u00e9s","advanced_tab":"Halad\u00f3","meta_props":"Meta inform\u00e1ci\u00f3",langprops:"Nyelv \u00e9s k\u00f3dol\u00e1s","meta_title":"C\u00edm","meta_keywords":"Kulcsszavak","meta_description":"Le\u00edr\u00e1s","meta_robots":"Robotok",doctypes:"Dokumentum t\u00edpus",langcode:"Nyelvk\u00f3d",langdir:"\u00cdr\u00e1s ir\u00e1nya",ltr:"Balr\u00f3l jobra",rtl:"Jobbr\u00f3l balra","xml_pi":"XML deklar\u00e1ci\u00f3",encoding:"Karakterk\u00f3dol\u00e1s","appearance_bgprops":"H\u00e1tt\u00e9r tulajdons\u00e1gai","appearance_marginprops":"Body marg\u00f3k","appearance_linkprops":"Link sz\u00ednek","appearance_textprops":"Sz\u00f6veg tulajdons\u00e1gai",bgcolor:"H\u00e1tt\u00e9rsz\u00edn",bgimage:"H\u00e1tt\u00e9rk\u00e9p","left_margin":"Bal marg\u00f3","right_margin":"Jobb marg\u00f3","top_margin":"Fels\u0151 marg\u00f3","bottom_margin":"Als\u00f3 marg\u00f3","text_color":"Sz\u00f6vegsz\u00edn","font_size":"Bet\u0171m\u00e9ret","font_face":"Bet\u0171t\u00edpus","link_color":"Link sz\u00edn","hover_color":"Sz\u00edn eg\u00e9r fel\u00e9vitelekor","visited_color":"Sz\u00edn, ha l\u00e1togatott","active_color":"Akt\u00edv sz\u00edn",textcolor:"Sz\u00edn",fontsize:"Bet\u0171m\u00e9ret",fontface:"Bet\u0171 csal\u00e1d","meta_index_follow":"Linkek indexel\u00e9se \u00e9s k\u00f6vet\u00e9se","meta_index_nofollow":"Indexel, de nem k\u00f6veti a linkeket","meta_noindex_follow":"Nincs indexel\u00e9s, de van link-k\u00f6vet\u00e9s","meta_noindex_nofollow":"Nem indexel \u00e9s nem k\u00f6veti a linkeket","appearance_style":"Stylesheet \u00e9s style tulajdons\u00e1gok",stylesheet:"St\u00edluslap",style:"St\u00edlus",author:"Szerz\u0151",copyright:"Copyright",add:"\u00daj elem hozz\u00e1ad\u00e1sa",remove:"Kijel\u00f6lt elem t\u00f6rl\u00e9se",moveup:"Kijel\u00f6lt elem felfel\u00e9 mozgat\u00e1sa",movedown:"Kijel\u00f6lt elem lefel\u00e9 mozgat\u00e1sa","head_elements":"Fej elemek",info:"Inform\u00e1ci\u00f3","add_title":"C\u00edm elem","add_meta":"Meta elem","add_script":"Script elem","add_style":"Style elem","add_link":"Link elem","add_base":"Base elem","add_comment":"Comment elem","title_element":"Title elem","script_element":"Script elem","style_element":"Style elem","base_element":"Base elem","link_element":"Link elem","meta_element":"Meta elem","comment_element":"Megjegyz\u00e9s",src:"Forr\u00e1s",language:"Nyelv",href:"HREF",target:"C\u00e9l",type:"T\u00edpus",charset:"Charset",defer:"Defer",media:"M\u00e9dia",properties:"Tulajdons\u00e1gok",name:"N\u00e9v",value:"\u00c9rt\u00e9k",content:"Tartalom",rel:"Rel",rev:"Rev",hreflang:"HREF nyelv","general_props":"\u00c1ltal\u00e1nos","advanced_props":"Halad\u00f3"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/ja_dlg.js new file mode 100644 index 00000000..65643630 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullpage/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.fullpage_dlg',{title:"\u30da\u30fc\u30b8\u306e\u5c5e\u6027","meta_tab":"\u4e00\u822c","appearance_tab":"\u8868\u793a","advanced_tab":"\u9ad8\u5ea6\u306a\u8a2d\u5b9a","meta_props":"\u30e1\u30bf\u60c5\u5831",langprops:"\u8a00\u8a9e\u3068\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0","meta_title":"\u30bf\u30a4\u30c8\u30eb","meta_keywords":"\u30ad\u30fc\u30ef\u30fc\u30c9","meta_description":"\u8aac\u660e","meta_robots":"\u691c\u7d22\u30ed\u30dc\u30c3\u30c8\u306e\u5236\u5fa1",doctypes:"\u6587\u66f8\u578b",langcode:"\u8a00\u8a9e\u30b3\u30fc\u30c9",langdir:"\u6587\u7ae0\u306e\u65b9\u5411",ltr:"\u5de6\u304b\u3089\u53f3",rtl:"\u53f3\u304b\u3089\u5de6","xml_pi":"XML\u5ba3\u8a00",encoding:"\u6587\u5b57\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0","appearance_bgprops":"\u80cc\u666f\u306e\u5c5e\u6027","appearance_marginprops":"Body\u306e\u4f59\u767d","appearance_linkprops":"\u30ea\u30f3\u30af\u306e\u8272","appearance_textprops":"\u6587\u5b57\u306e\u5c5e\u6027",bgcolor:"\u80cc\u666f\u306e\u8272",bgimage:"\u80cc\u666f\u306e\u753b\u50cf","left_margin":"\u5de6\u306e\u4f59\u767d","right_margin":"\u53f3\u306e\u4f59\u767d","top_margin":"\u4e0a\u306e\u4f59\u767d","bottom_margin":"\u4e0b\u306e\u4f59\u767d","text_color":"\u6587\u5b57\u306e\u8272","font_size":"\u6587\u5b57\u306e\u5927\u304d\u3055","font_face":"\u30d5\u30a9\u30f3\u30c8","link_color":"\u30ea\u30f3\u30af\u306e\u8272","hover_color":"\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u304c\u3042\u308b\u30ea\u30f3\u30af\u306e\u8272(hover)","visited_color":"\u65e2\u306b\u8aad\u3093\u3060\u30ea\u30f3\u30af\u306e\u8272(visited)","active_color":"\u30af\u30ea\u30c3\u30af\u3057\u305f\u77ac\u9593\u306e\u30ea\u30f3\u30af\u306e\u8272(active)",textcolor:"\u8272",fontsize:"\u6587\u5b57\u306e\u5927\u304d\u3055",fontface:"\u30d5\u30a9\u30f3\u30c8","meta_index_follow":"\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4f7f\u7528\u3057\u3066\u30ea\u30f3\u30af\u3092\u305f\u3069\u308b","meta_index_nofollow":"\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4f7f\u7528\u3057\u3066\u30ea\u30f3\u30af\u306f\u305f\u3069\u3089\u306a\u3044","meta_noindex_follow":"\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4f7f\u7528\u3057\u306a\u3044\u304c\u30ea\u30f3\u30af\u3092\u305f\u3069\u308b","meta_noindex_nofollow":"\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306b\u4f7f\u7528\u3057\u306a\u3044\u3067\u30ea\u30f3\u30af\u3082\u305f\u3069\u3089\u306a\u3044","appearance_style":"\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8\u3068\u30b9\u30bf\u30a4\u30eb\u306e\u5c5e\u6027",stylesheet:"\u30b9\u30bf\u30a4\u30eb\u30b7\u30fc\u30c8",style:"\u30b9\u30bf\u30a4\u30eb",author:"\u4f5c\u6210\u8005",copyright:"\u8457\u4f5c\u6a29",add:"\u65b0\u3057\u304f\u8981\u7d20\u3092\u8ffd\u52a0",remove:"\u9078\u629e\u3057\u305f\u8981\u7d20\u3092\u524a\u9664",moveup:"\u9078\u629e\u3057\u305f\u8981\u7d20\u3092\u4e0a\u306b\u79fb\u52d5",movedown:"\u9078\u629e\u3057\u305f\u8981\u7d20\u3092\u4e0b\u306b\u79fb\u52d5","head_elements":"Head\u8981\u7d20",info:"\u60c5\u5831","add_title":"Title\u8981\u7d20","add_meta":"Meta\u8981\u7d20","add_script":"Script\u8981\u7d20","add_style":"Style\u8981\u7d20","add_link":"Link\u8981\u7d20","add_base":"Base\u8981\u7d20","add_comment":"Comment\u30ce\u30fc\u30c9","title_element":"Title\u8981\u7d20","script_element":"Script\u8981\u7d20","style_element":"Style\u8981\u7d20","base_element":"Base\u8981\u7d20","link_element":"Link\u8981\u7d20","meta_element":"Meta\u8981\u7d20","comment_element":"\u30b3\u30e1\u30f3\u30c8",src:"src",language:"\u8a00\u8a9e",href:"Href",target:"Target",type:"Type",charset:"Charset",defer:"Defer",media:"Media",properties:"Properties",name:"Name",value:"Value",content:"Content",rel:"Rel",rev:"Rev",hreflang:"Href\u306e\u8a00\u8a9e","general_props":"\u4e00\u822c","advanced_props":"\u8a73\u7d30\u306a\u8a2d\u5b9a"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js new file mode 100755 index 00000000..a2eb0348 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin.js @@ -0,0 +1 @@ +(function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(d,e){var f=this,g={},c,b;f.editor=d;d.addCommand("mceFullScreen",function(){var i,j=a.doc.documentElement;if(d.getParam("fullscreen_is_enabled")){if(d.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",f.resizeFunc);tinyMCE.get(d.getParam("fullscreen_editor_id")).setContent(d.getContent());tinyMCE.remove(d);a.remove("mce_fullscreen_container");j.style.overflow=d.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",d.getParam("fullscreen_overflow"));a.win.scrollTo(d.getParam("fullscreen_scrollx"),d.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(d.getParam("fullscreen_new_window")){i=a.win.open(e+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{i.resizeTo(screen.availWidth,screen.availHeight)}catch(h){}}else{tinyMCE.oldSettings=tinyMCE.settings;g.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";g.fullscreen_html_overflow=a.getStyle(j,"overflow",1);c=a.getViewPort();g.fullscreen_scrollx=c.x;g.fullscreen_scrolly=c.y;if(tinymce.isOpera&&g.fullscreen_overflow=="visible"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&g.fullscreen_overflow=="scroll"){g.fullscreen_overflow="auto"}if(tinymce.isIE&&(g.fullscreen_html_overflow=="visible"||g.fullscreen_html_overflow=="scroll")){g.fullscreen_html_overflow="auto"}if(g.fullscreen_overflow=="0px"){g.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");j.style.overflow="hidden";c=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){c.h-=1}if(tinymce.isIE6||document.compatMode=="BackCompat"){b="absolute;top:"+c.y}else{b="fixed;top:0"}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+b+";left:0;width:"+c.w+"px;height:"+c.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(d.settings,function(k,l){g[l]=k});g.id="mce_fullscreen";g.width=n.clientWidth;g.height=n.clientHeight-15;g.fullscreen_is_enabled=true;g.fullscreen_editor_id=d.id;g.theme_advanced_resizing=false;g.save_onsavecallback=function(){d.setContent(tinyMCE.get(g.id).getContent());d.execCommand("mceSave")};tinymce.each(d.getParam("fullscreen_settings"),function(m,l){g[l]=m});if(g.theme_advanced_toolbar_location==="external"){g.theme_advanced_toolbar_location="top"}f.fullscreenEditor=new tinymce.Editor("mce_fullscreen",g);f.fullscreenEditor.onInit.add(function(){f.fullscreenEditor.setContent(d.getContent());f.fullscreenEditor.focus()});f.fullscreenEditor.render();f.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");f.fullscreenElement.update();f.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var o=tinymce.DOM.getViewPort(),l=f.fullscreenEditor,k,m;k=l.dom.getSize(l.getContainer().getElementsByTagName("table")[0]);m=l.dom.getSize(l.getContainer().getElementsByTagName("iframe")[0]);l.theme.resizeTo(o.w-k.w+m.w,o.h-k.h+m.h)})}});d.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});d.onNodeChange.add(function(i,h){h.setActive("fullscreen",i.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js new file mode 100755 index 00000000..524b487a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/editor_plugin_src.js @@ -0,0 +1,159 @@ +/** + * 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; + + tinymce.create('tinymce.plugins.FullScreenPlugin', { + init : function(ed, url) { + var t = this, s = {}, vp, posCss; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullScreen', function() { + var win, de = DOM.doc.documentElement; + + if (ed.getParam('fullscreen_is_enabled')) { + if (ed.getParam('fullscreen_new_window')) + closeFullscreen(); // Call to close in new window + else { + DOM.win.setTimeout(function() { + tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc); + tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent()); + tinyMCE.remove(ed); + DOM.remove('mce_fullscreen_container'); + de.style.overflow = ed.getParam('fullscreen_html_overflow'); + DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow')); + DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly')); + tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings + }, 10); + } + + return; + } + + if (ed.getParam('fullscreen_new_window')) { + win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight); + try { + win.resizeTo(screen.availWidth, screen.availHeight); + } catch (e) { + // Ignore + } + } else { + tinyMCE.oldSettings = tinyMCE.settings; // Store old settings + s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto'; + s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1); + vp = DOM.getViewPort(); + s.fullscreen_scrollx = vp.x; + s.fullscreen_scrolly = vp.y; + + // Fixes an Opera bug where the scrollbars doesn't reappear + if (tinymce.isOpera && s.fullscreen_overflow == 'visible') + s.fullscreen_overflow = 'auto'; + + // Fixes an IE bug where horizontal scrollbars would appear + if (tinymce.isIE && s.fullscreen_overflow == 'scroll') + s.fullscreen_overflow = 'auto'; + + // Fixes an IE bug where the scrollbars doesn't reappear + if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll')) + s.fullscreen_html_overflow = 'auto'; + + if (s.fullscreen_overflow == '0px') + s.fullscreen_overflow = ''; + + DOM.setStyle(DOM.doc.body, 'overflow', 'hidden'); + de.style.overflow = 'hidden'; //Fix for IE6/7 + vp = DOM.getViewPort(); + DOM.win.scrollTo(0, 0); + + if (tinymce.isIE) + vp.h -= 1; + + // Use fixed position if it exists + if (tinymce.isIE6 || document.compatMode == 'BackCompat') + posCss = 'absolute;top:' + vp.y; + else + posCss = 'fixed;top:0'; + + n = DOM.add(DOM.doc.body, 'div', { + id : 'mce_fullscreen_container', + style : 'position:' + posCss + ';left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'}); + DOM.add(n, 'div', {id : 'mce_fullscreen'}); + + tinymce.each(ed.settings, function(v, n) { + s[n] = v; + }); + + s.id = 'mce_fullscreen'; + s.width = n.clientWidth; + s.height = n.clientHeight - 15; + s.fullscreen_is_enabled = true; + s.fullscreen_editor_id = ed.id; + s.theme_advanced_resizing = false; + s.save_onsavecallback = function() { + ed.setContent(tinyMCE.get(s.id).getContent()); + ed.execCommand('mceSave'); + }; + + tinymce.each(ed.getParam('fullscreen_settings'), function(v, k) { + s[k] = v; + }); + + if (s.theme_advanced_toolbar_location === 'external') + s.theme_advanced_toolbar_location = 'top'; + + t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s); + t.fullscreenEditor.onInit.add(function() { + t.fullscreenEditor.setContent(ed.getContent()); + t.fullscreenEditor.focus(); + }); + + t.fullscreenEditor.render(); + + t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container'); + t.fullscreenElement.update(); + //document.body.overflow = 'hidden'; + + t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() { + var vp = tinymce.DOM.getViewPort(), fed = t.fullscreenEditor, outerSize, innerSize; + + // Get outer/inner size to get a delta size that can be used to calc the new iframe size + outerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('table')[0]); + innerSize = fed.dom.getSize(fed.getContainer().getElementsByTagName('iframe')[0]); + + fed.theme.resizeTo(vp.w - outerSize.w + innerSize.w, vp.h - outerSize.h + innerSize.h); + }); + } + }); + + // Register buttons + ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'mceFullScreen'}); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled')); + }); + }, + + getInfo : function() { + return { + longname : 'Fullscreen', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm new file mode 100755 index 00000000..ffe528e4 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/fullscreen/fullscreen.htm @@ -0,0 +1,110 @@ + + + + + + + + + +
+ +
+ + + + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/iespell/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/iespell/editor_plugin.js new file mode 100755 index 00000000..e9cba106 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/iespell/editor_plugin_src.js new file mode 100755 index 00000000..1b2bb984 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin.js new file mode 100755 index 00000000..8bb96f9c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(s,j){var z=this,i,k="",r=z.editor,g=0,v=0,h,m,o,q,l,x,y,n;s=s||{};j=j||{};if(!s.inline){return z.parent(s,j)}n=z._frontWindow();if(n&&d.get(n.id+"_ifr")){n.focussedElement=d.get(n.id+"_ifr").contentWindow.document.activeElement}if(!s.type){z.bookmark=r.selection.getBookmark(1)}i=d.uniqueId();h=d.getViewPort();s.width=parseInt(s.width||320);s.height=parseInt(s.height||240)+(tinymce.isIE?8:0);s.min_width=parseInt(s.min_width||150);s.min_height=parseInt(s.min_height||100);s.max_width=parseInt(s.max_width||2000);s.max_height=parseInt(s.max_height||2000);s.left=s.left||Math.round(Math.max(h.x,h.x+(h.w/2)-(s.width/2)));s.top=s.top||Math.round(Math.max(h.y,h.y+(h.h/2)-(s.height/2)));s.movable=s.resizable=true;j.mce_width=s.width;j.mce_height=s.height;j.mce_inline=true;j.mce_window_id=i;j.mce_auto_focus=s.auto_focus;z.features=s;z.params=j;z.onOpen.dispatch(z,s,j);if(s.type){k+=" mceModal";if(s.type){k+=" mce"+s.type.substring(0,1).toUpperCase()+s.type.substring(1)}s.resizable=false}if(s.statusbar){k+=" mceStatusbar"}if(s.resizable){k+=" mceResizable"}if(s.minimizable){k+=" mceMinimizable"}if(s.maximizable){k+=" mceMaximizable"}if(s.movable){k+=" mceMovable"}z._addAll(d.doc.body,["div",{id:i,role:"dialog","aria-labelledby":s.type?i+"_content":i+"_title","class":(r.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"},s.title||""]],["div",{id:i+"_middle","class":"mceMiddle"},["div",{id:i+"_left","class":"mceLeft",tabindex:"0"}],["span",{id:i+"_content"}],["div",{id:i+"_right","class":"mceRight",tabindex:"0"}]],["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(!s.type){g+=d.get(i+"_left").clientWidth;g+=d.get(i+"_right").clientWidth;v+=d.get(i+"_top").clientHeight;v+=d.get(i+"_bottom").clientHeight}d.setStyles(i,{top:s.top,left:s.left,width:s.width+g,height:s.height+v});y=s.url||s.file;if(y){if(tinymce.relaxedDomain){y+=(y.indexOf("?")==-1?"?":"&")+"mce_rdomain="+tinymce.relaxedDomain}y=tinymce._addVer(y)}if(!s.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:s.width,height:s.height});d.setAttrib(i+"_ifr","src",y)}else{d.add(i+"_wrapper","a",{id:i+"_ok","class":"mceButton mceOk",href:"javascript:;",onmousedown:"return false;"},"Ok");if(s.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",s.content.replace("\n","
"));a.add(i,"keyup",function(f){var p=27;if(f.keyCode===p){s.button_func(false);return a.cancel(f)}});a.add(i,"keydown",function(f){var t,p=9;if(f.keyCode===p){t=d.select("a.mceCancel",i+"_wrapper")[0];if(t&&t!==f.target){t.focus()}else{d.get(i+"_ok").focus()}return a.cancel(f)}})}o=a.add(i,"mousedown",function(t){var u=t.target,f,p;f=z.windows[i];z.focus(i);if(u.nodeName=="A"||u.nodeName=="a"){if(u.className=="mceClose"){z.close(null,i);return a.cancel(t)}else{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 z._startDrag(i,t,u.className)}else{if(d.hasClass(u,"mceResize")){return z._startDrag(i,t,u.className.substring(13))}}}}}}});q=a.add(i,"click",function(f){var p=f.target;z.focus(i);if(p.nodeName=="A"||p.nodeName=="a"){switch(p.className){case"mceClose":z.close(null,i);return a.cancel(f);case"mceButton mceOk":case"mceButton mceCancel":s.button_func(p.className=="mceButton mceOk");return a.cancel(f)}}});a.add([i+"_left",i+"_right"],"focus",function(p){var t=d.get(i+"_ifr");if(t){var f=t.contentWindow.document.body;var u=d.select(":input:enabled,*[tabindex=0]",f);if(p.target.id===(i+"_left")){u[u.length-1].focus()}else{u[0].focus()}}else{d.get(i+"_ok").focus()}});x=z.windows[i]={id:i,mousedown_func:o,click_func:q,element:new b(i,{blocker:1,container:r.getContainer()}),iframeElement:new b(i+"_ifr"),features:s,deltaWidth:g,deltaHeight:v};x.iframeElement.on("focus",function(){z.focus(i)});if(z.count==0&&z.editor.getParam("dialog_type","modal")=="modal"){d.add(d.doc.body,"div",{id:"mceModalBlocker","class":(z.editor.settings.inlinepopups_skin||"clearlooks2")+"_modalBlocker",style:{zIndex:z.zIndex-1}});d.show("mceModalBlocker");d.setAttrib(d.doc.body,"aria-hidden","true")}else{d.setStyle("mceModalBlocker","z-index",z.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})}d.setAttrib(i,"aria-hidden","false");z.focus(i);z._fixIELayout(i,1);if(d.get(i+"_ok")){d.get(i+"_ok").focus()}z.count++;return x},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;if(f.focussedElement){f.focussedElement.focus()}else{if(d.get(h+"_ok")){d.get(f.id+"_ok").focus()}else{if(d.get(f.id+"_ifr")){d.get(f.id+"_ifr").focus()}}}}},_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){g=h;f=h.zIndex}});return g},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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js new file mode 100755 index 00000000..67123ca3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/editor_plugin_src.js @@ -0,0 +1,699 @@ +/** + * 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, parentWindow; + + f = f || {}; + p = p || {}; + + // Run native windows + if (!f.inline) + return t.parent(f, p); + + parentWindow = t._frontWindow(); + if (parentWindow && DOM.get(parentWindow.id + '_ifr')) { + parentWindow.focussedElement = DOM.get(parentWindow.id + '_ifr').contentWindow.document.activeElement; + } + + // 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, role : 'dialog', 'aria-labelledby': f.type ? id + '_content' : id + '_title', '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', tabindex : '0'}], + ['span', {id : id + '_content'}], + ['div', {id : id + '_right', 'class' : 'mceRight', tabindex : '0'}] + ], + + ['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', '
')); + + Event.add(id, 'keyup', function(evt) { + var VK_ESCAPE = 27; + if (evt.keyCode === VK_ESCAPE) { + f.button_func(false); + return Event.cancel(evt); + } + }); + + Event.add(id, 'keydown', function(evt) { + var cancelButton, VK_TAB = 9; + if (evt.keyCode === VK_TAB) { + cancelButton = DOM.select('a.mceCancel', id + '_wrapper')[0]; + if (cancelButton && cancelButton !== evt.target) { + cancelButton.focus(); + } else { + DOM.get(id + '_ok').focus(); + } + return Event.cancel(evt); + } + }); + } + + // 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 == 'mceClose') { + t.close(null, id); + return Event.cancel(e); + } else 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); + } + } + }); + + // Make sure the tab order loops within the dialog. + Event.add([id + '_left', id + '_right'], 'focus', function(evt) { + var iframe = DOM.get(id + '_ifr'); + if (iframe) { + var body = iframe.contentWindow.document.body; + var focusable = DOM.select(':input:enabled,*[tabindex=0]', body); + if (evt.target.id === (id + '_left')) { + focusable[focusable.length - 1].focus(); + } else { + focusable[0].focus(); + } + } else { + DOM.get(id + '_ok').focus(); + } + }); + + // 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 + DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'true'); + } 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}); + + DOM.setAttrib(id, 'aria-hidden', 'false'); + 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; + + if (w.focussedElement) { + w.focussedElement.focus(); + } else if (DOM.get(id + '_ok')) { + DOM.get(w.id + '_ok').focus(); + } else if (DOM.get(w.id + '_ifr')) { + DOM.get(w.id + '_ifr').focus(); + } + } + }, + + _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; + } + }); + return fw; + }, + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif new file mode 100644 index 00000000..21913985 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif new file mode 100644 index 00000000..f957e49a Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif new file mode 100644 index 00000000..6baf64ad Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif new file mode 100644 index 00000000..20acbbf7 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif new file mode 100644 index 00000000..d5de1cc2 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif new file mode 100644 index 00000000..c2a2ad45 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif new file mode 100644 index 00000000..0b4cc368 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css new file mode 100644 index 00000000..a50d4fc5 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css @@ -0,0 +1,90 @@ +/* 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)} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/template.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/inlinepopups/template.htm new file mode 100644 index 00000000..f9ec6421 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/insertdatetime/editor_plugin.js new file mode 100755 index 00000000..938ce6b1 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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){b[e].style.zIndex=h[k];b[k].style.zIndex=h[e]}else{if(h[e]>0){b[e].style.zIndex=h[e]-1}}}else{for(g=0;gh[e]){k=g;break}}if(k>-1){b[e].style.zIndex=h[k];b[k].style.zIndex=h[e]}else{b[e].style.zIndex=h[e]+1}}c.execCommand("mceRepaint")},_getParentLayer:function(b){return this.editor.dom.getParent(b,function(c){return c.nodeType==1&&/^(absolute|relative|static)$/i.test(c.style.position)})},_insertLayer:function(){var c=this.editor,e=c.dom,d=e.getPos(e.getParent(c.selection.getNode(),"*")),b=c.getBody();c.dom.add(b,"div",{style:{position:"absolute",left:d.x,top:(d.y>20?d.y:20),width:100,height:100},"class":"mceItemVisualAid mceItemLayer"},c.selection.getContent()||c.getLang("layer.content"));if(tinymce.isIE){e.setHTML(b,b.innerHTML)}},_toggleAbsolute:function(){var b=this.editor,c=this._getParentLayer(b.selection.getNode());if(!c){c=b.dom.getParent(b.selection.getNode(),"DIV,P,IMG")}if(c){if(c.style.position.toLowerCase()=="absolute"){b.dom.setStyles(c,{position:"",left:"",top:"",width:"",height:""});b.dom.removeClass(c,"mceItemVisualAid");b.dom.removeClass(c,"mceItemLayer")}else{if(c.style.left==""){c.style.left=20+"px"}if(c.style.top==""){c.style.top=20+"px"}if(c.style.width==""){c.style.width=c.width?(c.width+"px"):"100px"}if(c.style.height==""){c.style.height=c.height?(c.height+"px"):"100px"}c.style.position="absolute";b.dom.setAttrib(c,"data-mce-style","");b.addVisual(b.getBody())}b.execCommand("mceRepaint");b.nodeChanged()}}});tinymce.PluginManager.add("layer",tinymce.plugins.Layer)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/layer/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/layer/editor_plugin_src.js new file mode 100755 index 00000000..daed2806 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/layer/editor_plugin_src.js @@ -0,0 +1,262 @@ +/** + * 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() { + function findParentLayer(node) { + do { + if (node.className && node.className.indexOf('mceItemLayer') != -1) { + return node; + } + } while (node = node.parentNode); + }; + + 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() { + var dom = ed.dom; + + if (tinymce.isIE) + ed.getDoc().execCommand('2D-Position', false, true); + }); + + // Remove serialized styles when selecting a layer since it might be changed by a drag operation + ed.onMouseUp.add(function(ed, e) { + var layer = findParentLayer(e.target); + + if (layer) { + ed.dom.setAttrib(layer, 'data-mce-style', ''); + } + }); + + // Fixes edit focus issues with layers on Gecko + // This will enable designMode while inside a layer and disable it when outside + ed.onMouseDown.add(function(ed, e) { + var node = e.target, doc = ed.getDoc(), parent; + + if (tinymce.isGecko) { + if (findParentLayer(node)) { + if (doc.designMode !== 'on') { + doc.designMode = 'on'; + + // Repaint caret + node = doc.body; + parent = node.parentNode; + parent.removeChild(node); + parent.appendChild(node); + } + } else if (doc.designMode == 'on') { + doc.designMode = 'off'; + } + } + }); + + 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|fixed)$/i.test(e.style.position)) { + if (s) + dom.addClass(e, 'mceItemVisualAid'); + else + dom.removeClass(e, 'mceItemVisualAid'); + + dom.addClass(e, 'mceItemLayer'); + } + }); + }, + + _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, dom = ed.dom, p = dom.getPos(dom.getParent(ed.selection.getNode(), '*')), body = ed.getBody(); + + ed.dom.add(body, 'div', { + style : { + position : 'absolute', + left : p.x, + top : (p.y > 20 ? p.y : 20), + width : 100, + height : 100 + }, + 'class' : 'mceItemVisualAid mceItemLayer' + }, ed.selection.getContent() || ed.getLang('layer.content')); + + // Workaround for IE where it messes up the JS engine if you insert a layer on IE 6,7 + if (tinymce.isIE) + dom.setHTML(body, body.innerHTML); + }, + + _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'); + ed.dom.removeClass(le, 'mceItemLayer'); + } 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.dom.setAttrib(le, 'data-mce-style', ''); + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin.js new file mode 100644 index 00000000..2ed5f41a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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.schema;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:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:true}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:true}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(f){return a.inArray(e,f.value)+1}}},forecolor:{inline:"font",attributes:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}});a.each("b,i,u,strike".split(","),function(f){d.addValidElements(f+"[*]")});if(!d.getElementRule("font")){d.addValidElements("font[face|size|color|style]")}a.each(c.split(","),function(f){var h=d.getElementRule(f),g;if(h){if(!h.attributes.align){h.attributes.align={};h.attributesOrder.push("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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin_src.js new file mode 100644 index 00000000..3cdcde57 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/legacyoutput/editor_plugin_src.js @@ -0,0 +1,139 @@ +/** + * 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), + schema = editor.schema; + + // 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 : 'justify'}}, + + // Change the basic formatting elements to use deprecated element types + bold : [ + {inline : 'b', remove : 'all'}, + {inline : 'strong', remove : 'all'}, + {inline : 'span', styles : {fontWeight : 'bold'}} + ], + italic : [ + {inline : 'i', remove : 'all'}, + {inline : 'em', remove : 'all'}, + {inline : 'span', styles : {fontStyle : 'italic'}} + ], + underline : [ + {inline : 'u', remove : 'all'}, + {inline : 'span', styles : {textDecoration : 'underline'}, exact : true} + ], + strikethrough : [ + {inline : 'strike', remove : 'all'}, + {inline : 'span', styles : {textDecoration: 'line-through'}, exact : true} + ], + + // 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', attributes : {color : '%value'}}, + hilitecolor : {inline : 'font', styles : {backgroundColor : '%value'}} + }); + + // Check that deprecated elements are allowed if not add them + tinymce.each('b,i,u,strike'.split(','), function(name) { + schema.addValidElements(name + '[*]'); + }); + + // Add font element if it's missing + if (!schema.getElementRule("font")) + schema.addValidElements("font[face|size|color|style]"); + + // Add the missing and depreacted align attribute for the serialization engine + tinymce.each(alignElements.split(','), function(name) { + var rule = schema.getElementRule(name), found; + + if (rule) { + if (!rule.attributes.align) { + rule.attributes.align = {}; + rule.attributesOrder.push('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); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin.js new file mode 100644 index 00000000..ec21b256 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin.js @@ -0,0 +1 @@ +(function(){var e=tinymce.each,r=tinymce.dom.Event,g;function p(t,s){while(t&&(t.nodeType===8||(t.nodeType===3&&/^[ \t\n\r]*$/.test(t.nodeValue)))){t=s(t)}return t}function b(s){return p(s,function(t){return t.previousSibling})}function i(s){return p(s,function(t){return t.nextSibling})}function d(s,u,t){return s.dom.getParent(u,function(v){return tinymce.inArray(t,v)!==-1})}function n(s){return s&&(s.tagName==="OL"||s.tagName==="UL")}function c(u,v){var t,w,s;t=b(u.lastChild);while(n(t)){w=t;t=b(w.previousSibling)}if(w){s=v.create("li",{style:"list-style-type: none;"});v.split(u,w);v.insertAfter(s,w);s.appendChild(w);s.appendChild(w);u=s.previousSibling}return u}function m(t,s,u){t=a(t,s,u);return o(t,s,u)}function a(u,s,v){var t=b(u.previousSibling);if(t){return h(t,u,s?t:false,v)}else{return u}}function o(u,t,v){var s=i(u.nextSibling);if(s){return h(u,s,t?s:false,v)}else{return u}}function h(u,s,t,v){if(l(u,s,!!t,v)){return f(u,s,t)}else{if(u&&u.tagName==="LI"&&n(s)){u.appendChild(s)}}return s}function l(u,t,s,v){if(!u||!t){return false}else{if(u.tagName==="LI"&&t.tagName==="LI"){return t.style.listStyleType==="none"||j(t)}else{if(n(u)){return(u.tagName===t.tagName&&(s||u.style.listStyleType===t.style.listStyleType))||q(t)}else{return v&&u.tagName==="P"&&t.tagName==="P"}}}}function q(t){var s=i(t.firstChild),u=b(t.lastChild);return s&&u&&n(t)&&s===u&&(n(s)||s.style.listStyleType==="none"||j(s))}function j(u){var t=i(u.firstChild),s=b(u.lastChild);return t&&s&&t===s&&n(t)}function f(w,v,s){var u=b(w.lastChild),t=i(v.firstChild);if(w.tagName==="P"){w.appendChild(w.ownerDocument.createElement("br"))}while(v.firstChild){w.appendChild(v.firstChild)}if(s){w.style.listStyleType=s.style.listStyleType}v.parentNode.removeChild(v);h(u,t,false);return w}function k(t,u){var s;if(!u.is(t,"li,ol,ul")){s=u.getParent(t,"li");if(s){t=s}}return t}tinymce.create("tinymce.plugins.Lists",{init:function(y){var v="TABBING";var s="EMPTY";var J="ESCAPE";var z="PARAGRAPH";var N="UNKNOWN";var x=N;function E(U){return U.keyCode===tinymce.VK.TAB&&!(U.altKey||U.ctrlKey)&&(y.queryCommandState("InsertUnorderedList")||y.queryCommandState("InsertOrderedList"))}function w(){var U=B();var W=U.parentNode.parentNode;var V=U.parentNode.lastChild===U;return V&&!t(W)&&P(U)}function t(U){if(n(U)){return U.parentNode&&U.parentNode.tagName==="LI"}else{return U.tagName==="LI"}}function F(){return y.selection.isCollapsed()&&P(B())}function B(){var U=y.selection.getStart();return((U.tagName=="BR"||U.tagName=="")&&U.parentNode.tagName=="LI")?U.parentNode:U}function P(U){var V=U.childNodes.length;if(U.tagName==="LI"){return V==0?true:V==1&&(U.firstChild.tagName==""||U.firstChild.tagName=="BR"||H(U))}return false}function H(U){var V=tinymce.grep(U.parentNode.childNodes,function(Y){return Y.tagName=="LI"});var W=U==V[V.length-1];var X=U.firstChild;return tinymce.isIE9&&W&&(X.nodeValue==String.fromCharCode(160)||X.nodeValue==String.fromCharCode(32))}function T(U){return U.keyCode===tinymce.VK.ENTER}function A(U){return T(U)&&!U.shiftKey}function M(U){if(E(U)){return v}else{if(A(U)&&w()){return N}else{if(A(U)&&F()){return s}else{return N}}}}function D(U,V){if(x==v||x==s||tinymce.isGecko&&x==J){r.cancel(V)}}function C(){var U=y.selection.getRng(true);var V=U.startContainer;if(V.nodeType==3){var W=V.nodeValue;if(tinymce.isIE9&&W.length>1&&W.charCodeAt(W.length-1)==32){return(U.endOffset==W.length-1)}else{return(U.endOffset==W.length)}}else{if(V.nodeType==1){return U.endOffset==V.childNodes.length}}return false}function I(){var W=y.selection.getNode();var V="h1,h2,h3,h4,h5,h6,p,div";var U=y.dom.is(W,V)&&W.parentNode.tagName==="LI"&&W.parentNode.lastChild===W;return y.selection.isCollapsed()&&U&&C()}function K(W,Y){if(A(Y)&&I()){var X=W.selection.getNode();var V=W.dom.create("li");var U=W.dom.getParent(X,"li");W.dom.insertAfter(V,U);if(tinymce.isIE6||tinymce.isIE7||tinyMCE.isIE8){W.selection.setCursorLocation(V,1)}else{W.selection.setCursorLocation(V,0)}Y.preventDefault()}}function u(X,Z){var ac;if(!tinymce.isGecko){return}var V=X.selection.getStart();if(Z.keyCode!=tinymce.VK.BACKSPACE||V.tagName!=="IMG"){return}function W(ag){var ah=ag.firstChild;var af=null;do{if(!ah){break}if(ah.tagName==="LI"){af=ah}}while(ah=ah.nextSibling);return af}function ae(ag,af){while(ag.childNodes.length>0){af.appendChild(ag.childNodes[0])}}ac=V.parentNode.previousSibling;if(!ac){return}var aa;if(ac.tagName==="UL"||ac.tagName==="OL"){aa=ac}else{if(ac.previousSibling&&(ac.previousSibling.tagName==="UL"||ac.previousSibling.tagName==="OL")){aa=ac.previousSibling}else{return}}var ad=W(aa);var U=X.dom.createRng();U.setStart(ad,1);U.setEnd(ad,1);X.selection.setRng(U);X.selection.collapse(true);var Y=X.selection.getBookmark();var ab=V.parentNode.cloneNode(true);if(ab.tagName==="P"||ab.tagName==="DIV"){ae(ab,ad)}else{ad.appendChild(ab)}V.parentNode.parentNode.removeChild(V.parentNode);X.selection.moveToBookmark(Y)}function G(U){var V=y.dom.getParent(U,"ol,ul");if(V!=null){var W=V.lastChild;y.selection.setCursorLocation(W,0)}}this.ed=y;y.addCommand("Indent",this.indent,this);y.addCommand("Outdent",this.outdent,this);y.addCommand("InsertUnorderedList",function(){this.applyList("UL","OL")},this);y.addCommand("InsertOrderedList",function(){this.applyList("OL","UL")},this);y.onInit.add(function(){y.editorCommands.addCommands({outdent:function(){var V=y.selection,W=y.dom;function U(X){X=W.getParent(X,W.isBlock);return X&&(parseInt(y.dom.getStyle(X,"margin-left")||0,10)+parseInt(y.dom.getStyle(X,"padding-left")||0,10))>0}return U(V.getStart())||U(V.getEnd())||y.queryCommandState("InsertOrderedList")||y.queryCommandState("InsertUnorderedList")}},"state")});y.onKeyUp.add(function(V,W){if(x==v){V.execCommand(W.shiftKey?"Outdent":"Indent",true,null);x=N;return r.cancel(W)}else{if(x==s){var U=B();var Y=V.settings.list_outdent_on_enter===true||W.shiftKey;V.execCommand(Y?"Outdent":"Indent",true,null);if(tinymce.isIE){G(U)}return r.cancel(W)}else{if(x==J){if(tinymce.isIE6||tinymce.isIE7||tinymce.isIE8){var X=V.getDoc().createTextNode("\uFEFF");V.selection.getNode().appendChild(X)}else{if(tinymce.isIE9||tinymce.isGecko){V.execCommand("Outdent");return r.cancel(W)}}}}}});function L(V,U){var W=y.getDoc().createTextNode("\uFEFF");V.insertBefore(W,U);y.selection.setCursorLocation(W,0);y.execCommand("mceRepaint")}function R(V,X){if(T(X)){var U=B();if(U){var W=U.parentNode;var Y=W&&W.parentNode;if(Y&&Y.nodeName=="LI"&&Y.firstChild==W&&U==W.firstChild){L(Y,W)}}}}function S(V,X){if(T(X)){var U=B();if(V.dom.select("ul li",U).length===1){var W=U.firstChild;L(U,W)}}}function Q(W,aa){function X(ab){var ad=[];var ae=new tinymce.dom.TreeWalker(ab.firstChild,ab);for(var ac=ae.current();ac;ac=ae.next()){if(W.dom.is(ac,"ol,ul,li")){ad.push(ac)}}return ad}if(aa.keyCode==tinymce.VK.BACKSPACE){var U=B();if(U){var Z=W.dom.getParent(U,"ol,ul"),V=W.selection.getRng();if(Z&&Z.firstChild===U&&V.startOffset==0){var Y=X(U);Y.unshift(U);W.execCommand("Outdent",false,Y);W.undoManager.add();return r.cancel(aa)}}}}function O(V,X){var U=B();if(X.keyCode===tinymce.VK.BACKSPACE&&V.dom.is(U,"li")&&U.parentNode.firstChild!==U){if(V.dom.select("ul,ol",U).length===1){var Z=U.previousSibling;V.dom.remove(V.dom.select("br",U));V.dom.remove(U,true);var W=tinymce.grep(Z.childNodes,function(aa){return aa.nodeType===3});if(W.length===1){var Y=W[0];V.selection.setCursorLocation(Y,Y.length)}V.undoManager.add();return r.cancel(X)}}}y.onKeyDown.add(function(U,V){x=M(V)});y.onKeyDown.add(D);y.onKeyDown.add(u);y.onKeyDown.add(K);if(tinymce.isGecko){y.onKeyUp.add(R)}if(tinymce.isIE8){y.onKeyUp.add(S)}if(tinymce.isGecko||tinymce.isWebKit){y.onKeyDown.add(Q)}if(tinymce.isWebKit){y.onKeyDown.add(O)}},applyList:function(y,v){var C=this,z=C.ed,I=z.dom,s=[],H=false,u=false,w=false,B,G=z.selection.getSelectedBlocks();function E(t){if(t&&t.tagName==="BR"){I.remove(t)}}function F(M){var N=I.create(y),t;function L(O){if(O.style.marginLeft||O.style.paddingLeft){C.adjustPaddingFunction(false)(O)}}if(M.tagName==="LI"){}else{if(M.tagName==="P"||M.tagName==="DIV"||M.tagName==="BODY"){K(M,function(P,O){J(P,O,M.tagName==="BODY"?null:P.parentNode);t=P.parentNode;L(t);E(O)});if(t){if(t.tagName==="LI"&&(M.tagName==="P"||G.length>1)){I.split(t.parentNode.parentNode,t.parentNode)}m(t.parentNode,true)}return}else{t=I.create("li");I.insertAfter(t,M);t.appendChild(M);L(M);M=t}}I.insertAfter(N,M);N.appendChild(M);m(N,true);s.push(M)}function J(P,L,N){var t,O=P,M;while(!I.isBlock(P.parentNode)&&P.parentNode!==I.getRoot()){P=I.split(P.parentNode,P.previousSibling);P=P.nextSibling;O=P}if(N){t=N.cloneNode(true);P.parentNode.insertBefore(t,P);while(t.firstChild){I.remove(t.firstChild)}t=I.rename(t,"li")}else{t=I.create("li");P.parentNode.insertBefore(t,P)}while(O&&O!=L){M=O.nextSibling;t.appendChild(O);O=M}if(t.childNodes.length===0){t.innerHTML='
'}F(t)}function K(Q,T){var N,R,O=3,L=1,t="br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl";function P(X,U){var V=I.createRng(),W;g.keep=true;z.selection.moveToBookmark(g);g.keep=false;W=z.selection.getRng(true);if(!U){U=X.parentNode.lastChild}V.setStartBefore(X);V.setEndAfter(U);return !(V.compareBoundaryPoints(O,W)>0||V.compareBoundaryPoints(L,W)<=0)}function S(U){if(U.nextSibling){return U.nextSibling}if(!I.isBlock(U.parentNode)&&U.parentNode!==I.getRoot()){return S(U.parentNode)}}N=Q.firstChild;var M=false;e(I.select(t,Q),function(U){if(U.hasAttribute&&U.hasAttribute("_mce_bogus")){return true}if(P(N,U)){I.addClass(U,"_mce_tagged_br");N=S(U)}});M=(N&&P(N,undefined));N=Q.firstChild;e(I.select(t,Q),function(V){var U=S(V);if(V.hasAttribute&&V.hasAttribute("_mce_bogus")){return true}if(I.hasClass(V,"_mce_tagged_br")){T(N,V,R);R=null}else{R=V}N=U});if(M){T(N,undefined,R)}}function D(t){K(t,function(M,L,N){J(M,L);E(L);E(N)})}function A(t){if(tinymce.inArray(s,t)!==-1){return}if(t.parentNode.tagName===v){I.split(t.parentNode,t);F(t);o(t.parentNode,false)}s.push(t)}function x(M){var O,N,L,t;if(tinymce.inArray(s,M)!==-1){return}M=c(M,I);while(I.is(M.parentNode,"ol,ul,li")){I.split(M.parentNode,M)}s.push(M);M=I.rename(M,"p");L=m(M,false,z.settings.force_br_newlines);if(L===M){O=M.firstChild;while(O){if(I.isBlock(O)){O=I.split(O.parentNode,O);t=true;N=O.nextSibling&&O.nextSibling.firstChild}else{N=O.nextSibling;if(t&&O.tagName==="BR"){I.remove(O)}t=false}O=N}}}e(G,function(t){t=k(t,I);if(t.tagName===v||(t.tagName==="LI"&&t.parentNode.tagName===v)){u=true}else{if(t.tagName===y||(t.tagName==="LI"&&t.parentNode.tagName===y)){H=true}else{w=true}}});if(w&&!H||u||G.length===0){B={LI:A,H1:F,H2:F,H3:F,H4:F,H5:F,H6:F,P:F,BODY:F,DIV:G.length>1?F:D,defaultAction:D,elements:this.selectedBlocks()}}else{B={defaultAction:x,elements:this.selectedBlocks(),processEvenIfEmpty:true}}this.process(B)},indent:function(){var u=this.ed,w=u.dom,x=[];function s(z){var y=w.create("li",{style:"list-style-type: none;"});w.insertAfter(y,z);return y}function t(B){var y=s(B),D=w.getParent(B,"ol,ul"),C=D.tagName,E=w.getStyle(D,"list-style-type"),A={},z;if(E!==""){A.style="list-style-type: "+E+";"}z=w.create(C,A);y.appendChild(z);return z}function v(z){if(!d(u,z,x)){z=c(z,w);var y=t(z);y.appendChild(z);m(y.parentNode,false);m(y,false);x.push(z)}}this.process({LI:v,defaultAction:this.adjustPaddingFunction(true),elements:this.selectedBlocks()})},outdent:function(y,x){var w=this,u=w.ed,z=u.dom,s=[];function A(t){var C,B,D;if(!d(u,t,s)){if(z.getStyle(t,"margin-left")!==""||z.getStyle(t,"padding-left")!==""){return w.adjustPaddingFunction(false)(t)}D=z.getStyle(t,"text-align",true);if(D==="center"||D==="right"){z.setStyle(t,"text-align","left");return}t=c(t,z);C=t.parentNode;B=t.parentNode.parentNode;if(B.tagName==="P"){z.split(B,t.parentNode)}else{z.split(C,t);if(B.tagName==="LI"){z.split(B,t)}else{if(!z.is(B,"ol,ul")){z.rename(t,"p")}}}s.push(t)}}var v=x&&tinymce.is(x,"array")?x:this.selectedBlocks();this.process({LI:A,defaultAction:this.adjustPaddingFunction(false),elements:v});e(s,m)},process:function(y){var F=this,w=F.ed.selection,z=F.ed.dom,E,u;function B(t){var s=tinymce.grep(t.childNodes,function(H){return !(H.nodeName==="BR"||H.nodeName==="SPAN"&&z.getAttrib(H,"data-mce-type")=="bookmark"||H.nodeType==3&&(H.nodeValue==String.fromCharCode(160)||H.nodeValue==""))});return s.length===0}function x(s){z.removeClass(s,"_mce_act_on");if(!s||s.nodeType!==1||!y.processEvenIfEmpty&&E.length>1&&B(s)){return}s=k(s,z);var t=y[s.tagName];if(!t){t=y.defaultAction}t(s)}function v(s){F.splitSafeEach(s.childNodes,x,true)}function C(s,t){return t>=0&&s.hasChildNodes()&&t0){t=s.shift();w.removeClass(t,"_mce_act_on");u(t);s=w.select("._mce_act_on")}},adjustPaddingFunction:function(u){var s,v,t=this.ed;s=t.settings.indentation;v=/[a-z%]+/i.exec(s);s=parseInt(s,10);return function(w){var y,x;y=parseInt(t.dom.getStyle(w,"margin-left")||0,10)+parseInt(t.dom.getStyle(w,"padding-left")||0,10);if(u){x=y+s}else{x=y-s}t.dom.setStyle(w,"padding-left","");t.dom.setStyle(w,"margin-left",x>0?x+v:"")}},selectedBlocks:function(){var s=this.ed,t=s.selection.getSelectedBlocks();return t.length==0?[s.dom.getRoot()]:t},getInfo:function(){return{longname:"Lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("lists",tinymce.plugins.Lists)}()); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin_src.js new file mode 100644 index 00000000..1000ef74 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/lists/editor_plugin_src.js @@ -0,0 +1,955 @@ +/** + * editor_plugin_src.js + * + * Copyright 2011, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + var each = tinymce.each, Event = tinymce.dom.Event, bookmark; + + // Skips text nodes that only contain whitespace since they aren't semantically important. + function skipWhitespaceNodes(e, next) { + while (e && (e.nodeType === 8 || (e.nodeType === 3 && /^[ \t\n\r]*$/.test(e.nodeValue)))) { + e = next(e); + } + return e; + } + + function skipWhitespaceNodesBackwards(e) { + return skipWhitespaceNodes(e, function(e) { + return e.previousSibling; + }); + } + + function skipWhitespaceNodesForwards(e) { + return skipWhitespaceNodes(e, function(e) { + return e.nextSibling; + }); + } + + function hasParentInList(ed, e, list) { + return ed.dom.getParent(e, function(p) { + return tinymce.inArray(list, p) !== -1; + }); + } + + function isList(e) { + return e && (e.tagName === 'OL' || e.tagName === 'UL'); + } + + function splitNestedLists(element, dom) { + var tmp, nested, wrapItem; + tmp = skipWhitespaceNodesBackwards(element.lastChild); + while (isList(tmp)) { + nested = tmp; + tmp = skipWhitespaceNodesBackwards(nested.previousSibling); + } + if (nested) { + wrapItem = dom.create('li', { style: 'list-style-type: none;'}); + dom.split(element, nested); + dom.insertAfter(wrapItem, nested); + wrapItem.appendChild(nested); + wrapItem.appendChild(nested); + element = wrapItem.previousSibling; + } + return element; + } + + function attemptMergeWithAdjacent(e, allowDifferentListStyles, mergeParagraphs) { + e = attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs); + return attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs); + } + + function attemptMergeWithPrevious(e, allowDifferentListStyles, mergeParagraphs) { + var prev = skipWhitespaceNodesBackwards(e.previousSibling); + if (prev) { + return attemptMerge(prev, e, allowDifferentListStyles ? prev : false, mergeParagraphs); + } else { + return e; + } + } + + function attemptMergeWithNext(e, allowDifferentListStyles, mergeParagraphs) { + var next = skipWhitespaceNodesForwards(e.nextSibling); + if (next) { + return attemptMerge(e, next, allowDifferentListStyles ? next : false, mergeParagraphs); + } else { + return e; + } + } + + function attemptMerge(e1, e2, differentStylesMasterElement, mergeParagraphs) { + if (canMerge(e1, e2, !!differentStylesMasterElement, mergeParagraphs)) { + return merge(e1, e2, differentStylesMasterElement); + } else if (e1 && e1.tagName === 'LI' && isList(e2)) { + // Fix invalidly nested lists. + e1.appendChild(e2); + } + return e2; + } + + function canMerge(e1, e2, allowDifferentListStyles, mergeParagraphs) { + if (!e1 || !e2) { + return false; + } else if (e1.tagName === 'LI' && e2.tagName === 'LI') { + return e2.style.listStyleType === 'none' || containsOnlyAList(e2); + } else if (isList(e1)) { + return (e1.tagName === e2.tagName && (allowDifferentListStyles || e1.style.listStyleType === e2.style.listStyleType)) || isListForIndent(e2); + } else return mergeParagraphs && e1.tagName === 'P' && e2.tagName === 'P'; + } + + function isListForIndent(e) { + var firstLI = skipWhitespaceNodesForwards(e.firstChild), lastLI = skipWhitespaceNodesBackwards(e.lastChild); + return firstLI && lastLI && isList(e) && firstLI === lastLI && (isList(firstLI) || firstLI.style.listStyleType === 'none' || containsOnlyAList(firstLI)); + } + + function containsOnlyAList(e) { + var firstChild = skipWhitespaceNodesForwards(e.firstChild), lastChild = skipWhitespaceNodesBackwards(e.lastChild); + return firstChild && lastChild && firstChild === lastChild && isList(firstChild); + } + + function merge(e1, e2, masterElement) { + var lastOriginal = skipWhitespaceNodesBackwards(e1.lastChild), firstNew = skipWhitespaceNodesForwards(e2.firstChild); + if (e1.tagName === 'P') { + e1.appendChild(e1.ownerDocument.createElement('br')); + } + while (e2.firstChild) { + e1.appendChild(e2.firstChild); + } + if (masterElement) { + e1.style.listStyleType = masterElement.style.listStyleType; + } + e2.parentNode.removeChild(e2); + attemptMerge(lastOriginal, firstNew, false); + return e1; + } + + function findItemToOperateOn(e, dom) { + var item; + if (!dom.is(e, 'li,ol,ul')) { + item = dom.getParent(e, 'li'); + if (item) { + e = item; + } + } + return e; + } + + tinymce.create('tinymce.plugins.Lists', { + init: function(ed) { + var LIST_TABBING = 'TABBING'; + var LIST_EMPTY_ITEM = 'EMPTY'; + var LIST_ESCAPE = 'ESCAPE'; + var LIST_PARAGRAPH = 'PARAGRAPH'; + var LIST_UNKNOWN = 'UNKNOWN'; + var state = LIST_UNKNOWN; + + function isTabInList(e) { + // Don't indent on Ctrl+Tab or Alt+Tab + return e.keyCode === tinymce.VK.TAB && !(e.altKey || e.ctrlKey) && + (ed.queryCommandState('InsertUnorderedList') || ed.queryCommandState('InsertOrderedList')); + } + + function isOnLastListItem() { + var li = getLi(); + var grandParent = li.parentNode.parentNode; + var isLastItem = li.parentNode.lastChild === li; + return isLastItem && !isNestedList(grandParent) && isEmptyListItem(li); + } + + function isNestedList(grandParent) { + if (isList(grandParent)) { + return grandParent.parentNode && grandParent.parentNode.tagName === 'LI'; + } else { + return grandParent.tagName === 'LI'; + } + } + + function isInEmptyListItem() { + return ed.selection.isCollapsed() && isEmptyListItem(getLi()); + } + + function getLi() { + var n = ed.selection.getStart(); + // Get start will return BR if the LI only contains a BR or an empty element as we use these to fix caret position + return ((n.tagName == 'BR' || n.tagName == '') && n.parentNode.tagName == 'LI') ? n.parentNode : n; + } + + function isEmptyListItem(li) { + var numChildren = li.childNodes.length; + if (li.tagName === 'LI') { + return numChildren == 0 ? true : numChildren == 1 && (li.firstChild.tagName == '' || li.firstChild.tagName == 'BR' || isEmptyIE9Li(li)); + } + return false; + } + + function isEmptyIE9Li(li) { + // only consider this to be last item if there is no list item content or that content is nbsp or space since IE9 creates these + var lis = tinymce.grep(li.parentNode.childNodes, function(n) {return n.tagName == 'LI'}); + var isLastLi = li == lis[lis.length - 1]; + var child = li.firstChild; + return tinymce.isIE9 && isLastLi && (child.nodeValue == String.fromCharCode(160) || child.nodeValue == String.fromCharCode(32)); + } + + function isEnter(e) { + return e.keyCode === tinymce.VK.ENTER; + } + + function isEnterWithoutShift(e) { + return isEnter(e) && !e.shiftKey; + } + + function getListKeyState(e) { + if (isTabInList(e)) { + return LIST_TABBING; + } else if (isEnterWithoutShift(e) && isOnLastListItem()) { + // Returns LIST_UNKNOWN since breaking out of lists is handled by the EnterKey.js logic now + //return LIST_ESCAPE; + return LIST_UNKNOWN; + } else if (isEnterWithoutShift(e) && isInEmptyListItem()) { + return LIST_EMPTY_ITEM; + } else { + return LIST_UNKNOWN; + } + } + + function cancelDefaultEvents(ed, e) { + // list escape is done manually using outdent as it does not create paragraphs correctly in td's + if (state == LIST_TABBING || state == LIST_EMPTY_ITEM || tinymce.isGecko && state == LIST_ESCAPE) { + Event.cancel(e); + } + } + + function isCursorAtEndOfContainer() { + var range = ed.selection.getRng(true); + var startContainer = range.startContainer; + if (startContainer.nodeType == 3) { + var value = startContainer.nodeValue; + if (tinymce.isIE9 && value.length > 1 && value.charCodeAt(value.length-1) == 32) { + // IE9 places a space on the end of the text in some cases so ignore last char + return (range.endOffset == value.length-1); + } else { + return (range.endOffset == value.length); + } + } else if (startContainer.nodeType == 1) { + return range.endOffset == startContainer.childNodes.length; + } + return false; + } + + /* + If we are at the end of a list item surrounded with an element, pressing enter should create a + new list item instead without splitting the element e.g. don't want to create new P or H1 tag + */ + function isEndOfListItem() { + var node = ed.selection.getNode(); + var validElements = 'h1,h2,h3,h4,h5,h6,p,div'; + var isLastParagraphOfLi = ed.dom.is(node, validElements) && node.parentNode.tagName === 'LI' && node.parentNode.lastChild === node; + return ed.selection.isCollapsed() && isLastParagraphOfLi && isCursorAtEndOfContainer(); + } + + // Creates a new list item after the current selection's list item parent + function createNewLi(ed, e) { + if (isEnterWithoutShift(e) && isEndOfListItem()) { + var node = ed.selection.getNode(); + var li = ed.dom.create("li"); + var parentLi = ed.dom.getParent(node, 'li'); + ed.dom.insertAfter(li, parentLi); + + // Move caret to new list element. + if (tinymce.isIE6 || tinymce.isIE7 || tinyMCE.isIE8) { + // Removed this line since it would create an odd < > tag and placing the caret inside an empty LI is handled and should be handled by the selection logic + //li.appendChild(ed.dom.create(" ")); // IE needs an element within the bullet point + ed.selection.setCursorLocation(li, 1); + } else { + ed.selection.setCursorLocation(li, 0); + } + e.preventDefault(); + } + } + + function imageJoiningListItem(ed, e) { + var prevSibling; + + if (!tinymce.isGecko) + return; + + var n = ed.selection.getStart(); + if (e.keyCode != tinymce.VK.BACKSPACE || n.tagName !== 'IMG') + return; + + function lastLI(node) { + var child = node.firstChild; + var li = null; + do { + if (!child) + break; + + if (child.tagName === 'LI') + li = child; + } while (child = child.nextSibling); + + return li; + } + + function addChildren(parentNode, destination) { + while (parentNode.childNodes.length > 0) + destination.appendChild(parentNode.childNodes[0]); + } + + // Check if there is a previous sibling + prevSibling = n.parentNode.previousSibling; + if (!prevSibling) + return; + + var ul; + if (prevSibling.tagName === 'UL' || prevSibling.tagName === 'OL') + ul = prevSibling; + else if (prevSibling.previousSibling && (prevSibling.previousSibling.tagName === 'UL' || prevSibling.previousSibling.tagName === 'OL')) + ul = prevSibling.previousSibling; + else + return; + + var li = lastLI(ul); + + // move the caret to the end of the list item + var rng = ed.dom.createRng(); + rng.setStart(li, 1); + rng.setEnd(li, 1); + ed.selection.setRng(rng); + ed.selection.collapse(true); + + // save a bookmark at the end of the list item + var bookmark = ed.selection.getBookmark(); + + // copy the image an its text to the list item + var clone = n.parentNode.cloneNode(true); + if (clone.tagName === 'P' || clone.tagName === 'DIV') + addChildren(clone, li); + else + li.appendChild(clone); + + // remove the old copy of the image + n.parentNode.parentNode.removeChild(n.parentNode); + + // move the caret where we saved the bookmark + ed.selection.moveToBookmark(bookmark); + } + + // fix the cursor position to ensure it is correct in IE + function setCursorPositionToOriginalLi(li) { + var list = ed.dom.getParent(li, 'ol,ul'); + if (list != null) { + var lastLi = list.lastChild; + // Removed this line since IE9 would report an DOM character error and placing the caret inside an empty LI is handled and should be handled by the selection logic + //lastLi.appendChild(ed.getDoc().createElement('')); + ed.selection.setCursorLocation(lastLi, 0); + } + } + + this.ed = ed; + ed.addCommand('Indent', this.indent, this); + ed.addCommand('Outdent', this.outdent, this); + ed.addCommand('InsertUnorderedList', function() { + this.applyList('UL', 'OL'); + }, this); + ed.addCommand('InsertOrderedList', function() { + this.applyList('OL', 'UL'); + }, this); + + ed.onInit.add(function() { + ed.editorCommands.addCommands({ + 'outdent': function() { + var sel = ed.selection, dom = ed.dom; + + function hasStyleIndent(n) { + n = dom.getParent(n, dom.isBlock); + return n && (parseInt(ed.dom.getStyle(n, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(n, 'padding-left') || 0, 10)) > 0; + } + + return hasStyleIndent(sel.getStart()) || hasStyleIndent(sel.getEnd()) || ed.queryCommandState('InsertOrderedList') || ed.queryCommandState('InsertUnorderedList'); + } + }, 'state'); + }); + + ed.onKeyUp.add(function(ed, e) { + if (state == LIST_TABBING) { + ed.execCommand(e.shiftKey ? 'Outdent' : 'Indent', true, null); + state = LIST_UNKNOWN; + return Event.cancel(e); + } else if (state == LIST_EMPTY_ITEM) { + var li = getLi(); + var shouldOutdent = ed.settings.list_outdent_on_enter === true || e.shiftKey; + ed.execCommand(shouldOutdent ? 'Outdent' : 'Indent', true, null); + if (tinymce.isIE) { + setCursorPositionToOriginalLi(li); + } + + return Event.cancel(e); + } else if (state == LIST_ESCAPE) { + if (tinymce.isIE6 || tinymce.isIE7 || tinymce.isIE8) { + // append a zero sized nbsp so that caret is positioned correctly in IE after escaping and applying formatting. + // if there is no text then applying formatting for e.g a H1 to the P tag immediately following list after + // escaping from it will cause the caret to be positioned on the last li instead of staying the in P tag. + var n = ed.getDoc().createTextNode('\uFEFF'); + ed.selection.getNode().appendChild(n); + } else if (tinymce.isIE9 || tinymce.isGecko) { + // IE9 does not escape the list so we use outdent to do this and cancel the default behaviour + // Gecko does not create a paragraph outdenting inside a TD so default behaviour is cancelled and we outdent ourselves + ed.execCommand('Outdent'); + return Event.cancel(e); + } + } + }); + + function fixListItem(parent, reference) { + // a zero-sized non-breaking space is placed in the empty list item so that the nested list is + // displayed on the below line instead of next to it + var n = ed.getDoc().createTextNode('\uFEFF'); + parent.insertBefore(n, reference); + ed.selection.setCursorLocation(n, 0); + // repaint to remove rendering artifact. only visible when creating new list + ed.execCommand('mceRepaint'); + } + + function fixIndentedListItemForGecko(ed, e) { + if (isEnter(e)) { + var li = getLi(); + if (li) { + var parent = li.parentNode; + var grandParent = parent && parent.parentNode; + if (grandParent && grandParent.nodeName == 'LI' && grandParent.firstChild == parent && li == parent.firstChild) { + fixListItem(grandParent, parent); + } + } + } + } + + function fixIndentedListItemForIE8(ed, e) { + if (isEnter(e)) { + var li = getLi(); + if (ed.dom.select('ul li', li).length === 1) { + var list = li.firstChild; + fixListItem(li, list); + } + } + } + + function fixDeletingFirstCharOfList(ed, e) { + function listElements(li) { + var elements = []; + var walker = new tinymce.dom.TreeWalker(li.firstChild, li); + for (var node = walker.current(); node; node = walker.next()) { + if (ed.dom.is(node, 'ol,ul,li')) { + elements.push(node); + } + } + return elements; + } + + if (e.keyCode == tinymce.VK.BACKSPACE) { + var li = getLi(); + if (li) { + var list = ed.dom.getParent(li, 'ol,ul'), + rng = ed.selection.getRng(); + if (list && list.firstChild === li && rng.startOffset == 0) { + var elements = listElements(li); + elements.unshift(li); + ed.execCommand("Outdent", false, elements); + ed.undoManager.add(); + return Event.cancel(e); + } + } + } + } + + function fixDeletingEmptyLiInWebkit(ed, e) { + var li = getLi(); + if (e.keyCode === tinymce.VK.BACKSPACE && ed.dom.is(li, 'li') && li.parentNode.firstChild!==li) { + if (ed.dom.select('ul,ol', li).length === 1) { + var prevLi = li.previousSibling; + ed.dom.remove(ed.dom.select('br', li)); + ed.dom.remove(li, true); + var textNodes = tinymce.grep(prevLi.childNodes, function(n){ return n.nodeType === 3 }); + if (textNodes.length === 1) { + var textNode = textNodes[0]; + ed.selection.setCursorLocation(textNode, textNode.length); + } + ed.undoManager.add(); + return Event.cancel(e); + } + } + } + + ed.onKeyDown.add(function(_, e) { state = getListKeyState(e); }); + ed.onKeyDown.add(cancelDefaultEvents); + ed.onKeyDown.add(imageJoiningListItem); + ed.onKeyDown.add(createNewLi); + + if (tinymce.isGecko) { + ed.onKeyUp.add(fixIndentedListItemForGecko); + } + if (tinymce.isIE8) { + ed.onKeyUp.add(fixIndentedListItemForIE8); + } + if (tinymce.isGecko || tinymce.isWebKit) { + ed.onKeyDown.add(fixDeletingFirstCharOfList); + } + if (tinymce.isWebKit) { + ed.onKeyDown.add(fixDeletingEmptyLiInWebkit); + } + }, + + applyList: function(targetListType, oppositeListType) { + var t = this, ed = t.ed, dom = ed.dom, applied = [], hasSameType = false, hasOppositeType = false, hasNonList = false, actions, + selectedBlocks = ed.selection.getSelectedBlocks(); + + function cleanupBr(e) { + if (e && e.tagName === 'BR') { + dom.remove(e); + } + } + + function makeList(element) { + var list = dom.create(targetListType), li; + + function adjustIndentForNewList(element) { + // If there's a margin-left, outdent one level to account for the extra list margin. + if (element.style.marginLeft || element.style.paddingLeft) { + t.adjustPaddingFunction(false)(element); + } + } + + if (element.tagName === 'LI') { + // No change required. + } else if (element.tagName === 'P' || element.tagName === 'DIV' || element.tagName === 'BODY') { + processBrs(element, function(startSection, br) { + doWrapList(startSection, br, element.tagName === 'BODY' ? null : startSection.parentNode); + li = startSection.parentNode; + adjustIndentForNewList(li); + cleanupBr(br); + }); + if (li) { + if (li.tagName === 'LI' && (element.tagName === 'P' || selectedBlocks.length > 1)) { + dom.split(li.parentNode.parentNode, li.parentNode); + } + attemptMergeWithAdjacent(li.parentNode, true); + } + return; + } else { + // Put the list around the element. + li = dom.create('li'); + dom.insertAfter(li, element); + li.appendChild(element); + adjustIndentForNewList(element); + element = li; + } + dom.insertAfter(list, element); + list.appendChild(element); + attemptMergeWithAdjacent(list, true); + applied.push(element); + } + + function doWrapList(start, end, template) { + var li, n = start, tmp; + while (!dom.isBlock(start.parentNode) && start.parentNode !== dom.getRoot()) { + start = dom.split(start.parentNode, start.previousSibling); + start = start.nextSibling; + n = start; + } + if (template) { + li = template.cloneNode(true); + start.parentNode.insertBefore(li, start); + while (li.firstChild) dom.remove(li.firstChild); + li = dom.rename(li, 'li'); + } else { + li = dom.create('li'); + start.parentNode.insertBefore(li, start); + } + while (n && n != end) { + tmp = n.nextSibling; + li.appendChild(n); + n = tmp; + } + if (li.childNodes.length === 0) { + li.innerHTML = '
'; + } + makeList(li); + } + + function processBrs(element, callback) { + var startSection, previousBR, END_TO_START = 3, START_TO_END = 1, + breakElements = 'br,ul,ol,p,div,h1,h2,h3,h4,h5,h6,table,blockquote,address,pre,form,center,dl'; + + function isAnyPartSelected(start, end) { + var r = dom.createRng(), sel; + bookmark.keep = true; + ed.selection.moveToBookmark(bookmark); + bookmark.keep = false; + sel = ed.selection.getRng(true); + if (!end) { + end = start.parentNode.lastChild; + } + r.setStartBefore(start); + r.setEndAfter(end); + return !(r.compareBoundaryPoints(END_TO_START, sel) > 0 || r.compareBoundaryPoints(START_TO_END, sel) <= 0); + } + + function nextLeaf(br) { + if (br.nextSibling) + return br.nextSibling; + if (!dom.isBlock(br.parentNode) && br.parentNode !== dom.getRoot()) + return nextLeaf(br.parentNode); + } + + // Split on BRs within the range and process those. + startSection = element.firstChild; + // First mark the BRs that have any part of the previous section selected. + var trailingContentSelected = false; + each(dom.select(breakElements, element), function(br) { + if (br.hasAttribute && br.hasAttribute('_mce_bogus')) { + return true; // Skip the bogus Brs that are put in to appease Firefox and Safari. + } + if (isAnyPartSelected(startSection, br)) { + dom.addClass(br, '_mce_tagged_br'); + startSection = nextLeaf(br); + } + }); + trailingContentSelected = (startSection && isAnyPartSelected(startSection, undefined)); + startSection = element.firstChild; + each(dom.select(breakElements, element), function(br) { + // Got a section from start to br. + var tmp = nextLeaf(br); + if (br.hasAttribute && br.hasAttribute('_mce_bogus')) { + return true; // Skip the bogus Brs that are put in to appease Firefox and Safari. + } + if (dom.hasClass(br, '_mce_tagged_br')) { + callback(startSection, br, previousBR); + previousBR = null; + } else { + previousBR = br; + } + startSection = tmp; + }); + if (trailingContentSelected) { + callback(startSection, undefined, previousBR); + } + } + + function wrapList(element) { + processBrs(element, function(startSection, br, previousBR) { + // Need to indent this part + doWrapList(startSection, br); + cleanupBr(br); + cleanupBr(previousBR); + }); + } + + function changeList(element) { + if (tinymce.inArray(applied, element) !== -1) { + return; + } + if (element.parentNode.tagName === oppositeListType) { + dom.split(element.parentNode, element); + makeList(element); + attemptMergeWithNext(element.parentNode, false); + } + applied.push(element); + } + + function convertListItemToParagraph(element) { + var child, nextChild, mergedElement, splitLast; + if (tinymce.inArray(applied, element) !== -1) { + return; + } + element = splitNestedLists(element, dom); + while (dom.is(element.parentNode, 'ol,ul,li')) { + dom.split(element.parentNode, element); + } + // Push the original element we have from the selection, not the renamed one. + applied.push(element); + element = dom.rename(element, 'p'); + mergedElement = attemptMergeWithAdjacent(element, false, ed.settings.force_br_newlines); + if (mergedElement === element) { + // Now split out any block elements that can't be contained within a P. + // Manually iterate to ensure we handle modifications correctly (doesn't work with tinymce.each) + child = element.firstChild; + while (child) { + if (dom.isBlock(child)) { + child = dom.split(child.parentNode, child); + splitLast = true; + nextChild = child.nextSibling && child.nextSibling.firstChild; + } else { + nextChild = child.nextSibling; + if (splitLast && child.tagName === 'BR') { + dom.remove(child); + } + splitLast = false; + } + child = nextChild; + } + } + } + + each(selectedBlocks, function(e) { + e = findItemToOperateOn(e, dom); + if (e.tagName === oppositeListType || (e.tagName === 'LI' && e.parentNode.tagName === oppositeListType)) { + hasOppositeType = true; + } else if (e.tagName === targetListType || (e.tagName === 'LI' && e.parentNode.tagName === targetListType)) { + hasSameType = true; + } else { + hasNonList = true; + } + }); + + if (hasNonList &&!hasSameType || hasOppositeType || selectedBlocks.length === 0) { + actions = { + 'LI': changeList, + 'H1': makeList, + 'H2': makeList, + 'H3': makeList, + 'H4': makeList, + 'H5': makeList, + 'H6': makeList, + 'P': makeList, + 'BODY': makeList, + 'DIV': selectedBlocks.length > 1 ? makeList : wrapList, + defaultAction: wrapList, + elements: this.selectedBlocks() + }; + } else { + actions = { + defaultAction: convertListItemToParagraph, + elements: this.selectedBlocks(), + processEvenIfEmpty: true + }; + } + this.process(actions); + }, + + indent: function() { + var ed = this.ed, dom = ed.dom, indented = []; + + function createWrapItem(element) { + var wrapItem = dom.create('li', { style: 'list-style-type: none;'}); + dom.insertAfter(wrapItem, element); + return wrapItem; + } + + function createWrapList(element) { + var wrapItem = createWrapItem(element), + list = dom.getParent(element, 'ol,ul'), + listType = list.tagName, + listStyle = dom.getStyle(list, 'list-style-type'), + attrs = {}, + wrapList; + if (listStyle !== '') { + attrs.style = 'list-style-type: ' + listStyle + ';'; + } + wrapList = dom.create(listType, attrs); + wrapItem.appendChild(wrapList); + return wrapList; + } + + function indentLI(element) { + if (!hasParentInList(ed, element, indented)) { + element = splitNestedLists(element, dom); + var wrapList = createWrapList(element); + wrapList.appendChild(element); + attemptMergeWithAdjacent(wrapList.parentNode, false); + attemptMergeWithAdjacent(wrapList, false); + indented.push(element); + } + } + + this.process({ + 'LI': indentLI, + defaultAction: this.adjustPaddingFunction(true), + elements: this.selectedBlocks() + }); + + }, + + outdent: function(ui, elements) { + var t = this, ed = t.ed, dom = ed.dom, outdented = []; + + function outdentLI(element) { + var listElement, targetParent, align; + if (!hasParentInList(ed, element, outdented)) { + if (dom.getStyle(element, 'margin-left') !== '' || dom.getStyle(element, 'padding-left') !== '') { + return t.adjustPaddingFunction(false)(element); + } + align = dom.getStyle(element, 'text-align', true); + if (align === 'center' || align === 'right') { + dom.setStyle(element, 'text-align', 'left'); + return; + } + element = splitNestedLists(element, dom); + listElement = element.parentNode; + targetParent = element.parentNode.parentNode; + if (targetParent.tagName === 'P') { + dom.split(targetParent, element.parentNode); + } else { + dom.split(listElement, element); + if (targetParent.tagName === 'LI') { + // Nested list, need to split the LI and go back out to the OL/UL element. + dom.split(targetParent, element); + } else if (!dom.is(targetParent, 'ol,ul')) { + dom.rename(element, 'p'); + } + } + outdented.push(element); + } + } + + var listElements = elements && tinymce.is(elements, 'array') ? elements : this.selectedBlocks(); + this.process({ + 'LI': outdentLI, + defaultAction: this.adjustPaddingFunction(false), + elements: listElements + }); + + each(outdented, attemptMergeWithAdjacent); + }, + + process: function(actions) { + var t = this, sel = t.ed.selection, dom = t.ed.dom, selectedBlocks, r; + + function isEmptyElement(element) { + var excludeBrsAndBookmarks = tinymce.grep(element.childNodes, function(n) { + return !(n.nodeName === 'BR' || n.nodeName === 'SPAN' && dom.getAttrib(n, 'data-mce-type') == 'bookmark' + || n.nodeType == 3 && (n.nodeValue == String.fromCharCode(160) || n.nodeValue == '')); + }); + return excludeBrsAndBookmarks.length === 0; + } + + function processElement(element) { + dom.removeClass(element, '_mce_act_on'); + if (!element || element.nodeType !== 1 || ! actions.processEvenIfEmpty && selectedBlocks.length > 1 && isEmptyElement(element)) { + return; + } + element = findItemToOperateOn(element, dom); + var action = actions[element.tagName]; + if (!action) { + action = actions.defaultAction; + } + action(element); + } + + function recurse(element) { + t.splitSafeEach(element.childNodes, processElement, true); + } + + function brAtEdgeOfSelection(container, offset) { + return offset >= 0 && container.hasChildNodes() && offset < container.childNodes.length && + container.childNodes[offset].tagName === 'BR'; + } + + function isInTable() { + var n = sel.getNode(); + var p = dom.getParent(n, 'td'); + return p !== null; + } + + selectedBlocks = actions.elements; + + r = sel.getRng(true); + if (!r.collapsed) { + if (brAtEdgeOfSelection(r.endContainer, r.endOffset - 1)) { + r.setEnd(r.endContainer, r.endOffset - 1); + sel.setRng(r); + } + if (brAtEdgeOfSelection(r.startContainer, r.startOffset)) { + r.setStart(r.startContainer, r.startOffset + 1); + sel.setRng(r); + } + } + + + if (tinymce.isIE8) { + // append a zero sized nbsp so that caret is restored correctly using bookmark + var s = t.ed.selection.getNode(); + if (s.tagName === 'LI' && !(s.parentNode.lastChild === s)) { + var i = t.ed.getDoc().createTextNode('\uFEFF'); + s.appendChild(i); + } + } + + bookmark = sel.getBookmark(); + actions.OL = actions.UL = recurse; + t.splitSafeEach(selectedBlocks, processElement); + sel.moveToBookmark(bookmark); + bookmark = null; + + // we avoid doing repaint in a table as this will move the caret out of the table in Firefox 3.6 + if (!isInTable()) { + // Avoids table or image handles being left behind in Firefox. + t.ed.execCommand('mceRepaint'); + } + }, + + splitSafeEach: function(elements, f, forceClassBase) { + if (forceClassBase || + (tinymce.isGecko && + (/Firefox\/[12]\.[0-9]/.test(navigator.userAgent) || + /Firefox\/3\.[0-4]/.test(navigator.userAgent)))) { + this.classBasedEach(elements, f); + } else { + each(elements, f); + } + }, + + classBasedEach: function(elements, f) { + var dom = this.ed.dom, nodes, element; + // Mark nodes + each(elements, function(element) { + dom.addClass(element, '_mce_act_on'); + }); + nodes = dom.select('._mce_act_on'); + while (nodes.length > 0) { + element = nodes.shift(); + dom.removeClass(element, '_mce_act_on'); + f(element); + nodes = dom.select('._mce_act_on'); + } + }, + + adjustPaddingFunction: function(isIndent) { + var indentAmount, indentUnits, ed = this.ed; + indentAmount = ed.settings.indentation; + indentUnits = /[a-z%]+/i.exec(indentAmount); + indentAmount = parseInt(indentAmount, 10); + return function(element) { + var currentIndent, newIndentAmount; + currentIndent = parseInt(ed.dom.getStyle(element, 'margin-left') || 0, 10) + parseInt(ed.dom.getStyle(element, 'padding-left') || 0, 10); + if (isIndent) { + newIndentAmount = currentIndent + indentAmount; + } else { + newIndentAmount = currentIndent - indentAmount; + } + ed.dom.setStyle(element, 'padding-left', ''); + ed.dom.setStyle(element, 'margin-left', newIndentAmount > 0 ? newIndentAmount + indentUnits : ''); + }; + }, + + selectedBlocks: function() { + var ed = this.ed, selectedBlocks = ed.selection.getSelectedBlocks(); + return selectedBlocks.length == 0 ? [ ed.dom.getRoot() ] : selectedBlocks; + }, + + getInfo: function() { + return { + longname : 'Lists', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/lists', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + tinymce.PluginManager.add("lists", tinymce.plugins.Lists); +}()); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/css/media.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/css/media.css new file mode 100755 index 00000000..0c45c7ff --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/css/media.css @@ -0,0 +1,17 @@ +#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, #html5_altsource1, #html5_altsource2, #html5_poster { width: 240px } +#width, #height { width: 40px } +#src, #media_type { width: 250px } +#class { width: 120px } +#prev { margin: 0; border: 1px solid black; width: 380px; height: 260px; overflow: auto } +.panel_wrapper div.current { height: 420px; 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 } +iframe {border: 1px solid gray} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/editor_plugin.js new file mode 100755 index 00000000..9ac42e0d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/editor_plugin.js @@ -0,0 +1 @@ +(function(){var b=tinymce.explode("id,name,width,height,style,align,class,hspace,vspace,bgcolor,type"),a=tinymce.makeMap(b.join(",")),f=tinymce.html.Node,d,i,h=tinymce.util.JSON,g;d=[["Flash","d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["ShockWave","166b1bca-3f9c-11cf-8075-444553540000","application/x-director","http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],["WindowsMedia","6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a","application/x-mplayer2","http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],["QuickTime","02bf25d5-8c17-4b23-bc80-d3488abddc6b","video/quicktime","http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],["RealMedia","cfcdaa03-8be4-11cf-b84b-0020afbbccfa","audio/x-pn-realaudio-plugin","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["Java","8ad9c840-044e-11d1-b3e9-00805f499d93","application/x-java-applet","http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],["Silverlight","dfeaf541-f3e1-4c24-acac-99c30715084a","application/x-silverlight-2"],["Iframe"],["Video"],["EmbeddedAudio"],["Audio"]];function e(j){return typeof(j)=="string"?j.replace(/[^0-9%]/g,""):j}function c(m){var l,j,k;if(m&&!m.splice){j=[];for(k=0;true;k++){if(m[k]){j[k]=m[k]}else{break}}return j}return m}tinymce.create("tinymce.plugins.MediaPlugin",{init:function(n,j){var r=this,l={},m,p,q,k;function o(s){return s&&s.nodeName==="IMG"&&n.dom.hasClass(s,"mceItemMedia")}r.editor=n;r.url=j;i="";for(m=0;m0){O+=(O?"&":"")+P+"="+escape(Q)}});if(O.length){G.params.flashvars=O}L=p.getParam("flash_video_player_params",{allowfullscreen:true,allowscriptaccess:true});tinymce.each(L,function(Q,P){G.params[P]=""+Q})}}G=z.attr("data-mce-json");if(!G){return}G=h.parse(G);q=this.getType(z.attr("class"));B=z.attr("data-mce-style");if(!B){B=z.attr("style");if(B){B=p.dom.serializeStyle(p.dom.parseStyle(B,"img"))}}G.width=z.attr("width")||G.width;G.height=z.attr("height")||G.height;if(q.name==="Iframe"){x=new f("iframe",1);tinymce.each(b,function(n){var J=z.attr(n);if(n=="class"&&J){J=J.replace(/mceItem.+ ?/g,"")}if(J&&J.length>0){x.attr(n,J)}});for(I in G.params){x.attr(I,G.params[I])}x.attr({style:B,src:G.params.src});z.replace(x);return}if(this.editor.settings.media_use_script){x=new f("script",1).attr("type","text/javascript");y=new f("#text",3);y.value="write"+q.name+"("+h.serialize(tinymce.extend(G.params,{width:z.attr("width"),height:z.attr("height")}))+");";x.append(y);z.replace(x);return}if(q.name==="Video"&&G.video.sources[0]){C=new f("video",1).attr(tinymce.extend({id:z.attr("id"),width:e(z.attr("width")),height:e(z.attr("height")),style:B},G.video.attrs));if(G.video.attrs){l=G.video.attrs.poster}k=G.video.sources=c(G.video.sources);for(A=0;A 0) + flashVarsOutput += (flashVarsOutput ? '&' : '') + name + '=' + escape(value); + }); + + if (flashVarsOutput.length) + data.params.flashvars = flashVarsOutput; + + params = editor.getParam('flash_video_player_params', { + allowfullscreen: true, + allowscriptaccess: true + }); + + tinymce.each(params, function(value, name) { + data.params[name] = "" + value; + }); + } + }; + + data = node.attr('data-mce-json'); + if (!data) + return; + + data = JSON.parse(data); + typeItem = this.getType(node.attr('class')); + + style = node.attr('data-mce-style'); + if (!style) { + style = node.attr('style'); + + if (style) + style = editor.dom.serializeStyle(editor.dom.parseStyle(style, 'img')); + } + + // Use node width/height to override the data width/height when the placeholder is resized + data.width = node.attr('width') || data.width; + data.height = node.attr('height') || data.height; + + // Handle iframe + if (typeItem.name === 'Iframe') { + replacement = new Node('iframe', 1); + + tinymce.each(rootAttributes, function(name) { + var value = node.attr(name); + + if (name == 'class' && value) + value = value.replace(/mceItem.+ ?/g, ''); + + if (value && value.length > 0) + replacement.attr(name, value); + }); + + for (name in data.params) + replacement.attr(name, data.params[name]); + + replacement.attr({ + style: style, + src: data.params.src + }); + + node.replace(replacement); + + return; + } + + // Handle scripts + if (this.editor.settings.media_use_script) { + replacement = new Node('script', 1).attr('type', 'text/javascript'); + + value = new Node('#text', 3); + value.value = 'write' + typeItem.name + '(' + JSON.serialize(tinymce.extend(data.params, { + width: node.attr('width'), + height: node.attr('height') + })) + ');'; + + replacement.append(value); + node.replace(replacement); + + return; + } + + // Add HTML5 video element + if (typeItem.name === 'Video' && data.video.sources[0]) { + // Create new object element + video = new Node('video', 1).attr(tinymce.extend({ + id : node.attr('id'), + width: normalizeSize(node.attr('width')), + height: normalizeSize(node.attr('height')), + style : style + }, data.video.attrs)); + + // Get poster source and use that for flash fallback + if (data.video.attrs) + posterSrc = data.video.attrs.poster; + + sources = data.video.sources = toArray(data.video.sources); + for (i = 0; i < sources.length; i++) { + if (/\.mp4$/.test(sources[i].src)) + mp4Source = sources[i].src; + } + + if (!sources[0].type) { + video.attr('src', sources[0].src); + sources.splice(0, 1); + } + + for (i = 0; i < sources.length; i++) { + source = new Node('source', 1).attr(sources[i]); + source.shortEnded = true; + video.append(source); + } + + // Create flash fallback for video if we have a mp4 source + if (mp4Source) { + addPlayer(mp4Source, posterSrc); + typeItem = self.getType('flash'); + } else + data.params.src = ''; + } + + // Add HTML5 audio element + if (typeItem.name === 'Audio' && data.video.sources[0]) { + // Create new object element + audio = new Node('audio', 1).attr(tinymce.extend({ + id : node.attr('id'), + width: normalizeSize(node.attr('width')), + height: normalizeSize(node.attr('height')), + style : style + }, data.video.attrs)); + + // Get poster source and use that for flash fallback + if (data.video.attrs) + posterSrc = data.video.attrs.poster; + + sources = data.video.sources = toArray(data.video.sources); + if (!sources[0].type) { + audio.attr('src', sources[0].src); + sources.splice(0, 1); + } + + for (i = 0; i < sources.length; i++) { + source = new Node('source', 1).attr(sources[i]); + source.shortEnded = true; + audio.append(source); + } + + data.params.src = ''; + } + + if (typeItem.name === 'EmbeddedAudio') { + embed = new Node('embed', 1); + embed.shortEnded = true; + embed.attr({ + id: node.attr('id'), + width: normalizeSize(node.attr('width')), + height: normalizeSize(node.attr('height')), + style : style, + type: node.attr('type') + }); + + for (name in data.params) + embed.attr(name, data.params[name]); + + tinymce.each(rootAttributes, function(name) { + if (data[name] && name != 'type') + embed.attr(name, data[name]); + }); + + data.params.src = ''; + } + + // Do we have a params src then we can generate object + if (data.params.src) { + // Is flv movie add player for it + if (/\.flv$/i.test(data.params.src)) + addPlayer(data.params.src, ''); + + if (args && args.force_absolute) + data.params.src = editor.documentBaseURI.toAbsolute(data.params.src); + + // Create new object element + object = new Node('object', 1).attr({ + id : node.attr('id'), + width: normalizeSize(node.attr('width')), + height: normalizeSize(node.attr('height')), + style : style + }); + + tinymce.each(rootAttributes, function(name) { + var value = data[name]; + + if (name == 'class' && value) + value = value.replace(/mceItem.+ ?/g, ''); + + if (value && name != 'type') + object.attr(name, value); + }); + + // Add params + for (name in data.params) { + param = new Node('param', 1); + param.shortEnded = true; + value = data.params[name]; + + // Windows media needs to use url instead of src for the media URL + if (name === 'src' && typeItem.name === 'WindowsMedia') + name = 'url'; + + param.attr({name: name, value: value}); + object.append(param); + } + + // Setup add type and classid if strict is disabled + if (this.editor.getParam('media_strict', true)) { + object.attr({ + data: data.params.src, + type: typeItem.mimes[0] + }); + } else { + object.attr({ + classid: "clsid:" + typeItem.clsids[0], + codebase: typeItem.codebase + }); + + embed = new Node('embed', 1); + embed.shortEnded = true; + embed.attr({ + id: node.attr('id'), + width: normalizeSize(node.attr('width')), + height: normalizeSize(node.attr('height')), + style : style, + type: typeItem.mimes[0] + }); + + for (name in data.params) + embed.attr(name, data.params[name]); + + tinymce.each(rootAttributes, function(name) { + if (data[name] && name != 'type') + embed.attr(name, data[name]); + }); + + object.append(embed); + } + + // Insert raw HTML + if (data.object_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.object_html; + object.append(value); + } + + // Append object to video element if it exists + if (video) + video.append(object); + } + + if (video) { + // Insert raw HTML + if (data.video_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.video_html; + video.append(value); + } + } + + if (audio) { + // Insert raw HTML + if (data.video_html) { + value = new Node('#text', 3); + value.raw = true; + value.value = data.video_html; + audio.append(value); + } + } + + var n = video || audio || object || embed; + if (n) + node.replace(n); + else + node.remove(); + }, + + /** + * Converts a tinymce.html.Node video/object/embed to an img element. + * + * The video/object/embed will be converted into an image placeholder with a JSON data attribute like this: + * + * + * The JSON structure will be like this: + * {'params':{'flashvars':'something','quality':'high','src':'someurl'}, 'video':{'sources':[{src: 'someurl', type: 'video/mp4'}]}} + */ + objectToImg : function(node) { + var object, embed, video, iframe, img, name, id, width, height, style, i, html, + param, params, source, sources, data, type, lookup = this.lookup, + matches, attrs, urlConverter = this.editor.settings.url_converter, + urlConverterScope = this.editor.settings.url_converter_scope, + hspace, vspace, align, bgcolor; + + function getInnerHTML(node) { + return new tinymce.html.Serializer({ + inner: true, + validate: false + }).serialize(node); + }; + + function lookupAttribute(o, attr) { + return lookup[(o.attr(attr) || '').toLowerCase()]; + } + + function lookupExtension(src) { + var ext = src.replace(/^.*\.([^.]+)$/, '$1'); + return lookup[ext.toLowerCase() || '']; + } + + // If node isn't in document + if (!node.parent) + return; + + // Handle media scripts + if (node.name === 'script') { + if (node.firstChild) + matches = scriptRegExp.exec(node.firstChild.value); + + if (!matches) + return; + + type = matches[1]; + data = {video : {}, params : JSON.parse(matches[2])}; + width = data.params.width; + height = data.params.height; + } + + // Setup data objects + data = data || { + video : {}, + params : {} + }; + + // Setup new image object + img = new Node('img', 1); + img.attr({ + src : this.editor.theme.url + '/img/trans.gif' + }); + + // Video element + name = node.name; + if (name === 'video' || name == 'audio') { + video = node; + object = node.getAll('object')[0]; + embed = node.getAll('embed')[0]; + width = video.attr('width'); + height = video.attr('height'); + id = video.attr('id'); + data.video = {attrs : {}, sources : []}; + + // Get all video attributes + attrs = data.video.attrs; + for (name in video.attributes.map) + attrs[name] = video.attributes.map[name]; + + source = node.attr('src'); + if (source) + data.video.sources.push({src : urlConverter.call(urlConverterScope, source, 'src', node.name)}); + + // Get all sources + sources = video.getAll("source"); + for (i = 0; i < sources.length; i++) { + source = sources[i].remove(); + + data.video.sources.push({ + src: urlConverter.call(urlConverterScope, source.attr('src'), 'src', 'source'), + type: source.attr('type'), + media: source.attr('media') + }); + } + + // Convert the poster URL + if (attrs.poster) + attrs.poster = urlConverter.call(urlConverterScope, attrs.poster, 'poster', node.name); + } + + // Object element + if (node.name === 'object') { + object = node; + embed = node.getAll('embed')[0]; + } + + // Embed element + if (node.name === 'embed') + embed = node; + + // Iframe element + if (node.name === 'iframe') { + iframe = node; + type = 'Iframe'; + } + + if (object) { + // Get width/height + width = width || object.attr('width'); + height = height || object.attr('height'); + style = style || object.attr('style'); + id = id || object.attr('id'); + hspace = hspace || object.attr('hspace'); + vspace = vspace || object.attr('vspace'); + align = align || object.attr('align'); + bgcolor = bgcolor || object.attr('bgcolor'); + data.name = object.attr('name'); + + // Get all object params + params = object.getAll("param"); + for (i = 0; i < params.length; i++) { + param = params[i]; + name = param.remove().attr('name'); + + if (!excludedAttrs[name]) + data.params[name] = param.attr('value'); + } + + data.params.src = data.params.src || object.attr('data'); + } + + if (embed) { + // Get width/height + width = width || embed.attr('width'); + height = height || embed.attr('height'); + style = style || embed.attr('style'); + id = id || embed.attr('id'); + hspace = hspace || embed.attr('hspace'); + vspace = vspace || embed.attr('vspace'); + align = align || embed.attr('align'); + bgcolor = bgcolor || embed.attr('bgcolor'); + + // Get all embed attributes + for (name in embed.attributes.map) { + if (!excludedAttrs[name] && !data.params[name]) + data.params[name] = embed.attributes.map[name]; + } + } + + if (iframe) { + // Get width/height + width = normalizeSize(iframe.attr('width')); + height = normalizeSize(iframe.attr('height')); + style = style || iframe.attr('style'); + id = iframe.attr('id'); + hspace = iframe.attr('hspace'); + vspace = iframe.attr('vspace'); + align = iframe.attr('align'); + bgcolor = iframe.attr('bgcolor'); + + tinymce.each(rootAttributes, function(name) { + img.attr(name, iframe.attr(name)); + }); + + // Get all iframe attributes + for (name in iframe.attributes.map) { + if (!excludedAttrs[name] && !data.params[name]) + data.params[name] = iframe.attributes.map[name]; + } + } + + // Use src not movie + if (data.params.movie) { + data.params.src = data.params.src || data.params.movie; + delete data.params.movie; + } + + // Convert the URL to relative/absolute depending on configuration + if (data.params.src) + data.params.src = urlConverter.call(urlConverterScope, data.params.src, 'src', 'object'); + + if (video) { + if (node.name === 'video') + type = lookup.video.name; + else if (node.name === 'audio') + type = lookup.audio.name; + } + + if (object && !type) + type = (lookupAttribute(object, 'clsid') || lookupAttribute(object, 'classid') || lookupAttribute(object, 'type') || {}).name; + + if (embed && !type) + type = (lookupAttribute(embed, 'type') || lookupExtension(data.params.src) || {}).name; + + // for embedded audio we preserve the original specified type + if (embed && type == 'EmbeddedAudio') { + data.params.type = embed.attr('type'); + } + + // Replace the video/object/embed element with a placeholder image containing the data + node.replace(img); + + // Remove embed + if (embed) + embed.remove(); + + // Serialize the inner HTML of the object element + if (object) { + html = getInnerHTML(object.remove()); + + if (html) + data.object_html = html; + } + + // Serialize the inner HTML of the video element + if (video) { + html = getInnerHTML(video.remove()); + + if (html) + data.video_html = html; + } + + data.hspace = hspace; + data.vspace = vspace; + data.align = align; + data.bgcolor = bgcolor; + + // Set width/height of placeholder + img.attr({ + id : id, + 'class' : 'mceItemMedia mceItem' + (type || 'Flash'), + style : style, + width : width || (node.name == 'audio' ? "300" : "320"), + height : height || (node.name == 'audio' ? "32" : "240"), + hspace : hspace, + vspace : vspace, + align : align, + bgcolor : bgcolor, + "data-mce-json" : JSON.serialize(data, "'") + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/js/embed.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/js/embed.js new file mode 100644 index 00000000..f8dc8105 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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 get(id) { + return document.getElementById(id); + } + + function clone(obj) { + var i, len, copy, attr; + + if (null == obj || "object" != typeof obj) + return obj; + + // Handle Array + if ('length' in obj) { + copy = []; + + for (i = 0, len = obj.length; i < len; ++i) { + copy[i] = clone(obj[i]); + } + + return copy; + } + + // Handle Object + copy = {}; + for (attr in obj) { + if (obj.hasOwnProperty(attr)) + copy[attr] = clone(obj[attr]); + } + + return copy; + } + + function getVal(id) { + var elm = get(id); + + if (elm.nodeName == "SELECT") + return elm.options[elm.selectedIndex].value; + + if (elm.type == "checkbox") + return elm.checked; + + return elm.value; + } + + function setVal(id, value, name) { + if (typeof(value) != 'undefined' && value != null) { + var elm = get(id); + + if (elm.nodeName == "SELECT") + selectByValue(document.forms[0], id, value); + else if (elm.type == "checkbox") { + if (typeof(value) == 'string') { + value = value.toLowerCase(); + value = (!name && value === 'true') || (name && value === name.toLowerCase()); + } + elm.checked = !!value; + } else + elm.value = value; + } + } + + window.Media = { + init : function() { + var html, editor, self = this; + + self.editor = editor = tinyMCEPopup.editor; + + // Setup file browsers and color pickers + get('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + get('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','quicktime_qtsrc','media','media'); + get('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + get('video_altsource1_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource1','video_altsource1','media','media'); + get('video_altsource2_filebrowser').innerHTML = getBrowserHTML('video_filebrowser_altsource2','video_altsource2','media','media'); + get('audio_altsource1_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource1','audio_altsource1','media','media'); + get('audio_altsource2_filebrowser').innerHTML = getBrowserHTML('audio_filebrowser_altsource2','audio_altsource2','media','media'); + get('video_poster_filebrowser').innerHTML = getBrowserHTML('filebrowser_poster','video_poster','image','media'); + + html = self.getMediaListHTML('medialist', 'src', 'media', 'media'); + if (html == "") + get("linklistrow").style.display = 'none'; + else + get("linklistcontainer").innerHTML = html; + + if (isVisible('filebrowser')) + get('src').style.width = '230px'; + + if (isVisible('video_filebrowser_altsource1')) + get('video_altsource1').style.width = '220px'; + + if (isVisible('video_filebrowser_altsource2')) + get('video_altsource2').style.width = '220px'; + + if (isVisible('audio_filebrowser_altsource1')) + get('audio_altsource1').style.width = '220px'; + + if (isVisible('audio_filebrowser_altsource2')) + get('audio_altsource2').style.width = '220px'; + + if (isVisible('filebrowser_poster')) + get('video_poster').style.width = '220px'; + + editor.dom.setOuterHTML(get('media_type'), self.getMediaTypeHTML(editor)); + + self.setDefaultDialogSettings(editor); + self.data = clone(tinyMCEPopup.getWindowArg('data')); + self.dataToForm(); + self.preview(); + + updateColor('bgcolor_pick', 'bgcolor'); + }, + + insert : function() { + var editor = tinyMCEPopup.editor; + + this.formToData(); + editor.execCommand('mceRepaint'); + tinyMCEPopup.restoreSelection(); + editor.selection.setNode(editor.plugins.media.dataToImg(this.data)); + tinyMCEPopup.close(); + }, + + preview : function() { + get('prev').innerHTML = this.editor.plugins.media.dataToHtml(this.data, true); + }, + + moveStates : function(to_form, field) { + var data = this.data, editor = this.editor, + mediaPlugin = editor.plugins.media, ext, src, typeInfo, defaultStates, src; + + defaultStates = { + // QuickTime + quicktime_autoplay : true, + quicktime_controller : true, + + // Flash + flash_play : true, + flash_loop : true, + flash_menu : true, + + // WindowsMedia + windowsmedia_autostart : true, + windowsmedia_enablecontextmenu : true, + windowsmedia_invokeurls : true, + + // RealMedia + realmedia_autogotourl : true, + realmedia_imagestatus : true + }; + + function parseQueryParams(str) { + var out = {}; + + if (str) { + tinymce.each(str.split('&'), function(item) { + var parts = item.split('='); + + out[unescape(parts[0])] = unescape(parts[1]); + }); + } + + return out; + }; + + function setOptions(type, names) { + var i, name, formItemName, value, list; + + if (type == data.type || type == 'global') { + names = tinymce.explode(names); + for (i = 0; i < names.length; i++) { + name = names[i]; + formItemName = type == 'global' ? name : type + '_' + name; + + if (type == 'global') + list = data; + else if (type == 'video' || type == 'audio') { + list = data.video.attrs; + + if (!list && !to_form) + data.video.attrs = list = {}; + } else + list = data.params; + + if (list) { + if (to_form) { + setVal(formItemName, list[name], type == 'video' || type == 'audio' ? name : ''); + } else { + delete list[name]; + + value = getVal(formItemName); + if ((type == 'video' || type == 'audio') && value === true) + value = name; + + if (defaultStates[formItemName]) { + if (value !== defaultStates[formItemName]) { + value = "" + value; + list[name] = value; + } + } else if (value) { + value = "" + value; + list[name] = value; + } + } + } + } + } + } + + if (!to_form) { + data.type = get('media_type').options[get('media_type').selectedIndex].value; + data.width = getVal('width'); + data.height = getVal('height'); + + // Switch type based on extension + src = getVal('src'); + if (field == 'src') { + ext = src.replace(/^.*\.([^.]+)$/, '$1'); + if (typeInfo = mediaPlugin.getType(ext)) + data.type = typeInfo.name.toLowerCase(); + + setVal('media_type', data.type); + } + + if (data.type == "video" || data.type == "audio") { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src: getVal('src')}; + } + } + + // Hide all fieldsets and show the one active + get('video_options').style.display = 'none'; + get('audio_options').style.display = 'none'; + get('flash_options').style.display = 'none'; + get('quicktime_options').style.display = 'none'; + get('shockwave_options').style.display = 'none'; + get('windowsmedia_options').style.display = 'none'; + get('realmedia_options').style.display = 'none'; + get('embeddedaudio_options').style.display = 'none'; + + if (get(data.type + '_options')) + get(data.type + '_options').style.display = 'block'; + + setVal('media_type', data.type); + + setOptions('flash', 'play,loop,menu,swliveconnect,quality,scale,salign,wmode,base,flashvars'); + setOptions('quicktime', 'loop,autoplay,cache,controller,correction,enablejavascript,kioskmode,autohref,playeveryframe,targetcache,scale,starttime,endtime,target,qtsrcchokespeed,volume,qtsrc'); + setOptions('shockwave', 'sound,progress,autostart,swliveconnect,swvolume,swstretchstyle,swstretchhalign,swstretchvalign'); + setOptions('windowsmedia', 'autostart,enabled,enablecontextmenu,fullscreen,invokeurls,mute,stretchtofit,windowlessvideo,balance,baseurl,captioningid,currentmarker,currentposition,defaultframe,playcount,rate,uimode,volume'); + setOptions('realmedia', 'autostart,loop,autogotourl,center,imagestatus,maintainaspect,nojava,prefetch,shuffle,console,controls,numloop,scriptcallbacks'); + setOptions('video', 'poster,autoplay,loop,muted,preload,controls'); + setOptions('audio', 'autoplay,loop,preload,controls'); + setOptions('embeddedaudio', 'autoplay,loop,controls'); + setOptions('global', 'id,name,vspace,hspace,bgcolor,align,width,height'); + + if (to_form) { + if (data.type == 'video') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('video_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('video_altsource2', src.src); + } else if (data.type == 'audio') { + if (data.video.sources[0]) + setVal('src', data.video.sources[0].src); + + src = data.video.sources[1]; + if (src) + setVal('audio_altsource1', src.src); + + src = data.video.sources[2]; + if (src) + setVal('audio_altsource2', src.src); + } else { + // Check flash vars + if (data.type == 'flash') { + tinymce.each(editor.getParam('flash_video_player_flashvars', {url : '$url', poster : '$poster'}), function(value, name) { + if (value == '$url') + data.params.src = parseQueryParams(data.params.flashvars)[name] || data.params.src || ''; + }); + } + + setVal('src', data.params.src); + } + } else { + src = getVal("src"); + + // YouTube *NEW* + if (src.match(/youtu.be\/[a-z1-9.-_]+/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://www.youtube.com/embed/' + src.match(/youtu.be\/([a-z1-9.-_]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // YouTube + if (src.match(/youtube.com(.+)v=([^&]+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://www.youtube.com/embed/' + src.match(/v=([^&]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // Google video + if (src.match(/video.google.com(.+)docid=([^&]+)/)) { + data.width = 425; + data.height = 326; + data.type = 'flash'; + src = 'http://video.google.com/googleplayer.swf?docId=' + src.match(/docid=([^&]+)/)[1] + '&hl=en'; + setVal('src', src); + setVal('media_type', data.type); + } + + // Vimeo + if (src.match(/vimeo.com\/([0-9]+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://player.vimeo.com/video/' + src.match(/vimeo.com\/([0-9]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // stream.cz + if (src.match(/stream.cz\/((?!object).)*\/([0-9]+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://www.stream.cz/object/' + src.match(/stream.cz\/[^/]+\/([0-9]+)/)[1]; + setVal('src', src); + setVal('media_type', data.type); + } + + // Google maps + if (src.match(/maps.google.([a-z]{2,3})\/maps\/(.+)msid=(.+)/)) { + data.width = 425; + data.height = 350; + data.params.frameborder = '0'; + data.type = 'iframe'; + src = 'http://maps.google.com/maps/ms?msid=' + src.match(/msid=(.+)/)[1] + "&output=embed"; + setVal('src', src); + setVal('media_type', data.type); + } + + if (data.type == 'video') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("video_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("video_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else if (data.type == 'audio') { + if (!data.video.sources) + data.video.sources = []; + + data.video.sources[0] = {src : src}; + + src = getVal("audio_altsource1"); + if (src) + data.video.sources[1] = {src : src}; + + src = getVal("audio_altsource2"); + if (src) + data.video.sources[2] = {src : src}; + } else + data.params.src = src; + + // Set default size + setVal('width', data.width || (data.type == 'audio' ? 300 : 320)); + setVal('height', data.height || (data.type == 'audio' ? 32 : 240)); + } + }, + + dataToForm : function() { + this.moveStates(true); + }, + + formToData : function(field) { + if (field == "width" || field == "height") + this.changeSize(field); + + if (field == 'source') { + this.moveStates(false, field); + setVal('source', this.editor.plugins.media.dataToHtml(this.data)); + this.panel = 'source'; + } else { + if (this.panel == 'source') { + this.data = clone(this.editor.plugins.media.htmlToData(getVal('source'))); + this.dataToForm(); + this.panel = ''; + } + + this.moveStates(false, field); + this.preview(); + } + }, + + beforeResize : function() { + this.width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10); + this.height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10); + }, + + changeSize : function(type) { + var width, height, scale, size; + + if (get('constrain').checked) { + width = parseInt(getVal('width') || (this.data.type == 'audio' ? "300" : "320"), 10); + height = parseInt(getVal('height') || (this.data.type == 'audio' ? "32" : "240"), 10); + + if (type == 'width') { + this.height = Math.round((width / this.width) * height); + setVal('height', this.height); + } else { + this.width = Math.round((height / this.height) * width); + setVal('width', this.width); + } + } + }, + + getMediaListHTML : function() { + if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) { + var html = ""; + + html += ''; + + return html; + } + + return ""; + }, + + getMediaTypeHTML : function(editor) { + function option(media_type, element) { + if (!editor.schema.getElementRule(element || media_type)) { + return ''; + } + + return '' + } + + var html = ""; + + html += ''; + return html; + }, + + setDefaultDialogSettings : function(editor) { + var defaultDialogSettings = editor.getParam("media_dialog_defaults", {}); + tinymce.each(defaultDialogSettings, function(v, k) { + setVal(k, v); + }); + } + }; + + tinyMCEPopup.requireLangPack(); + tinyMCEPopup.onInit.add(function() { + Media.init(); + }); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/de_dlg.js new file mode 100644 index 00000000..e64e083f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.media_dlg',{list:"Liste",file:"Datei/URL",advanced:"Erweitert",general:"Allgemein",title:"Multimedia-Inhalte einf\u00fcgen/bearbeiten","align_top_left":"Oben Links","align_center":"Zentriert","align_left":"Links","align_bottom":"Unten","align_right":"Rechts","align_top":"Oben","qt_stream_warn":"In den Erweiterten Einstellungen sollten im Feld \'QT Src\' gestreamte RTSP Resourcen hinzugef\u00fcgt werden.\nZus\u00e4tzlich sollte dort auch eine nicht-gestreamte Resource angegeben werden.",qtsrc:"Angabe zu QT Src",progress:"Fortschritt",sound:"Ton",swstretchvalign:"Stretch V-Ausrichtung",swstretchhalign:"Stretch H-Ausrichtung",swstretchstyle:"Stretch-Art",scriptcallbacks:"Script callbacks","align_top_right":"Oben Rechts",uimode:"UI Modus",rate:"Rate",playcount:"Z\u00e4hler",defaultframe:"Frame-Voreinstellung",currentposition:"Aktuelle Position",currentmarker:"Aktueller Marker",captioningid:"Captioning id",baseurl:"Base URL",balance:"Balance",windowlessvideo:"Fensterloses Video",stretchtofit:"Anzeigefl\u00e4che an verf\u00fcgbaren Platz anpassen",mute:"Stumm",invokeurls:"Invoke URLs",fullscreen:"Vollbild",enabled:"Aktiviert",autostart:"Autostart",volume:"Lautst\u00e4rke",target:"Ziel",qtsrcchokespeed:"Choke speed",href:"Href",endtime:"Endzeitpunkt",starttime:"Startzeitpunkt",enablejavascript:"JavaScript aktivieren",correction:"Ohne Korrektur",targetcache:"Ziel zwischenspeichern",playeveryframe:"Jeden Frame abspielen",kioskmode:"Kioskmodus",controller:"Controller",menu:"Men\u00fc anzeigen",loop:"Wiederholung",play:"Automatisches Abspielen",hspace:"Horizontaler Abstand",vspace:"Vertikaler Abstand","class_name":"CSS-Klasse",name:"Name",id:"Id",type:"Typ",size:"Abmessungen",preview:"Vorschau","constrain_proportions":"Proportionen erhalten",controls:"Steuerung",numloop:"Anzahl Wiederholungen",console:"Konsole",cache:"Zwischenspeicher",autohref:"AutoHREF",liveconnect:"SWLiveConnect",flashvars:"Flashvariablen",base:"Base",bgcolor:"Hintergrund",wmode:"WMode",salign:"S-Ausrichtung",align:"Ausrichtung",scale:"Skalierung",quality:"Qualit\u00e4t",shuffle:"Zuf\u00e4llige Wiedergabe",prefetch:"Prefetch",nojava:"Kein Java",maintainaspect:"Bildverh\u00e4ltnis beibehalten",imagestatus:"Bildstatus",center:"Zentriert",autogotourl:"Auto goto URL","shockwave_options":"Shockwave-Optionen","rmp_options":"Optionen f\u00fcr Real Media Player","wmp_options":"Optionen f\u00fcr Windows Media Player","qt_options":"Quicktime-Optionen","flash_options":"Flash-Optionen",hidden:"Versteckt","align_bottom_left":"Unten Links","align_bottom_right":"Unten Rechts",flash:"Flash",quicktime:"QuickTime","embedded_audio_options":"Integrierte Audio Optionen",windowsmedia:"WindowsMedia",realmedia:"RealMedia",shockwave:"ShockWave",audio:"Audio",video:"Video","html5_video_options":"HTML5 Video Optionen",altsource1:"Alternative Quelle 1",altsource2:"Alternative Quelle 2",preload:"Preload",poster:"Poster",source:"Quelle","html5_audio_options":"Audio Optionen","preload_none":"Nicht vorladen","preload_metadata":"Video Metadaten vorladen","preload_auto":"Benutzer Browser entscheidet automatisch",iframe:"iFrame",embeddedaudio:"Audio (eingebunden)"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/en_dlg.js new file mode 100644 index 00000000..b247f85c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.media_dlg',{list:"List",file:"File/URL",advanced:"Advanced",general:"General",title:"Insert/Edit Embedded Media","align_top_left":"Top Left","align_center":"Center","align_left":"Left","align_bottom":"Bottom","align_right":"Right","align_top":"Top","qt_stream_warn":"Streamed RTSP resources should be added to the QT Source field under the Advanced tab.\nYou should also add a non-streamed version to the Source field.",qtsrc:"QT Source",progress:"Progress",sound:"Sound",swstretchvalign:"Stretch V-Align",swstretchhalign:"Stretch H-Align",swstretchstyle:"Stretch Style",scriptcallbacks:"Script Callbacks","align_top_right":"Top Right",uimode:"UI Mode",rate:"Rate",playcount:"Play Count",defaultframe:"Default Frame",currentposition:"Current Position",currentmarker:"Current Marker",captioningid:"Captioning ID",baseurl:"Base URL",balance:"Balance",windowlessvideo:"Windowless Video",stretchtofit:"Stretch to Fit",mute:"Mute",invokeurls:"Invoke URLs",fullscreen:"Full Screen",enabled:"Enabled",autostart:"Auto Start",volume:"Volume",target:"Target",qtsrcchokespeed:"Choke Speed",href:"HREF",endtime:"End Time",starttime:"Start Time",enablejavascript:"Enable JavaScript",correction:"No Correction",targetcache:"Target Cache",playeveryframe:"Play Every Frame",kioskmode:"Kiosk Mode",controller:"Controller",menu:"Show Menu",loop:"Loop",play:"Auto Play",hspace:"H-Space",vspace:"V-Space","class_name":"Class",name:"Name",id:"ID",type:"Type",size:"Dimensions",preview:"Preview","constrain_proportions":"Constrain Proportions",controls:"Controls",numloop:"Num Loops",console:"Console",cache:"Cache",autohref:"Auto HREF",liveconnect:"SWLiveConnect",flashvars:"Flash Vars",base:"Base",bgcolor:"Background",wmode:"WMode",salign:"SAlign",align:"Align",scale:"Scale",quality:"Quality",shuffle:"Shuffle",prefetch:"Prefetch",nojava:"No Java",maintainaspect:"Maintain Aspect",imagestatus:"Image Status",center:"Center",autogotourl:"Auto Goto URL","shockwave_options":"Shockwave Options","rmp_options":"Real Media Player Options","wmp_options":"Windows Media Player Options","qt_options":"QuickTime Options","flash_options":"Flash Options",hidden:"Hidden","align_bottom_left":"Bottom Left","align_bottom_right":"Bottom Right",flash:"",quicktime:"","embedded_audio_options":"Embedded Audio Options",windowsmedia:"",realmedia:"",shockwave:"",audio:"",video:"","html5_video_options":"HTML5 Video Options",altsource1:"Alternative source 1",altsource2:"Alternative source 2",preload:"Preload",poster:"Poster",source:"Source","html5_audio_options":"Audio Options","preload_none":"Don\'t Preload","preload_metadata":"Preload video metadata","preload_auto":"Let user\'s browser decide",iframe:"",embeddedaudio:""}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/hu_dlg.js new file mode 100644 index 00000000..b42e07a1 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.media_dlg',{list:"Lista",file:"F\u00e1jl/URL",advanced:"Halad\u00f3",general:"\u00c1ltal\u00e1nos",title:"Be\u00e1gyazott m\u00e9dia besz\u00far\u00e1sa/szerkeszt\u00e9se","align_top_left":"Bal-fent","align_center":"K\u00f6z\u00e9pen","align_left":"Balra","align_bottom":"Lent","align_right":"Jobbra","align_top":"Fent","qt_stream_warn":"Streamelt rtsp forr\u00e1sok a QT Src mez\u0151be val\u00f3k a halad\u00f3 lapon.\nHozz\u00e1 kellene adnia egy nem streamelt verzi\u00f3t a Src mez\u0151ben.",qtsrc:"QT Src",progress:"Folyamat",sound:"Hang",swstretchvalign:"Ny\u00fajt\u00e1s F-igaz\u00edt\u00e1s",swstretchhalign:"Ny\u00fajt\u00e1s V-igaz\u00edt\u00e1s",swstretchstyle:"Ny\u00fajt\u00e1s st\u00edlusa",scriptcallbacks:"Script callbacks","align_top_right":"Jobbra fent",uimode:"UI M\u00f3d",rate:"\u00c9rt\u00e9kel\u00e9s",playcount:"Lej\u00e1tsz\u00e1ssz\u00e1m",defaultframe:"Alap\u00e9rtelmezett frame",currentposition:"Aktu\u00e1lis poz\u00edci\u00f3",currentmarker:"Aktu\u00e1lis marker",captioningid:"Captioning id",baseurl:"Alap URL",balance:"Balance",windowlessvideo:"Ablak n\u00e9lk\u00fcli vide\u00f3",stretchtofit:"Ny\u00fajtva igaz\u00edt\u00e1s",mute:"N\u00e9ma",invokeurls:"URL-ek bevon\u00e1sa",fullscreen:"Teljes k\u00e9perny\u0151",enabled:"Enged\u00e9lyezve",autostart:"Automatikus kezd\u00e9s",volume:"Hanger\u0151",target:"C\u00e9l",qtsrcchokespeed:"Folyt\u00e1s sebess\u00e9ge",href:"Href",endtime:"Z\u00e1r\u00f3 id\u0151",starttime:"Kezd\u00e9si id\u0151",enablejavascript:"JavaScript enged\u00e9se",correction:"Nincs jav\u00edt\u00e1s",targetcache:"C\u00e9l cache",playeveryframe:"Minden kocka lej\u00e1tsz\u00e1sa",kioskmode:"Kiosk m\u00f3d",controller:"Vez\u00e9rl\u0151",menu:"Men\u00fc mutat\u00e1sa",loop:"Ism\u00e9tl\u00e9s",play:"Automatikus lej\u00e1tsz\u00e1s",hspace:"V\u00edzszintes-t\u00e1v",vspace:"F\u00fcgg\u0151leges-t\u00e1v","class_name":"Oszt\u00e1ly",name:"N\u00e9v",id:"ID",type:"T\u00edpus",size:"M\u00e9retek",preview:"El\u0151n\u00e9zet","constrain_proportions":"Ar\u00e1nytart\u00e1s",controls:"Kezel\u0151k",numloop:"Ism\u00e9tl\u00e9ssz\u00e1m",console:"Konzol",cache:"Cache",autohref:"AutoHREF",liveconnect:"SWLiveConnect",flashvars:"Flashvars",base:"Base",bgcolor:"H\u00e1tt\u00e9r",wmode:"WM\u00f3d",salign:"SElrendez\u00e9s",align:"Elrendez\u00e9s",scale:"Nagy\u00edt\u00e1s",quality:"Min\u0151s\u00e9g",shuffle:"V\u00e9letlenszer\u0171",prefetch:"El\u0151t\u00f6lt\u00e9s",nojava:"Nincs Java",maintainaspect:"Ar\u00e1nytart\u00e1s",imagestatus:"K\u00e9p \u00e1llapot",center:"K\u00f6z\u00e9pre",autogotourl:"Automatikus URL-re ugr\u00e1s","shockwave_options":"Shockwave be\u00e1ll\u00edt\u00e1sai","rmp_options":"Real Media Player be\u00e1ll\u00edt\u00e1sai","wmp_options":"Windows Media Player be\u00e1ll\u00edt\u00e1sai","qt_options":"Quicktime be\u00e1ll\u00edt\u00e1sai","flash_options":"Flash be\u00e1ll\u00edt\u00e1sai",hidden:"Rejtett","align_bottom_left":"Bal-lent","align_bottom_right":"Bal-jobbra",flash:"flash",quicktime:"quicktime","embedded_audio_options":"Be\u00e1gyazott hang be\u00e1ll\u00edt\u00e1sok",windowsmedia:"windows m\u00e9dia",realmedia:"realmedia",shockwave:"shockwave",audio:"hang",video:"vide\u00f3","html5_video_options":"HTML5 Vide\u00f3 Be\u00e1ll\u00edt\u00e1sok",altsource1:"Alternat\u00edv forr\u00e1s 1",altsource2:"Alternat\u00edv forr\u00e1s 2",preload:"El\u0151t\u00f6lt\u00e9s",poster:"Hozz\u00e1ad\u00f3",source:"Forr\u00e1s","html5_audio_options":"Audi\u00f3 Be\u00e1ll\u00edt\u00e1sok","preload_none":"Nincs el\u0151reolvas\u00e1s","preload_metadata":"Vide\u00f3 metaadatok el\u0151reolvas\u00e1sa","preload_auto":"Hagyjuk a felhaszn\u00e1l\u00f3 b\u00f6ng\u00e9sz\u0151j\u00e9nek eld\u00f6nteni",iframe:"iframe (keret)",embeddedaudio:"be\u00e1gyazott hang"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/ja_dlg.js new file mode 100644 index 00000000..9752ca22 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.media_dlg',{list:"\u4e00\u89a7",file:"\u30d5\u30a1\u30a4\u30eb\u3084URL",advanced:"\u8a73\u7d30",general:"\u4e00\u822c",title:"\u57cb\u3081\u8fbc\u307f\u30e1\u30c7\u30a3\u30a2\u306e\u633f\u5165\u3084\u7de8\u96c6","align_top_left":"\u5de6\u4e0a","align_center":"\u4e2d\u592e","align_left":"\u5de6","align_bottom":"\u4e0b","align_right":"\u53f3","align_top":"\u4e0a","qt_stream_warn":"RTSP\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u30ea\u30bd\u30fc\u30b9\u3092\u300c\u9ad8\u5ea6\u300d\u306e\u30bf\u30d6\u306e\u300cQT\u306e\u30bd\u30fc\u30b9\u300d\u6b04\u306b\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002\n\u307e\u305f\u3001\u300c\u30bd\u30fc\u30b9\u300d\u6b04\u306b\u306f\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u3067\u306f\u306a\u3044\u30d0\u30fc\u30b8\u30e7\u30fc\u30f3\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002",qtsrc:"QT\u306e\u30bd\u30fc\u30b9",progress:"\u9032\u5c55",sound:"\u30b5\u30a6\u30f3\u30c9",swstretchvalign:"\u5782\u76f4\u306e\u914d\u7f6e",swstretchhalign:"\u6c34\u5e73\u306e\u914d\u7f6e",swstretchstyle:"\u4f38\u7e2e\u306e\u30b9\u30bf\u30a4\u30eb",scriptcallbacks:"\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u30b3\u30fc\u30eb\u30d0\u30c3\u30af","align_top_right":"\u53f3\u4e0a",uimode:"UI\u3092\u8868\u793a\u3059\u308b\u30e2\u30fc\u30c9",rate:"\u518d\u751f\u30ec\u30fc\u30c8",playcount:"\u518d\u751f\u56de\u6570",defaultframe:"\u521d\u671f\u72b6\u614b\u306e\u30d5\u30ec\u30fc\u30e0",currentposition:"\u518d\u751f\u4f4d\u7f6e(\u79d2\u5358\u4f4d)",currentmarker:"\u30de\u30fc\u30ab\u30fc\u756a\u53f7",captioningid:"\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3\u8868\u793a\u8981\u7d20ID",baseurl:"\u57fa\u6e96\u306eURL",balance:"\u30b9\u30c6\u30ec\u30aa\u306e\u30d0\u30e9\u30f3\u30b9",windowlessvideo:"\u30a6\u30a3\u30f3\u30c9\u30a6\u306a\u3057\u306e\u52d5\u753b",stretchtofit:"\u5408\u308f\u305b\u3066\u62e1\u5927",mute:"\u6d88\u97f3",invokeurls:"URL\u3092\u958b\u304f",fullscreen:"\u5168\u753b\u9762",enabled:"\u6709\u52b9",autostart:"\u81ea\u52d5\u518d\u751f",volume:"\u97f3\u91cf",target:"\u30bf\u30fc\u30b2\u30c3\u30c8",qtsrcchokespeed:"\u518d\u751f\u30c7\u30fc\u30bf\u30ec\u30fc\u30c8",href:"\u30ea\u30f3\u30af\u5148URL",endtime:"\u7d42\u4e86\u6642\u9593",starttime:"\u958b\u59cb\u6642\u9593",enablejavascript:"JavaScript\u3092\u6709\u52b9",correction:"\u8a02\u6b63\u306a\u3057",targetcache:"\u30bf\u30fc\u30b2\u30c3\u30c8\u3092\u30ad\u30e3\u30c3\u30b7\u30e5",playeveryframe:"\u3059\u3079\u3066\u306e\u30d5\u30ec\u30fc\u30e0\u3092\u518d\u751f",kioskmode:"Kiosk\u30e2\u30fc\u30c9",controller:"\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306e\u8868\u793a",menu:"\u30e1\u30cb\u30e5\u30fc\u3092\u8868\u793a",loop:"\u7e70\u308a\u8fd4\u3057",play:"\u81ea\u52d5\u518d\u751f",hspace:"\u5de6\u53f3\u306e\u4f59\u767d",vspace:"\u4e0a\u4e0b\u306e\u4f59\u767d","class_name":"\u30af\u30e9\u30b9",name:"\u540d\u524d",id:"ID",type:"\u30bf\u30a4\u30d7",size:"\u5bf8\u6cd5",preview:"\u30d7\u30ec\u30d3\u30e5\u30fc","constrain_proportions":"\u7e26\u6a2a\u6bd4\u3092\u7dad\u6301",controls:"\u30b3\u30f3\u30c8\u30ed\u30fc\u30e9\u306e\u8868\u793a",numloop:"\u7e70\u308a\u8fd4\u3057\u306e\u56de\u6570",console:"\u30b3\u30f3\u30bd\u30fc\u30eb",cache:"\u30ad\u30e3\u30c3\u30b7\u30e5",autohref:"\u81ea\u52d5\u8aad\u8fbc",liveconnect:"SWLiveConnect\u5c5e\u6027",flashvars:"Flash Vars",base:"Base",bgcolor:"\u80cc\u666f\u8272",wmode:"WMode",salign:"SAlign",align:"\u914d\u7f6e",scale:"\u4f38\u7e2e",quality:"\u54c1\u8cea",shuffle:"\u30b7\u30e3\u30c3\u30d5\u30eb",prefetch:"\u5148\u8aad\u307f",nojava:"Java\u3092\u7981\u6b62",maintainaspect:"\u7e26\u6a2a\u6bd4\u306e\u7dad\u6301",imagestatus:"\u753b\u50cf\u306e\u72b6\u614b",center:"\u4e2d\u592e\u63c3\u3048",autogotourl:"URL\u306b\u81ea\u52d5\u79fb\u52d5","shockwave_options":"Shockwave\u306e\u30aa\u30d7\u30b7\u30e7\u30f3","rmp_options":"Real media player\u306e\u30aa\u30d7\u30b7\u30e7\u30f3","wmp_options":"Windows media player\u306e\u30aa\u30d7\u30b7\u30e7\u30f3","qt_options":"Quicktime\u306e\u30aa\u30d7\u30b7\u30e7\u30f3","flash_options":"Flash\u306e\u30aa\u30d7\u30b7\u30e7\u30f3",hidden:"\u975e\u8868\u793a","align_bottom_left":"\u5de6\u4e0b","align_bottom_right":"\u53f3\u4e0b",flash:"flash",quicktime:"quicktime","embedded_audio_options":"\u57cb\u3081\u8fbc\u307fAudio\u306e\u30aa\u30d7\u30b7\u30e7\u30f3",windowsmedia:"Windows\u30e1\u30c7\u30a3\u30a2",realmedia:"realmedia",shockwave:"shockwave",audio:"\u30aa\u30fc\u30c7\u30a3\u30aa",video:"\u52d5\u753b","html5_video_options":"HTML5 Video\u306e\u30aa\u30d7\u30b7\u30e7\u30f3",altsource1:"\u4ee3\u66ff\u30bd\u30fc\u30b91",altsource2:"\u4ee3\u66ff\u30bd\u30fc\u30b92",preload:"preload\u5c5e\u6027",poster:"poster\u5c5e\u6027",source:"HTML","html5_audio_options":"Audio \u30aa\u30d7\u30b7\u30e7\u30f3","preload_none":"\u5148\u8aad\u307f\u3057\u306a\u3044","preload_metadata":"\u52d5\u753b\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3092\u5148\u8aad\u307f","preload_auto":"\u30e6\u30fc\u30b6\u30fc\u306e\u30d6\u30e9\u30a6\u30b6\u30fc\u306b\u5f93\u3046",iframe:"iframe",embeddedaudio:"\u57cb\u3081\u8fbc\u307f\u97f3\u58f0"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/media.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/media.htm new file mode 100755 index 00000000..957d83a6 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/media.htm @@ -0,0 +1,922 @@ + + + + {#media_dlg.title} + + + + + + + + + +
+ + +
+
+
+ {#media_dlg.general} + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ + + + + + +
x   
+
+
+ +
+ {#media_dlg.preview} + +
+
+ +
+
+ {#media_dlg.advanced} + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
 
+
+
+ +
+ {#media_dlg.html5_video_options} + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + + +
 
+
+ + + + + +
 
+
+ +
+ + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.embedded_audio_options} + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.html5_audio_options} + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + + +
 
+
+ +
+ + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.flash_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + + + + + + + +
+
+ +
+ {#media_dlg.qt_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+  
+ + + + + +
 
+
+
+ +
+ {#media_dlg.wmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+ +
+ {#media_dlg.rmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+   +
+
+ +
+ {#media_dlg.shockwave_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+
+ +
+
+ {#media_dlg.source} + +
+
+
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/moxieplayer.swf b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/moxieplayer.swf new file mode 100644 index 00000000..585d772d Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/media/moxieplayer.swf differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/editor_plugin.js new file mode 100755 index 00000000..687f5486 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(f.keyCode==9){f.preventDefault();d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking")}})}},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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/editor_plugin_src.js new file mode 100755 index 00000000..d492fbef --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/nonbreaking/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.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 (e.keyCode == 9) { + e.preventDefault(); + + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + } + }); + } + }, + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin.js new file mode 100755 index 00000000..da411ebc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.dom.TreeWalker;var a="contenteditable",d="data-mce-"+a;var e=tinymce.VK;function b(n){var j=n.dom,p=n.selection,r,o="mce_noneditablecaret",r="\uFEFF";function m(t){var s;if(t.nodeType===1){s=t.getAttribute(d);if(s&&s!=="inherit"){return s}s=t.contentEditable;if(s!=="inherit"){return s}}return null}function g(s){var t;while(s){t=m(s);if(t){return t==="false"?s:null}s=s.parentNode}}function l(s){while(s){if(s.id===o){return s}s=s.parentNode}}function k(s){var t;if(s){t=new c(s,s);for(s=t.current();s;s=t.next()){if(s.nodeType===3){return s}}}}function f(v,u){var s,t;if(m(v)==="false"){if(j.isBlock(v)){p.select(v);return}}t=j.createRng();if(m(v)==="true"){if(!v.firstChild){v.appendChild(n.getDoc().createTextNode("\u00a0"))}v=v.firstChild;u=true}s=j.create("span",{id:o,"data-mce-bogus":true},r);if(u){v.parentNode.insertBefore(s,v)}else{j.insertAfter(s,v)}t.setStart(s.firstChild,1);t.collapse(true);p.setRng(t);return s}function i(s){var v,t,u;if(s){rng=p.getRng(true);rng.setStartBefore(s);rng.setEndBefore(s);v=k(s);if(v&&v.nodeValue.charAt(0)==r){v=v.deleteData(0,1)}j.remove(s,true);p.setRng(rng)}else{t=l(p.getStart());while((s=j.get(o))&&s!==u){if(t!==s){v=k(s);if(v&&v.nodeValue.charAt(0)==r){v=v.deleteData(0,1)}j.remove(s,true)}u=s}}}function q(){var s,w,u,t,v;function x(B,D){var A,F,E,C,z;A=t.startContainer;F=t.startOffset;if(A.nodeType==3){z=A.nodeValue.length;if((F>0&&F0?F-1:F;A=A.childNodes[G];if(A.hasChildNodes()){A=A.firstChild}}else{return !D?B:null}}E=new c(A,B);while(C=E[D?"prev":"next"]()){if(C.nodeType===3&&C.nodeValue.length>0){return}else{if(m(C)==="true"){return C}}}return B}i();u=p.isCollapsed();s=g(p.getStart());w=g(p.getEnd());if(s||w){t=p.getRng(true);if(u){s=s||w;var y=p.getStart();if(v=x(s,true)){f(v,true)}else{if(v=x(s,false)){f(v,false)}else{p.select(s)}}}else{t=p.getRng(true);if(s){t.setStartBefore(s)}if(w){t.setEndAfter(w)}p.setRng(t)}}}function h(z,B){var F=B.keyCode,x,C,D,v;function u(H,G){while(H=H[G?"previousSibling":"nextSibling"]){if(H.nodeType!==3||H.nodeValue.length>0){return H}}}function y(G,H){p.select(G);p.collapse(H)}function t(K){var J,I,M,H;function G(O){var N=I;while(N){if(N===O){return}N=N.parentNode}j.remove(O);q()}function L(){var O,P,N=z.schema.getNonEmptyElements();P=new tinymce.dom.TreeWalker(I,z.getBody());while(O=(K?P.prev():P.next())){if(N[O.nodeName.toLowerCase()]){break}if(O.nodeType===3&&tinymce.trim(O.nodeValue).length>0){break}if(m(O)==="false"){G(O);return true}}if(g(O)){return true}return false}if(p.isCollapsed()){J=p.getRng(true);I=J.startContainer;M=J.startOffset;I=l(I)||I;if(H=g(I)){G(H);return false}if(I.nodeType==3&&(K?M>0:M124)&&F!=e.DELETE&&F!=e.BACKSPACE){if((tinymce.isMac?B.metaKey:B.ctrlKey)&&(F==67||F==88||F==86)){return}B.preventDefault();if(F==e.LEFT||F==e.RIGHT){var w=F==e.LEFT;if(z.dom.isBlock(x)){var A=w?x.previousSibling:x.nextSibling;var s=new c(A,A);var E=w?s.prev():s.next();y(E,!w)}else{y(x,w)}}}else{if(F==e.LEFT||F==e.RIGHT||F==e.BACKSPACE||F==e.DELETE){C=l(D);if(C){if(F==e.LEFT||F==e.BACKSPACE){x=u(C,true);if(x&&m(x)==="false"){B.preventDefault();if(F==e.LEFT){y(x,true)}else{j.remove(x);return}}else{i(C)}}if(F==e.RIGHT||F==e.DELETE){x=u(C);if(x&&m(x)==="false"){B.preventDefault();if(F==e.RIGHT){y(x,false)}else{j.remove(x);return}}else{i(C)}}}if((F==e.BACKSPACE||F==e.DELETE)&&!t(F==e.BACKSPACE)){B.preventDefault();return false}}}}n.onMouseDown.addToTop(function(s,u){var t=s.selection.getNode();if(m(t)==="false"&&t==u.target){q()}});n.onMouseUp.addToTop(q);n.onKeyDown.addToTop(h);n.onKeyUp.addToTop(q)}tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(i,k){var h,g,j;function f(m,n){var o=j.length,p=n.content,l=tinymce.trim(g);if(n.format=="raw"){return}while(o--){p=p.replace(j[o],function(s){var r=arguments,q=r[r.length-2];if(q>0&&p.charAt(q-1)=='"'){return s}return''+m.dom.encode(typeof(r[1])==="string"?r[1]:r[0])+""})}n.content=p}h=" "+tinymce.trim(i.getParam("noneditable_editable_class","mceEditable"))+" ";g=" "+tinymce.trim(i.getParam("noneditable_noneditable_class","mceNonEditable"))+" ";j=i.getParam("noneditable_regexp");if(j&&!j.length){j=[j]}i.onPreInit.add(function(){b(i);if(j){i.selection.onBeforeSetContent.add(f);i.onBeforeSetContent.add(f)}i.parser.addAttributeFilter("class",function(l){var m=l.length,n,o;while(m--){o=l[m];n=" "+o.attr("class")+" ";if(n.indexOf(h)!==-1){o.attr(d,"true")}else{if(n.indexOf(g)!==-1){o.attr(d,"false")}}}});i.serializer.addAttributeFilter(d,function(l,m){var n=l.length,o;while(n--){o=l[n];if(j&&o.attr("data-mce-content")){o.name="#text";o.type=3;o.raw=true;o.value=o.attr("data-mce-content")}else{o.attr(a,null);o.attr(d,null)}}});i.parser.addAttributeFilter(a,function(l,m){var n=l.length,o;while(n--){o=l[n];o.attr(d,o.attr(a));o.attr(a,null)}})})},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}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js new file mode 100755 index 00000000..a18bcd78 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/noneditable/editor_plugin_src.js @@ -0,0 +1,537 @@ +/** + * 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 TreeWalker = tinymce.dom.TreeWalker; + var externalName = 'contenteditable', internalName = 'data-mce-' + externalName; + var VK = tinymce.VK; + + function handleContentEditableSelection(ed) { + var dom = ed.dom, selection = ed.selection, invisibleChar, caretContainerId = 'mce_noneditablecaret', invisibleChar = '\uFEFF'; + + // Returns the content editable state of a node "true/false" or null + function getContentEditable(node) { + var contentEditable; + + // Ignore non elements + if (node.nodeType === 1) { + // Check for fake content editable + contentEditable = node.getAttribute(internalName); + if (contentEditable && contentEditable !== "inherit") { + return contentEditable; + } + + // Check for real content editable + contentEditable = node.contentEditable; + if (contentEditable !== "inherit") { + return contentEditable; + } + } + + return null; + }; + + // Returns the noneditable parent or null if there is a editable before it or if it wasn't found + function getNonEditableParent(node) { + var state; + + while (node) { + state = getContentEditable(node); + if (state) { + return state === "false" ? node : null; + } + + node = node.parentNode; + } + }; + + // Get caret container parent for the specified node + function getParentCaretContainer(node) { + while (node) { + if (node.id === caretContainerId) { + return node; + } + + node = node.parentNode; + } + }; + + // Finds the first text node in the specified node + function findFirstTextNode(node) { + var walker; + + if (node) { + walker = new TreeWalker(node, node); + + for (node = walker.current(); node; node = walker.next()) { + if (node.nodeType === 3) { + return node; + } + } + } + }; + + // Insert caret container before/after target or expand selection to include block + function insertCaretContainerOrExpandToBlock(target, before) { + var caretContainer, rng; + + // Select block + if (getContentEditable(target) === "false") { + if (dom.isBlock(target)) { + selection.select(target); + return; + } + } + + rng = dom.createRng(); + + if (getContentEditable(target) === "true") { + if (!target.firstChild) { + target.appendChild(ed.getDoc().createTextNode('\u00a0')); + } + + target = target.firstChild; + before = true; + } + + //caretContainer = dom.create('span', {id: caretContainerId, 'data-mce-bogus': true, style:'border: 1px solid red'}, invisibleChar); + caretContainer = dom.create('span', {id: caretContainerId, 'data-mce-bogus': true}, invisibleChar); + + if (before) { + target.parentNode.insertBefore(caretContainer, target); + } else { + dom.insertAfter(caretContainer, target); + } + + rng.setStart(caretContainer.firstChild, 1); + rng.collapse(true); + selection.setRng(rng); + + return caretContainer; + }; + + // Removes any caret container except the one we might be in + function removeCaretContainer(caretContainer) { + var child, currentCaretContainer, lastContainer; + + if (caretContainer) { + rng = selection.getRng(true); + rng.setStartBefore(caretContainer); + rng.setEndBefore(caretContainer); + + child = findFirstTextNode(caretContainer); + if (child && child.nodeValue.charAt(0) == invisibleChar) { + child = child.deleteData(0, 1); + } + + dom.remove(caretContainer, true); + + selection.setRng(rng); + } else { + currentCaretContainer = getParentCaretContainer(selection.getStart()); + while ((caretContainer = dom.get(caretContainerId)) && caretContainer !== lastContainer) { + if (currentCaretContainer !== caretContainer) { + child = findFirstTextNode(caretContainer); + if (child && child.nodeValue.charAt(0) == invisibleChar) { + child = child.deleteData(0, 1); + } + + dom.remove(caretContainer, true); + } + + lastContainer = caretContainer; + } + } + }; + + // Modifies the selection to include contentEditable false elements or insert caret containers + function moveSelection() { + var nonEditableStart, nonEditableEnd, isCollapsed, rng, element; + + // Checks if there is any contents to the left/right side of caret returns the noneditable element or any editable element if it finds one inside + function hasSideContent(element, left) { + var container, offset, walker, node, len; + + container = rng.startContainer; + offset = rng.startOffset; + + // If endpoint is in middle of text node then expand to beginning/end of element + if (container.nodeType == 3) { + len = container.nodeValue.length; + if ((offset > 0 && offset < len) || (left ? offset == len : offset == 0)) { + return; + } + } else { + // Can we resolve the node by index + if (offset < container.childNodes.length) { + // Browser represents caret position as the offset at the start of an element. When moving right + // this is the element we are moving into so we consider our container to be child node at offset-1 + var pos = !left && offset > 0 ? offset-1 : offset; + container = container.childNodes[pos]; + if (container.hasChildNodes()) { + container = container.firstChild; + } + } else { + // If not then the caret is at the last position in it's container and the caret container should be inserted after the noneditable element + return !left ? element : null; + } + } + + // Walk left/right to look for contents + walker = new TreeWalker(container, element); + while (node = walker[left ? 'prev' : 'next']()) { + if (node.nodeType === 3 && node.nodeValue.length > 0) { + return; + } else if (getContentEditable(node) === "true") { + // Found contentEditable=true element return this one to we can move the caret inside it + return node; + } + } + + return element; + }; + + // Remove any existing caret containers + removeCaretContainer(); + + // Get noneditable start/end elements + isCollapsed = selection.isCollapsed(); + nonEditableStart = getNonEditableParent(selection.getStart()); + nonEditableEnd = getNonEditableParent(selection.getEnd()); + + // Is any fo the range endpoints noneditable + if (nonEditableStart || nonEditableEnd) { + rng = selection.getRng(true); + + // If it's a caret selection then look left/right to see if we need to move the caret out side or expand + if (isCollapsed) { + nonEditableStart = nonEditableStart || nonEditableEnd; + var start = selection.getStart(); + if (element = hasSideContent(nonEditableStart, true)) { + // We have no contents to the left of the caret then insert a caret container before the noneditable element + insertCaretContainerOrExpandToBlock(element, true); + } else if (element = hasSideContent(nonEditableStart, false)) { + // We have no contents to the right of the caret then insert a caret container after the noneditable element + insertCaretContainerOrExpandToBlock(element, false); + } else { + // We are in the middle of a noneditable so expand to select it + selection.select(nonEditableStart); + } + } else { + rng = selection.getRng(true); + + // Expand selection to include start non editable element + if (nonEditableStart) { + rng.setStartBefore(nonEditableStart); + } + + // Expand selection to include end non editable element + if (nonEditableEnd) { + rng.setEndAfter(nonEditableEnd); + } + + selection.setRng(rng); + } + } + }; + + function handleKey(ed, e) { + var keyCode = e.keyCode, nonEditableParent, caretContainer, startElement, endElement; + + function getNonEmptyTextNodeSibling(node, prev) { + while (node = node[prev ? 'previousSibling' : 'nextSibling']) { + if (node.nodeType !== 3 || node.nodeValue.length > 0) { + return node; + } + } + }; + + function positionCaretOnElement(element, start) { + selection.select(element); + selection.collapse(start); + } + + function canDelete(backspace) { + var rng, container, offset, nonEditableParent; + + function removeNodeIfNotParent(node) { + var parent = container; + + while (parent) { + if (parent === node) { + return; + } + + parent = parent.parentNode; + } + + dom.remove(node); + moveSelection(); + } + + function isNextPrevTreeNodeNonEditable() { + var node, walker, nonEmptyElements = ed.schema.getNonEmptyElements(); + + walker = new tinymce.dom.TreeWalker(container, ed.getBody()); + while (node = (backspace ? walker.prev() : walker.next())) { + // Found IMG/INPUT etc + if (nonEmptyElements[node.nodeName.toLowerCase()]) { + break; + } + + // Found text node with contents + if (node.nodeType === 3 && tinymce.trim(node.nodeValue).length > 0) { + break; + } + + // Found non editable node + if (getContentEditable(node) === "false") { + removeNodeIfNotParent(node); + return true; + } + } + + // Check if the content node is within a non editable parent + if (getNonEditableParent(node)) { + return true; + } + + return false; + } + + if (selection.isCollapsed()) { + rng = selection.getRng(true); + container = rng.startContainer; + offset = rng.startOffset; + container = getParentCaretContainer(container) || container; + + // Is in noneditable parent + if (nonEditableParent = getNonEditableParent(container)) { + removeNodeIfNotParent(nonEditableParent); + return false; + } + + // Check if the caret is in the middle of a text node + if (container.nodeType == 3 && (backspace ? offset > 0 : offset < container.nodeValue.length)) { + return true; + } + + // Resolve container index + if (container.nodeType == 1) { + container = container.childNodes[offset] || container; + } + + // Check if previous or next tree node is non editable then block the event + if (isNextPrevTreeNodeNonEditable()) { + return false; + } + } + + return true; + } + + startElement = selection.getStart() + endElement = selection.getEnd(); + + // Disable all key presses in contentEditable=false except delete or backspace + nonEditableParent = getNonEditableParent(startElement) || getNonEditableParent(endElement); + if (nonEditableParent && (keyCode < 112 || keyCode > 124) && keyCode != VK.DELETE && keyCode != VK.BACKSPACE) { + // Is Ctrl+c, Ctrl+v or Ctrl+x then use default browser behavior + if ((tinymce.isMac ? e.metaKey : e.ctrlKey) && (keyCode == 67 || keyCode == 88 || keyCode == 86)) { + return; + } + + e.preventDefault(); + + // Arrow left/right select the element and collapse left/right + if (keyCode == VK.LEFT || keyCode == VK.RIGHT) { + var left = keyCode == VK.LEFT; + // If a block element find previous or next element to position the caret + if (ed.dom.isBlock(nonEditableParent)) { + var targetElement = left ? nonEditableParent.previousSibling : nonEditableParent.nextSibling; + var walker = new TreeWalker(targetElement, targetElement); + var caretElement = left ? walker.prev() : walker.next(); + positionCaretOnElement(caretElement, !left); + } else { + positionCaretOnElement(nonEditableParent, left); + } + } + } else { + // Is arrow left/right, backspace or delete + if (keyCode == VK.LEFT || keyCode == VK.RIGHT || keyCode == VK.BACKSPACE || keyCode == VK.DELETE) { + caretContainer = getParentCaretContainer(startElement); + if (caretContainer) { + // Arrow left or backspace + if (keyCode == VK.LEFT || keyCode == VK.BACKSPACE) { + nonEditableParent = getNonEmptyTextNodeSibling(caretContainer, true); + + if (nonEditableParent && getContentEditable(nonEditableParent) === "false") { + e.preventDefault(); + + if (keyCode == VK.LEFT) { + positionCaretOnElement(nonEditableParent, true); + } else { + dom.remove(nonEditableParent); + return; + } + } else { + removeCaretContainer(caretContainer); + } + } + + // Arrow right or delete + if (keyCode == VK.RIGHT || keyCode == VK.DELETE) { + nonEditableParent = getNonEmptyTextNodeSibling(caretContainer); + + if (nonEditableParent && getContentEditable(nonEditableParent) === "false") { + e.preventDefault(); + + if (keyCode == VK.RIGHT) { + positionCaretOnElement(nonEditableParent, false); + } else { + dom.remove(nonEditableParent); + return; + } + } else { + removeCaretContainer(caretContainer); + } + } + } + + if ((keyCode == VK.BACKSPACE || keyCode == VK.DELETE) && !canDelete(keyCode == VK.BACKSPACE)) { + e.preventDefault(); + return false; + } + } + } + }; + + ed.onMouseDown.addToTop(function(ed, e) { + var node = ed.selection.getNode(); + + if (getContentEditable(node) === "false" && node == e.target) { + // Expand selection on mouse down we can't block the default event since it's used for drag/drop + moveSelection(); + } + }); + + ed.onMouseUp.addToTop(moveSelection); + ed.onKeyDown.addToTop(handleKey); + ed.onKeyUp.addToTop(moveSelection); + }; + + tinymce.create('tinymce.plugins.NonEditablePlugin', { + init : function(ed, url) { + var editClass, nonEditClass, nonEditableRegExps; + + // Converts configured regexps to noneditable span items + function convertRegExpsToNonEditable(ed, args) { + var i = nonEditableRegExps.length, content = args.content, cls = tinymce.trim(nonEditClass); + + // Don't replace the variables when raw is used for example on undo/redo + if (args.format == "raw") { + return; + } + + while (i--) { + content = content.replace(nonEditableRegExps[i], function(match) { + var args = arguments, index = args[args.length - 2]; + + // Is value inside an attribute then don't replace + if (index > 0 && content.charAt(index - 1) == '"') { + return match; + } + + return '' + ed.dom.encode(typeof(args[1]) === "string" ? args[1] : args[0]) + ''; + }); + } + + args.content = content; + }; + + editClass = " " + tinymce.trim(ed.getParam("noneditable_editable_class", "mceEditable")) + " "; + nonEditClass = " " + tinymce.trim(ed.getParam("noneditable_noneditable_class", "mceNonEditable")) + " "; + + // Setup noneditable regexps array + nonEditableRegExps = ed.getParam("noneditable_regexp"); + if (nonEditableRegExps && !nonEditableRegExps.length) { + nonEditableRegExps = [nonEditableRegExps]; + } + + ed.onPreInit.add(function() { + handleContentEditableSelection(ed); + + if (nonEditableRegExps) { + ed.selection.onBeforeSetContent.add(convertRegExpsToNonEditable); + ed.onBeforeSetContent.add(convertRegExpsToNonEditable); + } + + // Apply contentEditable true/false on elements with the noneditable/editable classes + ed.parser.addAttributeFilter('class', function(nodes) { + var i = nodes.length, className, node; + + while (i--) { + node = nodes[i]; + className = " " + node.attr("class") + " "; + + if (className.indexOf(editClass) !== -1) { + node.attr(internalName, "true"); + } else if (className.indexOf(nonEditClass) !== -1) { + node.attr(internalName, "false"); + } + } + }); + + // Remove internal name + ed.serializer.addAttributeFilter(internalName, function(nodes, name) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + + if (nonEditableRegExps && node.attr('data-mce-content')) { + node.name = "#text"; + node.type = 3; + node.raw = true; + node.value = node.attr('data-mce-content'); + } else { + node.attr(externalName, null); + node.attr(internalName, null); + } + } + }); + + // Convert external name into internal name + ed.parser.addAttributeFilter(externalName, function(nodes, name) { + var i = nodes.length, node; + + while (i--) { + node = nodes[i]; + node.attr(internalName, node.attr(externalName)); + node.attr(externalName, null); + } + }); + }); + }, + + 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 + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin); +})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin.js new file mode 100644 index 00000000..35085e8a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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.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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin_src.js new file mode 100644 index 00000000..a094c191 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/pagebreak/editor_plugin_src.js @@ -0,0 +1,74 @@ +/** + * 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.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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin.js new file mode 100755 index 00000000..0ab05ebb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin.js @@ -0,0 +1 @@ +(function(){var c=tinymce.each,a={paste_auto_cleanup_on_paste:true,paste_enable_default_filters: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_max_consecutive_linebreaks:2,paste_text_use_dialog:false,paste_text_sticky:false,paste_text_sticky_default:false,paste_text_notifyalways:false,paste_text_linebreaktype:"combined",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(d,e){return d.getParam(e,a[e])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(d,e){var f=this;f.editor=d;f.url=e;f.onPreProcess=new tinymce.util.Dispatcher(f);f.onPostProcess=new tinymce.util.Dispatcher(f);f.onPreProcess.add(f._preProcess);f.onPostProcess.add(f._postProcess);f.onPreProcess.add(function(i,j){d.execCallback("paste_preprocess",i,j)});f.onPostProcess.add(function(i,j){d.execCallback("paste_postprocess",i,j)});d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){return false}});d.pasteAsPlainText=b(d,"paste_text_sticky_default");function h(l,j){var k=d.dom,i;f.onPreProcess.dispatch(f,l);l.node=k.create("div",0,l.content);if(tinymce.isGecko){i=d.selection.getRng(true);if(i.startContainer==i.endContainer&&i.startContainer.nodeType==3){if(l.node.childNodes.length===1&&/^(p|h[1-6]|pre)$/i.test(l.node.firstChild.nodeName)&&l.content.indexOf("__MCE_ITEM__")===-1){k.remove(l.node.firstChild,true)}}}f.onPostProcess.dispatch(f,l);l.content=d.serializer.serialize(l.node,{getInner:1,forced_root_block:""});if((!j)&&(d.pasteAsPlainText)){f._insertPlainText(l.content);if(!b(d,"paste_text_sticky")){d.pasteAsPlainText=false;d.controlManager.setActive("pastetext",false)}}else{f._insert(l.content)}}d.addCommand("mceInsertClipboardContent",function(i,j){h(j,true)});if(!b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(j,i){var k=tinymce.util.Cookie;d.pasteAsPlainText=!d.pasteAsPlainText;d.controlManager.setActive("pastetext",d.pasteAsPlainText);if((d.pasteAsPlainText)&&(!k.get("tinymcePasteText"))){if(b(d,"paste_text_sticky")){d.windowManager.alert(d.translate("paste.plaintext_mode_sticky"))}else{d.windowManager.alert(d.translate("paste.plaintext_mode"))}if(!b(d,"paste_text_notifyalways")){k.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}d.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});d.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function g(s){var l,p,j,t,k=d.selection,o=d.dom,q=d.getBody(),i,r;if(s.clipboardData||o.doc.dataTransfer){r=(s.clipboardData||o.doc.dataTransfer).getData("Text");if(d.pasteAsPlainText){s.preventDefault();h({content:o.encode(r).replace(/\r?\n/g,"
")});return}}if(o.get("_mcePaste")){return}l=o.add(q,"div",{id:"_mcePaste","class":"mcePaste","data-mce-bogus":"1"},"\uFEFF\uFEFF");if(q!=d.getDoc().body){i=o.getPos(d.selection.getStart(),q).y}else{i=q.scrollTop+o.getViewPort(d.getWin()).y}o.setStyles(l,{position:"absolute",left:tinymce.isGecko?-40:0,top:i-25,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){t=k.getRng();j=o.doc.body.createTextRange();j.moveToElementText(l);j.execCommand("Paste");o.remove(l);if(l.innerHTML==="\uFEFF\uFEFF"){d.execCommand("mcePasteWord");s.preventDefault();return}k.setRng(t);k.setContent("");setTimeout(function(){h({content:l.innerHTML})},0);return tinymce.dom.Event.cancel(s)}else{function m(n){n.preventDefault()}o.bind(d.getDoc(),"mousedown",m);o.bind(d.getDoc(),"keydown",m);p=d.selection.getRng();l=l.firstChild;j=d.getDoc().createRange();j.setStart(l,0);j.setEnd(l,2);k.setRng(j);window.setTimeout(function(){var u="",n;if(!o.select("div.mcePaste > div.mcePaste").length){n=o.select("div.mcePaste");c(n,function(w){var v=w.firstChild;if(v&&v.nodeName=="DIV"&&v.style.marginTop&&v.style.backgroundColor){o.remove(v,1)}c(o.select("span.Apple-style-span",w),function(x){o.remove(x,1)});c(o.select("br[data-mce-bogus]",w),function(x){o.remove(x)});if(w.parentNode.className!="mcePaste"){u+=w.innerHTML}})}else{u="

"+o.encode(r).replace(/\r?\n\r?\n/g,"

").replace(/\r?\n/g,"
")+"

"}c(o.select("div.mcePaste"),function(v){o.remove(v)});if(p){k.setRng(p)}h({content:u});o.unbind(d.getDoc(),"mousedown",m);o.unbind(d.getDoc(),"keydown",m)},0)}}if(b(d,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){d.onKeyDown.addToTop(function(i,j){if(((tinymce.isMac?j.metaKey:j.ctrlKey)&&j.keyCode==86)||(j.shiftKey&&j.keyCode==45)){g(j)}})}else{d.onPaste.addToTop(function(i,j){return g(j)})}}d.onInit.add(function(){d.controlManager.setActive("pastetext",d.pasteAsPlainText);if(b(d,"paste_block_drop")){d.dom.bind(d.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(i){i.preventDefault();i.stopPropagation();return false})}});f._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(g,e){var k=this.editor,j=e.content,p=tinymce.grep,n=tinymce.explode,f=tinymce.trim,l,i;function d(h){c(h,function(o){if(o.constructor==RegExp){j=j.replace(o,"")}else{j=j.replace(o[0],o[1])}})}if(k.settings.paste_enable_default_filters==false){return}if(tinymce.isIE&&document.documentMode>=9&&/<(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)/.test(e.content)){d([[/(?:
 [\s\r\n]+|
)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:
 [\s\r\n]+|
)*/g,"$1"]]);d([[/

/g,"

"],[/
/g," "],[/

/g,"
"]])}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(j)||e.wordContent){e.wordContent=true;d([/^\s*( )+/gi,/( |]*>)+\s*$/gi]);if(b(k,"paste_convert_headers_to_strong")){j=j.replace(/

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

$1

")}if(b(k,"paste_convert_middot_lists")){d([[//gi,"$&__MCE_ITEM__"],[/(]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"],[/(]+(?:MsoListParagraph)[^>]+>)/gi,"$1__MCE_ITEM__"]])}d([//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\u00a0"]]);do{l=j.length;j=j.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(l!=j.length);if(b(k,"paste_retain_style_properties").replace(/^none$/i,"").length==0){j=j.replace(/<\/?span[^>]*>/gi,"")}else{d([[/([\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(t,h,r){var u=[],o=0,q=n(f(r).replace(/"/gi,"'"),";");c(q,function(s){var w,y,z=n(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":u[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":u[o++]="text-align:"+y;return;case"vert-align":u[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":u[o++]="color:"+y;return;case"mso-background":case"mso-highlight":u[o++]="background:"+y;return;case"mso-default-height":u[o++]="min-height:"+x(y);return;case"mso-default-width":u[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":u[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){u[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){u[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}u[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+u.join(";")+'"'}else{return h}}]])}}if(b(k,"paste_convert_headers_to_strong")){d([[/]*>/gi,"

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

"]])}d([[/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi,""]]);i=b(k,"paste_strip_class_attributes");if(i!=="none"){function m(q,o){if(i==="all"){return""}var h=p(n(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(r){return(/^(?!mso)/i.test(r))});return h.length?' class="'+h.join(" ")+'"':""}j=j.replace(/ class="([^"]+)"/gi,m);j=j.replace(/ class=([\-\w]+)/gi,m)}if(b(k,"paste_remove_spans")){j=j.replace(/<\/?span[^>]*>/gi,"")}e.content=j},_postProcess:function(g,i){var f=this,e=f.editor,h=e.dom,d;if(e.settings.paste_enable_default_filters==false){return}if(i.wordContent){c(h.select("a",i.node),function(j){if(!j.href||j.href.indexOf("#_Toc")!=-1){h.remove(j,1)}});if(b(e,"paste_convert_middot_lists")){f._convertLists(g,i)}d=b(e,"paste_retain_style_properties");if((tinymce.is(d,"string"))&&(d!=="all")&&(d!=="*")){d=tinymce.explode(d.replace(/^none$/i,""));c(h.select("*",i.node),function(m){var n={},k=0,l,o,j;if(d){for(l=0;l0){h.setStyles(m,n)}else{if(m.nodeName=="SPAN"&&!m.className){h.remove(m,true)}}})}}if(b(e,"paste_remove_styles")||(b(e,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(h.select("*[style]",i.node),function(j){j.removeAttribute("style");j.removeAttribute("data-mce-style")})}else{if(tinymce.isWebKit){c(h.select("*",i.node),function(j){j.removeAttribute("data-mce-style")})}}},_convertLists:function(g,e){var i=g.editor.dom,h,l,d=-1,f,m=[],k,j;c(i.select("p",e.node),function(t){var q,u="",s,r,n,o;for(q=t.firstChild;q&&q.nodeType==3;q=q.nextSibling){u+=q.nodeValue}u=t.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/ /g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*\u00a0*/.test(u)){s="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.test(u)){s="ol"}if(s){f=parseFloat(t.style.marginLeft||0);if(f>d){m.push(f)}if(!h||s!=k){h=i.create(s);i.insertAfter(h,t)}else{if(f>d){h=l.appendChild(i.create(s))}else{if(f]*>/gi,"");if(s=="ul"&&/^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(p)){i.remove(v)}else{if(/^__MCE_ITEM__[\s\S]*\w+\.( |\u00a0)*\s*/.test(p)){i.remove(v)}}});r=t.innerHTML;if(s=="ul"){r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o\u25CF]\s*( |\u00a0)+\s*/,"")}else{r=t.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.( |\u00a0)+\s*/,"")}l=h.appendChild(i.create("li",0,r));i.remove(t);d=f;k=s}else{h=d=0}});j=e.node.innerHTML;if(j.indexOf("__MCE_ITEM__")!=-1){e.node.innerHTML=j.replace(/__MCE_ITEM__/g,"")}},_insert:function(f,d){var e=this.editor,g=e.selection.getRng();if(!e.selection.isCollapsed()&&g.startContainer!=g.endContainer){e.getDoc().execCommand("Delete",false,null)}e.execCommand("mceInsertContent",false,f,{skip_undo:d})},_insertPlainText:function(j){var h=this.editor,f=b(h,"paste_text_linebreaktype"),k=b(h,"paste_text_replacements"),g=tinymce.is;function e(m){c(m,function(n){if(n.constructor==RegExp){j=j.replace(n,"")}else{j=j.replace(n[0],n[1])}})}if((typeof(j)==="string")&&(j.length>0)){if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(j)){e([/[\n\r]+/g])}else{e([/\r+/g])}e([[/<\/(?: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," "],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"]]);var d=Number(b(h,"paste_max_consecutive_linebreaks"));if(d>-1){var l=new RegExp("\n{"+(d+1)+",}","g");var i="";while(i.length"]])}else{if(f=="p"){e([[/\n+/g,"

"],[/^(.*<\/p>)(

)$/,"

$1"]])}else{e([[/\n\n/g,"

"],[/^(.*<\/p>)(

)$/,"

$1"],[/\n/g,"
"]])}}}h.execCommand("mceInsertContent",false,j)}},_legacySupport:function(){var e=this,d=e.editor;d.addCommand("mcePasteWord",function(){d.windowManager.open({file:e.url+"/pasteword.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})});if(b(d,"paste_text_use_dialog")){d.addCommand("mcePasteText",function(){d.windowManager.open({file:e.url+"/pastetext.htm",width:parseInt(b(d,"paste_dialog_width")),height:parseInt(b(d,"paste_dialog_height")),inline:1})})}d.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin_src.js new file mode 100755 index 00000000..0154eceb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/editor_plugin_src.js @@ -0,0 +1,885 @@ +/** + * 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, + defs = { + paste_auto_cleanup_on_paste : true, + paste_enable_default_filters : 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_max_consecutive_linebreaks: 2, + paste_text_use_dialog : false, + paste_text_sticky : false, + paste_text_sticky_default : false, + paste_text_notifyalways : false, + paste_text_linebreaktype : "combined", + paste_text_replacements : [ + [/\u2026/g, "..."], + [/[\x93\x94\u201c\u201d]/g, '"'], + [/[\x60\x91\x92\u2018\u2019]/g, "'"] + ] + }; + + function getParam(ed, name) { + return ed.getParam(name, defs[name]); + } + + tinymce.create('tinymce.plugins.PastePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + t.url = url; + + // Setup plugin events + t.onPreProcess = new tinymce.util.Dispatcher(t); + t.onPostProcess = new tinymce.util.Dispatcher(t); + + // Register default handlers + t.onPreProcess.add(t._preProcess); + t.onPostProcess.add(t._postProcess); + + // Register optional preprocess handler + t.onPreProcess.add(function(pl, o) { + ed.execCallback('paste_preprocess', pl, o); + }); + + // Register optional postprocess + t.onPostProcess.add(function(pl, o) { + ed.execCallback('paste_postprocess', pl, o); + }); + + ed.onKeyDown.addToTop(function(ed, e) { + // Block ctrl+v from adding an undo level since the default logic in tinymce.Editor will add that + if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) + return false; // Stop other listeners + }); + + // Initialize plain text flag + ed.pasteAsPlainText = getParam(ed, 'paste_text_sticky_default'); + + // This function executes the process handlers and inserts the contents + // force_rich overrides plain text mode set by user, important for pasting with execCommand + function process(o, force_rich) { + var dom = ed.dom, rng; + + // Execute pre process handlers + t.onPreProcess.dispatch(t, o); + + // Create DOM structure + o.node = dom.create('div', 0, o.content); + + // If pasting inside the same element and the contents is only one block + // remove the block and keep the text since Firefox will copy parts of pre and h1-h6 as a pre element + if (tinymce.isGecko) { + rng = ed.selection.getRng(true); + if (rng.startContainer == rng.endContainer && rng.startContainer.nodeType == 3) { + // Is only one block node and it doesn't contain word stuff + if (o.node.childNodes.length === 1 && /^(p|h[1-6]|pre)$/i.test(o.node.firstChild.nodeName) && o.content.indexOf('__MCE_ITEM__') === -1) + dom.remove(o.node.firstChild, true); + } + } + + // Execute post process handlers + t.onPostProcess.dispatch(t, o); + + // Serialize content + o.content = ed.serializer.serialize(o.node, {getInner : 1, forced_root_block : ''}); + + // Plain text option active? + if ((!force_rich) && (ed.pasteAsPlainText)) { + t._insertPlainText(o.content); + + if (!getParam(ed, "paste_text_sticky")) { + ed.pasteAsPlainText = false; + ed.controlManager.setActive("pastetext", false); + } + } else { + t._insert(o.content); + } + } + + // Add command for external usage + ed.addCommand('mceInsertClipboardContent', function(u, o) { + process(o, true); + }); + + if (!getParam(ed, "paste_text_use_dialog")) { + ed.addCommand('mcePasteText', function(u, v) { + var cookie = tinymce.util.Cookie; + + ed.pasteAsPlainText = !ed.pasteAsPlainText; + ed.controlManager.setActive('pastetext', ed.pasteAsPlainText); + + if ((ed.pasteAsPlainText) && (!cookie.get("tinymcePasteText"))) { + if (getParam(ed, "paste_text_sticky")) { + ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky')); + } else { + ed.windowManager.alert(ed.translate('paste.plaintext_mode')); + } + + if (!getParam(ed, "paste_text_notifyalways")) { + cookie.set("tinymcePasteText", "1", new Date(new Date().getFullYear() + 1, 12, 31)) + } + } + }); + } + + ed.addButton('pastetext', {title: 'paste.paste_text_desc', cmd: 'mcePasteText'}); + ed.addButton('selectall', {title: 'paste.selectall_desc', cmd: 'selectall'}); + + // This function grabs the contents from the clipboard by adding a + // hidden div and placing the caret inside it and after the browser paste + // is done it grabs that contents and processes that + function grabContent(e) { + var n, or, rng, oldRng, sel = ed.selection, dom = ed.dom, body = ed.getBody(), posY, textContent; + + // Check if browser supports direct plaintext access + if (e.clipboardData || dom.doc.dataTransfer) { + textContent = (e.clipboardData || dom.doc.dataTransfer).getData('Text'); + + if (ed.pasteAsPlainText) { + e.preventDefault(); + process({content : dom.encode(textContent).replace(/\r?\n/g, '
')}); + return; + } + } + + if (dom.get('_mcePaste')) + return; + + // Create container to paste into + n = dom.add(body, 'div', {id : '_mcePaste', 'class' : 'mcePaste', 'data-mce-bogus' : '1'}, '\uFEFF\uFEFF'); + + // If contentEditable mode we need to find out the position of the closest element + if (body != ed.getDoc().body) + posY = dom.getPos(ed.selection.getStart(), body).y; + else + posY = body.scrollTop + dom.getViewPort(ed.getWin()).y; + + // Styles needs to be applied after the element is added to the document since WebKit will otherwise remove all styles + // If also needs to be in view on IE or the paste would fail + dom.setStyles(n, { + position : 'absolute', + left : tinymce.isGecko ? -40 : 0, // Need to move it out of site on Gecko since it will othewise display a ghost resize rect for the div + top : posY - 25, + width : 1, + height : 1, + overflow : 'hidden' + }); + + if (tinymce.isIE) { + // Store away the old range + oldRng = sel.getRng(); + + // Select the container + rng = dom.doc.body.createTextRange(); + rng.moveToElementText(n); + rng.execCommand('Paste'); + + // Remove container + dom.remove(n); + + // Check if the contents was changed, if it wasn't then clipboard extraction failed probably due + // to IE security settings so we pass the junk though better than nothing right + if (n.innerHTML === '\uFEFF\uFEFF') { + ed.execCommand('mcePasteWord'); + e.preventDefault(); + return; + } + + // Restore the old range and clear the contents before pasting + sel.setRng(oldRng); + sel.setContent(''); + + // For some odd reason we need to detach the the mceInsertContent call from the paste event + // It's like IE has a reference to the parent element that you paste in and the selection gets messed up + // when it tries to restore the selection + setTimeout(function() { + // Process contents + process({content : n.innerHTML}); + }, 0); + + // Block the real paste event + return tinymce.dom.Event.cancel(e); + } else { + function block(e) { + e.preventDefault(); + }; + + // Block mousedown and click to prevent selection change + dom.bind(ed.getDoc(), 'mousedown', block); + dom.bind(ed.getDoc(), 'keydown', block); + + or = ed.selection.getRng(); + + // Move select contents inside DIV + n = n.firstChild; + rng = ed.getDoc().createRange(); + rng.setStart(n, 0); + rng.setEnd(n, 2); + sel.setRng(rng); + + // Wait a while and grab the pasted contents + window.setTimeout(function() { + var h = '', nl; + + // Paste divs duplicated in paste divs seems to happen when you paste plain text so lets first look for that broken behavior in WebKit + if (!dom.select('div.mcePaste > div.mcePaste').length) { + nl = dom.select('div.mcePaste'); + + // WebKit will split the div into multiple ones so this will loop through then all and join them to get the whole HTML string + each(nl, function(n) { + var child = n.firstChild; + + // WebKit inserts a DIV container with lots of odd styles + if (child && child.nodeName == 'DIV' && child.style.marginTop && child.style.backgroundColor) { + dom.remove(child, 1); + } + + // Remove apply style spans + each(dom.select('span.Apple-style-span', n), function(n) { + dom.remove(n, 1); + }); + + // Remove bogus br elements + each(dom.select('br[data-mce-bogus]', n), function(n) { + dom.remove(n); + }); + + // WebKit will make a copy of the DIV for each line of plain text pasted and insert them into the DIV + if (n.parentNode.className != 'mcePaste') + h += n.innerHTML; + }); + } else { + // Found WebKit weirdness so force the content into paragraphs this seems to happen when you paste plain text from Nodepad etc + // So this logic will replace double enter with paragraphs and single enter with br so it kind of looks the same + h = '

' + dom.encode(textContent).replace(/\r?\n\r?\n/g, '

').replace(/\r?\n/g, '
') + '

'; + } + + // Remove the nodes + each(dom.select('div.mcePaste'), function(n) { + dom.remove(n); + }); + + // Restore the old selection + if (or) + sel.setRng(or); + + process({content : h}); + + // Unblock events ones we got the contents + dom.unbind(ed.getDoc(), 'mousedown', block); + dom.unbind(ed.getDoc(), 'keydown', block); + }, 0); + } + } + + // Check if we should use the new auto process method + if (getParam(ed, "paste_auto_cleanup_on_paste")) { + // Is it's Opera or older FF use key handler + if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) { + ed.onKeyDown.addToTop(function(ed, e) { + if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45)) + grabContent(e); + }); + } else { + // Grab contents on paste event on Gecko and WebKit + ed.onPaste.addToTop(function(ed, e) { + return grabContent(e); + }); + } + } + + ed.onInit.add(function() { + ed.controlManager.setActive("pastetext", ed.pasteAsPlainText); + + // Block all drag/drop events + if (getParam(ed, "paste_block_drop")) { + ed.dom.bind(ed.getBody(), ['dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag'], function(e) { + e.preventDefault(); + e.stopPropagation(); + + return false; + }); + } + }); + + // Add legacy support + t._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(pl, o) { + var ed = this.editor, + h = o.content, + grep = tinymce.grep, + explode = tinymce.explode, + trim = tinymce.trim, + len, stripClass; + + //console.log('Before preprocess:' + o.content); + + function process(items) { + each(items, function(v) { + // Remove or replace + if (v.constructor == RegExp) + h = h.replace(v, ''); + else + h = h.replace(v[0], v[1]); + }); + } + + if (ed.settings.paste_enable_default_filters == false) { + return; + } + + // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser + if (tinymce.isIE && document.documentMode >= 9 && /<(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)/.test(o.content)) { + // IE9 adds BRs before/after block elements when contents is pasted from word or for example another browser + process([[/(?:
 [\s\r\n]+|
)*(<\/?(h[1-6r]|p|div|address|pre|form|table|tbody|thead|tfoot|th|tr|td|li|ol|ul|caption|blockquote|center|dl|dt|dd|dir|fieldset)[^>]*>)(?:
 [\s\r\n]+|
)*/g, '$1']]); + + // IE9 also adds an extra BR element for each soft-linefeed and it also adds a BR for each word wrap break + process([ + [/

/g, '

'], // Replace multiple BR elements with uppercase BR to keep them intact + [/
/g, ' '], // Replace single br elements with space since they are word wrap BR:s + [/

/g, '
'] // Replace back the double brs but into a single BR + ]); + } + + // Detect Word content and process it more aggressive + if (/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(h) || o.wordContent) { + o.wordContent = true; // Mark the pasted contents as word specific content + //console.log('Word contents detected.'); + + // Process away some basic content + process([ + /^\s*( )+/gi, //   entities at the start of contents + /( |]*>)+\s*$/gi //   entities at the end of contents + ]); + + if (getParam(ed, "paste_convert_headers_to_strong")) { + h = h.replace(/

]*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 + [/(]+(?:MsoListParagraph)[^>]+>)/gi, '$1__MCE_ITEM__'] // Convert mso-list and symbol paragraphs to item markers (FF) + ]); + } + + 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, "

"] + ]); + } + + process([ + // Copy paste from Java like Open Office will produce this junk on FF + [/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/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 (ed.settings.paste_enable_default_filters == false) { + return; + } + + 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('data-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('data-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\u25CF]\s*\u00a0*/.test(val)) + type = 'ul'; + + // Detect ordered lists 1., a. or ixv. + if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0+/.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' && /^__MCE_ITEM__[\u2022\u00b7\u00a7\u00d8o\u25CF]/.test(html)) + dom.remove(span); + else if (/^__MCE_ITEM__[\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\u25CF]\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, ''); + }, + + /** + * 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); + + ed.execCommand('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(content) { + var ed = this.editor, + linebr = getParam(ed, "paste_text_linebreaktype"), + rl = getParam(ed, "paste_text_replacements"), + is = tinymce.is; + + function process(items) { + each(items, function(v) { + if (v.constructor == RegExp) + content = content.replace(v, ""); + else + content = content.replace(v[0], v[1]); + }); + }; + + if ((typeof(content) === "string") && (content.length > 0)) { + // 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(content)) { + 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*) + [/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"] // Cool little RegExp deletes whitespace around linebreak chars. + ]); + + var maxLinebreaks = Number(getParam(ed, "paste_max_consecutive_linebreaks")); + if (maxLinebreaks > -1) { + var maxLinebreaksRegex = new RegExp("\n{" + (maxLinebreaks + 1) + ",}", "g"); + var linebreakReplacement = ""; + + while (linebreakReplacement.length < maxLinebreaks) { + linebreakReplacement += "\n"; + } + + process([ + [maxLinebreaksRegex, linebreakReplacement] // Limit max consecutive linebreaks + ]); + } + + content = ed.dom.decode(tinymce.html.Entities.encodeRaw(content)); + + // Perform default or custom replacements + if (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") { + // Convert all line breaks to space + process([ + [/\n+/g, " "] + ]); + } else if (linebr == "br") { + // Convert all line breaks to
+ process([ + [/\n/g, "
"] + ]); + } else if (linebr == "p") { + // Convert all line breaks to

...

+ process([ + [/\n+/g, "

"], + [/^(.*<\/p>)(

)$/, '

$1'] + ]); + } else { + // defaults to "combined" + // Convert single line breaks to
and double line breaks to

...

+ process([ + [/\n\n/g, "

"], + [/^(.*<\/p>)(

)$/, '

$1'], + [/\n/g, "
"] + ]); + } + + ed.execCommand('mceInsertContent', false, content); + } + }, + + /** + * 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/js/pastetext.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/js/pastetext.js new file mode 100644 index 00000000..c524f9eb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/js/pasteword.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/js/pasteword.js new file mode 100644 index 00000000..a52731c3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/de_dlg.js new file mode 100644 index 00000000..d7bbe93d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.paste_dlg',{"word_title":"Strg V auf der Tastatur dr\u00fccken, um den Text einzuf\u00fcgen.","text_linebreaks":"Zeilenumbr\u00fcche beibehalten","text_title":"Strg V auf der Tastatur dr\u00fccken, um den Text einzuf\u00fcgen."}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/en_dlg.js new file mode 100644 index 00000000..bc74daf8 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.paste_dlg',{"word_title":"Use Ctrl+V on your keyboard to paste the text into the window.","text_linebreaks":"Keep Linebreaks","text_title":"Use Ctrl+V on your keyboard to paste the text into the window."}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/hu_dlg.js new file mode 100644 index 00000000..826a7bfb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.paste_dlg',{"word_title":"Haszn\u00e1lja a Ctrl V-t a billenty\u0171zet\u00e9n a sz\u00f6veg beilleszt\u00e9shez.","text_linebreaks":"Sort\u00f6r\u00e9sek megtart\u00e1sa","text_title":"Haszn\u00e1lja a Ctrl V-t a billenty\u0171zet\u00e9n a sz\u00f6veg beilleszt\u00e9shez."}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/ja_dlg.js new file mode 100644 index 00000000..5af59822 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.paste_dlg',{"word_title":"Ctrl V(\u30ad\u30fc\u30dc\u30fc\u30c9)\u3092\u4f7f\u7528\u3057\u3066\u3001\u30c6\u30ad\u30b9\u30c8\u3092\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8cbc\u308a\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044\u3002","text_linebreaks":"\u6539\u884c\u3092\u4fdd\u6301","text_title":"Ctrl V(\u30ad\u30fc\u30dc\u30fc\u30c9)\u3092\u4f7f\u7528\u3057\u3066\u3001\u30c6\u30ad\u30b9\u30c8\u3092\u30a6\u30a3\u30f3\u30c9\u30a6\u306b\u8cbc\u308a\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044\u3002"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pastetext.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pastetext.htm new file mode 100755 index 00000000..b6559454 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pasteword.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pasteword.htm new file mode 100755 index 00000000..0f6bb412 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/paste/pasteword.htm @@ -0,0 +1,21 @@ + + + {#paste.paste_word_desc} + + + + +
+
{#paste.paste_word_desc}
+ +
{#paste_dlg.word_title}
+ +
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/editor_plugin.js new file mode 100755 index 00000000..507909c5 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/editor_plugin_src.js new file mode 100755 index 00000000..80f00f0d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/example.html b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/example.html new file mode 100755 index 00000000..b2c3d90c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/example.html @@ -0,0 +1,28 @@ + + + + + +Example of a custom preview page + + + +Editor contents:
+
+ +
+ + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/jscripts/embed.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/preview/jscripts/embed.js new file mode 100755 index 00000000..f8dc8105 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/print/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/print/editor_plugin.js new file mode 100755 index 00000000..b5b3a55e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/print/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/print/editor_plugin_src.js new file mode 100755 index 00000000..3933fe65 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/save/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/save/editor_plugin.js new file mode 100755 index 00000000..8e939966 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/save/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/save/editor_plugin_src.js new file mode 100755 index 00000000..f5a3de8f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/css/searchreplace.css new file mode 100755 index 00000000..ecdf58c7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js new file mode 100755 index 00000000..165bc12d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.SearchReplacePlugin",{init:function(a,c){function b(d){window.focus();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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/editor_plugin_src.js new file mode 100755 index 00000000..4c87e8fa --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/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.SearchReplacePlugin', { + init : function(ed, url) { + function open(m) { + // Keep IE from writing out the f/r character to the editor + // instance while initializing a new dialog. See: #3131190 + window.focus(); + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/js/searchreplace.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/js/searchreplace.js new file mode 100644 index 00000000..80284b9f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/js/searchreplace.js @@ -0,0 +1,142 @@ +tinyMCEPopup.requireLangPack(); + +var SearchReplaceDialog = { + init : function(ed) { + var t = this, f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); + + t.switchMode(m); + + f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); + + // Focus input field + f[m + '_panel_searchstring'].focus(); + + mcTabs.onChange.add(function(tab_id, panel_id) { + t.switchMode(tab_id.substring(0, tab_id.indexOf('_'))); + }); + }, + + 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 + // TODO: Verify if this is actually needed any more, maybe it was for very old FF versions? + r = se.getRng().cloneRange(); + ed.getDoc().execCommand('SelectAll', false, null); + se.setRng(r); + }; + + function replace() { + ed.selection.setContent(rs); // Needs to be duplicated due to selection bug in IE + }; + + // 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) { + ed.focus(); + r = ed.getDoc().selection.createRange(); + + 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(); + + // Whats the point + if (!s) + return; + + if (tinymce.isIE) { + ed.focus(); + r = ed.getDoc().selection.createRange(); + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/de_dlg.js new file mode 100644 index 00000000..7c40acd9 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.searchreplace_dlg',{findwhat:"Zu suchender Text",replacewith:"Ersetzen durch",direction:"Suchrichtung",up:"Aufw\u00e4rts",down:"Abw\u00e4rts",mcase:"Gro\u00df-/Kleinschreibung beachten",findnext:"Weitersuchen",allreplaced:"Alle Vorkommen der Zeichenkette wurden ersetzt.","searchnext_desc":"Weitersuchen",notfound:"Die Suche ist am Ende angelangt. Die Zeichenkette konnte nicht gefunden werden.","search_title":"Suchen","replace_title":"Suchen/Ersetzen",replaceall:"Alle ersetzen",replace:"Ersetzen"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/en_dlg.js new file mode 100644 index 00000000..8a659009 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.searchreplace_dlg',{findwhat:"Find What",replacewith:"Replace with",direction:"Direction",up:"Up",down:"Down",mcase:"Match Case",findnext:"Find Next",allreplaced:"All occurrences of the search string were replaced.","searchnext_desc":"Find Again",notfound:"The search has been completed. The search string could not be found.","search_title":"Find","replace_title":"Find/Replace",replaceall:"Replace All",replace:"Replace"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/hu_dlg.js new file mode 100644 index 00000000..c34352d6 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.searchreplace_dlg',{findwhat:"Mit keres",replacewith:"Mire cser\u00e9l",direction:"Ir\u00e1ny",up:"Fel",down:"Le",mcase:"Kis- \u00e9s nagybet\u0171k megk\u00fcl\u00f6nb\u00f6ztet\u00e9se",findnext:"K\u00f6vetkez\u0151 keres\u00e9se",allreplaced:"A keresett r\u00e9szsz\u00f6veg minden el\u0151fordul\u00e1sa cser\u00e9lve lett.","searchnext_desc":"Keres\u00e9s megint",notfound:"A keres\u00e9s v\u00e9get \u00e9rt. A keresett sz\u00f6vegr\u00e9sz nem tal\u00e1lhat\u00f3.","search_title":"Keres\u00e9s","replace_title":"Keres\u00e9s/Csere",replaceall:"\u00d6sszes cser\u00e9je",replace:"Csere"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/ja_dlg.js new file mode 100644 index 00000000..a12eb783 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.searchreplace_dlg',{findwhat:"\u691c\u7d22\u3059\u308b\u6587\u5b57\u5217",replacewith:"\u7f6e\u63db\u5f8c\u306e\u6587\u5b57\u5217",direction:"\u65b9\u5411",up:"\u4e0a\u3078",down:"\u4e0b\u3078",mcase:"\u5927\u6587\u5b57\u30fb\u5c0f\u6587\u5b57\u306e\u533a\u5225",findnext:"\u6b21\u3092\u691c\u7d22",allreplaced:"\u3059\u3079\u3066\u7f6e\u63db\u3057\u307e\u3057\u305f\u3002","searchnext_desc":"\u518d\u691c\u7d22",notfound:"\u691c\u7d22\u3092\u5b8c\u4e86\u3057\u307e\u3057\u305f\u3002\u691c\u7d22\u6587\u5b57\u5217\u306f\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002","search_title":"\u691c\u7d22","replace_title":"\u691c\u7d22\u3068\u7f6e\u63db",replaceall:"\u3059\u3079\u3066\u7f6e\u63db",replace:"\u7f6e\u63db"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm new file mode 100755 index 00000000..2443a918 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/searchreplace/searchreplace.htm @@ -0,0 +1,100 @@ + + + + {#searchreplace_dlg.replace_title} + + + + + + + + +
+ + +
+
+ + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + +
+
+
+ +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + +
+
+
+ +
+ +
+ + + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/css/content.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/css/content.css new file mode 100644 index 00000000..24efa021 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/css/content.css @@ -0,0 +1 @@ +.mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin.js new file mode 100644 index 00000000..48549c92 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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()}});if(e.settings.content_css!==false){e.contentCSS.push(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(){if(n==f.selectedLang){return}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$2");while((s=p.indexOf(""))!=-1){o=p.substring(0,s);if(o.length){r=j.createTextNode(g.decode(o));q.appendChild(r)}p=p.substring(s+10);s=p.indexOf("");o=p.substring(0,s);p=p.substring(s+11);q.appendChild(g.create("span",{"class":"mceItemHiddenSpellWord"},o))}if(p.length){r=j.createTextNode(g.decode(p));q.appendChild(r)}}else{q.innerHTML=p.replace(f,'$1$2')}g.replace(q,t)}});i.setRng(d)},_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){d=h.controlManager.createDropMenu("spellcheckermenu",{"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)}if(h.getParam("show_ignore_words",true)){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()});l=b.getPos(h.getContentAreaContainer());d.settings.offset_x=l.x;d.settings.offset_y=l.y;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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin_src.js new file mode 100644 index 00000000..86fdfceb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/editor_plugin_src.js @@ -0,0 +1,436 @@ +/** + * 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(); + }); + + if (ed.settings.content_css !== false) + ed.contentCSS.push(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() { + if (v == t.selectedLang) { + return; + } + 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 elements content is broken after spellchecking. + // Bug #1408: Preceding whitespace characters are removed + // @TODO: I'm not sure that both are still issues on IE9. + if (tinymce.isIE) { + // Enclose mispelled words with temporal tag + v = v.replace(rx, '$1$2'); + // Loop over the content finding mispelled words + while ((pos = v.indexOf('')) != -1) { + // Add text node for the content before the word + txt = v.substring(0, pos); + if (txt.length) { + node = doc.createTextNode(dom.decode(txt)); + elem.appendChild(node); + } + v = v.substring(pos+10); + pos = v.indexOf(''); + txt = v.substring(0, pos); + v = v.substring(pos+11); + // Add span element for the word + elem.appendChild(dom.create('span', {'class' : 'mceItemHiddenSpellWord'}, txt)); + } + // Add text node for the rest of the content + if (v.length) { + node = doc.createTextNode(dom.decode(v)); + elem.appendChild(node); + } + } else { + // Other browsers preserve whitespace characters on innerHTML usage + elem.innerHTML = v.replace(rx, '$1$2'); + } + + // Finally, replace the node with the container + dom.replace(elem, n); + } + }); + + se.setRng(r); + }, + + _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) { + m = ed.controlManager.createDropMenu('spellcheckermenu', {'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); + + if (ed.getParam('show_ignore_words', true)) { + 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(); + }); + + p1 = DOM.getPos(ed.getContentAreaContainer()); + m.settings.offset_x = p1.x; + m.settings.offset_y = p1.y; + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/img/wline.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/img/wline.gif new file mode 100644 index 00000000..7d0a4dbc Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/spellchecker/img/wline.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/css/props.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/css/props.css new file mode 100755 index 00000000..3b8f0ee7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/css/props.css @@ -0,0 +1,14 @@ +#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_toggle_insert_span {padding-top:10px;} +.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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin.js new file mode 100755 index 00000000..dda9f928 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.StylePlugin",{init:function(a,b){a.addCommand("mceStyleProps",function(){var c=false;var f=a.selection.getSelectedBlocks();var d=[];if(f.length===1){d.push(a.selection.getNode().style.cssText)}else{tinymce.each(f,function(g){d.push(a.dom.getAttrib(g,"style"))});c=true}a.windowManager.open({file:b+"/props.htm",width:480+parseInt(a.getLang("style.delta_width",0)),height:340+parseInt(a.getLang("style.delta_height",0)),inline:1},{applyStyleToBlocks:c,plugin_url:b,styles:d})});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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin_src.js new file mode 100755 index 00000000..eaa7c771 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/editor_plugin_src.js @@ -0,0 +1,71 @@ +/** + * 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() { + + var applyStyleToBlocks = false; + var blocks = ed.selection.getSelectedBlocks(); + var styles = []; + + if (blocks.length === 1) { + styles.push(ed.selection.getNode().style.cssText); + } + else { + tinymce.each(blocks, function(block) { + styles.push(ed.dom.getAttrib(block, 'style')); + }); + applyStyleToBlocks = true; + } + + ed.windowManager.open({ + file : url + '/props.htm', + width : 480 + parseInt(ed.getLang('style.delta_width', 0)), + height : 340 + parseInt(ed.getLang('style.delta_height', 0)), + inline : 1 + }, { + applyStyleToBlocks : applyStyleToBlocks, + plugin_url : url, + styles : styles + }); + }); + + 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); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/js/props.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/js/props.js new file mode 100644 index 00000000..0a8a8ec3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/js/props.js @@ -0,0 +1,709 @@ +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 aggregateStyles(allStyles) { + var mergedStyles = {}; + + tinymce.each(allStyles, function(style) { + if (style !== '') { + var parsedStyles = tinyMCEPopup.editor.dom.parseStyle(style); + for (var name in parsedStyles) { + if (parsedStyles.hasOwnProperty(name)) { + if (mergedStyles[name] === undefined) { + mergedStyles[name] = parsedStyles[name]; + } + else if (name === 'text-decoration') { + if (mergedStyles[name].indexOf(parsedStyles[name]) === -1) { + mergedStyles[name] = mergedStyles[name] +' '+ parsedStyles[name]; + } + } + } + } + } + }); + + return mergedStyles; +} + +var applyActionIsInsert; +var existingStyles; + +function init(ed) { + var ce = document.getElementById('container'), h; + + existingStyles = aggregateStyles(tinyMCEPopup.getWindowArg('styles')); + ce.style.cssText = tinyMCEPopup.editor.dom.serializeStyle(existingStyles); + + applyActionIsInsert = ed.getParam("edit_css_style_insert_span", false); + document.getElementById('toggle_insert_span').checked = applyActionIsInsert; + + 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'); + f.text_none.checked = inStr(ce.style.textDecoration, 'none'); + updateTextDecorations(); + + // 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)); + selectByValue(f, 'box_float', ce.style.cssFloat || 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; + 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); +} + +function updateTextDecorations(){ + var el = document.forms[0].elements; + + var textDecorations = ["text_underline", "text_overline", "text_linethrough", "text_blink"]; + var noneChecked = el["text_none"].checked; + tinymce.each(textDecorations, function(id) { + el[id].disabled = noneChecked; + if (noneChecked) { + el[id].checked = false; + } + }); +} + +tinyMCEPopup.onInit.add(init); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/de_dlg.js new file mode 100644 index 00000000..ad04664e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.style_dlg',{"text_lineheight":"Zeilenh\u00f6he","text_variant":"Variante","text_style":"Stil","text_weight":"Dicke","text_size":"Gr\u00f6\u00dfe","text_font":"Schriftart","text_props":"Text","positioning_tab":"Positionierung","list_tab":"Liste","border_tab":"Rahmen","box_tab":"Box","block_tab":"Block","background_tab":"Hintergrund","text_tab":"Text",apply:"\u00dcbernehmen",title:"CSS-Styles bearbeiten",clip:"Ausschnitt",placement:"Platzierung",overflow:"Verhalten bei \u00dcbergr\u00f6\u00dfe",zindex:"Z-Wert",visibility:"Sichtbar","positioning_type":"Art der Positionierung",position:"Positionierung","bullet_image":"Listenpunkt-Grafik","list_type":"Listenpunkt-Art",color:"Textfarbe",height:"H\u00f6he",width:"Breite",style:"Format",margin:"\u00c4u\u00dferer Abstand",left:"Links",bottom:"Unten",right:"Rechts",top:"Oben",same:"Alle gleich",padding:"Innerer Abstand","box_clear":"Umflie\u00dfung verhindern","box_float":"Umflie\u00dfung","box_height":"H\u00f6he","box_width":"Breite","block_display":"Umbruchverhalten","block_whitespace":"Automatischer Umbruch","block_text_indent":"Einr\u00fcckung","block_text_align":"Ausrichtung","block_vertical_alignment":"Vertikale Ausrichtung","block_letterspacing":"Buchstabenabstand","block_wordspacing":"Wortabstand","background_vpos":"Position Y","background_hpos":"Position X","background_attachment":"Wasserzeicheneffekt","background_repeat":"Wiederholung","background_image":"Hintergrundbild","background_color":"Hintergrundfarbe","text_none":"keine","text_blink":"blinkend","text_case":"Schreibung","text_striketrough":"durchgestrichen","text_underline":"unterstrichen","text_overline":"\u00fcberstrichen","text_decoration":"Gestaltung","text_color":"Farbe",text:"Text",background:"Hintergrund",block:"Block",box:"Box",border:"Rahmen",list:"Liste"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/en_dlg.js new file mode 100644 index 00000000..9a1d4a22 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.style_dlg',{"text_lineheight":"Line Height","text_variant":"Variant","text_style":"Style","text_weight":"Weight","text_size":"Size","text_font":"Font","text_props":"Text","positioning_tab":"Positioning","list_tab":"List","border_tab":"Border","box_tab":"Box","block_tab":"Block","background_tab":"Background","text_tab":"Text",apply:"Apply",title:"Edit CSS Style",clip:"Clip",placement:"Placement",overflow:"Overflow",zindex:"Z-index",visibility:"Visibility","positioning_type":"Type",position:"Position","bullet_image":"Bullet Image","list_type":"Type",color:"Color",height:"Height",width:"Width",style:"Style",margin:"Margin",left:"Left",bottom:"Bottom",right:"Right",top:"Top",same:"Same for All",padding:"Padding","box_clear":"Clear","box_float":"Float","box_height":"Height","box_width":"Width","block_display":"Display","block_whitespace":"Whitespace","block_text_indent":"Text Indent","block_text_align":"Text Align","block_vertical_alignment":"Vertical Alignment","block_letterspacing":"Letter Spacing","block_wordspacing":"Word Spacing","background_vpos":"Vertical Position","background_hpos":"Horizontal Position","background_attachment":"Attachment","background_repeat":"Repeat","background_image":"Background Image","background_color":"Background Color","text_none":"None","text_blink":"Blink","text_case":"Case","text_striketrough":"Strikethrough","text_underline":"Underline","text_overline":"Overline","text_decoration":"Decoration","text_color":"Color",text:"Text",background:"Background",block:"Block",box:"Box",border:"Border",list:"List"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/hu_dlg.js new file mode 100644 index 00000000..b60f3f73 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.style_dlg',{"text_lineheight":"Sormagass\u00e1g","text_variant":"V\u00e1ltozat","text_style":"St\u00edlus","text_weight":"Sz\u00e9less\u00e9g","text_size":"M\u00e9ret","text_font":"Bet\u0171t\u00edpus","text_props":"Sz\u00f6veg","positioning_tab":"Poz\u00edci\u00f3","list_tab":"Lista","border_tab":"Keret","box_tab":"Doboz","block_tab":"Blokk","background_tab":"H\u00e1tt\u00e9r","text_tab":"Sz\u00f6veg",apply:"Alkalmaz",title:"CSS st\u00edlus szerkest\u00e9se",clip:"Lev\u00e1g\u00e1s",placement:"Elhelyez\u00e9s",overflow:"Kifut\u00e1s",zindex:"Z-index",visibility:"L\u00e1that\u00f3s\u00e1g","positioning_type":"T\u00edpus",position:"Poz\u00edci\u00f3","bullet_image":"Elemk\u00e9p","list_type":"T\u00edpus",color:"Sz\u00edn",height:"Magass\u00e1g",width:"Sz\u00e9less\u00e9g",style:"St\u00edlus",margin:"Marg\u00f3",left:"Balra",bottom:"Lent",right:"Jobbra",top:"Fel\u00fcl",same:"Mindenhol ugyanaz",padding:"Bels\u0151 marg\u00f3","box_clear":"Lebeg\u00e9s (float) t\u00f6rl\u00e9se","box_float":"Lebeg\u00e9s (float)","box_height":"Magass\u00e1g","box_width":"Sz\u00e9less\u00e9g","block_display":"Megjelen\u00edt\u00e9s","block_whitespace":"T\u00e9rk\u00f6z","block_text_indent":"Sz\u00f6veg beh\u00faz\u00e1sa","block_text_align":"Sz\u00f6veg igaz\u00edt\u00e1sa","block_vertical_alignment":"F\u00fcgg\u0151leges igaz\u00edt\u00e1s","block_letterspacing":"Bet\u0171t\u00e1vols\u00e1g","block_wordspacing":"Sz\u00f3t\u00e1vols\u00e1g","background_vpos":"F\u00fcgg\u0151leges hely","background_hpos":"V\u00edzszintes hely","background_attachment":"Csatolm\u00e1ny","background_repeat":"Ism\u00e9tl\u00e9s","background_image":"H\u00e1tt\u00e9rk\u00e9p","background_color":"H\u00e1tt\u00e9rsz\u00edn","text_none":"egyik sem","text_blink":"villog\u00e1s","text_case":"eset","text_striketrough":"\u00e1th\u00fazott","text_underline":"al\u00e1h\u00fazott","text_overline":"fel\u00fclh\u00fazott","text_decoration":"dekor\u00e1ci\u00f3","text_color":"sz\u00edn",text:"Sz\u00f6veg",background:"H\u00e1tt\u00e9r",block:"Blokk",box:"Doboz",border:"Keret",list:"Lista"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/ja_dlg.js new file mode 100644 index 00000000..4d5953cf --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.style_dlg',{"text_lineheight":"\u884c\u306e\u9ad8\u3055","text_variant":"\u5909\u5f62","text_style":"\u30b9\u30bf\u30a4\u30eb","text_weight":"\u592a\u3055","text_size":"\u5927\u304d\u3055","text_font":"\u30d5\u30a9\u30f3\u30c8","text_props":"\u30c6\u30ad\u30b9\u30c8","positioning_tab":"\u4f4d\u7f6e","list_tab":"\u7b87\u6761\u66f8\u304d","border_tab":"\u67a0\u7dda","box_tab":"\u30dc\u30c3\u30af\u30b9","block_tab":"\u30d6\u30ed\u30c3\u30af","background_tab":"\u80cc\u666f","text_tab":"\u6587\u5b57",apply:"\u9069\u7528",title:"CSS\u306e\u30b9\u30bf\u30a4\u30eb\u3092\u7de8\u96c6",clip:"\u5207\u308a\u629c\u304d",placement:"\u914d\u7f6e",overflow:"\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc",zindex:"Z-index",visibility:"\u53ef\u8996\u6027","positioning_type":"\u914d\u7f6e\u65b9\u6cd5",position:"\u8868\u793a\u4f4d\u7f6e","bullet_image":"\u884c\u982d\u6587\u5b57","list_type":"\u7b87\u6761\u66f8\u304d\u306e\u7a2e\u985e",color:"\u8272",height:"\u9ad8\u3055",width:"\u5e45",style:"\u30b9\u30bf\u30a4\u30eb",margin:"\u30de\u30fc\u30b8\u30f3",left:"\u5de6",bottom:"\u4e0b",right:"\u53f3",top:"\u4e0a",same:"\u3059\u3079\u3066\u540c\u3058",padding:"\u30d1\u30c7\u30a3\u30f3\u30b0","box_clear":"\u56de\u308a\u8fbc\u307f\u89e3\u9664","box_float":"\u56de\u308a\u8fbc\u307f","box_height":"\u9ad8\u3055","box_width":"\u5e45","block_display":"\u30c7\u30a3\u30b9\u30d7\u30ec\u30a4","block_whitespace":"\u7a7a\u767d\u6587\u5b57","block_text_indent":"\u30c6\u30ad\u30b9\u30c8\u306e\u5b57\u4e0b\u3052","block_text_align":"\u30c6\u30ad\u30b9\u30c8\u306e\u6c34\u5e73\u914d\u7f6e","block_vertical_alignment":"\u5782\u76f4\u914d\u7f6e","block_letterspacing":"\u6587\u5b57\u9593\u9694","block_wordspacing":"\u5358\u8a9e\u9593\u9694","background_vpos":"\u5782\u76f4\u4f4d\u7f6e","background_hpos":"\u6c34\u5e73\u4f4d\u7f6e","background_attachment":"\u6dfb\u4ed8","background_repeat":"\u7e70\u308a\u8fd4\u3057","background_image":"\u80cc\u666f\u753b\u50cf","background_color":"\u80cc\u666f\u8272","text_none":"\u306a\u3057","text_blink":"\u70b9\u6ec5","text_case":"\u5927\u6587\u5b57/\u5c0f\u6587\u5b57","text_striketrough":"\u6253\u6d88\u3057\u7dda","text_underline":"\u4e0b\u7dda","text_overline":"\u4e0a\u7dda","text_decoration":"\u88c5\u98fe","text_color":"\u8272",text:"\u6587\u5b57",background:"\u80cc\u666f",block:"\u30d6\u30ed\u30c3\u30af",box:"\u30dc\u30c3\u30af\u30b9",border:"\u67a0\u7dda",list:"\u7b87\u6761\u66f8\u304d"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/props.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/props.htm new file mode 100755 index 00000000..7dc087a3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/props.htm @@ -0,0 +1,845 @@ + + + + {#style_dlg.title} + + + + + + + + + + +
+ + +
+
+
+ {#style_dlg.text} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
  + + +
+
+ +
+ + + +
+ + + + + + +
+ +   + + +
+
+ +
+ + + + + +
 
+
{#style_dlg.text_decoration} + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ {#style_dlg.background} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +
 
+
+ + + + +
 
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+
+
+ +
+
+ {#style_dlg.block} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + + +
+
+
+
+ +
+
+ {#style_dlg.box} + + + + + + + + + + + + + + +
+ + + + + + +
  + + +
+
   
+ + + + + + +
  + + +
+
   
+
+ +
+
+ {#style_dlg.padding} + + + + + + + + + + + + + + + + + + + + + + +
 
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+
+
+ +
+
+ {#style_dlg.margin} + + + + + + + + + + + + + + + + + + + + + + +
 
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+ + + + + + +
  + + +
+
+
+
+
+
+ +
+
+ {#style_dlg.border} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  {#style_dlg.style} {#style_dlg.width} {#style_dlg.color}
      
{#style_dlg.top}   + + + + + + +
  + + +
+
  + + + + + +
 
+
{#style_dlg.right}   + + + + + + +
  + + +
+
  + + + + + +
 
+
{#style_dlg.bottom}   + + + + + + +
  + + +
+
  + + + + + +
 
+
{#style_dlg.left}   + + + + + + +
  + + +
+
  + + + + + +
 
+
+
+
+ +
+
+ {#style_dlg.list} + + + + + + + + + + + + + + + +
+
+
+ +
+
+ {#style_dlg.position} + + + + + + + + + + + + + + + + + + + + + +
   
+ + + + + + +
  + + +
+
   
+ + + + + + +
  + + +
+
   
+
+ +
+
+ {#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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/readme.txt b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/readme.txt new file mode 100755 index 00000000..5bac3020 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/style/readme.txt @@ -0,0 +1,19 @@ +Edit CSS Style plug-in notes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Unlike WYSIWYG editor functionality that operates only on the selected text, +typically by inserting new HTML elements with the specified styles. +This plug-in operates on the HTML blocks surrounding the selected text. +No new HTML elements are created. + +This plug-in only operates on the surrounding blocks and not the nearest +parent node. This means that if a block encapsulates a node, +e.g

text

, then only the styles in the block are +recognized, not those in the span. + +When selecting text that includes multiple blocks at the same level (peers), +this plug-in accumulates the specified styles in all of the surrounding blocks +and populates the dialogue checkboxes accordingly. There is no differentiation +between styles set in all the blocks versus styles set in some of the blocks. + +When the [Update] or [Apply] buttons are pressed, the styles selected in the +checkboxes are applied to all blocks that surround the selected text. diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin.js new file mode 100644 index 00000000..2c512916 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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(t){n=c.select(":input:enabled,*[tabindex]:not(iframe)");function s(v){return v.nodeName==="BODY"||(v.type!="hidden"&&!(v.style.display=="none")&&!(v.style.visibility=="hidden")&&s(v.parentNode))}function i(v){return v.attributes.tabIndex.specified||v.nodeName=="INPUT"||v.nodeName=="TEXTAREA"}function u(){return tinymce.isIE6||tinymce.isIE7}function r(v){return((!u()||i(v)))&&v.getAttribute("tabindex")!="-1"&&s(v)}d(n,function(w,v){if(w.id==l.id){j=v;return false}});if(t>0){for(m=j+1;m=0;m--){if(r(n[m])){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(n.id&&(l=tinymce.get(n.id||n.name))){l.focus()}else{window.setTimeout(function(){if(!tinymce.isWebKit){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)}},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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin_src.js new file mode 100644 index 00000000..94f45320 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/tabfocus/editor_plugin_src.js @@ -0,0 +1,122 @@ +/** + * 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) { + el = DOM.select(':input:enabled,*[tabindex]:not(iframe)'); + + function canSelectRecursive(e) { + return e.nodeName==="BODY" || (e.type != 'hidden' && + !(e.style.display == "none") && + !(e.style.visibility == "hidden") && canSelectRecursive(e.parentNode)); + } + function canSelectInOldIe(el) { + return el.attributes["tabIndex"].specified || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA"; + } + function isOldIe() { + return tinymce.isIE6 || tinymce.isIE7; + } + function canSelect(el) { + return ((!isOldIe() || canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el); + } + + 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 (canSelect(el[i])) + return el[i]; + } + } else { + for (i = x - 1; i >= 0; i--) { + if (canSelect(el[i])) + 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 (el.id && (ed = tinymce.get(el.id || el.name))) + ed.focus(); + else + window.setTimeout(function() { + if (!tinymce.isWebKit) + 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); + + }, + + 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); +})(); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/cell.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/cell.htm new file mode 100755 index 00000000..a72a8d69 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/cell.htm @@ -0,0 +1,180 @@ + + + + {#table_dlg.cell_title} + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/cell.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/cell.css new file mode 100755 index 00000000..a067ecdf --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/row.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/row.css new file mode 100755 index 00000000..1f7755da --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/table.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/css/table.css new file mode 100755 index 00000000..d11c3f69 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin.js new file mode 100755 index 00000000..c4c3264e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin.js @@ -0,0 +1 @@ +(function(d){var e=d.each;function c(g,h){var j=h.ownerDocument,f=j.createRange(),k;f.setStartBefore(h);f.setEnd(g.endContainer,g.endOffset);k=j.createElement("body");k.appendChild(f.cloneContents());return k.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length==0}function a(g,f){return parseInt(g.getAttribute(f)||1)}function b(H,G,K){var g,L,D,o;t();o=G.getParent(K.getStart(),"th,td");if(o){L=F(o);D=I();o=z(L.x,L.y)}function A(N,M){N=N.cloneNode(M);N.removeAttribute("id");return N}function t(){var M=0;g=[];e(["thead","tbody","tfoot"],function(N){var O=G.select("> "+N+" tr",H);e(O,function(P,Q){Q+=M;e(G.select("> td, > th",P),function(W,R){var S,T,U,V;if(g[Q]){while(g[Q][R]){R++}}U=a(W,"rowspan");V=a(W,"colspan");for(T=Q;T'}return false}},"childNodes");M=A(M,false);s(M,"rowSpan",1);s(M,"colSpan",1);if(N){M.appendChild(N)}else{if(!d.isIE){M.innerHTML='
'}}return M}function q(){var M=G.createRng();e(G.select("tr",H),function(N){if(N.cells.length==0){G.remove(N)}});if(G.select("tr",H).length==0){M.setStartAfter(H);M.setEndAfter(H);K.setRng(M);G.remove(H);return}e(G.select("thead,tbody,tfoot",H),function(N){if(N.rows.length==0){G.remove(N)}});t();row=g[Math.min(g.length-1,L.y)];if(row){K.select(row[Math.min(row.length-1,L.x)].elm,true);K.collapse(true)}}function u(S,Q,U,R){var P,N,M,O,T;P=g[Q][S].elm.parentNode;for(M=1;M<=U;M++){P=G.getNext(P,"tr");if(P){for(N=S;N>=0;N--){T=g[Q+M][N].elm;if(T.parentNode==P){for(O=1;O<=R;O++){G.insertAfter(f(T),T)}break}}if(N==-1){for(O=1;O<=R;O++){P.insertBefore(f(P.cells[0]),P.cells[0])}}}}}function C(){e(g,function(M,N){e(M,function(P,O){var S,R,T,Q;if(j(P)){P=P.elm;S=a(P,"colspan");R=a(P,"rowspan");if(S>1||R>1){s(P,"rowSpan",1);s(P,"colSpan",1);for(Q=0;Q1){s(S,"rowSpan",O+1);continue}}else{if(M>0&&g[M-1][R]){V=g[M-1][R].elm;O=a(V,"rowSpan");if(O>1){s(V,"rowSpan",O+1);continue}}}N=f(S);s(N,"colSpan",S.colSpan);U.appendChild(N);P=S}}if(U.hasChildNodes()){if(!Q){G.insertAfter(U,T)}else{T.parentNode.insertBefore(U,T)}}}function h(N){var O,M;e(g,function(P,Q){e(P,function(S,R){if(j(S)){O=R;if(N){return false}}});if(N){return !O}});e(g,function(S,T){var P,Q,R;if(!S[O]){return}P=S[O].elm;if(P!=M){R=a(P,"colspan");Q=a(P,"rowspan");if(R==1){if(!N){G.insertAfter(f(P),P);u(O,T,Q-1,R)}else{P.parentNode.insertBefore(f(P),P);u(O,T,Q-1,R)}}else{s(P,"colSpan",P.colSpan+1)}M=P}})}function n(){var M=[];e(g,function(N,O){e(N,function(Q,P){if(j(Q)&&d.inArray(M,P)===-1){e(g,function(T){var R=T[P].elm,S;S=a(R,"colSpan");if(S>1){s(R,"colSpan",S-1)}else{G.remove(R)}});M.push(P)}})});q()}function m(){var N;function M(Q){var P,R,O;P=G.getNext(Q,"tr");e(Q.cells,function(S){var T=a(S,"rowSpan");if(T>1){s(S,"rowSpan",T-1);R=F(S);u(R.x,R.y,1,1)}});R=F(Q.cells[0]);e(g[R.y],function(S){var T;S=S.elm;if(S!=O){T=a(S,"rowSpan");if(T<=1){G.remove(S)}else{s(S,"rowSpan",T-1)}O=S}})}N=k();e(N.reverse(),function(O){M(O)});q()}function E(){var M=k();G.remove(M);q();return M}function J(){var M=k();e(M,function(O,N){M[N]=A(O,true)});return M}function B(O,N){var P=k(),M=P[N?0:P.length-1],Q=M.cells.length;e(g,function(S){var R;Q=0;e(S,function(U,T){if(U.real){Q+=U.colspan}if(U.elm.parentNode==M){R=1}});if(R){return false}});if(!N){O.reverse()}e(O,function(T){var S=T.cells.length,R;for(i=0;iN){N=R}if(Q>M){M=Q}if(S.real){U=S.colspan-1;T=S.rowspan-1;if(U){if(R+U>N){N=R+U}}if(T){if(Q+T>M){M=Q+T}}}}})});return{x:N,y:M}}function v(S){var P,O,U,T,N,M,Q,R;D=F(S);if(L&&D){P=Math.min(L.x,D.x);O=Math.min(L.y,D.y);U=Math.max(L.x,D.x);T=Math.max(L.y,D.y);N=U;M=T;for(y=O;y<=M;y++){S=g[y][P];if(!S.real){if(P-(S.colspan-1)N){N=x+Q}}if(R){if(y+R>M){M=y+R}}}}}G.removeClass(G.select("td.mceSelected,th.mceSelected"),"mceSelected");for(y=O;y<=M;y++){for(x=P;x<=N;x++){if(g[y][x]){G.addClass(g[y][x].elm,"mceSelected")}}}}}d.extend(this,{deleteTable:r,split:C,merge:p,insertRow:l,insertCol:h,deleteCols:n,deleteRows:m,cutRows:E,copyRows:J,pasteRows:B,getPos:F,setStartCell:w,setEndCell:v})}d.create("tinymce.plugins.TablePlugin",{init:function(g,h){var f,m,j=true;function l(p){var o=g.selection,n=g.dom.getParent(p||o.getNode(),"table");if(n){return new b(n,g.dom,o)}}function k(){g.getBody().style.webkitUserSelect="";if(j){g.dom.removeClass(g.dom.select("td.mceSelected,th.mceSelected"),"mceSelected");j=false}}e([["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(n){g.addButton(n[0],{title:n[1],cmd:n[2],ui:n[3]})});if(!d.isIE){g.onClick.add(function(n,o){o=o.target;if(o.nodeName==="TABLE"){n.selection.select(o);n.nodeChanged()}})}g.onPreProcess.add(function(o,p){var n,q,r,t=o.dom,s;n=t.select("table",p.node);q=n.length;while(q--){r=n[q];t.setAttrib(r,"data-mce-style","");if((s=t.getAttrib(r,"width"))){t.setStyle(r,"width",s);t.setAttrib(r,"width","")}if((s=t.getAttrib(r,"height"))){t.setStyle(r,"height",s);t.setAttrib(r,"height","")}}});g.onNodeChange.add(function(q,o,s){var r;s=q.selection.getStart();r=q.dom.getParent(s,"td,th,caption");o.setActive("table",s.nodeName==="TABLE"||!!r);if(r&&r.nodeName==="CAPTION"){r=0}o.setDisabled("delete_table",!r);o.setDisabled("delete_col",!r);o.setDisabled("delete_table",!r);o.setDisabled("delete_row",!r);o.setDisabled("col_after",!r);o.setDisabled("col_before",!r);o.setDisabled("row_after",!r);o.setDisabled("row_before",!r);o.setDisabled("row_props",!r);o.setDisabled("cell_props",!r);o.setDisabled("split_cells",!r);o.setDisabled("merge_cells",!r)});g.onInit.add(function(r){var p,t,q=r.dom,u;f=r.windowManager;r.onMouseDown.add(function(w,z){if(z.button!=2){k();t=q.getParent(z.target,"td,th");p=q.getParent(t,"table")}});q.bind(r.getDoc(),"mouseover",function(C){var A,z,B=C.target;if(t&&(u||B!=t)&&(B.nodeName=="TD"||B.nodeName=="TH")){z=q.getParent(B,"table");if(z==p){if(!u){u=l(z);u.setStartCell(t);r.getBody().style.webkitUserSelect="none"}u.setEndCell(B);j=true}A=r.selection.getSel();try{if(A.removeAllRanges){A.removeAllRanges()}else{A.empty()}}catch(w){}C.preventDefault()}});r.onMouseUp.add(function(F,G){var z,B=F.selection,H,I=B.getSel(),w,C,A,E;if(t){if(u){F.getBody().style.webkitUserSelect=""}function D(J,L){var K=new d.dom.TreeWalker(J,J);do{if(J.nodeType==3&&d.trim(J.nodeValue).length!=0){if(L){z.setStart(J,0)}else{z.setEnd(J,J.nodeValue.length)}return}if(J.nodeName=="BR"){if(L){z.setStartBefore(J)}else{z.setEndBefore(J)}return}}while(J=(L?K.next():K.prev()))}H=q.select("td.mceSelected,th.mceSelected");if(H.length>0){z=q.createRng();C=H[0];E=H[H.length-1];z.setStartBefore(C);z.setEndAfter(C);D(C,1);w=new d.dom.TreeWalker(C,q.getParent(H[0],"table"));do{if(C.nodeName=="TD"||C.nodeName=="TH"){if(!q.hasClass(C,"mceSelected")){break}A=C}}while(C=w.next());D(A);B.setRng(z)}F.nodeChanged();t=u=p=null}});r.onKeyUp.add(function(w,z){k()});r.onKeyDown.add(function(w,z){n(w)});r.onMouseDown.add(function(w,z){if(z.button!=2){n(w)}});function o(D,z,A,F){var B=3,G=D.dom.getParent(z.startContainer,"TABLE"),C,w,E;if(G){C=G.parentNode}w=z.startContainer.nodeType==B&&z.startOffset==0&&z.endOffset==0&&F&&(A.nodeName=="TR"||A==C);E=(A.nodeName=="TD"||A.nodeName=="TH")&&!F;return w||E}function n(A){if(!d.isWebKit){return}var z=A.selection.getRng();var C=A.selection.getNode();var B=A.dom.getParent(z.startContainer,"TD,TH");if(!o(A,z,C,B)){return}if(!B){B=C}var w=B.lastChild;while(w.lastChild){w=w.lastChild}z.setEnd(w,w.nodeValue.length);A.selection.setRng(z)}r.plugins.table.fixTableCellSelection=n;if(r&&r.plugins.contextmenu){r.plugins.contextmenu.onContextMenu.add(function(A,w,C){var D,B=r.selection,z=B.getNode()||r.getBody();if(r.dom.getParent(C,"td")||r.dom.getParent(C,"th")||r.dom.select("td.mceSelected,th.mceSelected").length){w.removeAll();if(z.nodeName=="A"&&!r.dom.getAttrib(z,"name")){w.add({title:"advanced.link_desc",icon:"link",cmd:r.plugins.advlink?"mceAdvLink":"mceLink",ui:true});w.add({title:"advanced.unlink_desc",icon:"unlink",cmd:"UnLink"});w.addSeparator()}if(z.nodeName=="IMG"&&z.className.indexOf("mceItem")==-1){w.add({title:"advanced.image_desc",icon:"image",cmd:r.plugins.advimage?"mceAdvImage":"mceImage",ui:true});w.addSeparator()}w.add({title:"table.desc",icon:"table",cmd:"mceInsertTable",value:{action:"insert"}});w.add({title:"table.props_desc",icon:"table_props",cmd:"mceInsertTable"});w.add({title:"table.del",icon:"delete_table",cmd:"mceTableDelete"});w.addSeparator();D=w.addMenu({title:"table.cell"});D.add({title:"table.cell_desc",icon:"cell_props",cmd:"mceTableCellProps"});D.add({title:"table.split_cells_desc",icon:"split_cells",cmd:"mceTableSplitCells"});D.add({title:"table.merge_cells_desc",icon:"merge_cells",cmd:"mceTableMergeCells"});D=w.addMenu({title:"table.row"});D.add({title:"table.row_desc",icon:"row_props",cmd:"mceTableRowProps"});D.add({title:"table.row_before_desc",icon:"row_before",cmd:"mceTableInsertRowBefore"});D.add({title:"table.row_after_desc",icon:"row_after",cmd:"mceTableInsertRowAfter"});D.add({title:"table.delete_row_desc",icon:"delete_row",cmd:"mceTableDeleteRow"});D.addSeparator();D.add({title:"table.cut_row_desc",icon:"cut",cmd:"mceTableCutRow"});D.add({title:"table.copy_row_desc",icon:"copy",cmd:"mceTableCopyRow"});D.add({title:"table.paste_row_before_desc",icon:"paste",cmd:"mceTablePasteRowBefore"}).setDisabled(!m);D.add({title:"table.paste_row_after_desc",icon:"paste",cmd:"mceTablePasteRowAfter"}).setDisabled(!m);D=w.addMenu({title:"table.col"});D.add({title:"table.col_before_desc",icon:"col_before",cmd:"mceTableInsertColBefore"});D.add({title:"table.col_after_desc",icon:"col_after",cmd:"mceTableInsertColAfter"});D.add({title:"table.delete_col_desc",icon:"delete_col",cmd:"mceTableDeleteCol"})}else{w.add({title:"table.desc",icon:"table",cmd:"mceInsertTable"})}})}if(d.isWebKit){function v(C,N){var L=d.VK;var Q=N.keyCode;function O(Y,U,S){var T=Y?"previousSibling":"nextSibling";var Z=C.dom.getParent(U,"tr");var X=Z[T];if(X){z(C,U,X,Y);d.dom.Event.cancel(S);return true}else{var aa=C.dom.getParent(Z,"table");var W=Z.parentNode;var R=W.nodeName.toLowerCase();if(R==="tbody"||R===(Y?"tfoot":"thead")){var V=w(Y,aa,W,"tbody");if(V!==null){return K(Y,V,U,S)}}return M(Y,Z,T,aa,S)}}function w(V,T,U,X){var S=C.dom.select(">"+X,T);var R=S.indexOf(U);if(V&&R===0||!V&&R===S.length-1){return B(V,T)}else{if(R===-1){var W=U.tagName.toLowerCase()==="thead"?0:S.length-1;return S[W]}else{return S[R+(V?-1:1)]}}}function B(U,T){var S=U?"thead":"tfoot";var R=C.dom.select(">"+S,T);return R.length!==0?R[0]:null}function K(V,T,S,U){var R=J(T,V);R&&z(C,S,R,V);d.dom.Event.cancel(U);return true}function M(Y,U,R,X,W){var S=X[R];if(S){F(S);return true}else{var V=C.dom.getParent(X,"td,th");if(V){return O(Y,V,W)}else{var T=J(U,!Y);F(T);return d.dom.Event.cancel(W)}}}function J(S,R){var T=S&&S[R?"lastChild":"firstChild"];return T&&T.nodeName==="BR"?C.dom.getParent(T,"td,th"):T}function F(R){C.selection.setCursorLocation(R,0)}function A(){return Q==L.UP||Q==L.DOWN}function D(R){var T=R.selection.getNode();var S=R.dom.getParent(T,"tr");return S!==null}function P(S){var R=0;var T=S;while(T.previousSibling){T=T.previousSibling;R=R+a(T,"colspan")}return R}function E(T,R){var U=0;var S=0;e(T.children,function(V,W){U=U+a(V,"colspan");S=W;if(U>R){return false}});return S}function z(T,W,Y,V){var X=P(T.dom.getParent(W,"td,th"));var S=E(Y,X);var R=Y.childNodes[S];var U=J(R,V);F(U||R)}function H(R){var T=C.selection.getNode();var U=C.dom.getParent(T,"td,th");var S=C.dom.getParent(R,"td,th");return U&&U!==S&&I(U,S)}function I(S,R){return C.dom.getParent(S,"TABLE")===C.dom.getParent(R,"TABLE")}if(A()&&D(C)){var G=C.selection.getNode();setTimeout(function(){if(H(G)){O(!N.shiftKey&&Q===L.UP,G,N)}},0)}}r.onKeyDown.add(v)}function s(){var w;for(w=r.getBody().lastChild;w&&w.nodeType==3&&!w.nodeValue.length;w=w.previousSibling){}if(w&&w.nodeName=="TABLE"){if(r.settings.forced_root_block){r.dom.add(r.getBody(),r.settings.forced_root_block,null,d.isIE?" ":'
')}else{r.dom.add(r.getBody(),"br",{"data-mce-bogus":"1"})}}}if(d.isGecko){r.onKeyDown.add(function(z,B){var w,A,C=z.dom;if(B.keyCode==37||B.keyCode==38){w=z.selection.getRng();A=C.getParent(w.startContainer,"table");if(A&&z.getBody().firstChild==A){if(c(w,A)){w=C.createRng();w.setStartBefore(A);w.setEndBefore(A);z.selection.setRng(w);B.preventDefault()}}}})}r.onKeyUp.add(s);r.onSetContent.add(s);r.onVisualAid.add(s);r.onPreProcess.add(function(w,A){var z=A.node.lastChild;if(z&&(z.nodeName=="BR"||(z.childNodes.length==1&&(z.firstChild.nodeName=="BR"||z.firstChild.nodeValue=="\u00a0")))&&z.previousSibling&&z.previousSibling.nodeName=="TABLE"){w.dom.remove(z)}});s();r.startContent=r.getContent({format:"raw"})});e({mceTableSplitCells:function(n){n.split()},mceTableMergeCells:function(o){var p,q,n;n=g.dom.getParent(g.selection.getNode(),"th,td");if(n){p=n.rowSpan;q=n.colSpan}if(!g.dom.select("td.mceSelected,th.mceSelected").length){f.open({url:h+"/merge_cells.htm",width:240+parseInt(g.getLang("table.merge_cells_delta_width",0)),height:110+parseInt(g.getLang("table.merge_cells_delta_height",0)),inline:1},{rows:p,cols:q,onaction:function(r){o.merge(n,r.cols,r.rows)},plugin_url:h})}else{o.merge()}},mceTableInsertRowBefore:function(n){n.insertRow(true)},mceTableInsertRowAfter:function(n){n.insertRow()},mceTableInsertColBefore:function(n){n.insertCol(true)},mceTableInsertColAfter:function(n){n.insertCol()},mceTableDeleteCol:function(n){n.deleteCols()},mceTableDeleteRow:function(n){n.deleteRows()},mceTableCutRow:function(n){m=n.cutRows()},mceTableCopyRow:function(n){m=n.copyRows()},mceTablePasteRowBefore:function(n){n.pasteRows(m,true)},mceTablePasteRowAfter:function(n){n.pasteRows(m)},mceTableDelete:function(n){n.deleteTable()}},function(o,n){g.addCommand(n,function(){var p=l();if(p){o(p);g.execCommand("mceRepaint");k()}})});e({mceInsertTable:function(n){f.open({url:h+"/table.htm",width:400+parseInt(g.getLang("table.table_delta_width",0)),height:320+parseInt(g.getLang("table.table_delta_height",0)),inline:1},{plugin_url:h,action:n?n.action:0})},mceTableRowProps:function(){f.open({url:h+"/row.htm",width:400+parseInt(g.getLang("table.rowprops_delta_width",0)),height:295+parseInt(g.getLang("table.rowprops_delta_height",0)),inline:1},{plugin_url:h})},mceTableCellProps:function(){f.open({url:h+"/cell.htm",width:400+parseInt(g.getLang("table.cellprops_delta_width",0)),height:295+parseInt(g.getLang("table.cellprops_delta_height",0)),inline:1},{plugin_url:h})}},function(o,n){g.addCommand(n,function(p,q){o(q)})})}});d.PluginManager.add("table",d.plugins.TablePlugin)})(tinymce); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin_src.js new file mode 100755 index 00000000..dc20b386 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/editor_plugin_src.js @@ -0,0 +1,1452 @@ +/** + * 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; + }; + + function getSpanVal(td, name) { + return parseInt(td.getAttribute(name) || 1); + } + + /** + * 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 setSpanVal(td, name, val) { + if (td) { + val = parseInt(val); + + if (val === 1) + td.removeAttribute(name, 1); + else + td.setAttribute(name, val, 1); + } + } + + function isCellSelected(cell) { + return cell && (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); + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(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) { + setSpanVal(cell, 'rowSpan', 1); + setSpanVal(cell, 'colSpan', 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, count; + + // 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 { + startPos = endPos = null; + + // Calculate start/end pos by checking for selected cells in grid works better with context menu + each(grid, function(row, y) { + each(row, function(cell, x) { + if (isCellSelected(cell)) { + if (!startPos) { + startPos = {x: x, y: y}; + } + + endPos = {x: x, y: y}; + } + }); + }); + + // 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; + setSpanVal(startCell, 'colSpan', (endX - startX) + 1); + setSpanVal(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++) { + if (!grid[y] || !grid[y][x]) + continue; + + cell = grid[y][x].elm; + + if (cell != startCell) { + // Move children to startCell + children = tinymce.grep(cell.childNodes); + each(children, function(node) { + startCell.appendChild(node); + }); + + // Remove bogus nodes if there is children in the target cell + if (children.length) { + children = tinymce.grep(startCell.childNodes); + count = 0; + each(children, function(node) { + if (node.nodeName == 'BR' && dom.getAttrib(node, 'data-mce-bogus') && count++ < children.length - 1) + startCell.removeChild(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, rowSpan; + + // 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 not found could be because of an invalid table structure + if (!grid[posY][x]) + continue; + + cell = grid[posY][x].elm; + + if (cell != lastCell) { + if (!before) { + rowSpan = getSpanVal(cell, 'rowspan'); + if (rowSpan > 1) { + setSpanVal(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) { + setSpanVal(otherCell, 'rowSpan', rowSpan + 1); + continue; + } + } + } + + // Insert new cell into new row + newCell = cloneCell(cell); + setSpanVal(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, rowSpan, colSpan; + + if (!row[posX]) + return; + + cell = row[posX].elm; + 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 + setSpanVal(cell, 'colSpan', cell.colSpan + 1); + + 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) + setSpanVal(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) { + setSpanVal(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 + setSpanVal(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]; + setSpanVal(cell, 'colSpan', 1); + setSpanVal(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); + }); + + // Remove current selection + dom.removeClass(dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + }; + + 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++) { + if (grid[y][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, hasCellSelection = true; // Might be selected cells on reload + + 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 = ''; + + if (hasCellSelection) { + ed.dom.removeClass(ed.dom.select('td.mceSelected,th.mceSelected'), 'mceSelected'); + hasCellSelection = false; + } + }; + + // 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); + ed.nodeChanged(); + } + }); + } + + ed.onPreProcess.add(function(ed, args) { + var nodes, i, node, dom = ed.dom, value; + + nodes = dom.select('table', args.node); + i = nodes.length; + while (i--) { + node = nodes[i]; + dom.setAttrib(node, 'data-mce-style', ''); + + if ((value = dom.getAttrib(node, 'width'))) { + dom.setStyle(node, 'width', value); + dom.setAttrib(node, 'width', ''); + } + + if ((value = dom.getAttrib(node, 'height'))) { + dom.setStyle(node, 'height', value); + dom.setAttrib(node, 'height', ''); + } + } + }); + + // 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); + hasCellSelection = true; + } + + // Remove current selection + sel = ed.selection.getSel(); + + try { + if (sel.removeAllRanges) + sel.removeAllRanges(); + else + sel.empty(); + } catch (ex) { + // IE9 might throw errors here + } + + 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]; + rng.setStartBefore(node); + rng.setEndAfter(node); + + 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(); + }); + + ed.onKeyDown.add(function (ed, e) { + fixTableCellSelection(ed); + }); + + ed.onMouseDown.add(function (ed, e) { + if (e.button != 2) { + fixTableCellSelection(ed); + } + }); + function tableCellSelected(ed, rng, n, currentCell) { + // The decision of when a table cell is selected is somewhat involved. The fact that this code is + // required is actually a pointer to the root cause of this bug. A cell is selected when the start + // and end offsets are 0, the start container is a text, and the selection node is either a TR (most cases) + // or the parent of the table (in the case of the selection containing the last cell of a table). + var TEXT_NODE = 3, table = ed.dom.getParent(rng.startContainer, 'TABLE'), + tableParent, allOfCellSelected, tableCellSelection; + if (table) + tableParent = table.parentNode; + allOfCellSelected =rng.startContainer.nodeType == TEXT_NODE && + rng.startOffset == 0 && + rng.endOffset == 0 && + currentCell && + (n.nodeName=="TR" || n==tableParent); + tableCellSelection = (n.nodeName=="TD"||n.nodeName=="TH")&& !currentCell; + return allOfCellSelected || tableCellSelection; + // return false; + } + + // this nasty hack is here to work around some WebKit selection bugs. + function fixTableCellSelection(ed) { + if (!tinymce.isWebKit) + return; + + var rng = ed.selection.getRng(); + var n = ed.selection.getNode(); + var currentCell = ed.dom.getParent(rng.startContainer, 'TD,TH'); + + if (!tableCellSelected(ed, rng, n, currentCell)) + return; + if (!currentCell) { + currentCell=n; + } + + // Get the very last node inside the table cell + var end = currentCell.lastChild; + while (end.lastChild) + end = end.lastChild; + + // Select the entire table cell. Nothing outside of the table cell should be selected. + rng.setEnd(end, end.nodeValue.length); + ed.selection.setRng(rng); + } + ed.plugins.table.fixTableCellSelection=fixTableCellSelection; + + // 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'}); + }); + } + + // Fix to allow navigating up and down in a table in WebKit browsers. + if (tinymce.isWebKit) { + function moveSelection(ed, e) { + var VK = tinymce.VK; + var key = e.keyCode; + + function handle(upBool, sourceNode, event) { + var siblingDirection = upBool ? 'previousSibling' : 'nextSibling'; + var currentRow = ed.dom.getParent(sourceNode, 'tr'); + var siblingRow = currentRow[siblingDirection]; + + if (siblingRow) { + moveCursorToRow(ed, sourceNode, siblingRow, upBool); + tinymce.dom.Event.cancel(event); + return true; + } else { + var tableNode = ed.dom.getParent(currentRow, 'table'); + var middleNode = currentRow.parentNode; + var parentNodeName = middleNode.nodeName.toLowerCase(); + if (parentNodeName === 'tbody' || parentNodeName === (upBool ? 'tfoot' : 'thead')) { + var targetParent = getTargetParent(upBool, tableNode, middleNode, 'tbody'); + if (targetParent !== null) { + return moveToRowInTarget(upBool, targetParent, sourceNode, event); + } + } + return escapeTable(upBool, currentRow, siblingDirection, tableNode, event); + } + } + + function getTargetParent(upBool, topNode, secondNode, nodeName) { + var tbodies = ed.dom.select('>' + nodeName, topNode); + var position = tbodies.indexOf(secondNode); + if (upBool && position === 0 || !upBool && position === tbodies.length - 1) { + return getFirstHeadOrFoot(upBool, topNode); + } else if (position === -1) { + var topOrBottom = secondNode.tagName.toLowerCase() === 'thead' ? 0 : tbodies.length - 1; + return tbodies[topOrBottom]; + } else { + return tbodies[position + (upBool ? -1 : 1)]; + } + } + + function getFirstHeadOrFoot(upBool, parent) { + var tagName = upBool ? 'thead' : 'tfoot'; + var headOrFoot = ed.dom.select('>' + tagName, parent); + return headOrFoot.length !== 0 ? headOrFoot[0] : null; + } + + function moveToRowInTarget(upBool, targetParent, sourceNode, event) { + var targetRow = getChildForDirection(targetParent, upBool); + targetRow && moveCursorToRow(ed, sourceNode, targetRow, upBool); + tinymce.dom.Event.cancel(event); + return true; + } + + function escapeTable(upBool, currentRow, siblingDirection, table, event) { + var tableSibling = table[siblingDirection]; + if (tableSibling) { + moveCursorToStartOfElement(tableSibling); + return true; + } else { + var parentCell = ed.dom.getParent(table, 'td,th'); + if (parentCell) { + return handle(upBool, parentCell, event); + } else { + var backUpSibling = getChildForDirection(currentRow, !upBool); + moveCursorToStartOfElement(backUpSibling); + return tinymce.dom.Event.cancel(event); + } + } + } + + function getChildForDirection(parent, up) { + var child = parent && parent[up ? 'lastChild' : 'firstChild']; + // BR is not a valid table child to return in this case we return the table cell + return child && child.nodeName === 'BR' ? ed.dom.getParent(child, 'td,th') : child; + } + + function moveCursorToStartOfElement(n) { + ed.selection.setCursorLocation(n, 0); + } + + function isVerticalMovement() { + return key == VK.UP || key == VK.DOWN; + } + + function isInTable(ed) { + var node = ed.selection.getNode(); + var currentRow = ed.dom.getParent(node, 'tr'); + return currentRow !== null; + } + + function columnIndex(column) { + var colIndex = 0; + var c = column; + while (c.previousSibling) { + c = c.previousSibling; + colIndex = colIndex + getSpanVal(c, "colspan"); + } + return colIndex; + } + + function findColumn(rowElement, columnIndex) { + var c = 0; + var r = 0; + each(rowElement.children, function(cell, i) { + c = c + getSpanVal(cell, "colspan"); + r = i; + if (c > columnIndex) + return false; + }); + return r; + } + + function moveCursorToRow(ed, node, row, upBool) { + var srcColumnIndex = columnIndex(ed.dom.getParent(node, 'td,th')); + var tgtColumnIndex = findColumn(row, srcColumnIndex); + var tgtNode = row.childNodes[tgtColumnIndex]; + var rowCellTarget = getChildForDirection(tgtNode, upBool); + moveCursorToStartOfElement(rowCellTarget || tgtNode); + } + + function shouldFixCaret(preBrowserNode) { + var newNode = ed.selection.getNode(); + var newParent = ed.dom.getParent(newNode, 'td,th'); + var oldParent = ed.dom.getParent(preBrowserNode, 'td,th'); + return newParent && newParent !== oldParent && checkSameParentTable(newParent, oldParent) + } + + function checkSameParentTable(nodeOne, NodeTwo) { + return ed.dom.getParent(nodeOne, 'TABLE') === ed.dom.getParent(NodeTwo, 'TABLE'); + } + + if (isVerticalMovement() && isInTable(ed)) { + var preBrowserNode = ed.selection.getNode(); + setTimeout(function() { + if (shouldFixCaret(preBrowserNode)) { + handle(!e.shiftKey && key === VK.UP, preBrowserNode, e); + } + }, 0); + } + } + + ed.onKeyDown.add(moveSelection); + } + + // 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 + 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') { + if (ed.settings.forced_root_block) + ed.dom.add(ed.getBody(), ed.settings.forced_root_block, null, tinymce.isIE ? ' ' : '
'); + else + ed.dom.add(ed.getBody(), 'br', {'data-mce-bogus': '1'}); + } + }; + + // 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.nodeName == "BR" || (last.childNodes.length == 1 && (last.firstChild.nodeName == 'BR' || last.firstChild.nodeValue == '\u00a0'))) && last.previousSibling && last.previousSibling.nodeName == "TABLE") { + ed.dom.remove(last); + } + }); + + + /** + * Fixes bug in Gecko where shift-enter in table cell does not place caret on new line + * + * Removed: Since the new enter logic seems to fix this one. + */ + /* + if (tinymce.isGecko) { + ed.onKeyDown.add(function(ed, e) { + if (e.keyCode === tinymce.VK.ENTER && e.shiftKey) { + var node = ed.selection.getRng().startContainer; + var tableCell = dom.getParent(node, 'td,th'); + if (tableCell) { + var zeroSizedNbsp = ed.getDoc().createTextNode("\uFEFF"); + dom.insertAfter(zeroSizedNbsp, node); + } + } + }); + } + */ + + fixTableCaretPos(); + ed.startContent = ed.getContent({format : 'raw'}); + }); + + // 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); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/cell.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/cell.js new file mode 100644 index 00000000..02ecf22c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/js/cell.js @@ -0,0 +1,319 @@ +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]; + + if (!AutoValidator.validate(formObj)) { + tinyMCEPopup.alert(AutoValidator.getErrorMessages(formObj).join('. ') + '.'); + return false; + } + + 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; + } + + 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 "col": + var curr, col = 0, cell = trElm.firstChild, rows = tableElm.getElementsByTagName("tr"); + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + if (cell == tdElm) + break; + col += cell.getAttribute("colspan")?cell.getAttribute("colspan"):1; + } while ((cell = nextCell(cell)) != null); + + 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; + } + + 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") { + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + + if (!isCssSize(border)) { + dom.setAttrib(elm, 'border', border); + } else { + dom.setAttrib(elm, 'border', ''); + } + + if (border == '') { + dom.setStyle(elm, 'border-width', ''); + dom.setStyle(elm, 'border', ''); + dom.setAttrib(elm, '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 = cssSize(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', false, {}, {skip_undo: true}); + + // 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[data-mce-new]'), function(node) { + var tdorth = dom.select('td,th', node); + + // Fixes a bug in IE where the caret cannot be placed after the table if the table is at the end of the document + if (tinymce.isIE && node.nextSibling == null) { + if (inst.settings.forced_root_block) + dom.insertAfter(dom.create(inst.settings.forced_root_block), node); + else + dom.insertAfter(dom.create('br', {'data-mce-bogus': '1'}), node); + } + + try { + // IE9 might fail to do this selection + inst.selection.setCursorLocation(tdorth[0], 0); + } catch (ex) { + // Ignore + } + + dom.setAttrib(node, 'data-mce-new', ''); + }); + + inst.addVisual(); + inst.execCommand('mceEndUndoLevel', false, {}, {skip_undo: true}); + + 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"); + + // Hide advanced fields that isn't available in the schema + tinymce.each("summary id rules dir style frame".split(" "), function(name) { + var tr = tinyMCEPopup.dom.getParent(name, "tr") || tinyMCEPopup.dom.getParent("t" + name, "tr"); + + if (tr && !tinyMCEPopup.editor.schema.isValid("table", name)) { + tr.style.display = 'none'; + } + }); + + 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 isCssSize(value) { + return /^[0-9.]+(%|in|cm|mm|em|ex|pt|pc|px)$/.test(value); +} + +function cssSize(value, def) { + value = tinymce.trim(value || def); + + if (!isCssSize(value)) { + return parseInt(value, 10) + 'px'; + } + + return value; +} + +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 != "" && (isCssSize(formObj.border.value) || formObj.bordercolor.value != "")) + st['border-width'] = cssSize(formObj.border.value); + else { + if (!formObj.border.value) { + st['border'] = ''; + st['border-width'] = ''; + } + } + + 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'] = cssSize(formObj.border.value, 1); + } + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/de_dlg.js new file mode 100644 index 00000000..1498c148 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.table_dlg',{"rules_border":"alle 4 Seiten (Border)","rules_box":"alle 4 Seiten (Box)","rules_vsides":"links und rechts","rules_rhs":"nur rechts","rules_lhs":"nur links","rules_hsides":"oben und unten","rules_below":"nur unten","rules_above":"nur oben","rules_void":"keins",rules:"Gitter","frame_all":"zwischen allen Zellen","frame_cols":"zwischen Spalten","frame_rows":"zwischen Zeilen","frame_groups":"zwischen Gruppen","frame_none":"keine",frame:"Rahmen",caption:"Beschriftung der Tabelle","missing_scope":"Soll f\u00fcr diese \u00dcberschrift wirklich kein Bereich angegeben werden? Benutzer mit k\u00f6rperlichen Einschr\u00e4nkungen k\u00f6nnten Schwierigkeiten haben, den Inhalt der Tabelle zu verstehen.","cell_limit":"Die maximale Zellenzahl von {$cells} wurde \u00fcberschritten.","row_limit":"Die maximale Zeilenzahl von {$rows} wurde \u00fcberschritten.","col_limit":"Die maximale Spaltenzahl von {$cols} wurde \u00fcberschritten.",colgroup:"Horizontal gruppieren",rowgroup:"Vertikal gruppieren",scope:"Bezug",tfoot:"Tabellenfu\u00df",tbody:"Tabelleninhalt",thead:"Tabellenkopf","row_all":"Alle Zeilen ver\u00e4ndern","row_even":"Gerade Zeilen ver\u00e4ndern","row_odd":"Ungerade Zeilen ver\u00e4ndern","row_row":"Diese Zeile ver\u00e4ndern","cell_all":"Alle Zellen der Tabelle ver\u00e4ndern","cell_row":"Alle Zellen in dieser Zeile ver\u00e4ndern","cell_cell":"Diese Zelle ver\u00e4ndern",th:"\u00dcberschrift",td:"Textzelle",summary:"Zusammenfassung",bgimage:"Hintergrundbild",rtl:"Rechts nach links",ltr:"Links nach rechts",mime:"MIME-Type des Inhalts",langcode:"Sprachcode",langdir:"Schriftrichtung",style:"Format",id:"ID","merge_cells_title":"Zellen vereinen",bgcolor:"Hintergrundfarbe",bordercolor:"Rahmenfarbe","align_bottom":"Unten","align_top":"Oben",valign:"Vertikale Ausrichtung","cell_type":"Zellentyp","cell_title":"Eigenschaften der Zelle","row_title":"Eigenschaften der Zeile","align_middle":"Mittig","align_right":"Rechts","align_left":"Links","align_default":"Standard",align:"Ausrichtung",border:"Rahmen",cellpadding:"Abstand innerhalb der Zellen",cellspacing:"Zellenabstand",rows:"Zeilen",cols:"Spalten",height:"H\u00f6he",width:"Breite",title:"Tabelle einf\u00fcgen/bearbeiten",rowtype:"Gruppierung","advanced_props":"Erweiterte Einstellungen","general_props":"Allgemeine Einstellungen","advanced_tab":"Erweitert","general_tab":"Allgemein","cell_col":"Alle Zellen in dieser Spalte aktualisieren"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/en_dlg.js new file mode 100644 index 00000000..463e09ee --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.table_dlg',{"rules_border":"border","rules_box":"box","rules_vsides":"vsides","rules_rhs":"rhs","rules_lhs":"lhs","rules_hsides":"hsides","rules_below":"below","rules_above":"above","rules_void":"void",rules:"Rules","frame_all":"all","frame_cols":"cols","frame_rows":"rows","frame_groups":"groups","frame_none":"none",frame:"Frame",caption:"Table Caption","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.","cell_limit":"You\'ve exceeded the maximum number of cells of {$cells}.","row_limit":"You\'ve exceeded the maximum number of rows of {$rows}.","col_limit":"You\'ve exceeded the maximum number of columns of {$cols}.",colgroup:"Col Group",rowgroup:"Row Group",scope:"Scope",tfoot:"Footer",tbody:"Body",thead:"Header","row_all":"Update All Rows in Table","row_even":"Update Even Rows in Table","row_odd":"Update Odd Rows in Table","row_row":"Update Current Row","cell_all":"Update All Cells in Table","cell_row":"Update All Cells in Row","cell_cell":"Update Current Cell",th:"Header",td:"Data",summary:"Summary",bgimage:"Background Image",rtl:"Right to Left",ltr:"Left to Right",mime:"Target MIME Type",langcode:"Language Code",langdir:"Language Direction",style:"Style",id:"ID","merge_cells_title":"Merge Table Cells",bgcolor:"Background Color",bordercolor:"Border Color","align_bottom":"Bottom","align_top":"Top",valign:"Vertical Alignment","cell_type":"Cell Type","cell_title":"Table Cell Properties","row_title":"Table Row Properties","align_middle":"Center","align_right":"Right","align_left":"Left","align_default":"Default",align:"Alignment",border:"Border",cellpadding:"Cell Padding",cellspacing:"Cell Spacing",rows:"Rows",cols:"Columns",height:"Height",width:"Width",title:"Insert/Edit Table",rowtype:"Row Type","advanced_props":"Advanced Properties","general_props":"General Properties","advanced_tab":"Advanced","general_tab":"General","cell_col":"Update all cells in column"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/hu_dlg.js new file mode 100644 index 00000000..1dd89fdb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.table_dlg',{"rules_border":"keret","rules_box":"doboz","rules_vsides":"f. oldalak","rules_rhs":"rhs","rules_lhs":"lhs","rules_hsides":"v. oldalak","rules_below":"alatta","rules_above":"f\u00f6l\u00f6tte","rules_void":"sehol/\u00fcres",rules:"Vonalak","frame_all":"mind","frame_cols":"oszlopok","frame_rows":"sorok","frame_groups":"csoportok","frame_none":"nincs",frame:"Keret",caption:"C\u00edmsor","missing_scope":"Biztosan folytatni akarja an\u00e9lk\u00fcl, hogy hat\u00f3k\u00f6rt adna ennek a fejl\u00e9ccell\u00e1nak? Korl\u00e1toz\u00e1sokkal \u00e9l\u0151k sz\u00e1m\u00e1ra neh\u00e9z lesz meg\u00e9rteni a t\u00e1bl\u00e1zat tartalm\u00e1t.","cell_limit":"T\u00fall\u00e9pte a maxim\u00e1lis cellasz\u00e1mot, ami {$cells}.","row_limit":"T\u00fall\u00e9pte a maxim\u00e1lis sorsz\u00e1mot, ami {$rows}.","col_limit":"T\u00fall\u00e9pte a maxim\u00e1lis oszlopsz\u00e1mot, ami {$cols}.",colgroup:"Oszlop csoport",rowgroup:"Sor csoport",scope:"Hat\u00f3k\u00f6r",tfoot:"T\u00e1bl\u00e1zat l\u00e1bl\u00e9c",tbody:"T\u00e1bl\u00e1zat tartalom",thead:"T\u00e1bl\u00e1zat fejl\u00e9c","row_all":"Minden sor friss\u00edt\u00e9se","row_even":"P\u00e1ros sorok friss\u00edt\u00e9se","row_odd":"P\u00e1ratlan sorok friss\u00edt\u00e9se","row_row":"Sor friss\u00edt\u00e9se","cell_all":"T\u00e1bl\u00e1zat \u00f6sszes cell\u00e1j\u00e1nak friss\u00edt\u00e9se","cell_row":"Sor \u00f6sszes cell\u00e1j\u00e1nak friss\u00edt\u00e9se","cell_cell":"Cella friss\u00edt\u00e9se",th:"Fejl\u00e9c",td:"Adat",summary:"\u00d6sszegz\u00e9s",bgimage:"H\u00e1tt\u00e9rk\u00e9p",rtl:"Jobbr\u00f3l balra",ltr:"Balr\u00f3l jobbra",mime:"C\u00e9l MIME t\u00edpus",langcode:"Nyelvk\u00f3d",langdir:"\u00cdr\u00e1s ir\u00e1ny",style:"St\u00edlus",id:"ID","merge_cells_title":"Cell\u00e1k Egyes\u00edt\u00e9se",bgcolor:"H\u00e1tt\u00e9rsz\u00edn",bordercolor:"Keretsz\u00edn","align_bottom":"Le","align_top":"Fel",valign:"F\u00fcgg\u0151leges igaz\u00edt\u00e1s","cell_type":"Cellat\u00edpus","cell_title":"Cella tulajdons\u00e1gai","row_title":"Sor tulajdons\u00e1gai","align_middle":"K\u00f6z\u00e9pre","align_right":"Jobbra","align_left":"Balra","align_default":"Alap\u00e9rtelmezett",align:"Igaz\u00edt\u00e1s",border:"Keret",cellpadding:"Cella bels\u0151 marg\u00f3",cellspacing:"Cella t\u00e1vols\u00e1g",rows:"Sorok",cols:"Oszlopok",height:"Magass\u00e1g",width:"Sz\u00e9less\u00e9g",title:"T\u00e1bl\u00e1zat besz\u00far\u00e1sa/szerkeszt\u00e9se",rowtype:"Sor a t\u00e1bl\u00e1ban","advanced_props":"Halad\u00f3 tulajdons\u00e1gok","general_props":"\u00c1ltal\u00e1nos tulajdons\u00e1gok","advanced_tab":"Halad\u00f3","general_tab":"\u00c1ltal\u00e1nos","cell_col":"\u00d6sszes cella friss\u00edt\u00e9se az oszlopban"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/ja_dlg.js new file mode 100644 index 00000000..ad335864 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.table_dlg',{"rules_border":"\u67a0\u7dda(\u4e0a\u4e0b\u5de6\u53f3)","rules_box":"\u30dc\u30c3\u30af\u30b9(\u4e0a\u4e0b\u5de6\u53f3)","rules_vsides":"\u5de6\u53f3\u306e\u7e26\u7dda","rules_rhs":"\u53f3\u306e\u7e26\u7dda","rules_lhs":"\u5de6\u306e\u7e26\u7dda","rules_hsides":"\u4e0a\u4e0b\u306e\u6a2a\u7dda","rules_below":"\u4e0b\u306e\u6a2a\u7dda","rules_above":"\u4e0a\u306e\u6a2a\u7dda","rules_void":"\u306a\u3057",rules:"\u8868\u306e\u5916\u67a0","frame_all":"\u3059\u3079\u3066","frame_cols":"\u5217","frame_rows":"\u884c","frame_groups":"\u30b0\u30eb\u30fc\u30d7\u6bce","frame_none":"\u306a\u3057",frame:"\u30bb\u30eb\u306e\u67a0",caption:"\u8868\u306e\u898b\u51fa\u3057","missing_scope":"\u3053\u306e\u8868\u306e\u30d8\u30c3\u30c0\u30fc\u306e\u30bb\u30eb\u306e\u7bc4\u56f2\u3092\u8a2d\u5b9a\u3057\u306a\u3044\u3067\u672c\u5f53\u306b\u7d9a\u3051\u307e\u3059\u304b? \u3053\u306e\u307e\u307e\u3067\u306f\u76ee\u306e\u4e0d\u81ea\u7531\u306a\u65b9\u304c\u8868\u306e\u5185\u5bb9\u3084\u8868\u793a\u3055\u308c\u308b\u30c7\u30fc\u30bf\u3092\u7406\u89e3\u3059\u308b\u306e\u304c\u56f0\u96e3\u306b\u306a\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002","cell_limit":"\u30bb\u30eb\u306e\u6700\u5927\u6570\u306e${cells}\u3092\u8d85\u3048\u307e\u3057\u305f\u3002","row_limit":"\u884c\u306e\u6700\u5927\u6570\u306e${rows}\u3092\u8d85\u3048\u307e\u3057\u305f\u3002","col_limit":"\u5217\u306e\u6700\u5927\u6570\u306e${cols}\u3092\u8d85\u3048\u307e\u3057\u305f\u3002",colgroup:"\u5217\u30b0\u30eb\u30fc\u30d7",rowgroup:"\u884c\u30b0\u30eb\u30fc\u30d7",scope:"\u30b9\u30b3\u30fc\u30d7",tfoot:"\u8868\u306e\u30d5\u30c3\u30bf\u30fc",tbody:"\u8868\u306e\u30dc\u30c7\u30a3",thead:"\u8868\u306e\u30d8\u30c3\u30c0\u30fc","row_all":"\u3059\u3079\u3066\u306e\u884c\u3092\u66f4\u65b0","row_even":"\u5076\u6570\u884c\u3092\u66f4\u65b0","row_odd":"\u5947\u6570\u884c\u3092\u66f4\u65b0","row_row":"\u9078\u629e\u3057\u3066\u3044\u308b\u884c\u3092\u66f4\u65b0","cell_all":"\u3059\u3079\u3066\u306e\u30bb\u30eb\u3092\u66f4\u65b0","cell_row":"\u884c\u5185\u306e\u30bb\u30eb\u3092\u66f4\u65b0","cell_cell":"\u9078\u629e\u3057\u3066\u3044\u308b\u30bb\u30eb\u3092\u66f4\u65b0",th:"\u30d8\u30c3\u30c0\u30fc",td:"\u30c7\u30fc\u30bf",summary:"\u30b5\u30de\u30ea\u30fc",bgimage:"\u80cc\u666f\u306e\u753b\u50cf",rtl:"\u53f3\u304b\u3089\u5de6",ltr:"\u5de6\u304b\u3089\u53f3",mime:"\u30bf\u30fc\u30b2\u30c3\u30c8\u306eMIME\u30bf\u30a4\u30d7",langcode:"\u8a00\u8a9e\u30b3\u30fc\u30c9",langdir:"\u6587\u7ae0\u306e\u65b9\u5411",style:"\u30b9\u30bf\u30a4\u30eb",id:"ID","merge_cells_title":"\u30bb\u30eb\u3092\u7d50\u5408",bgcolor:"\u80cc\u666f\u306e\u8272",bordercolor:"\u67a0\u7dda\u306e\u8272","align_bottom":"\u4e0b\u63c3\u3048","align_top":"\u4e0a\u63c3\u3048",valign:"\u5782\u76f4\u65b9\u5411\u306e\u914d\u7f6e","cell_type":"\u30bb\u30eb\u306e\u7a2e\u985e","cell_title":"\u30bb\u30eb\u306e\u5c5e\u6027","row_title":"\u884c\u306e\u5c5e\u6027","align_middle":"\u4e2d\u592e\u63c3\u3048","align_right":"\u53f3\u63c3\u3048","align_left":"\u5de6\u63c3\u3048","align_default":"\u521d\u671f\u72b6\u614b",align:"\u914d\u7f6e",border:"\u67a0\u7dda",cellpadding:"\u30bb\u30eb\u306e\u30d1\u30c7\u30a3\u30f3\u30b0(cellpadding)",cellspacing:"\u30bb\u30eb\u306e\u9593\u9694(cellspacing)",rows:"\u884c",cols:"\u5217",height:"\u9ad8\u3055",width:"\u5e45",title:"\u8868\u306e\u633f\u5165\u3084\u7de8\u96c6",rowtype:"\u884c","advanced_props":"\u9ad8\u5ea6\u306a\u5c5e\u6027","general_props":"\u4e00\u822c\u7684\u306a\u5c5e\u6027","advanced_tab":"\u9ad8\u5ea6","general_tab":"\u4e00\u822c","cell_col":"\u3059\u3079\u3066\u306e\u30bb\u30eb\u3092\u66f4\u65b0"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/merge_cells.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/merge_cells.htm new file mode 100755 index 00000000..d231090e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/merge_cells.htm @@ -0,0 +1,32 @@ + + + + {#table_dlg.merge_cells_title} + + + + + + +
+
+ {#table_dlg.merge_cells_title} + + + + + + + + + +
:
:
+
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/row.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/row.htm new file mode 100755 index 00000000..1885401f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/row.htm @@ -0,0 +1,158 @@ + + + + {#table_dlg.row_title} + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ +
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
 
+
+ + + + + + +
 
+
+
+
+
+
+ +
+
+ +
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/table.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/table.htm new file mode 100755 index 00000000..b92fa741 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/table/table.htm @@ -0,0 +1,188 @@ + + + + {#table_dlg.title} + + + + + + + + + + +
+ + +
+
+
+ {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
 
+
+ +
+ +
+ +
+ + + + + +
 
+
+ + + + + +
 
+
+
+
+
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/blank.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/blank.htm new file mode 100755 index 00000000..ecde53fa --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/blank.htm @@ -0,0 +1,12 @@ + + + blank_page + + + + + + + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/css/template.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/css/template.css new file mode 100755 index 00000000..2d23a493 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/editor_plugin.js new file mode 100755 index 00000000..ebe3c27d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/js/template.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/template/js/template.js new file mode 100644 index 00000000..bc3045d2 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/css/visualblocks.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/css/visualblocks.css new file mode 100644 index 00000000..76bc92b5 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/css/visualblocks.css @@ -0,0 +1,21 @@ +p, h1, h2, h3, h4, h5, h6, hgroup, aside, div, section, article, blockquote, address, pre, figure {display: block; padding-top: 10px; border: 1px dashed #BBB; background: transparent no-repeat} +p, h1, h2, h3, h4, h5, h6, hgroup, aside, div, section, article, address, pre, figure {margin-left: 3px} +section, article, address, hgroup, aside, figure {margin: 0 0 1em 3px} + +p {background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)} +h1 {background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)} +h2 {background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)} +h3 {background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)} +h4 {background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)} +h5 {background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)} +h6 {background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)} +div {background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)} +section {background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)} +article {background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)} +blockquote {background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)} +address {background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)} +pre {background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)} +hgroup {background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)} +aside {background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)} +figure {background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)} +figcaption {border: 1px dashed #BBB} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin.js new file mode 100644 index 00000000..c65eaf2b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.VisualBlocks",{init:function(a,b){var c;if(!window.NodeList){return}a.addCommand("mceVisualBlocks",function(){var e=a.dom,d;if(!c){c=e.uniqueId();d=e.create("link",{id:c,rel:"stylesheet",href:b+"/css/visualblocks.css"});a.getDoc().getElementsByTagName("head")[0].appendChild(d)}else{d=e.get(c);d.disabled=!d.disabled}a.controlManager.setActive("visualblocks",!d.disabled)});a.addButton("visualblocks",{title:"visualblocks.desc",cmd:"mceVisualBlocks"});a.onInit.add(function(){if(a.settings.visualblocks_default_state){a.execCommand("mceVisualBlocks",false,null,{skip_focus:true})}})},getInfo:function(){return{longname:"Visual blocks",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualblocks",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("visualblocks",tinymce.plugins.VisualBlocks)})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin_src.js new file mode 100644 index 00000000..b9d2ab2e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualblocks/editor_plugin_src.js @@ -0,0 +1,63 @@ +/** + * editor_plugin_src.js + * + * Copyright 2012, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://tinymce.moxiecode.com/license + * Contributing: http://tinymce.moxiecode.com/contributing + */ + +(function() { + tinymce.create('tinymce.plugins.VisualBlocks', { + init : function(ed, url) { + var cssId; + + // We don't support older browsers like IE6/7 and they don't provide prototypes for DOM objects + if (!window.NodeList) { + return; + } + + ed.addCommand('mceVisualBlocks', function() { + var dom = ed.dom, linkElm; + + if (!cssId) { + cssId = dom.uniqueId(); + linkElm = dom.create('link', { + id: cssId, + rel : 'stylesheet', + href : url + '/css/visualblocks.css' + }); + + ed.getDoc().getElementsByTagName('head')[0].appendChild(linkElm); + } else { + linkElm = dom.get(cssId); + linkElm.disabled = !linkElm.disabled; + } + + ed.controlManager.setActive('visualblocks', !linkElm.disabled); + }); + + ed.addButton('visualblocks', {title : 'visualblocks.desc', cmd : 'mceVisualBlocks'}); + + ed.onInit.add(function() { + if (ed.settings.visualblocks_default_state) { + ed.execCommand('mceVisualBlocks', false, null, {skip_focus : true}); + } + }); + }, + + getInfo : function() { + return { + longname : 'Visual blocks', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualblocks', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('visualblocks', tinymce.plugins.VisualBlocks); +})(); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualchars/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualchars/editor_plugin.js new file mode 100755 index 00000000..1a148e8b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/visualchars/editor_plugin_src.js new file mode 100755 index 00000000..df985905 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin.js new file mode 100644 index 00000000..42ece209 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create("tinymce.plugins.WordCount",{block:0,id:null,countre:null,cleanre:null,init:function(c,d){var e=this,f=0,g=tinymce.VK;e.countre=c.getParam("wordcount_countregex",/[\w\u2019\'-]+/g);e.cleanre=c.getParam("wordcount_cleanregex",/[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g);e.update_rate=c.getParam("wordcount_update_rate",2000);e.update_on_delete=c.getParam("wordcount_update_on_delete",false);e.id=c.id+"-word-count";c.onPostRender.add(function(i,h){var j,k;k=i.getParam("wordcount_target_id");if(!k){j=tinymce.DOM.get(i.id+"_path_row");if(j){tinymce.DOM.add(j.parentNode,"div",{style:"float: right"},i.getLang("wordcount.words","Words: ")+'0')}}else{tinymce.DOM.add(k,"span",{},'0')}});c.onInit.add(function(h){h.selection.onSetContent.add(function(){e._count(h)});e._count(h)});c.onSetContent.add(function(h){e._count(h)});function b(h){return h!==f&&(h===g.ENTER||f===g.SPACEBAR||a(f))}function a(h){return h===g.DELETE||h===g.BACKSPACE}c.onKeyUp.add(function(h,i){if(b(i.keyCode)||e.update_on_delete&&a(i.keyCode)){e._count(h)}f=i.keyCode})},_getCount:function(c){var a=0;var b=c.getContent({format:"raw"});if(b){b=b.replace(/\.\.\./g," ");b=b.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ");b=b.replace(/(\w+)(&.+?;)+(\w+)/,"$1$3").replace(/&.+?;/g," ");b=b.replace(this.cleanre,"");var d=b.match(this.countre);if(d){a=d.length}}return a},_count:function(a){var b=this;if(b.block){return}b.block=1;setTimeout(function(){if(!a.destroyed){var c=b._getCount(a);tinymce.DOM.setHTML(b.id,c.toString());setTimeout(function(){b.block=0},b.update_rate)}},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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin_src.js new file mode 100644 index 00000000..34b26555 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/wordcount/editor_plugin_src.js @@ -0,0 +1,122 @@ +/** + * 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, VK = tinymce.VK; + + t.countre = ed.getParam('wordcount_countregex', /[\w\u2019\'-]+/g); // u2019 == ’ + t.cleanre = ed.getParam('wordcount_cleanregex', /[0-9.(),;:!?%#$?\'\"_+=\\\/-]*/g); + t.update_rate = ed.getParam('wordcount_update_rate', 2000); + t.update_on_delete = ed.getParam('wordcount_update_on_delete', false); + 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); + }); + + function checkKeys(key) { + return key !== last && (key === VK.ENTER || last === VK.SPACEBAR || checkDelOrBksp(last)); + } + + function checkDelOrBksp(key) { + return key === VK.DELETE || key === VK.BACKSPACE; + } + + ed.onKeyUp.add(function(ed, e) { + if (checkKeys(e.keyCode) || t.update_on_delete && checkDelOrBksp(e.keyCode)) { + t._count(ed); + } + + last = e.keyCode; + }); + }, + + _getCount : function(ed) { + var tc = 0; + var tx = ed.getContent({ format: 'raw' }); + + if (tx) { + tx = tx.replace(/\.\.\./g, ' '); // convert ellipses to spaces + tx = tx.replace(/<.[^<>]*?>/g, ' ').replace(/ | /gi, ' '); // remove html tags and space chars + + // deal with html entities + tx = tx.replace(/(\w+)(&.+?;)+(\w+)/, "$1$3").replace(/&.+?;/g, ' '); + tx = tx.replace(this.cleanre, ''); // remove numbers and punctuation + + var wordArray = tx.match(this.countre); + if (wordArray) { + tc = wordArray.length; + } + } + + return tc; + }, + + _count : function(ed) { + var t = this; + + // Keep multiple calls from happening at the same time + if (t.block) + return; + + t.block = 1; + + setTimeout(function() { + if (!ed.destroyed) { + var tc = t._getCount(ed); + tinymce.DOM.setHTML(t.id, tc.toString()); + setTimeout(function() {t.block = 0;}, t.update_rate); + } + }, 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm new file mode 100755 index 00000000..30a894f7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/abbr.htm @@ -0,0 +1,142 @@ + + + + {#xhtmlxtras_dlg.title_abbr_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm new file mode 100755 index 00000000..c1093459 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/acronym.htm @@ -0,0 +1,142 @@ + + + + {#xhtmlxtras_dlg.title_acronym_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm new file mode 100755 index 00000000..e8d606a3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/attributes.htm @@ -0,0 +1,149 @@ + + + + {#xhtmlxtras_dlg.attribs_title} + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.attribute_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
+ +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.attribute_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm new file mode 100755 index 00000000..0ac6bdb6 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/cite.htm @@ -0,0 +1,142 @@ + + + + {#xhtmlxtras_dlg.title_cite_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/css/attributes.css new file mode 100755 index 00000000..9a6a235c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/css/popup.css new file mode 100755 index 00000000..e67114db --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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.gif') -140px -20px;} +#datetime {width:180px;} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/del.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/del.htm new file mode 100755 index 00000000..5f667510 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/del.htm @@ -0,0 +1,162 @@ + + + + {#xhtmlxtras_dlg.title_del_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
: + + + + + +
+
:
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin.js new file mode 100755 index 00000000..9b98a515 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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_height",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_height",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_height",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_height",0)),inline:1},{plugin_url:b})});a.addCommand("mceAttributes",function(){a.windowManager.open({file:b+"/attributes.htm",width:380+parseInt(a.getLang("xhtmlxtras.attr_delta_width",0)),height:370+parseInt(a.getLang("xhtmlxtras.attr_delta_height",0)),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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js new file mode 100755 index 00000000..f2405721 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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_height', 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_height', 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_height', 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_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAttributes', function() { + ed.windowManager.open({ + file : url + '/attributes.htm', + width : 380 + parseInt(ed.getLang('xhtmlxtras.attr_delta_width', 0)), + height : 370 + parseInt(ed.getLang('xhtmlxtras.attr_delta_height', 0)), + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm new file mode 100755 index 00000000..d001ac7c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/ins.htm @@ -0,0 +1,162 @@ + + + + {#xhtmlxtras_dlg.title_ins_element} + + + + + + + + + + +
+ + +
+
+
+ {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
: + + + + + +
+
:
+
+
+ {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
: + +
:
: + +
: + +
+
+
+
+
+ {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
:
:
:
:
:
+
+
+
+
+ + + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/abbr.js new file mode 100644 index 00000000..4b51a257 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/acronym.js new file mode 100644 index 00000000..6ec2f887 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/attributes.js new file mode 100644 index 00000000..9c99995a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/attributes.js @@ -0,0 +1,111 @@ +/** + * 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(); + + 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; + } + + dom.setAttrib(elm, attrib.toLowerCase(), value); +} + +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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/cite.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/cite.js new file mode 100644 index 00000000..009b7154 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/del.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/del.js new file mode 100644 index 00000000..1f957dc7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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'); + elm.removeAttribute('data-mce-new'); +} + +function insertDel() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('del'); + var elementArray = SXE.inst.dom.select('del[data-mce-new]'); + 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, {'data-mce-new' : 1}), n, 1); + }); +} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/ins.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/ins.js new file mode 100644 index 00000000..c4addfb0 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/plugins/xhtmlxtras/js/ins.js @@ -0,0 +1,53 @@ +/** + * 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'); + elm.removeAttribute('data-mce-new'); +} + +function insertIns() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS'); + + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + insertInlineElement('ins'); + var elementArray = SXE.inst.dom.select('ins[data-mce-new]'); + 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? +
+
+ +
+
+

{#advanced_dlg.about_loaded}

+ +
+
+ +

 

+
+
+ +
+
+
+
+ +
+ +
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/anchor.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/anchor.htm new file mode 100755 index 00000000..75c93b79 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/anchor.htm @@ -0,0 +1,26 @@ + + + + {#advanced_dlg.anchor_title} + + + + +
+ + + + + + + + +
{#advanced_dlg.anchor_title}
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/charmap.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/charmap.htm new file mode 100755 index 00000000..d4b6bdfb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/charmap.htm @@ -0,0 +1,55 @@ + + + + {#advanced_dlg.charmap_title} + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
 
 
+
+ + + + + + + + + + + + + + + + +
 
 
 
+
{#advanced_dlg.charmap_usage}
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/color_picker.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/color_picker.htm new file mode 100755 index 00000000..b625531a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/color_picker.htm @@ -0,0 +1,70 @@ + + + + {#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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template.js new file mode 100755 index 00000000..cbae1c88 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template.js @@ -0,0 +1 @@ +(function(h){var i=h.DOM,g=h.dom.Event,c=h.extend,f=h.each,a=h.util.Cookie,e,d=h.explode;function b(p,m){var k,l,o=p.dom,j="",n,r;previewStyles=p.settings.preview_styles;if(previewStyles===false){return""}if(!previewStyles){previewStyles="font-family font-size font-weight text-decoration text-transform color background-color"}function q(s){return s.replace(/%(\w+)/g,"")}k=m.block||m.inline||"span";l=o.create(k);f(m.styles,function(t,s){t=q(t);if(t){o.setStyle(l,s,t)}});f(m.attributes,function(t,s){t=q(t);if(t){o.setAttrib(l,s,t)}});f(m.classes,function(s){s=q(s);if(!o.hasClass(l,s)){o.addClass(l,s)}});o.setStyles(l,{position:"absolute",left:-65535});p.getBody().appendChild(l);n=o.getStyle(p.getBody(),"fontSize",true);n=/px$/.test(n)?parseInt(n,10):0;f(previewStyles.split(" "),function(s){var t=o.getStyle(l,s,true);if(s=="background-color"&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(t)){t=o.getStyle(p.getBody(),s,true);if(o.toHex(t).toLowerCase()=="#ffffff"){return}}if(s=="font-size"){if(/em|%$/.test(t)){if(n===0){return}t=parseFloat(t,10)/(/%$/.test(t)?100:1);t=(t*n)+"px"}}j+=s+":"+t+";"});o.remove(l);return j}h.ThemeManager.requireLangPack("advanced");h.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(k,l){var m=this,n,j,p;m.editor=k;m.url=l;m.onResolveName=new h.util.Dispatcher(this);n=k.settings;k.forcedHighContrastMode=k.settings.detect_highcontrast&&m._isHighContrast();k.settings.skin=k.forcedHighContrastMode?"highcontrast":k.settings.skin;if(!n.theme_advanced_buttons1){n=c({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"},n)}m.settings=n=c({theme_advanced_path:true,theme_advanced_toolbar_location:"top",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"left",theme_advanced_statusbar_location:"bottom",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",theme_advanced_font_selector:"span",theme_advanced_show_current_color:0,readonly:k.settings.readonly},n);if(!n.font_size_style_values){n.font_size_style_values="8pt,10pt,12pt,14pt,18pt,24pt,36pt"}if(h.is(n.theme_advanced_font_sizes,"string")){n.font_size_style_values=h.explode(n.font_size_style_values);n.font_size_classes=h.explode(n.font_size_classes||"");p={};k.settings.theme_advanced_font_sizes=n.theme_advanced_font_sizes;f(k.getParam("theme_advanced_font_sizes","","hash"),function(r,q){var o;if(q==r&&r>=1&&r<=7){q=r+" ("+m.sizes[r-1]+"pt)";o=n.font_size_classes[r-1];r=n.font_size_style_values[r-1]||(m.sizes[r-1]+"pt")}if(/^\s*\./.test(r)){o=r.replace(/\./g,"")}p[q]=o?{"class":o}:{fontSize:r}});n.theme_advanced_font_sizes=p}if((j=n.theme_advanced_path_location)&&j!="none"){n.theme_advanced_statusbar_location=n.theme_advanced_path_location}if(n.theme_advanced_statusbar_location=="none"){n.theme_advanced_statusbar_location=0}if(k.settings.content_css!==false){k.contentCSS.push(k.baseURI.toAbsolute(l+"/skins/"+k.settings.skin+"/content.css"))}k.onInit.add(function(){if(!k.settings.readonly){k.onNodeChange.add(m._nodeChanged,m);k.onKeyUp.add(m._updateUndoStatus,m);k.onMouseUp.add(m._updateUndoStatus,m);k.dom.bind(k.dom.getRoot(),"dragend",function(){m._updateUndoStatus(k)})}});k.onSetProgressState.add(function(r,o,s){var t,u=r.id,q;if(o){m.progressTimer=setTimeout(function(){t=r.getContainer();t=t.insertBefore(i.create("DIV",{style:"position:relative"}),t.firstChild);q=i.get(r.id+"_tbl");i.add(t,"div",{id:u+"_blocker","class":"mceBlocker",style:{width:q.clientWidth+2,height:q.clientHeight+2}});i.add(t,"div",{id:u+"_progress","class":"mceProgress",style:{left:q.clientWidth/2,top:q.clientHeight/2}})},s||0)}else{i.remove(u+"_blocker");i.remove(u+"_progress");clearTimeout(m.progressTimer)}});i.loadCSS(n.editor_css?k.documentBaseURI.toAbsolute(n.editor_css):l+"/skins/"+k.settings.skin+"/ui.css");if(n.skin_variant){i.loadCSS(l+"/skins/"+k.settings.skin+"/ui_"+n.skin_variant+".css")}},_isHighContrast:function(){var j,k=i.add(i.getRoot(),"div",{style:"background-color: rgb(171,239,86);"});j=(i.getStyle(k,"background-color",true)+"").toLowerCase().replace(/ /g,"");i.remove(k);return j!="rgb(171,239,86)"&&j!="#abef56"},createControl:function(m,j){var k,l;if(l=j.createControl(m)){return l}switch(m){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((k=this.controls[m])){return j.createButton(m,{title:"advanced."+k[0],cmd:k[1],ui:k[2],value:k[3]})}},execCommand:function(l,k,m){var j=this["_"+l];if(j){j.call(this,k,m);return true}return false},_importClasses:function(l){var j=this.editor,k=j.controlManager.get("styleselect");if(k.getLength()==0){f(j.dom.getClasses(),function(q,m){var p="style_"+m,n;n={inline:"span",attributes:{"class":q["class"]},selector:"*"};j.formatter.register(p,n);k.add(q["class"],p,{style:function(){return b(j,n)}})})}},_createStyleSelect:function(o){var l=this,j=l.editor,k=j.controlManager,m;m=k.createListBox("styleselect",{title:"advanced.style_select",onselect:function(q){var r,n=[],p;f(m.items,function(s){n.push(s.value)});j.focus();j.undoManager.add();r=j.formatter.matchAll(n);h.each(r,function(s){if(!q||s==q){if(s){j.formatter.remove(s)}p=true}});if(!p){j.formatter.apply(q)}j.undoManager.add();j.nodeChanged();return false}});j.onPreInit.add(function(){var p=0,n=j.getParam("style_formats");if(n){f(n,function(q){var r,s=0;f(q,function(){s++});if(s>1){r=q.name=q.name||"style_"+(p++);j.formatter.register(r,q);m.add(q.title,r,{style:function(){return b(j,q)}})}else{m.add(q.title)}})}else{f(j.getParam("theme_advanced_styles","","hash"),function(t,s){var r,q;if(t){r="style_"+(p++);q={inline:"span",classes:t,selector:"*"};j.formatter.register(r,q);m.add(l.editor.translate(s),r,{style:function(){return b(j,q)}})}})}});if(m.getLength()==0){m.onPostRender.add(function(p,q){if(!m.NativeListBox){g.add(q.id+"_text","focus",l._importClasses,l);g.add(q.id+"_text","mousedown",l._importClasses,l);g.add(q.id+"_open","focus",l._importClasses,l);g.add(q.id+"_open","mousedown",l._importClasses,l)}else{g.add(q.id,"focus",l._importClasses,l)}})}return m},_createFontSelect:function(){var l,k=this,j=k.editor;l=j.controlManager.createListBox("fontselect",{title:"advanced.fontdefault",onselect:function(m){var n=l.items[l.selectedIndex];if(!m&&n){j.execCommand("FontName",false,n.value);return}j.execCommand("FontName",false,m);l.select(function(o){return m==o});if(n&&n.value==m){l.select(null)}return false}});if(l){f(j.getParam("theme_advanced_fonts",k.settings.theme_advanced_fonts,"hash"),function(n,m){l.add(j.translate(m),n,{style:n.indexOf("dings")==-1?"font-family:"+n:""})})}return l},_createFontSizeSelect:function(){var m=this,k=m.editor,n,l=0,j=[];n=k.controlManager.createListBox("fontsizeselect",{title:"advanced.font_size",onselect:function(o){var p=n.items[n.selectedIndex];if(!o&&p){p=p.value;if(p["class"]){k.formatter.toggle("fontsize_class",{value:p["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,p.fontSize)}return}if(o["class"]){k.focus();k.undoManager.add();k.formatter.toggle("fontsize_class",{value:o["class"]});k.undoManager.add();k.nodeChanged()}else{k.execCommand("FontSize",false,o.fontSize)}n.select(function(q){return o==q});if(p&&(p.value.fontSize==o.fontSize||p.value["class"]&&p.value["class"]==o["class"])){n.select(null)}return false}});if(n){f(m.settings.theme_advanced_font_sizes,function(p,o){var q=p.fontSize;if(q>=1&&q<=7){q=m.sizes[parseInt(q)-1]+"pt"}n.add(o,p,{style:"font-size:"+q,"class":"mceFontSize"+(l++)+(" "+(p["class"]||""))})})}return n},_createBlockFormats:function(){var l,j={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"},k=this;l=k.editor.controlManager.createListBox("formatselect",{title:"advanced.block",onselect:function(m){k.editor.execCommand("FormatBlock",false,m);return false}});if(l){f(k.editor.getParam("theme_advanced_blockformats",k.settings.theme_advanced_blockformats,"hash"),function(n,m){l.add(k.editor.translate(m!=n?m:j[n]),n,{"class":"mce_formatPreview mce_"+n,style:function(){return b(k.editor,{block:n})}})})}return l},_createForeColorMenu:function(){var n,k=this,l=k.settings,m={},j;if(l.theme_advanced_more_colors){m.more_colors_func=function(){k._mceColorPicker(0,{color:n.value,func:function(o){n.setColor(o)}})}}if(j=l.theme_advanced_text_colors){m.colors=j}if(l.theme_advanced_default_foreground_color){m.default_color=l.theme_advanced_default_foreground_color}m.title="advanced.forecolor_desc";m.cmd="ForeColor";m.scope=this;n=k.editor.controlManager.createColorSplitButton("forecolor",m);return n},_createBackColorMenu:function(){var n,k=this,l=k.settings,m={},j;if(l.theme_advanced_more_colors){m.more_colors_func=function(){k._mceColorPicker(0,{color:n.value,func:function(o){n.setColor(o)}})}}if(j=l.theme_advanced_background_colors){m.colors=j}if(l.theme_advanced_default_background_color){m.default_color=l.theme_advanced_default_background_color}m.title="advanced.backcolor_desc";m.cmd="HiliteColor";m.scope=this;n=k.editor.controlManager.createColorSplitButton("backcolor",m);return n},renderUI:function(l){var q,m,r,w=this,u=w.editor,x=w.settings,v,k,j;if(u.settings){u.settings.aria_label=x.aria_label+u.getLang("advanced.help_shortcut")}q=k=i.create("span",{role:"application","aria-labelledby":u.id+"_voice",id:u.id+"_parent","class":"mceEditor "+u.settings.skin+"Skin"+(x.skin_variant?" "+u.settings.skin+"Skin"+w._ufirst(x.skin_variant):"")+(u.settings.directionality=="rtl"?" mceRtl":"")});i.add(q,"span",{"class":"mceVoiceLabel",style:"display:none;",id:u.id+"_voice"},x.aria_label);if(!i.boxModel){q=i.add(q,"div",{"class":"mceOldBoxModel"})}q=v=i.add(q,"table",{role:"presentation",id:u.id+"_tbl","class":"mceLayout",cellSpacing:0,cellPadding:0});q=r=i.add(q,"tbody");switch((x.theme_advanced_layout_manager||"").toLowerCase()){case"rowlayout":m=w._rowLayout(x,r,l);break;case"customlayout":m=u.execCallback("theme_advanced_custom_layout",x,r,l,k);break;default:m=w._simpleLayout(x,r,l,k)}q=l.targetNode;j=v.rows;i.addClass(j[0],"mceFirst");i.addClass(j[j.length-1],"mceLast");f(i.select("tr",r),function(o){i.addClass(o.firstChild,"mceFirst");i.addClass(o.childNodes[o.childNodes.length-1],"mceLast")});if(i.get(x.theme_advanced_toolbar_container)){i.get(x.theme_advanced_toolbar_container).appendChild(k)}else{i.insertAfter(k,q)}g.add(u.id+"_path_row","click",function(n){n=n.target;if(n.nodeName=="A"){w._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/,"$1"));return false}});if(!u.getParam("accessibility_focus")){g.add(i.add(k,"a",{href:"#"},""),"focus",function(){tinyMCE.get(u.id).focus()})}if(x.theme_advanced_toolbar_location=="external"){l.deltaHeight=0}w.deltaHeight=l.deltaHeight;l.targetNode=null;u.onKeyDown.add(function(p,n){var s=121,o=122;if(n.altKey){if(n.keyCode===s){if(h.isWebKit){window.focus()}w.toolbarGroup.focus();return g.cancel(n)}else{if(n.keyCode===o){i.get(p.id+"_path_row").focus();return g.cancel(n)}}}});u.addShortcut("alt+0","","mceShortcuts",w);return{iframeContainer:m,editorContainer:u.id+"_parent",sizeContainer:v,deltaHeight:l.deltaHeight}},getInfo:function(){return{longname:"Advanced theme",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",version:h.majorVersion+"."+h.minorVersion}},resizeBy:function(j,k){var l=i.get(this.editor.id+"_ifr");this.resizeTo(l.clientWidth+j,l.clientHeight+k)},resizeTo:function(j,n,l){var k=this.editor,m=this.settings,o=i.get(k.id+"_tbl"),p=i.get(k.id+"_ifr");j=Math.max(m.theme_advanced_resizing_min_width||100,j);n=Math.max(m.theme_advanced_resizing_min_height||100,n);j=Math.min(m.theme_advanced_resizing_max_width||65535,j);n=Math.min(m.theme_advanced_resizing_max_height||65535,n);i.setStyle(o,"height","");i.setStyle(p,"height",n);if(m.theme_advanced_resize_horizontal){i.setStyle(o,"width","");i.setStyle(p,"width",j);if(j"));i.setHTML(l,r.join(""))},_addStatusBar:function(p,k){var l,w=this,q=w.editor,x=w.settings,j,u,v,m;l=i.add(p,"tr");l=m=i.add(l,"td",{"class":"mceStatusbar"});l=i.add(l,"div",{id:q.id+"_path_row",role:"group","aria-labelledby":q.id+"_path_voice"});if(x.theme_advanced_path){i.add(l,"span",{id:q.id+"_path_voice"},q.translate("advanced.path"));i.add(l,"span",{},": ")}else{i.add(l,"span",{}," ")}if(x.theme_advanced_resizing){i.add(m,"a",{id:q.id+"_resize",href:"javascript:;",onclick:"return false;","class":"mceResize",tabIndex:"-1"});if(x.theme_advanced_resizing_use_cookie){q.onPostRender.add(function(){var n=a.getHash("TinyMCE_"+q.id+"_size"),r=i.get(q.id+"_tbl");if(!n){return}w.resizeTo(n.cw,n.ch)})}q.onPostRender.add(function(){g.add(q.id+"_resize","click",function(n){n.preventDefault()});g.add(q.id+"_resize","mousedown",function(E){var t,r,s,o,D,A,B,G,n,F,y;function z(H){H.preventDefault();n=B+(H.screenX-D);F=G+(H.screenY-A);w.resizeTo(n,F)}function C(H){g.remove(i.doc,"mousemove",t);g.remove(q.getDoc(),"mousemove",r);g.remove(i.doc,"mouseup",s);g.remove(q.getDoc(),"mouseup",o);n=B+(H.screenX-D);F=G+(H.screenY-A);w.resizeTo(n,F,true);q.nodeChanged()}E.preventDefault();D=E.screenX;A=E.screenY;y=i.get(w.editor.id+"_ifr");B=n=y.clientWidth;G=F=y.clientHeight;t=g.add(i.doc,"mousemove",z);r=g.add(q.getDoc(),"mousemove",z);s=g.add(i.doc,"mouseup",C);o=g.add(q.getDoc(),"mouseup",C)})})}k.deltaHeight-=21;l=p=null},_updateUndoStatus:function(k){var j=k.controlManager,l=k.undoManager;j.setDisabled("undo",!l.hasUndo()&&!l.typing);j.setDisabled("redo",!l.hasRedo())},_nodeChanged:function(o,u,E,r,F){var z=this,D,G=0,y,H,A=z.settings,x,l,w,C,m,k,j;h.each(z.stateControls,function(n){u.setActive(n,o.queryCommandState(z.controls[n][1]))});function q(p){var s,n=F.parents,t=p;if(typeof(p)=="string"){t=function(v){return v.nodeName==p}}for(s=0;s0){H.mark(p)}})}if(H=u.get("formatselect")){D=q(o.dom.isBlock);if(D){H.select(D.nodeName.toLowerCase())}}q(function(p){if(p.nodeName==="SPAN"){if(!x&&p.className){x=p.className}}if(o.dom.is(p,A.theme_advanced_font_selector)){if(!l&&p.style.fontSize){l=p.style.fontSize}if(!w&&p.style.fontFamily){w=p.style.fontFamily.replace(/[\"\']+/g,"").replace(/^([^,]+).*/,"$1").toLowerCase()}if(!C&&p.style.color){C=p.style.color}if(!m&&p.style.backgroundColor){m=p.style.backgroundColor}}return false});if(H=u.get("fontselect")){H.select(function(n){return n.replace(/^([^,]+).*/,"$1").toLowerCase()==w})}if(H=u.get("fontsizeselect")){if(A.theme_advanced_runtime_fontsize&&!l&&!x){l=o.dom.getStyle(E,"fontSize",true)}H.select(function(n){if(n.fontSize&&n.fontSize===l){return true}if(n["class"]&&n["class"]===x){return true}})}if(A.theme_advanced_show_current_color){function B(p,n){if(H=u.get(p)){if(!n){n=H.settings.default_color}if(n!==H.value){H.displayColor(n)}}}B("forecolor",C);B("backcolor",m)}if(A.theme_advanced_show_current_color){function B(p,n){if(H=u.get(p)){if(!n){n=H.settings.default_color}if(n!==H.value){H.displayColor(n)}}}B("forecolor",C);B("backcolor",m)}if(A.theme_advanced_path&&A.theme_advanced_statusbar_location){D=i.get(o.id+"_path")||i.add(o.id+"_path_row","span",{id:o.id+"_path"});if(z.statusKeyboardNavigation){z.statusKeyboardNavigation.destroy();z.statusKeyboardNavigation=null}i.setHTML(D,"");q(function(I){var p=I.nodeName.toLowerCase(),s,v,t="";if(I.nodeType!=1||p==="br"||I.getAttribute("data-mce-bogus")||i.hasClass(I,"mceItemHidden")||i.hasClass(I,"mceItemRemoved")){return}if(h.isIE&&I.scopeName!=="HTML"&&I.scopeName){p=I.scopeName+":"+p}p=p.replace(/mce\:/g,"");switch(p){case"b":p="strong";break;case"i":p="em";break;case"img":if(y=i.getAttrib(I,"src")){t+="src: "+y+" "}break;case"a":if(y=i.getAttrib(I,"name")){t+="name: "+y+" ";p+="#"+y}if(y=i.getAttrib(I,"href")){t+="href: "+y+" "}break;case"font":if(y=i.getAttrib(I,"face")){t+="font: "+y+" "}if(y=i.getAttrib(I,"size")){t+="size: "+y+" "}if(y=i.getAttrib(I,"color")){t+="color: "+y+" "}break;case"span":if(y=i.getAttrib(I,"style")){t+="style: "+y+" "}break}if(y=i.getAttrib(I,"id")){t+="id: "+y+" "}if(y=I.className){y=y.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g,"");if(y){t+="class: "+y+" ";if(o.dom.isBlock(I)||p=="img"||p=="span"){p+="."+y}}}p=p.replace(/(html:)/g,"");p={name:p,node:I,title:t};z.onResolveName.dispatch(z,p);t=p.title;p=p.name;v=i.create("a",{href:"javascript:;",role:"button",onmousedown:"return false;",title:t,"class":"mcePath_"+(G++)},p);if(D.hasChildNodes()){D.insertBefore(i.create("span",{"aria-hidden":"true"},"\u00a0\u00bb "),D.firstChild);D.insertBefore(v,D.firstChild)}else{D.appendChild(v)}},o.getBody());if(i.select("a",D).length>0){z.statusKeyboardNavigation=new h.ui.KeyboardNavigation({root:o.id+"_path_row",items:i.select("a",D),excludeFromTabOrder:true,onCancel:function(){o.focus()}},i)}}},_sel:function(j){this.editor.execCommand("mceSelectNodeDepth",false,j)},_mceInsertAnchor:function(l,k){var j=this.editor;j.windowManager.open({url:this.url+"/anchor.htm",width:320+parseInt(j.getLang("advanced.anchor_delta_width",0)),height:90+parseInt(j.getLang("advanced.anchor_delta_height",0)),inline:true},{theme_url:this.url})},_mceCharMap:function(){var j=this.editor;j.windowManager.open({url:this.url+"/charmap.htm",width:550+parseInt(j.getLang("advanced.charmap_delta_width",0)),height:265+parseInt(j.getLang("advanced.charmap_delta_height",0)),inline:true},{theme_url:this.url})},_mceHelp:function(){var j=this.editor;j.windowManager.open({url:this.url+"/about.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceShortcuts:function(){var j=this.editor;j.windowManager.open({url:this.url+"/shortcuts.htm",width:480,height:380,inline:true},{theme_url:this.url})},_mceColorPicker:function(l,k){var j=this.editor;k=k||{};j.windowManager.open({url:this.url+"/color_picker.htm",width:375+parseInt(j.getLang("advanced.colorpicker_delta_width",0)),height:250+parseInt(j.getLang("advanced.colorpicker_delta_height",0)),close_previous:false,inline:true},{input_color:k.color,func:k.func,theme_url:this.url})},_mceCodeEditor:function(k,l){var j=this.editor;j.windowManager.open({url:this.url+"/source_editor.htm",width:parseInt(j.getParam("theme_advanced_source_editor_width",720)),height:parseInt(j.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url})},_mceImage:function(k,l){var j=this.editor;if(j.dom.getAttrib(j.selection.getNode(),"class","").indexOf("mceItem")!=-1){return}j.windowManager.open({url:this.url+"/image.htm",width:355+parseInt(j.getLang("advanced.image_delta_width",0)),height:275+parseInt(j.getLang("advanced.image_delta_height",0)),inline:true},{theme_url:this.url})},_mceLink:function(k,l){var j=this.editor;j.windowManager.open({url:this.url+"/link.htm",width:310+parseInt(j.getLang("advanced.link_delta_width",0)),height:200+parseInt(j.getLang("advanced.link_delta_height",0)),inline:true},{theme_url:this.url})},_mceNewDocument:function(){var j=this.editor;j.windowManager.confirm("advanced.newdocument",function(k){if(k){j.execCommand("mceSetContent",false,"")}})},_mceForeColor:function(){var j=this;this._mceColorPicker(0,{color:j.fgColor,func:function(k){j.fgColor=k;j.editor.execCommand("ForeColor",false,k)}})},_mceBackColor:function(){var j=this;this._mceColorPicker(0,{color:j.bgColor,func:function(k){j.bgColor=k;j.editor.execCommand("HiliteColor",false,k)}})},_ufirst:function(j){return j.substring(0,1).toUpperCase()+j.substring(1)}});h.ThemeManager.add("advanced",h.themes.AdvancedTheme)}(tinymce)); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template_src.js new file mode 100755 index 00000000..12deb49c --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/editor_template_src.js @@ -0,0 +1,1490 @@ +/** + * 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(tinymce) { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; + + // Generates a preview for a format + function getPreviewCss(ed, fmt) { + var name, previewElm, dom = ed.dom, previewCss = '', parentFontSize, previewStylesName; + + previewStyles = ed.settings.preview_styles; + + // No preview forced + if (previewStyles === false) + return ''; + + // Default preview + if (!previewStyles) + previewStyles = 'font-family font-size font-weight text-decoration text-transform color background-color'; + + // Removes any variables since these can't be previewed + function removeVars(val) { + return val.replace(/%(\w+)/g, ''); + }; + + // Create block/inline element to use for preview + name = fmt.block || fmt.inline || 'span'; + previewElm = dom.create(name); + + // Add format styles to preview element + each(fmt.styles, function(value, name) { + value = removeVars(value); + + if (value) + dom.setStyle(previewElm, name, value); + }); + + // Add attributes to preview element + each(fmt.attributes, function(value, name) { + value = removeVars(value); + + if (value) + dom.setAttrib(previewElm, name, value); + }); + + // Add classes to preview element + each(fmt.classes, function(value) { + value = removeVars(value); + + if (!dom.hasClass(previewElm, value)) + dom.addClass(previewElm, value); + }); + + // Add the previewElm outside the visual area + dom.setStyles(previewElm, {position: 'absolute', left: -0xFFFF}); + ed.getBody().appendChild(previewElm); + + // Get parent container font size so we can compute px values out of em/% for older IE:s + parentFontSize = dom.getStyle(ed.getBody(), 'fontSize', true); + parentFontSize = /px$/.test(parentFontSize) ? parseInt(parentFontSize, 10) : 0; + + each(previewStyles.split(' '), function(name) { + var value = dom.getStyle(previewElm, name, true); + + // If background is transparent then check if the body has a background color we can use + if (name == 'background-color' && /transparent|rgba\s*\([^)]+,\s*0\)/.test(value)) { + value = dom.getStyle(ed.getBody(), name, true); + + // Ignore white since it's the default color, not the nicest fix + if (dom.toHex(value).toLowerCase() == '#ffffff') { + return; + } + } + + // Old IE won't calculate the font size so we need to do that manually + if (name == 'font-size') { + if (/em|%$/.test(value)) { + if (parentFontSize === 0) { + return; + } + + // Convert font size from em/% to px + value = parseFloat(value, 10) / (/%$/.test(value) ? 100 : 1); + value = (value * parentFontSize) + 'px'; + } + } + + previewCss += name + ':' + value + ';'; + }); + + dom.remove(previewElm); + + return previewCss; + }; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('advanced'); + + tinymce.create('tinymce.themes.AdvancedTheme', { + sizes : [8, 10, 12, 14, 18, 24, 36], + + // Control name lookup, format: title, command + 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(ed, url) { + var t = this, s, v, o; + + t.editor = ed; + t.url = url; + t.onResolveName = new tinymce.util.Dispatcher(this); + s = ed.settings; + + ed.forcedHighContrastMode = ed.settings.detect_highcontrast && t._isHighContrast(); + ed.settings.skin = ed.forcedHighContrastMode ? 'highcontrast' : ed.settings.skin; + + // Setup default buttons + if (!s.theme_advanced_buttons1) { + s = extend({ + 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" + }, s); + } + + // Default settings + t.settings = s = extend({ + theme_advanced_path : true, + theme_advanced_toolbar_location : 'top', + theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6", + theme_advanced_toolbar_align : "left", + theme_advanced_statusbar_location : "bottom", + 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", + theme_advanced_font_selector : "span", + theme_advanced_show_current_color: 0, + readonly : ed.settings.readonly + }, s); + + // Setup default font_size_style_values + if (!s.font_size_style_values) + s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt"; + + if (tinymce.is(s.theme_advanced_font_sizes, 'string')) { + s.font_size_style_values = tinymce.explode(s.font_size_style_values); + s.font_size_classes = tinymce.explode(s.font_size_classes || ''); + + // Parse string value + o = {}; + ed.settings.theme_advanced_font_sizes = s.theme_advanced_font_sizes; + each(ed.getParam('theme_advanced_font_sizes', '', 'hash'), function(v, k) { + var cl; + + if (k == v && v >= 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; + + if (ed.settings.content_css !== false) + ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css")); + + // Init editor + ed.onInit.add(function() { + if (!ed.settings.readonly) { + ed.onNodeChange.add(t._nodeChanged, t); + ed.onKeyUp.add(t._updateUndoStatus, t); + ed.onMouseUp.add(t._updateUndoStatus, t); + ed.dom.bind(ed.dom.getRoot(), 'dragend', function() { + t._updateUndoStatus(ed); + }); + } + }); + + 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"); + }, + + _isHighContrast : function() { + var actualColor, div = DOM.add(DOM.getRoot(), 'div', {'style': 'background-color: rgb(171,239,86);'}); + + actualColor = (DOM.getStyle(div, 'background-color', true) + '').toLowerCase().replace(/ /g, ''); + DOM.remove(div); + + return actualColor != 'rgb(171,239,86)' && actualColor != '#abef56'; + }, + + 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, fmt; + + fmt = { + inline : 'span', + attributes : {'class' : o['class']}, + selector : '*' + }; + + ed.formatter.register(name, fmt); + + ctrl.add(o['class'], name, { + style: function() { + return getPreviewCss(ed, fmt); + } + }); + }); + } + }, + + _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 = [], removedFormat; + + each(ctrl.items, function(item) { + formatNames.push(item.value); + }); + + ed.focus(); + ed.undoManager.add(); + + // Toggle off the current format(s) + matches = ed.formatter.matchAll(formatNames); + tinymce.each(matches, function(match) { + if (!name || match == name) { + if (match) + ed.formatter.remove(match); + + removedFormat = true; + } + }); + + if (!removedFormat) + ed.formatter.apply(name); + + ed.undoManager.add(); + ed.nodeChanged(); + + return false; // No auto select + } + }); + + // Handle specified format + ed.onPreInit.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, { + style: function() { + return getPreviewCss(ed, fmt); + } + }); + } else + ctrl.add(fmt.title); + }); + } else { + each(ed.getParam('theme_advanced_styles', '', 'hash'), function(val, key) { + var name, fmt; + + if (val) { + name = 'style_' + (counter++); + fmt = { + inline : 'span', + classes : val, + selector : '*' + }; + + ed.formatter.register(name, fmt); + ctrl.add(t.editor.translate(key), name, { + style: function() { + return getPreviewCss(ed, fmt); + } + }); + } + }); + } + }); + + // 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; + }); + + if (cur && cur.value == v) { + c.select(null); + } + + 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; + }); + + if (cur && (cur.value.fontSize == v.fontSize || cur.value['class'] && cur.value['class'] == v['class'])) { + c.select(null); + } + + 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', onselect : function(v) { + t.editor.execCommand('FormatBlock', false, v); + return false; + }}); + + 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, style: function() { + return getPreviewCss(t.editor, {block: 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; + + if (ed.settings) { + ed.settings.aria_label = s.aria_label + ed.getLang('advanced.help_shortcut'); + } + + // TODO: ACC Should have an aria-describedby attribute which is user-configurable to describe what this field is actually for. + // Maybe actually inherit it from the original textara? + n = p = DOM.create('span', {role : 'application', 'aria-labelledby' : ed.id + '_voice', id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '') + (ed.settings.directionality == "rtl" ? ' mceRtl' : '')}); + DOM.add(n, 'span', {'class': 'mceVoiceLabel', 'style': 'display:none;', id: ed.id + '_voice'}, s.aria_label); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {role : "presentation", 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 = sc.rows; + 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 false; + } + }); +/* + 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; + + ed.onKeyDown.add(function(ed, evt) { + var DOM_VK_F10 = 121, DOM_VK_F11 = 122; + + if (evt.altKey) { + if (evt.keyCode === DOM_VK_F10) { + // Make sure focus is given to toolbar in Safari. + // We can't do this in IE as it prevents giving focus to toolbar when editor is in a frame + if (tinymce.isWebKit) { + window.focus(); + } + t.toolbarGroup.focus(); + return Event.cancel(evt); + } else if (evt.keyCode === DOM_VK_F11) { + DOM.get(ed.id + '_path_row').focus(); + return Event.cancel(evt); + } + } + }); + + // alt+0 is the UK recommended shortcut for accessing the list of access controls. + ed.addShortcut('alt+0', '', 'mceShortcuts', t); + + 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 + '_ifr'); + + 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); + return false; + }); + + 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 (c.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, toolbarGroup, toolbarsExist = false; + + toolbarGroup = cf.createToolbarGroup('toolbargroup', { + 'name': ed.getLang('advanced.toolbar'), + 'tab_focus_toolbar':ed.getParam('theme_advanced_tab_focus_toolbar') + }); + + t.toolbarGroup = toolbarGroup; + + a = s.theme_advanced_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr', {role: 'toolbar'}), 'td', {'class' : 'mceToolbar ' + a, "role":"toolbar"}); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_advanced_buttons' + i]); i++) { + toolbarsExist = true; + 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); + toolbarGroup.add(tb); + + o.deltaHeight -= s.theme_advanced_row_height; + } + // Handle case when there are no toolbar buttons and ensure editor height is adjusted accordingly + if (!toolbarsExist) + o.deltaHeight -= s.theme_advanced_row_height; + h.push(toolbarGroup.renderHTML()); + 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', 'role': 'group', 'aria-labelledby': ed.id + '_path_voice'}); + if (s.theme_advanced_path) { + DOM.add(n, 'span', {id: ed.id + '_path_voice'}, ed.translate('advanced.path')); + DOM.add(n, 'span', {}, ': '); + } else { + DOM.add(n, 'span', {}, ' '); + } + + + if (s.theme_advanced_resizing) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize', tabIndex:"-1"}); + + 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); + + ed.nodeChanged(); + }; + + 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; + }, + + _updateUndoStatus : function(ed) { + var cm = ed.controlManager, um = ed.undoManager; + + cm.setDisabled('undo', !um.hasUndo() && !um.typing); + cm.setDisabled('redo', !um.hasRedo()); + }, + + _nodeChanged : function(ed, cm, n, co, ob) { + var t = this, p, de = 0, v, c, s = t.settings, cl, fz, fn, fc, bc, 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); + t._updateUndoStatus(ed); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = getParent('A'); + if (c = cm.get('link')) { + c.setDisabled((!p && co) || (p && !p.href)); + c.setActive(!!p && (!p.name && !p.id)); + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name && !p.id); + } + + if (c = cm.get('anchor')) { + c.setActive(!co && !!p && (p.name || (p.id && !p.href))); + } + + p = getParent('IMG'); + if (c = cm.get('image')) + c.setActive(!co && !!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]); + tinymce.each(matches, function(match, index) { + if (index > 0) { + c.mark(match); + } + }); + } + + if (c = cm.get('formatselect')) { + p = getParent(ed.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 (ed.dom.is(n, s.theme_advanced_font_selector)) { + if (!fz && n.style.fontSize) + fz = n.style.fontSize; + + if (!fn && n.style.fontFamily) + fn = n.style.fontFamily.replace(/[\"\']+/g, '').replace(/^([^,]+).*/, '$1').toLowerCase(); + + if (!fc && n.style.color) + fc = n.style.color; + + if (!bc && n.style.backgroundColor) + bc = n.style.backgroundColor; + } + + 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_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + } + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + if (s.theme_advanced_show_current_color) { + function updateColor(controlId, color) { + if (c = cm.get(controlId)) { + if (!color) + color = c.settings.default_color; + if (color !== c.value) { + c.displayColor(color); + } + } + }; + + updateColor('forecolor', fc); + updateColor('backcolor', bc); + } + + 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'}); + + if (t.statusKeyboardNavigation) { + t.statusKeyboardNavigation.destroy(); + t.statusKeyboardNavigation = null; + } + + DOM.setHTML(p, ''); + + getParent(function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + // Ignore non element and bogus/hidden elements + if (n.nodeType != 1 || na === 'br' || n.getAttribute('data-mce-bogus') || DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved')) + return; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML' && n.scopeName) + 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 (ed.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:;", role: 'button', onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(DOM.create('span', {'aria-hidden': 'true'}, '\u00a0\u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + + if (DOM.select('a', p).length > 0) { + t.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({ + root: ed.id + "_path_row", + items: DOM.select('a', p), + excludeFromTabOrder: true, + onCancel: function() { + ed.focus(); + } + }, DOM); + } + } + }, + + // 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 : 265 + 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 + }); + }, + + _mceShortcuts : function() { + var ed = this.editor; + ed.windowManager.open({ + url: this.url + '/shortcuts.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)); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/image.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/image.htm new file mode 100755 index 00000000..b8ba729f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/image.htm @@ -0,0 +1,80 @@ + + + + {#advanced_dlg.image_title} + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ x +
+
+
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/colorpicker.jpg b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/colorpicker.jpg new file mode 100644 index 00000000..b1a377ab Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/colorpicker.jpg differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/flash.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/flash.gif new file mode 100644 index 00000000..dec3f7c7 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/flash.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/icons.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/icons.gif new file mode 100644 index 00000000..ca222490 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/icons.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/iframe.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/iframe.gif new file mode 100644 index 00000000..410c7ad0 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/iframe.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/pagebreak.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/pagebreak.gif new file mode 100644 index 00000000..acdf4085 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/pagebreak.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/quicktime.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/quicktime.gif new file mode 100644 index 00000000..8f10e7aa Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/quicktime.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/realmedia.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/realmedia.gif new file mode 100644 index 00000000..fdfe0b9a Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/realmedia.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/shockwave.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/shockwave.gif new file mode 100644 index 00000000..9314d044 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/shockwave.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/trans.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/trans.gif new file mode 100644 index 00000000..38848651 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/trans.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/video.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/video.gif new file mode 100644 index 00000000..35701040 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/video.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/windowsmedia.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/windowsmedia.gif new file mode 100644 index 00000000..ab50f2d8 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/img/windowsmedia.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/about.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/about.js new file mode 100644 index 00000000..5b358457 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/about.js @@ -0,0 +1,73 @@ +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'; + document.getElementById('help_tab').setAttribute("aria-hidden", "false"); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/anchor.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/anchor.js new file mode 100644 index 00000000..2909a3a4 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/anchor.js @@ -0,0 +1,56 @@ +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') || ed.dom.getAttrib(elm, 'id'); + + 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, attribName; + + if (!name || !/^[a-z][a-z0-9\-\_:\.]*$/i.test(name)) { + tinyMCEPopup.alert('advanced_dlg.anchor_invalid'); + return; + } + + tinyMCEPopup.restoreSelection(); + + if (this.action != 'update') + ed.selection.collapse(1); + + var aRule = ed.schema.getElementRule('a'); + if (!aRule || aRule.attributes.name) { + attribName = 'name'; + } else { + attribName = 'id'; + } + + elm = ed.dom.getParent(ed.selection.getNode(), 'A'); + if (elm) { + elm.setAttribute(attribName, name); + elm[attribName] = name; + ed.undoManager.add(); + } else { + // create with zero-sized nbsp so that in Webkit where anchor is on last line by itself caret cannot be placed after it + var attrs = {'class' : 'mceItemAnchor'}; + attrs[attribName] = name; + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', attrs, '\uFEFF')); + ed.nodeChanged(); + } + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/charmap.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/charmap.js new file mode 100644 index 00000000..bb186955 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/charmap.js @@ -0,0 +1,363 @@ +/** + * 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'], + ['♠', '♠', true, '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()); + addKeyboardNavigation(); +}); + +function addKeyboardNavigation(){ + var tableElm, cells, settings; + + cells = tinyMCEPopup.dom.select("a.charmaplink", "charmapgroup"); + + settings ={ + root: "charmapgroup", + items: cells + }; + cells[0].tabindex=0; + tinyMCEPopup.dom.addClass(cells[0], "mceFocus"); + if (tinymce.isGecko) { + cells[0].focus(); + } else { + setTimeout(function(){ + cells[0].focus(); + }, 100); + } + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom); +} + +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 += '
'; + html = html.replace(/<\/tr>/g, ''); + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/color_picker.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/color_picker.js new file mode 100644 index 00000000..cc891c17 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/color_picker.js @@ -0,0 +1,345 @@ +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':'Alice Blue','#FAEBD7':'Antique White','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'Blanched Almond','#0000FF':'Blue','#8A2BE2':'Blue Violet','#A52A2A':'Brown', + '#DEB887':'Burly Wood','#5F9EA0':'Cadet Blue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'Cornflower Blue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'Dark Blue','#008B8B':'Dark Cyan','#B8860B':'Dark Golden Rod', + '#A9A9A9':'Dark Gray','#A9A9A9':'Dark Grey','#006400':'Dark Green','#BDB76B':'Dark Khaki','#8B008B':'Dark Magenta','#556B2F':'Dark Olive Green', + '#FF8C00':'Darkorange','#9932CC':'Dark Orchid','#8B0000':'Dark Red','#E9967A':'Dark Salmon','#8FBC8F':'Dark Sea Green','#483D8B':'Dark Slate Blue', + '#2F4F4F':'Dark Slate Gray','#2F4F4F':'Dark Slate Grey','#00CED1':'Dark Turquoise','#9400D3':'Dark Violet','#FF1493':'Deep Pink','#00BFFF':'Deep Sky Blue', + '#696969':'Dim Gray','#696969':'Dim Grey','#1E90FF':'Dodger Blue','#B22222':'Fire Brick','#FFFAF0':'Floral White','#228B22':'Forest Green', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'Ghost White','#FFD700':'Gold','#DAA520':'Golden Rod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'Green Yellow','#F0FFF0':'Honey Dew','#FF69B4':'Hot Pink','#CD5C5C':'Indian Red','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'Lavender Blush','#7CFC00':'Lawn Green','#FFFACD':'Lemon Chiffon','#ADD8E6':'Light Blue', + '#F08080':'Light Coral','#E0FFFF':'Light Cyan','#FAFAD2':'Light Golden Rod Yellow','#D3D3D3':'Light Gray','#D3D3D3':'Light Grey','#90EE90':'Light Green', + '#FFB6C1':'Light Pink','#FFA07A':'Light Salmon','#20B2AA':'Light Sea Green','#87CEFA':'Light Sky Blue','#778899':'Light Slate Gray','#778899':'Light Slate Grey', + '#B0C4DE':'Light Steel Blue','#FFFFE0':'Light Yellow','#00FF00':'Lime','#32CD32':'Lime Green','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'Medium Aqua Marine','#0000CD':'Medium Blue','#BA55D3':'Medium Orchid','#9370D8':'Medium Purple','#3CB371':'Medium Sea Green','#7B68EE':'Medium Slate Blue', + '#00FA9A':'Medium Spring Green','#48D1CC':'Medium Turquoise','#C71585':'Medium Violet Red','#191970':'Midnight Blue','#F5FFFA':'Mint Cream','#FFE4E1':'Misty Rose','#FFE4B5':'Moccasin', + '#FFDEAD':'Navajo White','#000080':'Navy','#FDF5E6':'Old Lace','#808000':'Olive','#6B8E23':'Olive Drab','#FFA500':'Orange','#FF4500':'Orange Red','#DA70D6':'Orchid', + '#EEE8AA':'Pale Golden Rod','#98FB98':'Pale Green','#AFEEEE':'Pale Turquoise','#D87093':'Pale Violet Red','#FFEFD5':'Papaya Whip','#FFDAB9':'Peach Puff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'Powder Blue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'Rosy Brown','#4169E1':'Royal Blue', + '#8B4513':'Saddle Brown','#FA8072':'Salmon','#F4A460':'Sandy Brown','#2E8B57':'Sea Green','#FFF5EE':'Sea Shell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'Sky Blue','#6A5ACD':'Slate Blue','#708090':'Slate Gray','#708090':'Slate Grey','#FFFAFA':'Snow','#00FF7F':'Spring Green', + '#4682B4':'Steel Blue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'White Smoke','#FFFF00':'Yellow','#9ACD32':'Yellow Green' +}; + +var namedLookup = {}; + +function init() { + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')), key, value; + + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + generateWebColors(); + generateNamedColors(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } + + for (key in named) { + value = named[key]; + namedLookup[value.replace(/\s+/, '').toLowerCase()] = key.replace(/#/, '').toLowerCase(); + } +} + +function toHexColor(color) { + var matches, red, green, blue, toInt = parseInt; + + function hex(value) { + value = parseInt(value).toString(16); + + return value.length > 1 ? value : '0' + value; // Padd with leading zero + }; + + color = tinymce.trim(color); + color = color.replace(/^[#]/, '').toLowerCase(); // remove leading '#' + color = namedLookup[color] || color; + + matches = /^rgb\((\d{1,3}),(\d{1,3}),(\d{1,3})\)$/.exec(color); + + if (matches) { + red = toInt(matches[1]); + green = toInt(matches[2]); + blue = toInt(matches[3]); + } else { + matches = /^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/.exec(color); + + if (matches) { + red = toInt(matches[1], 16); + green = toInt(matches[2], 16); + blue = toInt(matches[3], 16); + } else { + matches = /^([0-9a-f])([0-9a-f])([0-9a-f])$/.exec(color); + + if (matches) { + red = toInt(matches[1] + matches[1], 16); + green = toInt(matches[2] + matches[2], 16); + blue = toInt(matches[3] + matches[3], 16); + } else { + return ''; + } + } + } + + return '#' + hex(red) + hex(green) + hex(blue); +} + +function insertAction() { + var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func'); + + var hexColor = toHexColor(color); + + if (hexColor === '') { + var text = tinyMCEPopup.editor.getLang('advanced_dlg.invalid_color_value'); + tinyMCEPopup.alert(text + ': ' + color); + } + else { + tinyMCEPopup.restoreSelection(); + + if (f) + f(hexColor); + + tinyMCEPopup.close(); + } +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color.toUpperCase(); +} + +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; + + // TODO: VoiceOver doesn't seem to support legend as a label referenced by labelledby. + h += '
' + + ''; + + for (i=0; i' + + ''; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += ''; + } + h += ''; + h += ''; + if ((i+1) % 18 == 0) + h += ''; + } + + h += '
'; + + el.innerHTML = h; + el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el.firstChild); +} + +function paintCanvas(el) { + tinyMCEPopup.getWin().tinymce.each(tinyMCEPopup.dom.select('canvas.mceColorSwatch', el), function(canvas) { + var context; + if (canvas.getContext && (context = canvas.getContext("2d"))) { + context.fillStyle = canvas.getAttribute('data-color'); + context.fillRect(0, 0, 10, 10); + } + }); +} +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 += ''; + if (tinyMCEPopup.editor.forcedHighContrastMode) { + h += ''; + } + h += ''; + h += ''; + i++; + } + + el.innerHTML = h; + el.className = 'generated'; + + paintCanvas(el); + enableKeyboardNavigation(el); +} + +function enableKeyboardNavigation(el) { + tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', { + root: el, + items: tinyMCEPopup.dom.select('a', el) + }, tinyMCEPopup.dom); +} + +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, pos = tinyMCEPopup.dom.getPos(e.target); + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - pos.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - pos.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', tinyMCEPopup.getParam('external_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 = typeof(l) === 'function' ? 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.replace(/ /g, '%20'), + 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); + tinyMCEPopup.editor.execCommand('mceRepaint'); + tinyMCEPopup.editor.focus(); + } else { + tinymce.each(args, function(value, name) { + if (value === "") { + delete args[name]; + } + }); + + ed.execCommand('mceInsertContent', false, tinyMCEPopup.editor.dom.createHTML('img', args), {skip_undo : 1}); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st = {}, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + tinymce.each(tinyMCEPopup.dom.parseStyle(this.styleVal), function(value, key) { + st[key] = value; + }); + + // 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/link.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/link.js new file mode 100644 index 00000000..8c1d73c5 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/link.js @@ -0,0 +1,159 @@ +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, href = f.href.value.replace(/ /g, '%20'); + + tinyMCEPopup.restoreSelection(); + e = ed.dom.getParent(ed.selection.getNode(), 'A'); + + // Remove element if there is no href + if (!f.href.value) { + if (e) { + b = ed.selection.getBookmark(); + ed.dom.remove(e, 1); + ed.selection.moveToBookmark(b); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + } + + // Create new anchor elements + if (e == null) { + ed.getDoc().execCommand("unlink", false, null); + tinyMCEPopup.execCommand("mceInsertLink", 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 : href, + 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 : href, + title : f.linktitle.value + }); + + if (f.target_list) { + ed.dom.setAttrib(e, 'target', getSelectValue(f, "target_list")); + } + + if (f.class_list) { + ed.dom.setAttrib(e, 'class', getSelectValue(f, "class_list")); + } + } + + // 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/source_editor.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/source_editor.js new file mode 100644 index 00000000..dd5e366f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/js/source_editor.js @@ -0,0 +1,78 @@ +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)) { + turnWrapOn(); + 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 setWhiteSpaceCss(value) { + var el = document.getElementById('htmlSource'); + tinymce.DOM.setStyle(el, 'white-space', value); +} + +function turnWrapOff() { + if (tinymce.isWebKit) { + setWhiteSpaceCss('pre'); + } else { + setWrap('off'); + } +} + +function turnWrapOn() { + if (tinymce.isWebKit) { + setWhiteSpaceCss('pre-wrap'); + } else { + setWrap('soft'); + } +} + +function toggleWordWrap(elm) { + if (elm.checked) { + turnWrapOn(); + } else { + turnWrapOff(); + } +} + +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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de.js new file mode 100755 index 00000000..4bd5419f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.advanced',{"underline_desc":"Unterstrichen (Strg+U)","italic_desc":"Kursiv (Strg+I)","bold_desc":"Fett (Strg+B)",dd:"Definitionsbeschreibung",dt:"Definitionsbegriff",samp:"Beispiel",code:"Code",blockquote:"Zitatblock",h6:"\u00dcberschrift 6",h5:"\u00dcberschrift 5",h4:"\u00dcberschrift 4",h3:"\u00dcberschrift 3",h2:"\u00dcberschrift 2",h1:"\u00dcberschrift 1",pre:"Rohdaten",address:"Adresse",div:"Zusammenh\u00e4ngender Bereich",paragraph:"Absatz",block:"Vorlage",fontdefault:"Schriftart","font_size":"Schriftgr\u00f6\u00dfe","style_select":"Format","anchor_delta_width":"13","more_colors":"Weitere Farben","toolbar_focus":"Zur Werkzeugleiste springen: Alt+Q; Zum Editor springen: Alt-Z; Zum Elementpfad springen: Alt-X",newdocument:"Soll wirklich der ganze Inhalt gel\u00f6scht werden?",path:"Pfad","clipboard_msg":"Kopieren, Ausschneiden und Einf\u00fcgen sind im Mozilla Firefox nicht m\u00f6glich. Mehr \u00fcber dieses Problem erfahren?","blockquote_desc":"Zitatblock","help_desc":"Hilfe","newdocument_desc":"Neues Dokument","image_props_desc":"Bildeigenschaften","paste_desc":"Einf\u00fcgen","copy_desc":"Kopieren","cut_desc":"Ausschneiden","anchor_desc":"Anker einf\u00fcgen/ver\u00e4ndern","visualaid_desc":"Hilfslinien und unsichtbare Elemente ein-/ausblenden","charmap_desc":"Sonderzeichen einf\u00fcgen","backcolor_desc":"Hintergrundfarbe","forecolor_desc":"Textfarbe","custom1_desc":"Benutzerdefinierte Beschreibung","removeformat_desc":"Formatierungen zur\u00fccksetzen","hr_desc":"Trennlinie einf\u00fcgen","sup_desc":"Hochgestellt","sub_desc":"Tiefgestellt","code_desc":"HTML-Quellcode bearbeiten","cleanup_desc":"Quellcode aufr\u00e4umen","image_desc":"Bild einf\u00fcgen/ver\u00e4ndern","unlink_desc":"Link entfernen","link_desc":"Link einf\u00fcgen/ver\u00e4ndern","redo_desc":"Wiederholen (Strg+Y)","undo_desc":"R\u00fcckg\u00e4ngig (Strg+Z)","indent_desc":"Einr\u00fccken","outdent_desc":"Ausr\u00fccken","numlist_desc":"Sortierte Liste","bullist_desc":"Unsortierte Liste","justifyfull_desc":"Blocksatz","justifyright_desc":"Rechtsb\u00fcndig","justifycenter_desc":"Zentriert","justifyleft_desc":"Linksb\u00fcndig","striketrough_desc":"Durchgestrichen","help_shortcut":"F\u00fcr die Toolbar ALT-F10 dr\u00fccken. F\u00fcr die Hilfe ALT-0 dr\u00fccken","rich_text_area":"Rich Text Feld","shortcuts_desc":"Eingabehilfe",toolbar:"Pfeiltasten verwenden um Funktionen auszuw\u00e4hlen","anchor_delta_height":"","charmap_delta_height":"","charmap_delta_width":"","colorpicker_delta_height":"","colorpicker_delta_width":"","link_delta_height":"","link_delta_width":"","image_delta_height":"","image_delta_width":""}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de_dlg.js new file mode 100644 index 00000000..0ee5af90 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/de_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.advanced_dlg',{"link_list":"Linkliste","link_is_external":"Diese Adresse scheint ein externer Link zu sein. Soll das dazu ben\u00f6tigte \"http://\" vorangestellt werden?","link_is_email":"Diese Adresse scheint eine E-Mail Adresse zu sein. Soll das dazu ben\u00f6tigte \"mailto:\" vorangestellt werden?","link_titlefield":"Titel","link_target_blank":"In neuem Fenster \u00f6ffnen","link_target_same":"Im selben Fenster \u00f6ffnen","link_target":"Fenster","link_url":"Adresse","link_title":"Link einf\u00fcgen/ver\u00e4ndern","image_align_right":"Rechts","image_align_left":"Links","image_align_textbottom":"Unten im Text","image_align_texttop":"Oben im Text","image_align_bottom":"Unten","image_align_middle":"Mittig","image_align_top":"Oben","image_align_baseline":"Zeile","image_align":"Ausrichtung","image_hspace":"Horizontaler Abstand","image_vspace":"Vertikaler Abstand","image_dimensions":"Abmessungen","image_alt":"Alternativtext","image_list":"Bilderliste","image_border":"Rahmen","image_src":"Adresse","image_title":"Bild einf\u00fcgen/ver\u00e4ndern","charmap_title":"Sonderzeichen","colorpicker_name":"Name:","colorpicker_color":"Farbe:","colorpicker_named_title":"Benannte Farben","colorpicker_named_tab":"Benannte Farben","colorpicker_palette_title":"Farbpalette","colorpicker_palette_tab":"Palette","colorpicker_picker_title":"Farbwahl","colorpicker_picker_tab":"Farbwahl","colorpicker_title":"Farbe","code_wordwrap":"Automatischer Zeilenumbruch","code_title":"HTML-Quellcode bearbeiten","anchor_name":"Name des Ankers","anchor_title":"Anker einf\u00fcgen/ver\u00e4ndern","about_loaded":"Geladene Plugins","about_version":"Version","about_author":"Urheber","about_plugin":"Plugin","about_plugins":"Plugins","about_license":"Lizenzbedingungen","about_help":"Hilfe","about_general":"\u00dcber","about_title":"\u00dcber TinyMCE","charmap_usage":"Navigation mit linken und rechten Pfeiltasten.","anchor_invalid":"Bitte einen g\u00fcltigen Namen f\u00fcr den Anker eingeben!","accessibility_help":"Eingabehilfe","accessibility_usage_title":"Allgemeine Verwendung","invalid_color_value":"Ung\u00fcltige Farbangabe"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en.js new file mode 100755 index 00000000..f89eb92a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.advanced',{"underline_desc":"Underline (Ctrl+U)","italic_desc":"Italic (Ctrl+I)","bold_desc":"Bold (Ctrl+B)",dd:"Definition Description",dt:"Definition Term ",samp:"Code Sample",code:"Code",blockquote:"Block Quote",h6:"Heading 6",h5:"Heading 5",h4:"Heading 4",h3:"Heading 3",h2:"Heading 2",h1:"Heading 1",pre:"Preformatted",address:"Address",div:"DIV",paragraph:"Paragraph",block:"Format",fontdefault:"Font Family","font_size":"Font Size","style_select":"Styles","anchor_delta_height":"","anchor_delta_width":"","charmap_delta_height":"","charmap_delta_width":"","colorpicker_delta_height":"","colorpicker_delta_width":"","link_delta_height":"","link_delta_width":"","image_delta_height":"","image_delta_width":"","more_colors":"More Colors...","toolbar_focus":"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X",newdocument:"Are you sure you want clear all contents?",path:"Path","clipboard_msg":"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?","blockquote_desc":"Block Quote","help_desc":"Help","newdocument_desc":"New Document","image_props_desc":"Image Properties","paste_desc":"Paste (Ctrl+V)","copy_desc":"Copy (Ctrl+C)","cut_desc":"Cut (Ctrl+X)","anchor_desc":"Insert/Edit Anchor","visualaid_desc":"show/Hide Guidelines/Invisible Elements","charmap_desc":"Insert Special Character","backcolor_desc":"Select Background Color","forecolor_desc":"Select Text Color","custom1_desc":"Your Custom Description Here","removeformat_desc":"Remove Formatting","hr_desc":"Insert Horizontal Line","sup_desc":"Superscript","sub_desc":"Subscript","code_desc":"Edit HTML Source","cleanup_desc":"Cleanup Messy Code","image_desc":"Insert/Edit Image","unlink_desc":"Unlink","link_desc":"Insert/Edit Link","redo_desc":"Redo (Ctrl+Y)","undo_desc":"Undo (Ctrl+Z)","indent_desc":"Increase Indent","outdent_desc":"Decrease Indent","numlist_desc":"Insert/Remove Numbered List","bullist_desc":"Insert/Remove Bulleted List","justifyfull_desc":"Align Full","justifyright_desc":"Align Right","justifycenter_desc":"Align Center","justifyleft_desc":"Align Left","striketrough_desc":"Strikethrough","help_shortcut":"Press ALT-F10 for toolbar. Press ALT-0 for help","rich_text_area":"Rich Text Area","shortcuts_desc":"Accessability Help",toolbar:"Use arrow keys to select functions"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en_dlg.js new file mode 100644 index 00000000..e451f377 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/en_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.advanced_dlg',{"link_list":"Link List","link_is_external":"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?","link_is_email":"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?","link_titlefield":"Title","link_target_blank":"Open Link in a New Window","link_target_same":"Open Link in the Same Window","link_target":"Target","link_url":"Link URL","link_title":"Insert/Edit Link","image_align_right":"Right","image_align_left":"Left","image_align_textbottom":"Text Bottom","image_align_texttop":"Text Top","image_align_bottom":"Bottom","image_align_middle":"Middle","image_align_top":"Top","image_align_baseline":"Baseline","image_align":"Alignment","image_hspace":"Horizontal Space","image_vspace":"Vertical Space","image_dimensions":"Dimensions","image_alt":"Image Description","image_list":"Image List","image_border":"Border","image_src":"Image URL","image_title":"Insert/Edit Image","charmap_title":"Select Special Character","colorpicker_name":"Name:","colorpicker_color":"Color:","colorpicker_named_title":"Named Colors","colorpicker_named_tab":"Named","colorpicker_palette_title":"Palette Colors","colorpicker_palette_tab":"Palette","colorpicker_picker_title":"Color Picker","colorpicker_picker_tab":"Picker","colorpicker_title":"Select a Color","code_wordwrap":"Word Wrap","code_title":"HTML Source Editor","anchor_name":"Anchor Name","anchor_title":"Insert/Edit Anchor","about_loaded":"Loaded Plugins","about_version":"Version","about_author":"Author","about_plugin":"Plugin","about_plugins":"Plugins","about_license":"License","about_help":"Help","about_general":"About","about_title":"About TinyMCE","charmap_usage":"Use left and right arrows to navigate.","anchor_invalid":"Please specify a valid anchor name.","accessibility_help":"Accessibility Help","accessibility_usage_title":"General Usage","invalid_color_value":"Invalid color value"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu.js new file mode 100644 index 00000000..ddd85347 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.advanced',{"underline_desc":"Al\u00e1h\u00fazott (Ctrl+U)","italic_desc":"D\u0151lt (Ctrl+I)","bold_desc":"F\u00e9lk\u00f6v\u00e9r (Ctrl+B)",dd:"Defin\u00edci\u00f3 a defin\u00edci\u00f3s list\u00e1ban",dt:"Defini\u00e1lt kifejez\u00e9s a defin\u00edci\u00f3s list\u00e1ban",samp:"K\u00f3d minta",code:"K\u00f3d",blockquote:"Id\u00e9zet",h6:"C\u00edmsor 6",h5:"C\u00edmsor 5",h4:"C\u00edmsor 4",h3:"C\u00edmsor 3",h2:"C\u00edmsor 2",h1:"C\u00edmsor 1",pre:"El\u0151form\u00e1zott",address:"C\u00edm",div:"DIV",paragraph:"Bekezd\u00e9s",block:"Form\u00e1tum",fontdefault:"Bet\u0171t\u00edpus","font_size":"Bet\u0171m\u00e9ret","style_select":"St\u00edlusok","image_delta_height":"","image_delta_width":"","more_colors":"Tov\u00e1bbi sz\u00ednek...","toolbar_focus":"Eszk\u00f6z-gombokra ugr\u00e1s - Alt Q, Szerkeszt\u0151h\u00f6z ugr\u00e1s - Alt-Z, Elem\u00fatvonalhoz ugr\u00e1s - Alt-X",newdocument:"Biztosan t\u00f6rli az \u00f6sszes tartalmat?",path:"\u00datvonal","clipboard_msg":"A M\u00e1sol\u00e1s/Kiv\u00e1g\u00e1s/Besz\u00far\u00e1s funkci\u00f3k nem \u00e9rhet\u0151ek el Mozilla \u00e9s Firefox alatt. Szeretne t\u00f6bbet megtudni err\u0151l?","blockquote_desc":"Id\u00e9zet","help_desc":"Seg\u00edts\u00e9g","newdocument_desc":"\u00daj dokumentum","image_props_desc":"K\u00e9p tulajdons\u00e1gai","paste_desc":"Besz\u00far\u00e1s (Ctrl V)","copy_desc":"M\u00e1sol\u00e1s (Ctrl C)","cut_desc":"Kiv\u00e1g\u00e1s (Ctrl X) ","anchor_desc":"Horgony besz\u00far\u00e1sa/szerkeszt\u00e9se","visualaid_desc":"Vezet\u0151vonalak/nem l\u00e1that\u00f3 elemek ki-/bekapcsol\u00e1sa","charmap_desc":"Speci\u00e1lis karakter besz\u00far\u00e1sa","backcolor_desc":"H\u00e1tt\u00e9rsz\u00edn v\u00e1laszt\u00e1sa","forecolor_desc":"Sz\u00f6vegsz\u00edn v\u00e1laszt\u00e1sa","custom1_desc":"Az \u00f6n egyedi le\u00edr\u00e1sa","removeformat_desc":"Form\u00e1z\u00e1s elt\u00e1vol\u00edt\u00e1sa","hr_desc":"V\u00edzszintes elv\u00e1laszt\u00f3 vonal besz\u00far\u00e1sa","sup_desc":"Fels\u0151 index","sub_desc":"Als\u00f3 index","code_desc":"HTML forr\u00e1sk\u00f3d szerkeszt\u00e9se","cleanup_desc":"Minden form\u00e1z\u00e1s elt\u00e1vol\u00edt\u00e1sa","image_desc":"K\u00e9p besz\u00far\u00e1sa/szerkeszt\u00e9se","unlink_desc":"Link elt\u00e1vol\u00edt\u00e1sa","link_desc":"Link besz\u00far\u00e1sa/szerkeszt\u00e9se","redo_desc":"M\u00e9gis v\u00e9grehajt (Ctrl+Y)","undo_desc":"Visszavon\u00e1s (Ctrl+Z)","indent_desc":"Beh\u00faz\u00e1s n\u00f6vel\u00e9se","outdent_desc":"Beh\u00faz\u00e1s cs\u00f6kkent\u00e9se","numlist_desc":"Sz\u00e1mozott lista besz\u00far\u00e1sa/elt\u00e1vol\u00edt\u00e1sa","bullist_desc":"Felsorol\u00e1s besz\u00far\u00e1sa/elt\u00e1vol\u00edt\u00e1sa","justifyfull_desc":"Sorkiz\u00e1rt","justifyright_desc":"Jobbra z\u00e1rt","justifycenter_desc":"K\u00f6z\u00e9pre z\u00e1rt","justifyleft_desc":"Balra z\u00e1rt","striketrough_desc":"\u00c1th\u00fazott","help_shortcut":"Ugr\u00e1s az eszk\u00f6zt\u00e1rhoz: ALT-F10. Seg\u00edts\u00e9g: ALT-0.","rich_text_area":"Rich Text ter\u00fclet","shortcuts_desc":"El\u00e9rhet\u0151s\u00e9g s\u00fag\u00f3",toolbar:"Eszk\u00f6zt\u00e1r","anchor_delta_height":"","anchor_delta_width":"","charmap_delta_height":"","charmap_delta_width":"","colorpicker_delta_height":"","colorpicker_delta_width":"","link_delta_height":"","link_delta_width":""}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu_dlg.js new file mode 100644 index 00000000..4322cb69 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/hu_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.advanced_dlg',{"link_list":"Link lista","link_is_external":"A be\u00edrt internet c\u00edm k\u00fcls\u0151 hivatkoz\u00e1snak t\u0171nik, k\u00edv\u00e1nja a sz\u00fcks\u00e9ges http:// el\u0151taggal kieg\u00e9sz\u00edteni?","link_is_email":"A be\u00edrt internet c\u00edm e-mail c\u00edmnek t\u0171nik, k\u00edv\u00e1nja a sz\u00fcks\u00e9ges mailto: el\u0151taggal kieg\u00e9sz\u00edteni?","link_titlefield":"C\u00edm","link_target_blank":"Hivatkoz\u00e1s megnyit\u00e1sa \u00faj ablakban","link_target_same":"Hivatkoz\u00e1s megnyit\u00e1sa ugyanabban az ablakban","link_target":"Hivatkoz\u00e1s c\u00e9lja","link_url":"Internet c\u00edm","link_title":"Link besz\u00far\u00e1sa/szerkeszt\u00e9se","image_align_right":"Jobbra","image_align_left":"Balra","image_align_textbottom":"Sz\u00f6veg alj\u00e1hoz","image_align_texttop":"Sz\u00f6veg tetej\u00e9hez","image_align_bottom":"Lentre","image_align_middle":"K\u00f6z\u00e9pre","image_align_top":"Fentre","image_align_baseline":"Alapvonalhoz","image_align":"Igaz\u00edt\u00e1s","image_hspace":"V\u00edzszintes t\u00e1v","image_vspace":"F\u00fcgg\u0151leges t\u00e1v","image_dimensions":"M\u00e9retek","image_alt":"K\u00e9p le\u00edr\u00e1s","image_list":"K\u00e9p lista","image_border":"Keret","image_src":"K\u00e9p URL","image_title":"K\u00e9p besz\u00far\u00e1sa/szerkeszt\u00e9se","charmap_title":"Speci\u00e1lis karakter v\u00e1laszt\u00e1sa","colorpicker_name":"N\u00e9v:","colorpicker_color":"Sz\u00edn:","colorpicker_named_title":"Elnevezett sz\u00ednek","colorpicker_named_tab":"Elnevezett","colorpicker_palette_title":"Paletta sz\u00ednek","colorpicker_palette_tab":"Paletta","colorpicker_picker_title":"Sz\u00ednv\u00e1laszt\u00f3","colorpicker_picker_tab":"V\u00e1laszt\u00f3","colorpicker_title":"Sz\u00ednv\u00e1laszt\u00e1s","code_wordwrap":"Sz\u00f6veg t\u00f6rdel\u00e9se","code_title":"HTML forr\u00e1s szerkeszt\u00e9se","anchor_name":"Horgonyn\u00e9v","anchor_title":"Horgony besz\u00far\u00e1sa/szerkeszt\u00e9se","about_loaded":"Bet\u00f6lt\u00f6tt pluginok","about_version":"Verzi\u00f3","about_author":"Szerz\u0151","about_plugin":"Plugin","about_plugins":"Pluginok","about_license":"Licensz","about_help":"Seg\u00edts\u00e9g","about_general":"R\u00f3lunk","about_title":"A TinyMCE-r\u0151l","charmap_usage":"A navig\u00e1l\u00e1shoz haszn\u00e1ld a bal \u00e9s jobb oldali nyilat.","anchor_invalid":"Adjon meg egy helyes horgony nevet.","accessibility_help":"El\u00e9rhet\u0151s\u00e9g s\u00fag\u00f3","accessibility_usage_title":"\u00c1ltal\u00e1nos haszn\u00e1lat","invalid_color_value":"\u00c9rv\u00e9nytelen sz\u00edn \u00e9rt\u00e9k"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja.js new file mode 100755 index 00000000..f5533c54 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.advanced',{"underline_desc":"\u4e0b\u7dda (Ctrl+U)","italic_desc":"\u659c\u4f53 (Ctrl+I)","bold_desc":"\u592a\u5b57 (Ctrl+B)",dd:"\u8a9e\u53e5\u306e\u8aac\u660e",dt:"\u8a9e\u53e5\u306e\u5b9a\u7fa9",samp:"\u30b3\u30fc\u30c9\u306e\u4f8b",code:"\u30b3\u30fc\u30c9",blockquote:"\u5f15\u7528",h6:"\u898b\u51fa\u30576",h5:"\u898b\u51fa\u30575",h4:"\u898b\u51fa\u30574",h3:"\u898b\u51fa\u30573",h2:"\u898b\u51fa\u30572",h1:"\u898b\u51fa\u30571",pre:"\u6574\u5f62\u6e08\u307f",address:"\u4f4f\u6240",div:"div\u8981\u7d20",paragraph:"\u6bb5\u843d",block:"\u66f8\u5f0f",fontdefault:"\u30d5\u30a9\u30f3\u30c8","font_size":"\u30d5\u30a9\u30f3\u30c8\u306e\u5927\u304d\u3055","style_select":"\u30b9\u30bf\u30a4\u30eb","more_colors":"\u3055\u3089\u306b\u8272\u3092\u4f7f\u7528...","toolbar_focus":"\u30c4\u30fc\u30eb\u30dc\u30bf\u30f3\u3078\u79fb\u52d5 - Alt Q, \u30a8\u30c7\u30a3\u30bf\u306b\u79fb\u52d5 - Alt-Z, \u8981\u7d20\u306e\u30d1\u30b9\u3078\u79fb\u52d5 - Alt-X",newdocument:"\u672c\u5f53\u306b\u3059\u3079\u3066\u306e\u5185\u5bb9\u3092\u6d88\u53bb\u3057\u3066\u3088\u3044\u3067\u3059\u304b?",path:"\u30d1\u30b9","clipboard_msg":"\u30b3\u30d4\u30fc/\u5207\u308a\u53d6\u308a/\u8cbc\u308a\u4ed8\u3051\u306fMozilla\u3068Firefox\u3067\u306f\u4f7f\u7528\u3067\u304d\u307e\u305b\u3093\u3002\n\u3053\u306e\u554f\u984c\u306e\u8a73\u7d30\u3092\u77e5\u308a\u305f\u3044\u3067\u3059\u304b?","blockquote_desc":"\u5f15\u7528\u30d6\u30ed\u30c3\u30af","help_desc":"\u30d8\u30eb\u30d7","newdocument_desc":"\u65b0\u3057\u3044\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8","image_props_desc":"\u753b\u50cf\u306e\u5c5e\u6027","paste_desc":"\u8cbc\u308a\u4ed8\u3051","copy_desc":"\u30b3\u30d4\u30fc","cut_desc":"\u5207\u308a\u53d6\u308a","anchor_desc":"\u30a2\u30f3\u30ab\u30fc\u306e\u633f\u5165/\u7de8\u96c6","visualaid_desc":"\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u3068\u975e\u8868\u793a\u8981\u7d20\u306e\u8868\u793a\u3092\u5207\u66ff","charmap_desc":"\u7279\u6b8a\u6587\u5b57","backcolor_desc":"\u80cc\u666f\u306e\u8272","forecolor_desc":"\u6587\u5b57\u306e\u8272","custom1_desc":"\u8aac\u660e\u6587\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002","removeformat_desc":"\u66f8\u5f0f\u306e\u524a\u9664","hr_desc":"\u6c34\u5e73\u7dda\u3092\u633f\u5165","sup_desc":"\u4e0a\u4ed8\u304d\u6587\u5b57","sub_desc":"\u4e0b\u4ed8\u304d\u6587\u5b57","code_desc":"HTML\u306e\u30bd\u30fc\u30b9\u3092\u7de8\u96c6","cleanup_desc":"\u4e71\u96d1\u306a\u30b3\u30fc\u30c9\u3092\u6574\u5f62","image_desc":"\u753b\u50cf\u306e\u633f\u5165/\u7de8\u96c6","unlink_desc":"\u30ea\u30f3\u30af\u3092\u89e3\u9664","link_desc":"\u30ea\u30f3\u30af\u306e\u633f\u5165/\u7de8\u96c6","redo_desc":"\u3084\u308a\u76f4\u3059 (Ctrl+Y)","undo_desc":"\u5143\u306b\u623b\u3059 (Ctrl+Z)","indent_desc":"\u5b57\u4e0b\u3052\u3092\u5897\u3084\u3059","outdent_desc":"\u5b57\u4e0b\u3052\u3092\u6e1b\u3089\u3059","numlist_desc":"\u756a\u53f7\u3064\u304d\u30ea\u30b9\u30c8","bullist_desc":"\u756a\u53f7\u306a\u3057\u30ea\u30b9\u30c8","justifyfull_desc":"\u5747\u7b49\u5272\u4ed8","justifyright_desc":"\u53f3\u63c3\u3048","justifycenter_desc":"\u4e2d\u592e\u63c3\u3048","justifyleft_desc":"\u5de6\u63c3\u3048","striketrough_desc":"\u53d6\u308a\u6d88\u3057\u7dda","help_shortcut":"ALT-F10 \u3067\u30c4\u30fc\u30eb\u30d0\u30fc\u3001ALT-0 \u3067\u30d8\u30eb\u30d7","rich_text_area":"\u30ea\u30c3\u30c1\u30c6\u30ad\u30b9\u30c8\u30a8\u30ea\u30a2","shortcuts_desc":"\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u306e\u30d8\u30eb\u30d7",toolbar:"\u30c4\u30fc\u30eb\u30d0\u30fc","anchor_delta_height":"","anchor_delta_width":"","charmap_delta_height":"","charmap_delta_width":"","colorpicker_delta_height":"","colorpicker_delta_width":"","link_delta_height":"","link_delta_width":"","image_delta_height":"","image_delta_width":""}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja_dlg.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja_dlg.js new file mode 100644 index 00000000..234fb71a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/langs/ja_dlg.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.advanced_dlg',{"link_list":"\u30ea\u30f3\u30af\u306e\u4e00\u89a7","link_is_external":"\u5165\u529b\u3057\u305fURL\u306f\u5916\u90e8\u306e\u30ea\u30f3\u30af\u306e\u3088\u3046\u3067\u3059\u3002\u30ea\u30f3\u30af\u306b http:// \u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b?","link_is_email":"\u5165\u529b\u3057\u305fURL\u306f\u96fb\u5b50\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u3088\u3046\u3067\u3059\u3002\u30ea\u30f3\u30af\u306b mailto: \u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b?","link_titlefield":"\u30bf\u30a4\u30c8\u30eb","link_target_blank":"\u65b0\u3057\u3044\u30a6\u30a4\u30f3\u30c9\u30a6\u3067\u958b\u304f","link_target_same":"\u540c\u3058\u30a6\u30a4\u30f3\u30c9\u30a6\u3067\u958b\u304f","link_target":"\u30bf\u30fc\u30b2\u30c3\u30c8","link_url":"\u30ea\u30f3\u30af\u306eURL","link_title":"\u30ea\u30f3\u30af\u306e\u633f\u5165\u3084\u7de8\u96c6","image_align_right":"\u53f3\u63c3\u3048","image_align_left":"\u5de6\u63c3\u3048","image_align_textbottom":"\u30c6\u30ad\u30b9\u30c8\u306e\u4e0b\u7aef\u63c3\u3048","image_align_texttop":"\u30c6\u30ad\u30b9\u30c8\u306e\u4e0a\u7aef\u63c3\u3048","image_align_bottom":"\u4e0b\u63c3\u3048","image_align_middle":"\u4e2d\u592e\u63c3\u3048","image_align_top":"\u4e0a\u63c3\u3048","image_align_baseline":"\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u63c3\u3048","image_align":"\u914d\u7f6e","image_hspace":"\u5de6\u53f3\u306e\u4f59\u767d","image_vspace":"\u4e0a\u4e0b\u306e\u4f59\u767d","image_dimensions":"\u5bf8\u6cd5","image_alt":"\u753b\u50cf\u306e\u8aac\u660e","image_list":"\u753b\u50cf\u306e\u4e00\u89a7","image_border":"\u67a0\u7dda","image_src":"\u753b\u50cf\u306eURL","image_title":"\u753b\u50cf\u306e\u633f\u5165\u3084\u7de8\u96c6","charmap_title":"\u7279\u6b8a\u6587\u5b57","colorpicker_name":"\u540d\u524d:","colorpicker_color":"\u8272:","colorpicker_named_title":"\u5b9a\u7fa9\u6e08\u307f\u306e\u8272","colorpicker_named_tab":"\u5b9a\u7fa9\u6e08\u307f","colorpicker_palette_title":"\u30d1\u30ec\u30c3\u30c8\u306e\u8272","colorpicker_palette_tab":"\u30d1\u30ec\u30c3\u30c8","colorpicker_picker_title":"\u8272\u9078\u629e","colorpicker_picker_tab":"\u9078\u629e","colorpicker_title":"\u8272\u3092\u9078\u629e","code_wordwrap":"\u884c\u306e\u6298\u308a\u8fd4\u3057","code_title":"HTML\u306e\u30bd\u30fc\u30b9\u30a8\u30c7\u30a3\u30bf","anchor_name":"\u30a2\u30f3\u30ab\u30fc\u306e\u540d\u524d","anchor_title":"\u30a2\u30f3\u30ab\u30fc\u306e\u633f\u5165\u3084\u7de8\u96c6","about_loaded":"\u8aad\u307f\u8fbc\u307f\u6e08\u307f\u306e\u30d7\u30e9\u30b0\u30a4\u30f3","about_version":"\u30d0\u30fc\u30b8\u30e7\u30f3","about_author":"\u4f5c\u6210\u8005","about_plugin":"\u30d7\u30e9\u30b0\u30a4\u30f3","about_plugins":"\u30d7\u30e9\u30b0\u30a4\u30f3","about_license":"\u30e9\u30a4\u30bb\u30f3\u30b9","about_help":"\u30d8\u30eb\u30d7","about_general":"TinyMCE\u306b\u3064\u3044\u3066","about_title":"TinyMCE\u306b\u3064\u3044\u3066","charmap_usage":"\u5de6\u53f3\u306e\u30ab\u30fc\u30bd\u30eb\u30ad\u30fc\u3092\u4f7f\u7528\u3057\u3066\u79fb\u52d5\u3057\u3066\u304f\u3060\u3055\u3044\u3002","anchor_invalid":"\u6709\u52b9\u306a\u30a2\u30f3\u30ab\u30fc\u306e\u540d\u524d\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002","accessibility_help":"\u30a2\u30af\u30bb\u30b7\u30d3\u30ea\u30c6\u30a3\u306e\u30d8\u30eb\u30d7","accessibility_usage_title":"\u5168\u822c\u7684\u306a\u4f7f\u3044\u65b9","invalid_color_value":"\u7121\u52b9\u306a\u5024"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/link.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/link.htm new file mode 100755 index 00000000..5d9dea9b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/link.htm @@ -0,0 +1,57 @@ + + + + {#advanced_dlg.link_title} + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+
+ +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/shortcuts.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/shortcuts.htm new file mode 100644 index 00000000..20ec2f5a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/shortcuts.htm @@ -0,0 +1,47 @@ + + + + {#advanced_dlg.accessibility_help} + + + + +

{#advanced_dlg.accessibility_usage_title}

+

Toolbars

+

Press ALT-F10 to move focus to the toolbars. Navigate through the buttons using the arrow keys. + Press enter to activate a button and return focus to the editor. + Press escape to return focus to the editor without performing any actions.

+ +

Status Bar

+

To access the editor status bar, press ALT-F11. Use the left and right arrow keys to navigate between elements in the path. + Press enter or space to select an element. Press escape to return focus to the editor without changing the selection.

+ +

Context Menu

+

Press shift-F10 to activate the context menu. Use the up and down arrow keys to move between menu items. To open sub-menus press the right arrow key. + To close submenus press the left arrow key. Press escape to close the context menu.

+ +

Keyboard Shortcuts

+ + + + + + + + + + + + + + + + + + + + + +
KeystrokeFunction
Control-BBold
Control-IItalic
Control-ZUndo
Control-YRedo
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/content.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/content.css new file mode 100644 index 00000000..2fd94a1f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/content.css @@ -0,0 +1,50 @@ +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;} +body.mceBrowserDefaults {background:transparent; color:inherit; font-size:inherit; font-family:inherit;} +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; -webkit-user-select:all; -webkit-user-modify:read-only; -moz-user-select:all; -moz-user-modify:read-only; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat center center} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table, img, hr, .mceItemAnchor {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} +*[contentEditable]:focus {outline:0} + +.mceItemMedia {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)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemAudio {background-image:url(../../img/video.gif)} +.mceItemEmbeddedAudio {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/dialog.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/dialog.css new file mode 100644 index 00000000..879786fc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/dialog.css @@ -0,0 +1,118 @@ +/* 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.gif) -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.gif) -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 {display:inline-block; padding-left:40px; height:14px; border:1px solid black; margin-left:5px; margin-right: 5px} +#colorpicker #previewblock {position: relative; top: -3px; padding-left:5px; padding-top: 0px; display:inline} +#colorpicker #preview_wrapper { text-align:center; padding-top:4px; white-space: nowrap} +#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 .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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/buttons.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/buttons.png new file mode 100644 index 00000000..1e53560e Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/buttons.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/items.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/items.gif new file mode 100644 index 00000000..d2f93671 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/items.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif new file mode 100644 index 00000000..85e31dfb Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_check.gif new file mode 100644 index 00000000..adfdddcc Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/menu_check.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/progress.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/progress.gif new file mode 100644 index 00000000..5bb90fd6 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/progress.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/tabs.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/tabs.gif new file mode 100644 index 00000000..06812cb4 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/img/tabs.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/ui.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/ui.css new file mode 100644 index 00000000..77083f31 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/default/ui.css @@ -0,0 +1,219 @@ +/* Reset */ +.defaultSkin table, .defaultSkin tbody, .defaultSkin a, .defaultSkin img, .defaultSkin tr, .defaultSkin div, .defaultSkin td, .defaultSkin iframe, .defaultSkin span, .defaultSkin *, .defaultSkin .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} +.defaultSkin a:hover, .defaultSkin a:link, .defaultSkin a:visited, .defaultSkin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.defaultSkin table td {vertical-align:middle} + +/* Containers */ +.defaultSkin table {direction:ltr;background:transparent} +.defaultSkin iframe {display:block;} +.defaultSkin .mceToolbar {height:26px} +.defaultSkin .mceLeft {text-align:left} +.defaultSkin .mceRight {text-align:right} + +/* External */ +.defaultSkin .mceExternalToolbar {position:absolute; border:1px solid #CCC; border-bottom:0; display:none;} +.defaultSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.defaultSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.gif) -820px 0} + +/* Layout */ +.defaultSkin table.mceLayout {border:0; border-left:1px solid #CCC; border-right:1px solid #CCC} +.defaultSkin table.mceLayout tr.mceFirst td {border-top:1px solid #CCC} +.defaultSkin table.mceLayout tr.mceLast td {border-bottom:1px solid #CCC} +.defaultSkin table.mceToolbar, .defaultSkin tr.mceFirst .mceToolbar tr td, .defaultSkin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0;} +.defaultSkin td.mceToolbar {background:#F0F0EE; padding-top:1px; vertical-align:top} +.defaultSkin .mceIframeContainer {border-top:1px solid #CCC; border-bottom:1px solid #CCC} +.defaultSkin .mceStatusbar {background:#F0F0EE; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; display:block; height:20px} +.defaultSkin .mceStatusbar div {float:left; margin:2px} +.defaultSkin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize; outline:0} +.defaultSkin .mceStatusbar a:hover {text-decoration:underline} +.defaultSkin table.mceToolbar {margin-left:3px} +.defaultSkin span.mceIcon, .defaultSkin img.mceIcon {display:block; width:20px; height:20px} +.defaultSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} +.defaultSkin td.mceCenter {text-align:center;} +.defaultSkin td.mceCenter table {margin:0 auto; text-align:left;} +.defaultSkin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.defaultSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px; margin-right:1px} +.defaultSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} +.defaultSkin a.mceButtonActive, .defaultSkin a.mceButtonSelected {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSkin .mceButtonDisabled .mceIcon {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.defaultSkin .mceButtonLabeled {width:auto} +.defaultSkin .mceButtonLabeled span.mceIcon {float:left} +.defaultSkin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} +.defaultSkin .mceButtonDisabled .mceButtonLabel {color:#888} + +/* Separator */ +.defaultSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:2px 2px 0 4px} + +/* ListBox */ +.defaultSkin .mceListBox, .defaultSkin .mceListBox a {display:block} +.defaultSkin .mceListBox .mceText {padding-left:4px; width:70px; text-align:left; border:1px solid #CCC; border-right:0; background:#FFF; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.defaultSkin .mceListBox .mceOpen {width:9px; height:20px; background:url(../../img/icons.gif) -741px 0; margin-right:2px; border:1px solid #CCC;} +.defaultSkin table.mceListBoxEnabled:hover .mceText, .defaultSkin .mceListBoxHover .mceText, .defaultSkin .mceListBoxSelected .mceText {border:1px solid #A2ABC0; border-right:0; background:#FFF} +.defaultSkin table.mceListBoxEnabled:hover .mceOpen, .defaultSkin .mceListBoxHover .mceOpen, .defaultSkin .mceListBoxSelected .mceOpen {background-color:#FFF; border:1px solid #A2ABC0} +.defaultSkin .mceListBoxDisabled a.mceText {color:gray; background-color:transparent;} +.defaultSkin .mceListBoxMenu {overflow:auto; overflow-x:hidden} +.defaultSkin .mceOldBoxModel .mceListBox .mceText {height:22px} +.defaultSkin .mceOldBoxModel .mceListBox .mceOpen {width:11px; height:22px;} +.defaultSkin select.mceNativeListBox {font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:7pt; background:#F0F0EE; border:1px solid gray; margin-right:2px;} + +/* SplitButton */ +.defaultSkin .mceSplitButton {width:32px; height:20px; direction:ltr} +.defaultSkin .mceSplitButton a, .defaultSkin .mceSplitButton span {height:20px; display:block} +.defaultSkin .mceSplitButton a.mceAction {width:20px; border:1px solid #F0F0EE; border-right:0;} +.defaultSkin .mceSplitButton span.mceAction {width:20px; background-image:url(../../img/icons.gif);} +.defaultSkin .mceSplitButton a.mceOpen {width:9px; background:url(../../img/icons.gif) -741px 0; border:1px solid #F0F0EE;} +.defaultSkin .mceSplitButton span.mceOpen {display:none} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceAction, .defaultSkin .mceSplitButtonHover a.mceAction, .defaultSkin .mceSplitButtonSelected a.mceAction {border:1px solid #0A246A; border-right:0; background-color:#B2BBD0} +.defaultSkin table.mceSplitButtonEnabled:hover a.mceOpen, .defaultSkin .mceSplitButtonHover a.mceOpen, .defaultSkin .mceSplitButtonSelected a.mceOpen {background-color:#B2BBD0; border:1px solid #0A246A;} +.defaultSkin .mceSplitButtonDisabled .mceAction, .defaultSkin .mceSplitButtonDisabled a.mceOpen {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} +.defaultSkin .mceSplitButtonActive a.mceAction {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSkin .mceSplitButtonActive a.mceOpen {border-left:0;} + +/* ColorSplitButton */ +.defaultSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.defaultSkin .mceColorSplitMenu td {padding:2px} +.defaultSkin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.defaultSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.defaultSkin .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} +.defaultSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.defaultSkin a.mceMoreColors:hover {border:1px solid #0A246A} +.defaultSkin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a} +.defaultSkin .mce_forecolor span.mceAction, .defaultSkin .mce_backcolor span.mceAction {overflow:hidden; height:16px} + +/* Menu */ +.defaultSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #D4D0C8; direction:ltr} +.defaultSkin .mceNoIcons span.mceIcon {width:0;} +.defaultSkin .mceNoIcons a .mceText {padding-left:10px} +.defaultSkin .mceMenu table {background:#FFF} +.defaultSkin .mceMenu a, .defaultSkin .mceMenu span, .defaultSkin .mceMenu {display:block} +.defaultSkin .mceMenu td {height:20px} +.defaultSkin .mceMenu a {position:relative;padding:3px 0 4px 0} +.defaultSkin .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} +.defaultSkin .mceMenu span.mceText, .defaultSkin .mceMenu .mcePreview {font-size:11px} +.defaultSkin .mceMenu pre.mceText {font-family:Monospace} +.defaultSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.defaultSkin .mceMenu .mceMenuItemEnabled a:hover, .defaultSkin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.defaultSkin td.mceMenuItemSeparator {background:#DDD; height:1px} +.defaultSkin .mceMenuItemTitle a {border:0; background:#EEE; border-bottom:1px solid #DDD} +.defaultSkin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.defaultSkin .mceMenuItemDisabled .mceText {color:#888} +.defaultSkin .mceMenuItemSelected .mceIcon {background:url(img/menu_check.gif)} +.defaultSkin .mceNoIcons .mceMenuItemSelected a {background:url(img/menu_arrow.gif) no-repeat -6px center} +.defaultSkin .mceMenu span.mceMenuLine {display:none} +.defaultSkin .mceMenuItemSub a {background:url(img/menu_arrow.gif) no-repeat top right;} +.defaultSkin .mceMenuItem td, .defaultSkin .mceMenuItem th {line-height: normal} + +/* Progress,Resize */ +.defaultSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=50)'; filter:alpha(opacity=50); background:#FFF} +.defaultSkin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} + +/* Rtl */ +.mceRtl .mceListBox .mceText {text-align: right; padding: 0 4px 0 0} +.mceRtl .mceMenuItem .mceText {text-align: right} + +/* Formats */ +.defaultSkin .mce_formatPreview a {font-size:10px} +.defaultSkin .mce_p span.mceText {} +.defaultSkin .mce_address span.mceText {font-style:italic} +.defaultSkin .mce_pre span.mceText {font-family:monospace} +.defaultSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.defaultSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.defaultSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.defaultSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.defaultSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.defaultSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.defaultSkin span.mce_bold {background-position:0 0} +.defaultSkin span.mce_italic {background-position:-60px 0} +.defaultSkin span.mce_underline {background-position:-140px 0} +.defaultSkin span.mce_strikethrough {background-position:-120px 0} +.defaultSkin span.mce_undo {background-position:-160px 0} +.defaultSkin span.mce_redo {background-position:-100px 0} +.defaultSkin span.mce_cleanup {background-position:-40px 0} +.defaultSkin span.mce_bullist {background-position:-20px 0} +.defaultSkin span.mce_numlist {background-position:-80px 0} +.defaultSkin span.mce_justifyleft {background-position:-460px 0} +.defaultSkin span.mce_justifyright {background-position:-480px 0} +.defaultSkin span.mce_justifycenter {background-position:-420px 0} +.defaultSkin span.mce_justifyfull {background-position:-440px 0} +.defaultSkin span.mce_anchor {background-position:-200px 0} +.defaultSkin span.mce_indent {background-position:-400px 0} +.defaultSkin span.mce_outdent {background-position:-540px 0} +.defaultSkin span.mce_link {background-position:-500px 0} +.defaultSkin span.mce_unlink {background-position:-640px 0} +.defaultSkin span.mce_sub {background-position:-600px 0} +.defaultSkin span.mce_sup {background-position:-620px 0} +.defaultSkin span.mce_removeformat {background-position:-580px 0} +.defaultSkin span.mce_newdocument {background-position:-520px 0} +.defaultSkin span.mce_image {background-position:-380px 0} +.defaultSkin span.mce_help {background-position:-340px 0} +.defaultSkin span.mce_code {background-position:-260px 0} +.defaultSkin span.mce_hr {background-position:-360px 0} +.defaultSkin span.mce_visualaid {background-position:-660px 0} +.defaultSkin span.mce_charmap {background-position:-240px 0} +.defaultSkin span.mce_paste {background-position:-560px 0} +.defaultSkin span.mce_copy {background-position:-700px 0} +.defaultSkin span.mce_cut {background-position:-680px 0} +.defaultSkin span.mce_blockquote {background-position:-220px 0} +.defaultSkin .mce_forecolor span.mceAction {background-position:-720px 0} +.defaultSkin .mce_backcolor span.mceAction {background-position:-760px 0} +.defaultSkin span.mce_forecolorpicker {background-position:-720px 0} +.defaultSkin span.mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.defaultSkin span.mce_advhr {background-position:-0px -20px} +.defaultSkin span.mce_ltr {background-position:-20px -20px} +.defaultSkin span.mce_rtl {background-position:-40px -20px} +.defaultSkin span.mce_emotions {background-position:-60px -20px} +.defaultSkin span.mce_fullpage {background-position:-80px -20px} +.defaultSkin span.mce_fullscreen {background-position:-100px -20px} +.defaultSkin span.mce_iespell {background-position:-120px -20px} +.defaultSkin span.mce_insertdate {background-position:-140px -20px} +.defaultSkin span.mce_inserttime {background-position:-160px -20px} +.defaultSkin span.mce_absolute {background-position:-180px -20px} +.defaultSkin span.mce_backward {background-position:-200px -20px} +.defaultSkin span.mce_forward {background-position:-220px -20px} +.defaultSkin span.mce_insert_layer {background-position:-240px -20px} +.defaultSkin span.mce_insertlayer {background-position:-260px -20px} +.defaultSkin span.mce_movebackward {background-position:-280px -20px} +.defaultSkin span.mce_moveforward {background-position:-300px -20px} +.defaultSkin span.mce_media {background-position:-320px -20px} +.defaultSkin span.mce_nonbreaking {background-position:-340px -20px} +.defaultSkin span.mce_pastetext {background-position:-360px -20px} +.defaultSkin span.mce_pasteword {background-position:-380px -20px} +.defaultSkin span.mce_selectall {background-position:-400px -20px} +.defaultSkin span.mce_preview {background-position:-420px -20px} +.defaultSkin span.mce_print {background-position:-440px -20px} +.defaultSkin span.mce_cancel {background-position:-460px -20px} +.defaultSkin span.mce_save {background-position:-480px -20px} +.defaultSkin span.mce_replace {background-position:-500px -20px} +.defaultSkin span.mce_search {background-position:-520px -20px} +.defaultSkin span.mce_styleprops {background-position:-560px -20px} +.defaultSkin span.mce_table {background-position:-580px -20px} +.defaultSkin span.mce_cell_props {background-position:-600px -20px} +.defaultSkin span.mce_delete_table {background-position:-620px -20px} +.defaultSkin span.mce_delete_col {background-position:-640px -20px} +.defaultSkin span.mce_delete_row {background-position:-660px -20px} +.defaultSkin span.mce_col_after {background-position:-680px -20px} +.defaultSkin span.mce_col_before {background-position:-700px -20px} +.defaultSkin span.mce_row_after {background-position:-720px -20px} +.defaultSkin span.mce_row_before {background-position:-740px -20px} +.defaultSkin span.mce_merge_cells {background-position:-760px -20px} +.defaultSkin span.mce_table_props {background-position:-980px -20px} +.defaultSkin span.mce_row_props {background-position:-780px -20px} +.defaultSkin span.mce_split_cells {background-position:-800px -20px} +.defaultSkin span.mce_template {background-position:-820px -20px} +.defaultSkin span.mce_visualchars {background-position:-840px -20px} +.defaultSkin span.mce_abbr {background-position:-860px -20px} +.defaultSkin span.mce_acronym {background-position:-880px -20px} +.defaultSkin span.mce_attribs {background-position:-900px -20px} +.defaultSkin span.mce_cite {background-position:-920px -20px} +.defaultSkin span.mce_del {background-position:-940px -20px} +.defaultSkin span.mce_ins {background-position:-960px -20px} +.defaultSkin span.mce_pagebreak {background-position:0 -40px} +.defaultSkin span.mce_restoredraft {background-position:-20px -40px} +.defaultSkin span.mce_spellchecker {background-position:-540px -20px} +.defaultSkin span.mce_visualblocks {background-position: -40px -40px} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/content.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/content.css new file mode 100644 index 00000000..cbce6c6a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/content.css @@ -0,0 +1,24 @@ +body, td, pre { margin:8px;} +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(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table, img, hr, .mceItemAnchor {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} + +img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px} +font[face=mceinline] {font-family:inherit !important} +*[contentEditable]:focus {outline:0} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/dialog.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/dialog.css new file mode 100644 index 00000000..6d9fc8dd --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/dialog.css @@ -0,0 +1,106 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +background:#F0F0EE; +color: black; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE; color:#000;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;background-color:transparent;} +a:hover {color:#2B6FB6;background-color:transparent;} +.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;background-color:transparent;} +input.invalid {border:1px solid #EE0000;background-color:transparent;} +input {background:#FFF; border:1px solid #CCC;color:black;} +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 { +font-weight:bold; +width:94px; height:23px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#cancel {float:right} + +/* Browse */ +a.pickcolor, a.browse {text-decoration:none} +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -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.gif) -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;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; border: 1px solid black; border-bottom:0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block; cursor:pointer;} +.tabs li.current {font-weight: bold; margin-right:2px;} +.tabs span {float:left; display:block; padding:0px 10px 0 0;} +.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; 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 {display:inline-block; padding-left:40px; height:14px; border:1px solid black; margin-left:5px; margin-right: 5px} +#colorpicker #previewblock {position: relative; top: -3px; padding-left:5px; padding-top: 0px; display:inline} +#colorpicker #preview_wrapper { text-align:center; padding-top:4px; white-space: nowrap} +#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 .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;} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/ui.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/ui.css new file mode 100644 index 00000000..effbbe15 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/highcontrast/ui.css @@ -0,0 +1,106 @@ +/* Reset */ +.highcontrastSkin table, .highcontrastSkin tbody, .highcontrastSkin a, .highcontrastSkin img, .highcontrastSkin tr, .highcontrastSkin div, .highcontrastSkin td, .highcontrastSkin iframe, .highcontrastSkin span, .highcontrastSkin *, .highcontrastSkin .mceText {border:0; margin:0; padding:0; vertical-align:baseline; border-collapse:separate;} +.highcontrastSkin a:hover, .highcontrastSkin a:link, .highcontrastSkin a:visited, .highcontrastSkin a:active {text-decoration:none; font-weight:normal; cursor:default;} +.highcontrastSkin table td {vertical-align:middle} + +.highcontrastSkin .mceIconOnly {display: block !important;} + +/* External */ +.highcontrastSkin .mceExternalToolbar {position:absolute; border:1px solid; border-bottom:0; display:none; background-color: white;} +.highcontrastSkin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.highcontrastSkin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px;} + +/* Layout */ +.highcontrastSkin table.mceLayout {border: 1px solid;} +.highcontrastSkin .mceIframeContainer {border-top:1px solid; border-bottom:1px solid} +.highcontrastSkin .mceStatusbar a:hover {text-decoration:underline} +.highcontrastSkin .mceStatusbar {display:block; line-height:1.5em; overflow:visible;} +.highcontrastSkin .mceStatusbar div {float:left} +.highcontrastSkin .mceStatusbar a.mceResize {display:block; float:right; width:20px; height:20px; cursor:se-resize; outline:0} + +.highcontrastSkin .mceToolbar td { display: inline-block; float: left;} +.highcontrastSkin .mceToolbar tr { display: block;} +.highcontrastSkin .mceToolbar table { display: block; } + +/* Button */ + +.highcontrastSkin .mceButton { display:block; margin: 2px; padding: 5px 10px;border: 1px solid; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -ms-border-radius: 3px; height: 2em;} +.highcontrastSkin .mceButton .mceVoiceLabel { height: 100%; vertical-align: center; line-height: 2em} +.highcontrastSkin .mceButtonDisabled .mceVoiceLabel { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceButtonActive, .highcontrastSkin .mceButton:focus, .highcontrastSkin .mceButton:active { border: 5px solid; padding: 1px 6px;-webkit-focus-ring-color:none;outline:none;} + +/* Separator */ +.highcontrastSkin .mceSeparator {display:block; width:16px; height:26px;} + +/* ListBox */ +.highcontrastSkin .mceListBox { display: block; margin:2px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceListBox .mceText {padding: 5px 6px; line-height: 2em; width: 15ex; overflow: hidden;} +.highcontrastSkin .mceListBoxDisabled .mceText { opacity:0.6; -ms-filter:'alpha(opacity=60)'; filter:alpha(opacity=60);} +.highcontrastSkin .mceListBox a.mceText { padding: 5px 10px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceListBox a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-left: 0; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceListBox:focus a.mceText, .highcontrastSkin .mceListBox:active a.mceText { border-width: 5px; padding: 1px 10px 1px 6px;} +.highcontrastSkin .mceListBox:focus a.mceOpen, .highcontrastSkin .mceListBox:active a.mceOpen { border-width: 5px; padding: 1px 0px 1px 4px;} + +.highcontrastSkin .mceListBoxMenu {overflow-y:auto} + +/* SplitButton */ +.highcontrastSkin .mceSplitButtonDisabled .mceAction {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +.highcontrastSkin .mceSplitButton { border-collapse: collapse; margin: 2px; height: 2em; line-height: 2em;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton td { display: table-cell; float: none; margin: 0; padding: 0; height: 2em;} +.highcontrastSkin .mceSplitButton tr { display: table-row; } +.highcontrastSkin table.mceSplitButton { display: table; } +.highcontrastSkin .mceSplitButton a.mceAction { padding: 5px 10px; display: block; height: 2em; line-height: 2em; overflow: hidden; border: 1px solid; border-right: 0; border-radius: 3px 0px 0px 3px; -moz-border-radius: 3px 0px 0px 3px; -webkit-border-radius: 3px 0px 0px 3px; -ms-border-radius: 3px 0px 0px 3px;} +.highcontrastSkin .mceSplitButton a.mceOpen { padding: 5px 4px; display: block; height: 2em; line-height: 2em; border: 1px solid; border-radius: 0px 3px 3px 0px; -moz-border-radius: 0px 3px 3px 0px; -webkit-border-radius: 0px 3px 3px 0px; -ms-border-radius: 0px 3px 3px 0px;} +.highcontrastSkin .mceSplitButton .mceVoiceLabel { height: 2em; vertical-align: center; line-height: 2em; } +.highcontrastSkin .mceSplitButton:focus a.mceAction, .highcontrastSkin .mceSplitButton:active a.mceAction { border-width: 5px; border-right-width: 1px; padding: 1px 10px 1px 6px;-webkit-focus-ring-color:none;outline:none;} +.highcontrastSkin .mceSplitButton:focus a.mceOpen, .highcontrastSkin .mceSplitButton:active a.mceOpen { border-width: 5px; border-left-width: 1px; padding: 1px 0px 1px 4px;-webkit-focus-ring-color:none;outline:none;} + +/* Menu */ +.highcontrastSkin .mceNoIcons span.mceIcon {width:0;} +.highcontrastSkin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid; direction:ltr} +.highcontrastSkin .mceMenu table {background:white; color: black} +.highcontrastSkin .mceNoIcons a .mceText {padding-left:10px} +.highcontrastSkin .mceMenu a, .highcontrastSkin .mceMenu span, .highcontrastSkin .mceMenu {display:block;background:white; color: black} +.highcontrastSkin .mceMenu td {height:2em} +.highcontrastSkin .mceMenu a {position:relative;padding:3px 0 4px 0; display: block;} +.highcontrastSkin .mceMenu .mceText {position:relative; display:block; cursor:default; margin:0; padding:0 25px 0 25px;} +.highcontrastSkin .mceMenu pre.mceText {font-family:Monospace} +.highcontrastSkin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:26px;} +.highcontrastSkin td.mceMenuItemSeparator {border-top:1px solid; height:1px} +.highcontrastSkin .mceMenuItemTitle a {border:0; border-bottom:1px solid} +.highcontrastSkin .mceMenuItemTitle span.mceText {font-weight:bold; padding-left:4px} +.highcontrastSkin .mceNoIcons .mceMenuItemSelected span.mceText:before {content: "\2713\A0";} +.highcontrastSkin .mceMenu span.mceMenuLine {display:none} +.highcontrastSkin .mceMenuItemSub a .mceText:after {content: "\A0\25B8"} +.highcontrastSkin .mceMenuItem td, .highcontrastSkin .mceMenuItem th {line-height: normal} + +/* ColorSplitButton */ +.highcontrastSkin div.mceColorSplitMenu table {background:#FFF; border:1px solid; color: #000} +.highcontrastSkin .mceColorSplitMenu td {padding:2px} +.highcontrastSkin .mceColorSplitMenu a {display:block; width:16px; height:16px; overflow:hidden; color:#000; margin: 0; padding: 0;} +.highcontrastSkin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.highcontrastSkin .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} +.highcontrastSkin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid; background-color:#B6BDD2} +.highcontrastSkin a.mceMoreColors:hover {border:1px solid #0A246A; color: #000;} +.highcontrastSkin .mceColorPreview {display:none;} +.highcontrastSkin .mce_forecolor span.mceAction, .highcontrastSkin .mce_backcolor span.mceAction {height:17px;overflow:hidden} + +/* Progress,Resize */ +.highcontrastSkin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=50); background:#FFF} +.highcontrastSkin .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} + +/* Rtl */ +.mceRtl .mceListBox .mceText {text-align: right; padding: 0 4px 0 0} +.mceRtl .mceMenuItem .mceText {text-align: right} + +/* Formats */ +.highcontrastSkin .mce_p span.mceText {} +.highcontrastSkin .mce_address span.mceText {font-style:italic} +.highcontrastSkin .mce_pre span.mceText {font-family:monospace} +.highcontrastSkin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.highcontrastSkin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.highcontrastSkin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.highcontrastSkin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.highcontrastSkin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.highcontrastSkin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/content.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/content.css new file mode 100644 index 00000000..a1a8f9bd --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/content.css @@ -0,0 +1,48 @@ +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(../default/img/items.gif) no-repeat 0 0;} +span.mceItemNbsp {background: #DDD} +td.mceSelected, th.mceSelected {background-color:#3399ff !important} +img {border:0;} +table, img, hr, .mceItemAnchor {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} +*[contentEditable]:focus {outline:0} + +.mceItemMedia {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)} +.mceItemVideo {background-image:url(../../img/video.gif)} +.mceItemAudio {background-image:url(../../img/video.gif)} +.mceItemIframe {background-image:url(../../img/iframe.gif)} +.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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/dialog.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/dialog.css new file mode 100644 index 00000000..a54db98d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/dialog.css @@ -0,0 +1,118 @@ +/* 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(../default/img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +float:left; +} + +#insert {background:url(../default/img/buttons.png) 0 -52px} +#cancel {background:url(../default/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.gif) -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.gif) -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(../default/img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(../default/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(../default/img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(../default/img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(../default/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 {display:inline-block; padding-left:40px; height:14px; border:1px solid black; margin-left:5px; margin-right: 5px} +#colorpicker #previewblock {position: relative; top: -3px; padding-left:5px; padding-top: 0px; display:inline} +#colorpicker #preview_wrapper { text-align:center; padding-top:4px; white-space: nowrap} +#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 .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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png new file mode 100644 index 00000000..13a5cb03 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png new file mode 100644 index 00000000..7fc57f2b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png new file mode 100644 index 00000000..c0dcc6ca Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui.css new file mode 100644 index 00000000..a3102237 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui.css @@ -0,0 +1,222 @@ +/* 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:transparent} +.o2k7Skin iframe {display:block;} +.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.gif) -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 td.mceToolbar{background:#E5EFFD} +.o2k7Skin .mceStatusbar {background:#E5EFFD; 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.gif) -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.gif) 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 {padding-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; margin-left:3px} +.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; direction:ltr} +.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.gif)} +.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; direction:ltr} +.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;} +.o2k7Skin .mceMenuItem td, .o2k7Skin .mceMenuItem th {line-height: normal} + +/* 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} + +/* Rtl */ +.mceRtl .mceListBox .mceText {text-align: right; padding: 0 4px 0 0} +.mceRtl .mceMenuItem .mceText {text-align: right} + +/* 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} +.o2k7Skin span.mce_visualblocks {background-position: -40px -40px} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui_black.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui_black.css new file mode 100644 index 00000000..50c9b76a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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 td.mceToolbar, .o2k7SkinBlack td.mceStatusbar, .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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css new file mode 100644 index 00000000..960a8e47 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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 td.mceToolbar, .o2k7SkinSilver td.mceStatusbar, .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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/source_editor.htm b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/source_editor.htm new file mode 100755 index 00000000..dd973fcc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/advanced/source_editor.htm @@ -0,0 +1,25 @@ + + + {#advanced_dlg.code_title} + + + + +
+
+ +
+ +
+ +
+ + + +
+ + +
+
+ + diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template.js new file mode 100755 index 00000000..4b3209cc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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.contentCSS.push(d+"/skins/"+f.skin+"/content.css");c.onInit.add(function(){c.onNodeChange.add(function(h,g){tinymce.each(b,function(i){g.get(i.toLowerCase()).setActive(h.queryCommandState(i))})})});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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template_src.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template_src.js new file mode 100755 index 00000000..01ce87c5 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/editor_template_src.js @@ -0,0 +1,84 @@ +/** + * 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.contentCSS.push(url + "/skins/" + s.skin + "/content.css"); + + ed.onInit.add(function() { + ed.onNodeChange.add(function(ed, cm) { + tinymce.each(states, function(c) { + cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c)); + }); + }); + }); + + 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/img/icons.gif b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/img/icons.gif new file mode 100644 index 00000000..6fcbcb5d Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/img/icons.gif differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/de.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/de.js new file mode 100644 index 00000000..59bf788d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/de.js @@ -0,0 +1 @@ +tinyMCE.addI18n('de.simple',{"cleanup_desc":"Quellcode aufr\u00e4umen","redo_desc":"Wiederholen (Strg+Y)","undo_desc":"R\u00fcckg\u00e4ngig (Strg+Z)","numlist_desc":"Nummerierung","bullist_desc":"Aufz\u00e4hlung","striketrough_desc":"Durchgestrichen","underline_desc":"Unterstrichen (Strg+U)","italic_desc":"Kursiv (Strg+I)","bold_desc":"Fett (Strg+B)"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/en.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/en.js new file mode 100644 index 00000000..088ed0fc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/en.js @@ -0,0 +1 @@ +tinyMCE.addI18n('en.simple',{"cleanup_desc":"Cleanup Messy Code","redo_desc":"Redo (Ctrl+Y)","undo_desc":"Undo (Ctrl+Z)","numlist_desc":"Insert/Remove Numbered List","bullist_desc":"Insert/Remove Bulleted List","striketrough_desc":"Strikethrough","underline_desc":"Underline (Ctrl+U)","italic_desc":"Italic (Ctrl+I)","bold_desc":"Bold (Ctrl+B)"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/hu.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/hu.js new file mode 100644 index 00000000..6eff1750 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/hu.js @@ -0,0 +1 @@ +tinyMCE.addI18n('hu.simple',{"cleanup_desc":"Minden form\u00e1z\u00e1s elt\u00e1vol\u00edt\u00e1sa","redo_desc":"M\u00e9gis v\u00e9grehajt (Ctrl+Y)","undo_desc":"Visszavon\u00e1s (Ctrl+Z)","numlist_desc":"Sz\u00e1mozott lista besz\u00far\u00e1sa/elt\u00e1vol\u00edt\u00e1sa","bullist_desc":"Felsorol\u00e1s besz\u00far\u00e1sa/elt\u00e1vol\u00edt\u00e1sa","striketrough_desc":"\u00c1th\u00fazott","underline_desc":"Al\u00e1h\u00fazott (Ctrl+U)","italic_desc":"D\u0151lt (Ctrl+I)","bold_desc":"F\u00e9lk\u00f6v\u00e9r (Ctrl+B)"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/ja.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/ja.js new file mode 100644 index 00000000..b3acbb54 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/langs/ja.js @@ -0,0 +1 @@ +tinyMCE.addI18n('ja.simple',{"cleanup_desc":"\u4e71\u96d1\u306a\u30b3\u30fc\u30c9\u3092\u6574\u5f62","redo_desc":"\u3084\u308a\u76f4\u3059 (Ctrl+Y)","undo_desc":"\u5143\u306b\u623b\u3059 (Ctrl+Z)","numlist_desc":"\u756a\u53f7\u3064\u304d\u30ea\u30b9\u30c8","bullist_desc":"\u756a\u53f7\u306a\u3057\u30ea\u30b9\u30c8","striketrough_desc":"\u53d6\u308a\u6d88\u3057\u7dda","underline_desc":"\u4e0b\u7dda (Ctrl+U)","italic_desc":"\u659c\u4f53 (Ctrl+I)","bold_desc":"\u592a\u5b57 (Ctrl+B)"}); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/content.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/content.css new file mode 100644 index 00000000..2506c807 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/content.css @@ -0,0 +1,25 @@ +body, td, pre { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +body { + background-color: #FFFFFF; +} + +.mceVisualAid { + border: 1px dashed #BBBBBB; +} + +/* MSIE specific */ + +* html body { + 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; +} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/ui.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/ui.css new file mode 100644 index 00000000..076fe84e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/default/ui.css @@ -0,0 +1,32 @@ +/* Reset */ +.defaultSimpleSkin table, .defaultSimpleSkin tbody, .defaultSimpleSkin a, .defaultSimpleSkin img, .defaultSimpleSkin tr, .defaultSimpleSkin div, .defaultSimpleSkin td, .defaultSimpleSkin iframe, .defaultSimpleSkin span, .defaultSimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000} + +/* Containers */ +.defaultSimpleSkin {position:relative} +.defaultSimpleSkin table.mceLayout {background:#F0F0EE; border:1px solid #CCC;} +.defaultSimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #CCC;} +.defaultSimpleSkin .mceToolbar {height:24px;} + +/* Layout */ +.defaultSimpleSkin span.mceIcon, .defaultSimpleSkin img.mceIcon {display:block; width:20px; height:20px} +.defaultSimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} + +/* Button */ +.defaultSimpleSkin .mceButton {display:block; border:1px solid #F0F0EE; width:20px; height:20px} +.defaultSimpleSkin a.mceButtonEnabled:hover {border:1px solid #0A246A; background-color:#B2BBD0} +.defaultSimpleSkin a.mceButtonActive {border:1px solid #0A246A; background-color:#C2CBE0} +.defaultSimpleSkin .mceButtonDisabled span {opacity:0.3; -ms-filter:'alpha(opacity=30)'; filter:alpha(opacity=30)} + +/* Separator */ +.defaultSimpleSkin .mceSeparator {display:block; background:url(../../img/icons.gif) -180px 0; width:2px; height:20px; margin:0 2px 0 4px} + +/* Theme */ +.defaultSimpleSkin span.mce_bold {background-position:0 0} +.defaultSimpleSkin span.mce_italic {background-position:-60px 0} +.defaultSimpleSkin span.mce_underline {background-position:-140px 0} +.defaultSimpleSkin span.mce_strikethrough {background-position:-120px 0} +.defaultSimpleSkin span.mce_undo {background-position:-160px 0} +.defaultSimpleSkin span.mce_redo {background-position:-100px 0} +.defaultSimpleSkin span.mce_cleanup {background-position:-40px 0} +.defaultSimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} +.defaultSimpleSkin span.mce_insertorderedlist {background-position:-80px 0} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/content.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/content.css new file mode 100644 index 00000000..595809fa --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/content.css @@ -0,0 +1,17 @@ +body, td, pre {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} + +body {background: #FFF;} +.mceVisualAid {border: 1px dashed #BBB;} + +/* IE */ + +* html body { +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; +} diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png new file mode 100644 index 00000000..527e3495 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png differ diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/ui.css b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/themes/simple/skins/o2k7/ui.css new file mode 100644 index 00000000..cf6c35d1 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/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.gif) 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/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce.js new file mode 100755 index 00000000..7cad8b78 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce.js @@ -0,0 +1 @@ +(function(e){var a=/^\s*|\s*$/g,b,d="B".replace(/A(.)|B/,"$1")==="$1";var c={majorVersion:"3",minorVersion:"5.7",releaseDate:"2012-09-20",_init:function(){var s=this,q=document,o=navigator,g=o.userAgent,m,f,l,k,j,r;s.isOpera=e.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.isIE7=s.isIE&&/MSIE [7]/.test(g);s.isIE8=s.isIE&&/MSIE [8]/.test(g);s.isIE9=s.isIE&&/MSIE [9]/.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);s.isIOS5=s.isIDevice&&g.match(/AppleWebKit\/(\d*)/)[1]>=534;if(e.tinyMCEPreInit){s.suffix=tinyMCEPreInit.suffix;s.baseURL=tinyMCEPreInit.base;s.query=tinyMCEPreInit.query;return}s.suffix="";f=q.getElementsByTagName("base");for(m=0;m0?b:[f.scope]);if(e===false){break}}a.inDispatch=false;return e}});(function(){var a=tinymce.each;tinymce.create("tinymce.util.URI",{URI:function(e,g){var f=this,i,d,c,h;e=tinymce.trim(e);g=f.settings=g||{};if(/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e)){f.source=e;return}if(e.indexOf("/")===0&&e.indexOf("//")!==0){e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e}if(!/^[\w\-]*:?\/\//.test(e)){h=g.base_uri?g.base_uri.path:new tinymce.util.URI(location.href).directory;e=((g.base_uri&&g.base_uri.protocol)||"http")+"://mce_host"+f.toAbsPath(h,e)}e=e.replace(/@@/g,"(mce_at)");e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){var k=e[j];if(k){k=k.replace(/\(mce_at\)/g,"@@")}f[b]=k});c=g.base_uri;if(c){if(!f.protocol){f.protocol=c.protocol}if(!f.userInfo){f.userInfo=c.userInfo}if(!f.port&&f.host==="mce_host"){f.port=c.port}if(!f.host||f.host==="mce_host"){f.host=c.host}f.source=""}},setPath:function(c){var b=this;c=/^(.*?)\/?(\w+)?$/.exec(c);b.path=c[0];b.directory=c[1];b.file=c[2];b.source="";b.getURI()},toRelative:function(b){var d=this,f;if(b==="./"){return b}b=new tinymce.util.URI(b,{base_uri:d});if((b.host!="mce_host"&&d.host!=b.host&&b.host)||d.port!=b.port||d.protocol!=b.protocol){return b.getURI()}var c=d.getURI(),e=b.getURI();if(c==e||(c.charAt(c.length-1)=="/"&&c.substr(0,c.length-1)==e)){return c}f=d.toRelPath(d.path,b.path);if(b.query){f+="?"+b.query}if(b.anchor){f+="#"+b.anchor}return f},toAbsolute:function(b,c){b=new tinymce.util.URI(b,{base_uri:this});return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)},toRelPath:function(g,h){var c,f=0,d="",e,b;g=g.substring(0,g.lastIndexOf("/"));g=g.split("/");c=h.split("/");if(g.length>=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(c,e,d){var b=new Date();b.setTime(b.getTime()-1000);this.set(c,"",b,e,d)}})})();(function(){function serialize(o,quote){var i,v,t,name;quote=quote||'"';if(o==null){return"null"}t=typeof o;if(t=="string"){v="\bb\tt\nn\ff\rr\"\"''\\\\";return quote+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(a,b){if(quote==='"'&&a==="'"){return a}i=v.indexOf(b);if(i+1){return"\\"+v.charAt(i+1)}a=b.charCodeAt().toString(16);return"\\u"+"0000".substring(a.length)+a})+quote}if(t=="object"){if(o.hasOwnProperty&&Object.prototype.toString.call(o)==="[object Array]"){for(i=0,v="[";i0?",":"")+serialize(o[i],quote)}return v+"]"}v="{";for(name in o){if(o.hasOwnProperty(name)){v+=typeof o[name]!="function"?(v.length>1?","+quote:quote)+name+quote+":"+serialize(o[name],quote):""}}return v+"}"}return""+o}tinymce.util.JSON={serialize:serialize,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;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)}}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);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){if(e){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(a){a.VK={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(b){return b.shiftKey||b.ctrlKey||b.altKey},metaKeyPressed:function(b){return a.isMac?b.metaKey:b.ctrlKey&&!b.altKey}}})(tinymce);tinymce.util.Quirks=function(e){var n=tinymce.VK,x=n.BACKSPACE,y=n.DELETE,q=e.dom,I=e.selection,v=e.settings,c=e.parser,u=e.serializer;function d(M,L){try{e.getDoc().execCommand(M,false,L)}catch(K){}}function C(){var K=e.getDoc().documentMode;return K?K:6}function H(K){return K.isDefaultPrevented()}function k(){function K(N){var L,P,M,O;L=I.getRng();P=q.getParent(L.startContainer,q.isBlock);if(N){P=q.getNext(P,q.isBlock)}if(P){M=P.firstChild;while(M&&M.nodeType==3&&M.nodeValue.length===0){M=M.nextSibling}if(M&&M.nodeName==="SPAN"){O=M.cloneNode(false)}}e.getDoc().execCommand(N?"ForwardDelete":"Delete",false,null);P=q.getParent(L.startContainer,q.isBlock);tinymce.each(q.select("span.Apple-style-span,font.Apple-style-span",P),function(Q){var R=I.getBookmark();if(O){q.replace(O.cloneNode(false),Q,true)}else{q.remove(Q,true)}I.moveToBookmark(R)})}e.onKeyDown.add(function(L,N){var M;M=N.keyCode==y;if(!H(N)&&(M||N.keyCode==x)&&!n.modifierPressed(N)){N.preventDefault();K(M)}});e.addCommand("Delete",function(){K()})}function J(){function K(N){var M=q.create("body");var O=N.cloneContents();M.appendChild(O);return I.serializer.serialize(M,{format:"html"})}function L(M){var O=K(M);var P=q.createRng();P.selectNode(e.getBody());var N=K(P);return O===N}e.onKeyDown.add(function(N,P){var O=P.keyCode,M;if(!H(P)&&(O==y||O==x)){M=N.selection.isCollapsed();if(M&&!q.isEmpty(N.getBody())){return}if(tinymce.isIE&&!M){return}if(!M&&!L(N.selection.getRng())){return}N.setContent("");N.selection.setCursorLocation(N.getBody(),0);N.nodeChanged()}})}function A(){e.onKeyDown.add(function(K,L){if(!H(L)&&L.keyCode==65&&n.metaKeyPressed(L)){L.preventDefault();K.execCommand("SelectAll")}})}function B(){if(!e.settings.content_editable){q.bind(e.getDoc(),"focusin",function(K){I.setRng(I.getRng())});q.bind(e.getDoc(),"mousedown",function(K){if(K.target==e.getDoc().documentElement){e.getWin().focus();I.setRng(I.getRng())}})}}function o(){e.onKeyDown.add(function(K,N){if(!H(N)&&N.keyCode===x){if(I.isCollapsed()&&I.getRng(true).startOffset===0){var M=I.getNode();var L=M.previousSibling;if(L&&L.nodeName&&L.nodeName.toLowerCase()==="hr"){q.remove(L);tinymce.dom.Event.cancel(N)}}}})}function b(){if(!Range.prototype.getClientRects){e.onMouseDown.add(function(L,M){if(!H(M)&&M.target.nodeName==="HTML"){var K=L.getBody();K.blur();setTimeout(function(){K.focus()},0)}})}}function F(){e.onClick.add(function(K,L){L=L.target;if(/^(IMG|HR)$/.test(L.nodeName)){I.getSel().setBaseAndExtent(L,0,L,1)}if(L.nodeName=="A"&&q.hasClass(L,"mceItemAnchor")){I.select(L)}K.nodeChanged()})}function E(){function L(){var N=q.getAttribs(I.getStart().cloneNode(false));return function(){var O=I.getStart();if(O!==e.getBody()){q.setAttrib(O,"style",null);tinymce.each(N,function(P){O.setAttributeNode(P.cloneNode(true))})}}}function K(){return !I.isCollapsed()&&q.getParent(I.getStart(),q.isBlock)!=q.getParent(I.getEnd(),q.isBlock)}function M(N,O){O.preventDefault();return false}e.onKeyPress.add(function(N,P){var O;if(!H(P)&&(P.keyCode==8||P.keyCode==46)&&K()){O=L();N.getDoc().execCommand("delete",false,null);O();P.preventDefault();return false}});q.bind(e.getDoc(),"cut",function(O){var N;if(!H(O)&&K()){N=L();e.onKeyUp.addToTop(M);setTimeout(function(){N();e.onKeyUp.remove(M)},0)}})}function l(){var L,K;q.bind(e.getDoc(),"selectionchange",function(){if(K){clearTimeout(K);K=0}K=window.setTimeout(function(){var M=I.getRng();if(!L||!tinymce.dom.RangeUtils.compareRanges(M,L)){e.nodeChanged();L=M}},50)})}function G(){document.body.setAttribute("role","application")}function D(){e.onKeyDown.add(function(K,M){if(!H(M)&&M.keyCode===x){if(I.isCollapsed()&&I.getRng(true).startOffset===0){var L=I.getNode().previousSibling;if(L&&L.nodeName&&L.nodeName.toLowerCase()==="table"){return tinymce.dom.Event.cancel(M)}}}})}function i(){if(C()>7){return}d("RespectVisibilityInDesign",true);e.contentStyles.push(".mceHideBrInPre pre br {display: none}");q.addClass(e.getBody(),"mceHideBrInPre");c.addNodeFilter("pre",function(K,M){var N=K.length,P,L,Q,O;while(N--){P=K[N].getAll("br");L=P.length;while(L--){Q=P[L];O=Q.prev;if(O&&O.type===3&&O.value.charAt(O.value-1)!="\n"){O.value+="\n"}else{Q.parent.insert(new tinymce.html.Node("#text",3),Q,true).value="\n"}}}});u.addNodeFilter("pre",function(K,M){var N=K.length,P,L,Q,O;while(N--){P=K[N].getAll("br");L=P.length;while(L--){Q=P[L];O=Q.prev;if(O&&O.type==3){O.value=O.value.replace(/\r?\n$/,"")}}}})}function g(){q.bind(e.getBody(),"mouseup",function(M){var L,K=I.getNode();if(K.nodeName=="IMG"){if(L=q.getStyle(K,"width")){q.setAttrib(K,"width",L.replace(/[^0-9%]+/g,""));q.setStyle(K,"width","")}if(L=q.getStyle(K,"height")){q.setAttrib(K,"height",L.replace(/[^0-9%]+/g,""));q.setStyle(K,"height","")}}})}function s(){e.onKeyDown.add(function(Q,R){var P,K,L,N,O,S,M;P=R.keyCode==y;if(!H(R)&&(P||R.keyCode==x)&&!n.modifierPressed(R)){K=I.getRng();L=K.startContainer;N=K.startOffset;M=K.collapsed;if(L.nodeType==3&&L.nodeValue.length>0&&((N===0&&!M)||(M&&N===(P?0:1)))){nonEmptyElements=Q.schema.getNonEmptyElements();R.preventDefault();O=q.create("br",{id:"__tmp"});L.parentNode.insertBefore(O,L);Q.getDoc().execCommand(P?"ForwardDelete":"Delete",false,null);L=I.getRng().startContainer;S=L.previousSibling;if(S&&S.nodeType==1&&!q.isBlock(S)&&q.isEmpty(S)&&!nonEmptyElements[S.nodeName.toLowerCase()]){q.remove(S)}q.remove("__tmp")}}})}function f(){e.onKeyDown.add(function(O,P){var M,L,Q,K,N;if(H(P)||P.keyCode!=n.BACKSPACE){return}M=I.getRng();L=M.startContainer;Q=M.startOffset;K=q.getRoot();N=L;if(!M.collapsed||Q!==0){return}while(N&&N.parentNode&&N.parentNode.firstChild==N&&N.parentNode!=K){N=N.parentNode}if(N.tagName==="BLOCKQUOTE"){O.formatter.toggle("blockquote",null,N);M=q.createRng();M.setStart(L,0);M.setEnd(L,0);I.setRng(M)}})}function m(){function K(){e._refreshContentEditable();d("StyleWithCSS",false);d("enableInlineTableEditing",false);if(!v.object_resizing){d("enableObjectResizing",false)}}if(!v.readonly){e.onBeforeExecCommand.add(K);e.onMouseDown.add(K)}}function p(){function K(L,M){tinymce.each(q.select("a"),function(P){var N=P.parentNode,O=q.getRoot();if(N.lastChild===P){while(N&&!q.isBlock(N)){if(N.parentNode.lastChild!==N||N===O){return}N=N.parentNode}q.add(N,"br",{"data-mce-bogus":1})}})}e.onExecCommand.add(function(L,M){if(M==="CreateLink"){K(L)}});e.onSetContent.add(I.onSetContent.add(K))}function z(){if(v.forced_root_block){e.onInit.add(function(){d("DefaultParagraphSeparator",v.forced_root_block)})}}function a(){function K(M,L){if(!M||!L.initial){e.execCommand("mceRepaint")}}e.onUndo.add(K);e.onRedo.add(K);e.onSetContent.add(K)}function r(){e.onKeyDown.add(function(L,M){var K;if(!H(M)&&M.keyCode==x){K=L.getDoc().selection.createRange();if(K&&K.item){M.preventDefault();L.undoManager.beforeChange();q.remove(K.item(0));L.undoManager.add()}}})}function j(){var K;if(C()>=10){K="";tinymce.each("p div h1 h2 h3 h4 h5 h6".split(" "),function(L,M){K+=(M>0?",":"")+L+":empty"});e.contentStyles.push(K+"{padding-right: 1px !important}")}}function h(){var M,L,ac,K,X,aa,Y,ab,N,O,Z,V,U,W=document,S=e.getDoc();if(!v.object_resizing||v.webkit_fake_resize===false){return}d("enableObjectResizing",false);Z={n:[0.5,0,0,-1],e:[1,0.5,1,0],s:[0.5,1,0,1],w:[0,0.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};function Q(ag){var af,ae;af=ag.screenX-aa;ae=ag.screenY-Y;V=af*X[2]+ab;U=ae*X[3]+N;V=V<5?5:V;U=U<5?5:U;if(n.modifierPressed(ag)||(ac.nodeName=="IMG"&&X[2]*X[3]!==0)){V=Math.round(U/O);U=Math.round(V*O)}q.setStyles(K,{width:V,height:U});if(X[2]<0&&K.clientWidth<=V){q.setStyle(K,"left",M+(ab-V))}if(X[3]<0&&K.clientHeight<=U){q.setStyle(K,"top",L+(N-U))}}function ad(){function ae(af,ag){if(ag){if(ac.style[af]||!e.schema.isValid(ac.nodeName.toLowerCase(),af)){q.setStyle(ac,af,ag)}else{q.setAttrib(ac,af,ag)}}}ae("width",V);ae("height",U);q.unbind(S,"mousemove",Q);q.unbind(S,"mouseup",ad);if(W!=S){q.unbind(W,"mousemove",Q);q.unbind(W,"mouseup",ad)}q.remove(K);P(ac)}function P(ah){var af,ag,ae;R();af=q.getPos(ah);M=af.x;L=af.y;ag=ah.offsetWidth;ae=ah.offsetHeight;if(ac!=ah){ac=ah;V=U=0}tinymce.each(Z,function(ak,ai){var aj;aj=q.get("mceResizeHandle"+ai);if(!aj){aj=q.add(S.documentElement,"div",{id:"mceResizeHandle"+ai,"class":"mceResizeHandle",style:"cursor:"+ai+"-resize; margin:0; padding:0"});q.bind(aj,"mousedown",function(al){al.preventDefault();ad();aa=al.screenX;Y=al.screenY;ab=ac.clientWidth;N=ac.clientHeight;O=N/ab;X=ak;K=ac.cloneNode(true);q.addClass(K,"mceClonedResizable");q.setStyles(K,{left:M,top:L,margin:0});S.documentElement.appendChild(K);q.bind(S,"mousemove",Q);q.bind(S,"mouseup",ad);if(W!=S){q.bind(W,"mousemove",Q);q.bind(W,"mouseup",ad)}})}else{q.show(aj)}q.setStyles(aj,{left:(ag*ak[0]+M)-(aj.offsetWidth/2),top:(ae*ak[1]+L)-(aj.offsetHeight/2)})});if(!tinymce.isOpera&&ac.nodeName=="IMG"){ac.setAttribute("data-mce-selected","1")}}function R(){if(ac){ac.removeAttribute("data-mce-selected")}for(var ae in Z){q.hide("mceResizeHandle"+ae)}}e.contentStyles.push(".mceResizeHandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}.mceResizeHandle:hover {background: #000}img[data-mce-selected] {outline: 1px solid black}img.mceClonedResizable, table.mceClonedResizable {position: absolute;outline: 1px dashed black;opacity: .5;z-index: 10000}");function T(){var ae=q.getParent(I.getNode(),"table,img");tinymce.each(q.select("img[data-mce-selected]"),function(af){af.removeAttribute("data-mce-selected")});if(ae){P(ae)}else{R()}}e.onNodeChange.add(T);q.bind(S,"selectionchange",T);e.serializer.addAttributeFilter("data-mce-selected",function(ae,af){var ag=ae.length;while(ag--){ae[ag].attr(af,null)}})}function t(){if(C()<9){c.addNodeFilter("noscript",function(K){var L=K.length,M,N;while(L--){M=K[L];N=M.firstChild;if(N){M.attr("data-mce-innertext",N.value)}}});u.addNodeFilter("noscript",function(K){var L=K.length,M,O,N;while(L--){M=K[L];O=K[L].firstChild;if(O){O.value=tinymce.html.Entities.decode(O.value)}else{N=M.attributes.map["data-mce-innertext"];if(N){M.attr("data-mce-innertext",null);O=new tinymce.html.Node("#text",3);O.value=N;O.raw=true;M.append(O)}}}})}}D();f();J();if(tinymce.isWebKit){s();k();B();F();z();if(tinymce.isIDevice){l()}else{h();A()}}if(tinymce.isIE){o();G();i();g();r();j();t()}if(tinymce.isGecko){o();b();E();m();p();a()}if(tinymce.isOpera){h()}};(function(j){var a,g,d,k=/[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=/[<>&\"\']/g,c=/&(#x|#)?([\w]+);/g,i={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};g={'"':""","'":"'","<":"<",">":">","&":"&"};d={"<":"<",">":">","&":"&",""":'"',"'":"'"};function h(l){var m;m=document.createElement("div");m.innerHTML=l;return m.textContent||m.innerText||l}function e(m,p){var n,o,l,q={};if(m){m=m.split(",");p=p||10;for(n=0;n1){return"&#"+(((n.charCodeAt(0)-55296)*1024)+(n.charCodeAt(1)-56320)+65536)+";"}return g[n]||"&#"+n.charCodeAt(0)+";"})},encodeNamed:function(n,l,m){m=m||a;return n.replace(l?k:b,function(o){return g[o]||m[o]||o})},getEncodeFunc:function(l,o){var p=j.html.Entities;o=e(o)||a;function m(r,q){return r.replace(q?k:b,function(s){return g[s]||o[s]||"&#"+s.charCodeAt(0)+";"||s})}function n(r,q){return p.encodeNamed(r,q,o)}l=j.makeMap(l.replace(/\+/g,","));if(l.named&&l.numeric){return m}if(l.named){if(o){return n}return p.encodeNamed}if(l.numeric){return p.encodeNumeric}return p.encodeRaw},decode:function(l){return l.replace(c,function(n,m,o){if(m){o=parseInt(o,m.length===2?16:10);if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return i[o]||String.fromCharCode(o)}}return d[n]||a[n]||h(n)})}}})(tinymce);tinymce.html.Styles=function(d,f){var k=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,h=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,b=/\s*([^:]+):\s*([^;]+);?/g,l=/\s+$/,m=/rgb/,e,g,a={},j;d=d||{};j="\\\" \\' \\; \\: ; : \uFEFF".split(" ");for(g=0;g1?r:"0"+r}return"#"+o(q)+o(p)+o(i)}return{toHex:function(i){return i.replace(k,c)},parse:function(s){var z={},q,n,x,r,v=d.url_converter,y=d.url_converter_scope||this;function p(D,G){var F,C,B,E;F=z[D+"-top"+G];if(!F){return}C=z[D+"-right"+G];if(F!=C){return}B=z[D+"-bottom"+G];if(C!=B){return}E=z[D+"-left"+G];if(B!=E){return}z[D+G]=E;delete z[D+"-top"+G];delete z[D+"-right"+G];delete z[D+"-bottom"+G];delete z[D+"-left"+G]}function u(C){var D=z[C],B;if(!D||D.indexOf(" ")<0){return}D=D.split(" ");B=D.length;while(B--){if(D[B]!==D[0]){return false}}z[C]=D[0];return true}function A(D,C,B,E){if(!u(C)){return}if(!u(B)){return}if(!u(E)){return}z[D]=z[C]+" "+z[B]+" "+z[E];delete z[C];delete z[B];delete z[E]}function t(B){r=true;return a[B]}function i(C,B){if(r){C=C.replace(/\uFEFF[0-9]/g,function(D){return a[D]})}if(!B){C=C.replace(/\\([\'\";:])/g,"$1")}return C}function o(C,B,F,E,G,D){G=G||D;if(G){G=i(G);return"'"+G.replace(/\'/g,"\\'")+"'"}B=i(B||F||E);if(v){B=v.call(y,B,"style")}return"url('"+B.replace(/\'/g,"\\'")+"')"}if(s){s=s.replace(/\\[\"\';:\uFEFF]/g,t).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(B){return B.replace(/[;:]/g,t)});while(q=b.exec(s)){n=q[1].replace(l,"").toLowerCase();x=q[2].replace(l,"");if(n&&x.length>0){if(n==="font-weight"&&x==="700"){x="bold"}else{if(n==="color"||n==="background-color"){x=x.toLowerCase()}}x=x.replace(k,c);x=x.replace(h,o);z[n]=r?i(x,true):x}b.lastIndex=q.index+q[0].length}p("border","");p("border","-width");p("border","-color");p("border","-style");p("padding","");p("margin","");A("border","border-width","border-style","border-color");if(z.border==="medium none"){delete z.border}}return z},serialize:function(p,r){var o="",n,q;function i(t){var x,u,s,v;x=f.styles[t];if(x){for(u=0,s=x.length;u0){o+=(o.length>0?" ":"")+t+": "+v+";"}}}}if(r&&f&&f.styles){i("*");i(r)}else{for(n in p){q=p[n];if(q!==e&&q.length>0){o+=(o.length>0?" ":"")+n+": "+q+";"}}}return o}}};(function(f){var a={},e=f.makeMap,g=f.each;function d(j,i){return j.split(i||",")}function h(m,l){var j,k={};function i(n){return n.replace(/[A-Z]+/g,function(o){return i(m[o])})}for(j in m){if(m.hasOwnProperty(j)){m[j]=i(m[j])}}i(l).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g,function(q,o,n,p){n=d(n,"|");k[o]={attributes:e(n),attributesOrder:n,children:e(p,"|",{"#comment":{}})}});return k}function b(){var i=a.html5;if(!i){i=a.html5=h({A:"id|accesskey|class|dir|draggable|item|hidden|itemprop|role|spellcheck|style|subject|title|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"#|a|abbr|area|audio|b|bdo|br|button|canvas|cite|code|command|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|meta|meter|noscript|object|output|progress|q|ruby|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|var|video|wbr",C:"#|a|abbr|area|address|article|aside|audio|b|bdo|blockquote|br|button|canvas|cite|code|command|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|ul|var|video"},"html[A|manifest][body|head]head[A][base|command|link|meta|noscript|script|style|title]title[A][#]base[A|href|target][]link[A|href|rel|media|type|sizes][]meta[A|http-equiv|name|content|charset][]style[A|type|media|scoped][#]script[A|charset|type|src|defer|async][#]noscript[A][C]body[A][C]section[A][C]nav[A][C]article[A][C]aside[A][C]h1[A][B]h2[A][B]h3[A][B]h4[A][B]h5[A][B]h6[A][B]hgroup[A][h1|h2|h3|h4|h5|h6]header[A][C]footer[A][C]address[A][C]p[A][B]br[A][]pre[A][B]dialog[A][dd|dt]blockquote[A|cite][C]ol[A|start|reversed][li]ul[A][li]li[A|value][C]dl[A][dd|dt]dt[A][B]dd[A][C]a[A|href|target|ping|rel|media|type][B]em[A][B]strong[A][B]small[A][B]cite[A][B]q[A|cite][B]dfn[A][B]abbr[A][B]code[A][B]var[A][B]samp[A][B]kbd[A][B]sub[A][B]sup[A][B]i[A][B]b[A][B]mark[A][B]progress[A|value|max][B]meter[A|value|min|max|low|high|optimum][B]time[A|datetime][B]ruby[A][B|rt|rp]rt[A][B]rp[A][B]bdo[A][B]span[A][B]ins[A|cite|datetime][B]del[A|cite|datetime][B]figure[A][C|legend|figcaption]figcaption[A][C]img[A|alt|src|height|width|usemap|ismap][]iframe[A|name|src|height|width|sandbox|seamless][]embed[A|src|height|width|type][]object[A|data|type|height|width|usemap|name|form|classid][param]param[A|name|value][]details[A|open][C|legend]command[A|type|label|icon|disabled|checked|radiogroup][]menu[A|type|label][C|li]legend[A][C|B]div[A][C]source[A|src|type|media][]audio[A|src|autobuffer|autoplay|loop|controls][source]video[A|src|autobuffer|autoplay|loop|controls|width|height|poster][source]hr[A][]form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]fieldset[A|disabled|form|name][C|legend]label[A|form|for][B]input[A|type|accept|alt|autocomplete|autofocus|checked|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|list|max|maxlength|min|multiple|pattern|placeholder|readonly|required|size|src|step|width|files|value|name][]button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|value|type][B]select[A|autofocus|disabled|form|multiple|name|size][option|optgroup]datalist[A][B|option]optgroup[A|disabled|label][option]option[A|disabled|selected|label|value][]textarea[A|autofocus|disabled|form|maxlength|name|placeholder|readonly|required|rows|cols|wrap][]keygen[A|autofocus|challenge|disabled|form|keytype|name][]output[A|for|form|name][B]canvas[A|width|height][]map[A|name][B|C]area[A|shape|coords|href|alt|target|media|rel|ping|type][]mathml[A][]svg[A][]table[A|border][caption|colgroup|thead|tfoot|tbody|tr]caption[A][C]colgroup[A|span][col]col[A|span][]thead[A][tr]tfoot[A][tr]tbody[A][tr]tr[A][th|td]th[A|headers|rowspan|colspan|scope][B]td[A|headers|rowspan|colspan][C]wbr[A][]")}return i}function c(){var i=a.html4;if(!i){i=a.html4=h({Z:"H|K|N|O|P",Y:"X|form|R|Q",ZG:"E|span|width|align|char|charoff|valign",X:"p|T|div|U|W|isindex|fieldset|table",ZF:"E|align|char|charoff|valign",W:"pre|hr|blockquote|address|center|noframes",ZE:"abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",ZD:"[E][S]",U:"ul|ol|dl|menu|dir",ZC:"p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",T:"h1|h2|h3|h4|h5|h6",ZB:"X|S|Q",S:"R|P",ZA:"a|G|J|M|O|P",R:"a|H|K|N|O",Q:"noscript|P",P:"ins|del|script",O:"input|select|textarea|label|button",N:"M|L",M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",L:"sub|sup",K:"J|I",J:"tt|i|b|u|s|strike",I:"big|small|font|basefont",H:"G|F",G:"br|span|bdo",F:"object|applet|img|map|iframe",E:"A|B|C",D:"accesskey|tabindex|onfocus|onblur",C:"onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",B:"lang|xml:lang|dir",A:"id|class|style|title"},"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]")}return i}f.html.Schema=function(A){var u=this,s={},k={},j=[],D,y;var o,q,z,r,v,n,p={};function m(F,E,H){var G=A[F];if(!G){G=a[F];if(!G){G=e(E," ",e(E.toUpperCase()," "));G=f.extend(G,H);a[F]=G}}else{G=e(G,",",e(G.toUpperCase()," "))}return G}A=A||{};y=A.schema=="html5"?b():c();if(A.verify_html===false){A.valid_elements="*[*]"}if(A.valid_styles){D={};g(A.valid_styles,function(F,E){D[E]=f.explode(F)})}o=m("whitespace_elements","pre script noscript style textarea");q=m("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr");z=m("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr");r=m("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls");n=m("non_empty_elements","td th iframe video audio object",z);textBlockElementsMap=m("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure");v=m("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup",textBlockElementsMap);function i(E){return new RegExp("^"+E.replace(/([?+*])/g,".$1")+"$")}function C(L){var K,G,Z,V,aa,F,I,U,X,Q,Y,ac,O,J,W,E,S,H,ab,ad,P,T,N=/^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,R=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,M=/[*?+]/;if(L){L=d(L);if(s["@"]){S=s["@"].attributes;H=s["@"].attributesOrder}for(K=0,G=L.length;K=0){for(U=A.length-1;U>=V;U--){T=A[U];if(T.valid){n.end(T.name)}}A.length=V}}function p(U,T,Y,X,W){var Z,V;T=T.toLowerCase();Y=T in H?T:j(Y||X||W||"");if(v&&!z&&T.indexOf("data-mce-")!==0){Z=P[T];if(!Z&&F){V=F.length;while(V--){Z=F[V];if(Z.pattern.test(T)){break}}if(V===-1){Z=null}}if(!Z){return}if(Z.validValues&&!(Y in Z.validValues)){return}}N.map[T]=Y;N.push({name:T,value:Y})}l=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g");D=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;K={script:/<\/script[^>]*>/gi,style:/<\/style[^>]*>/gi,noscript:/<\/noscript[^>]*>/gi};M=e.getShortEndedElements();J=c.self_closing_elements||e.getSelfClosingElements();H=e.getBoolAttrs();v=c.validate;s=c.remove_internals;y=c.fix_self_closing;q=a.isIE;o=/^:/;while(g=l.exec(E)){if(G0&&A[A.length-1].name===I){u(I)}if(!v||(m=e.getElementRule(I))){k=true;if(v){P=m.attributes;F=m.attributePatterns}if(R=g[8]){z=R.indexOf("data-mce-type")!==-1;if(z&&s){k=false}N=[];N.map={};R.replace(D,p)}else{N=[];N.map={}}if(v&&!z){S=m.attributesRequired;L=m.attributesDefault;f=m.attributesForced;if(f){Q=f.length;while(Q--){t=f[Q];r=t.name;h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}if(L){Q=L.length;while(Q--){t=L[Q];r=t.name;if(!(r in N.map)){h=t.value;if(h==="{$uid}"){h="mce_"+x++}N.map[r]=h;N.push({name:r,value:h})}}}if(S){Q=S.length;while(Q--){if(S[Q] in N.map){break}}if(Q===-1){k=false}}if(N.map["data-mce-bogus"]){k=false}}if(k){n.start(I,N,O)}}else{k=false}if(B=K[I]){B.lastIndex=G=g.index+g[0].length;if(g=B.exec(E)){if(k){C=E.substr(G,g.index-G)}G=g.index+g[0].length}else{C=E.substr(G);G=E.length}if(k&&C.length>0){n.text(C,true)}if(k){n.end(I)}l.lastIndex=G;continue}if(!O){if(!R||R.indexOf("/")!=R.length-1){A.push({name:I,valid:k})}else{if(k){n.end(I)}}}}else{if(I=g[1]){n.comment(I)}else{if(I=g[2]){n.cdata(I)}else{if(I=g[3]){n.doctype(I)}else{if(I=g[4]){n.pi(I,g[5])}}}}}}G=g.index+g[0].length}if(G=0;Q--){I=A[Q];if(I.valid){n.end(I.name)}}}}})(tinymce);(function(d){var c=/^[ \t\r\n]*$/,e={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};function a(k,l,j){var i,h,f=j?"lastChild":"firstChild",g=j?"prev":"next";if(k[f]){return k[f]}if(k!==l){i=k[g];if(i){return i}for(h=k.parent;h&&h!==l;h=h.parent){i=h[g];if(i){return i}}}}function b(f,g){this.name=f;this.type=g;if(g===1){this.attributes=[];this.attributes.map={}}}d.extend(b.prototype,{replace:function(g){var f=this;if(g.parent){g.remove()}f.insert(g,f);f.remove();return f},attr:function(h,l){var f=this,g,j,k;if(typeof h!=="string"){for(j in h){f.attr(j,h[j])}return f}if(g=f.attributes){if(l!==k){if(l===null){if(h in g.map){delete g.map[h];j=g.length;while(j--){if(g[j].name===h){g=g.splice(j,1);return f}}}return f}if(h in g.map){j=g.length;while(j--){if(g[j].name===h){g[j].value=l;break}}}else{g.push({name:h,value:l})}g.map[h]=l;return f}else{return g.map[h]}}},clone:function(){var g=this,n=new b(g.name,g.type),h,f,m,j,k;if(m=g.attributes){k=[];k.map={};for(h=0,f=m.length;h1){x.reverse();A=o=f.filterNode(x[0].clone());for(u=0;u0){Q.value=l;Q=Q.prev}else{O=Q.prev;Q.remove();Q=O}}}function H(O){var P,l={};for(P in O){if(P!=="li"&&P!="p"){l[P]=O[P]}}return l}n=new b.html.SaxParser({validate:z,self_closing_elements:H(h.getSelfClosingElements()),cdata:function(l){B.append(K("#cdata",4)).value=l},text:function(P,l){var O;if(!L){P=P.replace(k," ");if(B.lastChild&&o[B.lastChild.name]){P=P.replace(E,"")}}if(P.length!==0){O=K("#text",3);O.raw=!!l;B.append(O).value=P}},comment:function(l){B.append(K("#comment",8)).value=l},pi:function(l,O){B.append(K(l,7)).value=O;I(B)},doctype:function(O){var l;l=B.append(K("#doctype",10));l.value=O;I(B)},start:function(l,W,P){var U,R,Q,O,S,X,V,T;Q=z?h.getElementRule(l):{};if(Q){U=K(Q.outputName||l,1);U.attributes=W;U.shortEnded=P;B.append(U);T=p[B.name];if(T&&p[U.name]&&!T[U.name]){M.push(U)}R=d.length;while(R--){S=d[R].name;if(S in W.map){F=c[S];if(F){F.push(U)}else{c[S]=[U]}}}if(o[l]){I(U)}if(!P){B=U}if(!L&&s[l]){L=true}}},end:function(l){var S,P,R,O,Q;P=z?h.getElementRule(l):{};if(P){if(o[l]){if(!L){S=B.firstChild;if(S&&S.type===3){R=S.value.replace(E,"");if(R.length>0){S.value=R;S=S.next}else{O=S.next;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.next;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}S=B.lastChild;if(S&&S.type===3){R=S.value.replace(t,"");if(R.length>0){S.value=R;S=S.prev}else{O=S.prev;S.remove();S=O}while(S&&S.type===3){R=S.value;O=S.prev;if(R.length===0||y.test(R)){S.remove();S=O}S=O}}}}if(L&&s[l]){L=false}if(P.removeEmpty||P.paddEmpty){if(B.isEmpty(u)){if(P.paddEmpty){B.empty().append(new a("#text","3")).value="\u00a0"}else{if(!B.attributes.map.name&&!B.attributes.map.id){Q=B.parent;B.empty().remove();B=Q;return}}}}B=B.parent}}},h);J=B=new a(m.context||g.root_name,11);n.parse(v);if(z&&M.length){if(!m.context){j(M)}else{m.invalid=true}}if(q&&J.name=="body"){G()}if(!m.invalid){for(N in i){F=e[N];A=i[N];x=A.length;while(x--){if(!A[x].parent){A.splice(x,1)}}for(D=0,C=F.length;D0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}c.push("<",m);if(k){for(n=0,j=k.length;n0){o=c[c.length-1];if(o.length>0&&o!=="\n"){c.push("\n")}}},end:function(h){var i;c.push("");if(a&&d[h]&&c.length>0){i=c[c.length-1];if(i.length>0&&i!=="\n"){c.push("\n")}}},text:function(i,h){if(i.length>0){c[c.length]=h?i:f(i)}},cdata:function(h){c.push("")},comment:function(h){c.push("")},pi:function(h,i){if(i){c.push("")}else{c.push("")}if(a){c.push("\n")}},doctype:function(h){c.push("",a?"\n":"")},reset:function(){c.length=0},getContent:function(){return c.join("").replace(/\n$/,"")}}};(function(a){a.html.Serializer=function(c,d){var b=this,e=new a.html.Writer(c);c=c||{};c.validate="validate" in c?c.validate:true;b.schema=d=d||new a.html.Schema();b.writer=e;b.serialize=function(h){var g,i;i=c.validate;g={3:function(k,j){e.text(k.value,k.raw)},8:function(j){e.comment(j.value)},7:function(j){e.pi(j.name,j.value)},10:function(j){e.doctype(j.value)},4:function(j){e.cdata(j.value)},11:function(j){if((j=j.firstChild)){do{f(j)}while(j=j.next)}}};e.reset();function f(k){var t=g[k.type],j,o,s,r,p,u,n,m,q;if(!t){j=k.name;o=k.shortEnded;s=k.attributes;if(i&&s&&s.length>1){u=[];u.map={};q=d.getElementRule(k.name);for(n=0,m=q.attributesOrder.length;n=8;k.boxModel=!e.isIE||o.compatMode=="CSS1Compat"||k.stdMode;k.hasOuterHTML="outerHTML" in o.createElement("a");k.settings=l=e.extend({keep_values:false,hex_colors:1},l);k.schema=l.schema;k.styles=new e.html.Styles({url_converter:l.url_converter,url_converter_scope:l.url_converter_scope},l.schema);if(e.isIE6){try{o.execCommand("BackgroundImageCache",false,true)}catch(m){k.cssFlicker=true}}k.fixDoc(o);k.events=l.ownEvents?new e.dom.EventUtils(l.proxy):e.dom.Event;e.addUnload(k.destroy,k);n=l.schema?l.schema.getBlockElements():{};k.isBlock=function(q){var p=q.nodeType;if(p){return !!(p===1&&n[q.nodeName])}return !!n[q]}},fixDoc:function(k){var j=this.settings,i;if(b&&j.schema){("abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video").replace(/\w+/g,function(l){k.createElement(l)});for(i in j.schema.getCustomElements()){k.createElement(i)}}},clone:function(k,i){var j=this,m,l;if(!b||k.nodeType!==1||i){return k.cloneNode(i)}l=j.doc;if(!i){m=l.createElement(k.nodeName);g(j.getAttribs(k),function(n){j.setAttrib(m,n.nodeName,j.getAttrib(k,n.nodeName))});return m}return m.firstChild},getRoot:function(){var i=this,j=i.settings;return(j&&i.get(j.root_element))||i.doc.body},getViewPort:function(j){var k,i;j=!j?this.win:j;k=j.document;i=this.boxModel?k.documentElement:k.body;return{x:j.pageXOffset||i.scrollLeft,y:j.pageYOffset||i.scrollTop,w:j.innerWidth||i.clientWidth,h:j.innerHeight||i.clientHeight}},getRect:function(l){var k,i=this,j;l=i.get(l);k=i.getPos(l);j=i.getSize(l);return{x:k.x,y:k.y,w:j.w,h:j.h}},getSize:function(l){var j=this,i,k;l=j.get(l);i=j.getStyle(l,"width");k=j.getStyle(l,"height");if(i.indexOf("px")===-1){i=0}if(k.indexOf("px")===-1){k=0}return{w:parseInt(i,10)||l.offsetWidth||l.clientWidth,h:parseInt(k,10)||l.offsetHeight||l.clientHeight}},getParent:function(k,j,i){return this.getParents(k,j,i,false)},getParents:function(s,m,k,q){var j=this,i,l=j.settings,p=[];s=j.get(s);q=q===undefined;if(l.strict_root){k=k||j.getRoot()}if(d(m,"string")){i=m;if(m==="*"){m=function(o){return o.nodeType==1}}else{m=function(o){return j.is(o,i)}}}while(s){if(s==k||!s.nodeType||s.nodeType===9){break}if(!m||m(s)){if(q){p.push(s)}else{return s}}s=s.parentNode}return q?p:null},get:function(i){var j;if(i&&this.doc&&typeof(i)=="string"){j=i;i=this.doc.getElementById(i);if(i&&i.id!==j){return this.doc.getElementsByName(j)[1]}}return i},getNext:function(j,i){return this._findSib(j,i,"nextSibling")},getPrev:function(j,i){return this._findSib(j,i,"previousSibling")},select:function(k,j){var i=this;return e.dom.Sizzle(k,i.get(j)||i.get(i.settings.root_element)||i.doc,[])},is:function(l,j){var k;if(l.length===undefined){if(j==="*"){return l.nodeType==1}if(c.test(j)){j=j.toLowerCase().split(/,/);l=l.nodeName.toLowerCase();for(k=j.length-1;k>=0;k--){if(j[k]==l){return true}}return false}}return e.dom.Sizzle.matches(j,l.nodeType?[l]:l).length>0},add:function(l,o,i,k,m){var j=this;return this.run(l,function(r){var q,n;q=d(o,"string")?j.doc.createElement(o):o;j.setAttribs(q,i);if(k){if(k.nodeType){q.appendChild(k)}else{j.setHTML(q,k)}}return !m?r.appendChild(q):q})},create:function(k,i,j){return this.add(this.doc.createElement(k),k,i,j,1)},createHTML:function(q,i,m){var p="",l=this,j;p+="<"+q;for(j in i){if(i.hasOwnProperty(j)){p+=" "+j+'="'+l.encode(i[j])+'"'}}if(typeof(m)!="undefined"){return p+">"+m+""}return p+" />"},remove:function(i,j){return this.run(i,function(l){var m,k=l.parentNode;if(!k){return null}if(j){while(m=l.firstChild){if(!e.isIE||m.nodeType!==3||m.nodeValue){k.insertBefore(m,l)}else{l.removeChild(m)}}}return k.removeChild(l)})},setStyle:function(l,i,j){var k=this;return k.run(l,function(o){var n,m;n=o.style;i=i.replace(/-(\D)/g,function(q,p){return p.toUpperCase()});if(k.pixelStyles.test(i)&&(e.is(j,"number")||/^[\-0-9\.]+$/.test(j))){j+="px"}switch(i){case"opacity":if(b){n.filter=j===""?"":"alpha(opacity="+(j*100)+")";if(!l.currentStyle||!l.currentStyle.hasLayout){n.display="inline-block"}}n[i]=n["-moz-opacity"]=n["-khtml-opacity"]=j||"";break;case"float":b?n.styleFloat=j:n.cssFloat=j;break;default:n[i]=j||""}if(k.settings.update_styles){k.setAttrib(o,"data-mce-style")}})},getStyle:function(l,i,k){l=this.get(l);if(!l){return}if(this.doc.defaultView&&k){i=i.replace(/[A-Z]/g,function(m){return"-"+m});try{return this.doc.defaultView.getComputedStyle(l,null).getPropertyValue(i)}catch(j){return null}}i=i.replace(/-(\D)/g,function(n,m){return m.toUpperCase()});if(i=="float"){i=b?"styleFloat":"cssFloat"}if(l.currentStyle&&k){return l.currentStyle[i]}return l.style?l.style[i]:undefined},setStyles:function(l,m){var j=this,k=j.settings,i;i=k.update_styles;k.update_styles=0;g(m,function(o,p){j.setStyle(l,p,o)});k.update_styles=i;if(k.update_styles){j.setAttrib(l,k.cssText)}},removeAllAttribs:function(i){return this.run(i,function(l){var k,j=l.attributes;for(k=j.length-1;k>=0;k--){l.removeAttributeNode(j.item(k))}})},setAttrib:function(k,l,i){var j=this;if(!k||!l){return}if(j.settings.strict){l=l.toLowerCase()}return this.run(k,function(p){var o=j.settings;var m=p.getAttribute(l);if(i!==null){switch(l){case"style":if(!d(i,"string")){g(i,function(q,r){j.setStyle(p,r,q)});return}if(o.keep_values){if(i&&!j._isRes(i)){p.setAttribute("data-mce-style",i,2)}else{p.removeAttribute("data-mce-style",2)}}p.style.cssText=i;break;case"class":p.className=i||"";break;case"src":case"href":if(o.keep_values){if(o.url_converter){i=o.url_converter.call(o.url_converter_scope||j,i,l,p)}j.setAttrib(p,"data-mce-"+l,i,2)}break;case"shape":p.setAttribute("data-mce-style",i);break}}if(d(i)&&i!==null&&i.length!==0){p.setAttribute(l,""+i,2)}else{p.removeAttribute(l,2)}if(tinyMCE.activeEditor&&m!=i){var n=tinyMCE.activeEditor;n.onSetAttrib.dispatch(n,p,l,i)}})},setAttribs:function(j,k){var i=this;return this.run(j,function(l){g(k,function(m,o){i.setAttrib(l,o,m)})})},getAttrib:function(m,o,k){var i,j=this,l;m=j.get(m);if(!m||m.nodeType!==1){return k===l?false:k}if(!d(k)){k=""}if(/^(src|href|style|coords|shape)$/.test(o)){i=m.getAttribute("data-mce-"+o);if(i){return i}}if(b&&j.props[o]){i=m[j.props[o]];i=i&&i.nodeValue?i.nodeValue:i}if(!i){i=m.getAttribute(o,2)}if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(o)){if(m[j.props[o]]===true&&i===""){return o}return i?o:""}if(m.nodeName==="FORM"&&m.getAttributeNode(o)){return m.getAttributeNode(o).nodeValue}if(o==="style"){i=i||m.style.cssText;if(i){i=j.serializeStyle(j.parseStyle(i),m.nodeName);if(j.settings.keep_values&&!j._isRes(i)){m.setAttribute("data-mce-style",i)}}}if(f&&o==="class"&&i){i=i.replace(/(apple|webkit)\-[a-z\-]+/gi,"")}if(b){switch(o){case"rowspan":case"colspan":if(i===1){i=""}break;case"size":if(i==="+0"||i===20||i===0){i=""}break;case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":if(i===0){i=""}break;case"hspace":if(i===-1){i=""}break;case"maxlength":case"tabindex":if(i===32768||i===2147483647||i==="32768"){i=""}break;case"multiple":case"compact":case"noshade":case"nowrap":if(i===65535){return o}return k;case"shape":i=i.toLowerCase();break;default:if(o.indexOf("on")===0&&i){i=e._replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1",""+i)}}}return(i!==l&&i!==null&&i!=="")?""+i:k},getPos:function(q,l){var j=this,i=0,p=0,m,o=j.doc,k;q=j.get(q);l=l||o.body;if(q){if(q.getBoundingClientRect){q=q.getBoundingClientRect();m=j.boxModel?o.documentElement:o.body;i=q.left+(o.documentElement.scrollLeft||o.body.scrollLeft)-m.clientTop;p=q.top+(o.documentElement.scrollTop||o.body.scrollTop)-m.clientLeft;return{x:i,y:p}}k=q;while(k&&k!=l&&k.nodeType){i+=k.offsetLeft||0;p+=k.offsetTop||0;k=k.offsetParent}k=q.parentNode;while(k&&k!=l&&k.nodeType){i-=k.scrollLeft||0;p-=k.scrollTop||0;k=k.parentNode}}return{x:i,y:p}},parseStyle:function(i){return this.styles.parse(i)},serializeStyle:function(j,i){return this.styles.serialize(j,i)},addStyle:function(j){var k=this.doc,i;styleElm=k.getElementById("mceDefaultStyles");if(!styleElm){styleElm=k.createElement("style"),styleElm.id="mceDefaultStyles";styleElm.type="text/css";i=k.getElementsByTagName("head")[0];if(i.firstChild){i.insertBefore(styleElm,i.firstChild)}else{i.appendChild(styleElm)}}if(styleElm.styleSheet){styleElm.styleSheet.cssText+=j}else{styleElm.appendChild(k.createTextNode(j))}},loadCSS:function(i){var k=this,l=k.doc,j;if(!i){i=""}j=l.getElementsByTagName("head")[0];g(i.split(","),function(m){var n;if(k.files[m]){return}k.files[m]=true;n=k.create("link",{rel:"stylesheet",href:e._addVer(m)});if(b&&l.documentMode&&l.recalc){n.onload=function(){if(l.recalc){l.recalc()}n.onload=null}}j.appendChild(n)})},addClass:function(i,j){return this.run(i,function(k){var l;if(!j){return 0}if(this.hasClass(k,j)){return k.className}l=this.removeClass(k,j);return k.className=(l!=""?(l+" "):"")+j})},removeClass:function(k,l){var i=this,j;return i.run(k,function(n){var m;if(i.hasClass(n,l)){if(!j){j=new RegExp("(^|\\s+)"+l+"(\\s+|$)","g")}m=n.className.replace(j," ");m=e.trim(m!=" "?m:"");n.className=m;if(!m){n.removeAttribute("class");n.removeAttribute("className")}return m}return n.className})},hasClass:function(j,i){j=this.get(j);if(!j||!i){return false}return(" "+j.className+" ").indexOf(" "+i+" ")!==-1},show:function(i){return this.setStyle(i,"display","block")},hide:function(i){return this.setStyle(i,"display","none")},isHidden:function(i){i=this.get(i);return !i||i.style.display=="none"||this.getStyle(i,"display")=="none"},uniqueId:function(i){return(!i?"mce_":i)+(this.counter++)},setHTML:function(k,j){var i=this;return i.run(k,function(m){if(b){while(m.firstChild){m.removeChild(m.firstChild)}try{m.innerHTML="
"+j;m.removeChild(m.firstChild)}catch(l){var n=i.create("div");n.innerHTML="
"+j;g(e.grep(n.childNodes),function(p,o){if(o&&m.canHaveHTML){m.appendChild(p)}})}}else{m.innerHTML=j}return j})},getOuterHTML:function(k){var j,i=this;k=i.get(k);if(!k){return null}if(k.nodeType===1&&i.hasOuterHTML){return k.outerHTML}j=(k.ownerDocument||i.doc).createElement("body");j.appendChild(k.cloneNode(true));return j.innerHTML},setOuterHTML:function(l,j,m){var i=this;function k(p,o,r){var s,q;q=r.createElement("body");q.innerHTML=o;s=q.lastChild;while(s){i.insertAfter(s.cloneNode(true),p);s=s.previousSibling}i.remove(p)}return this.run(l,function(o){o=i.get(o);if(o.nodeType==1){m=m||o.ownerDocument||i.doc;if(b){try{if(b&&o.nodeType==1){o.outerHTML=j}else{k(o,j,m)}}catch(n){k(o,j,m)}}else{k(o,j,m)}}})},decode:h.decode,encode:h.encodeAllRaw,insertAfter:function(i,j){j=this.get(j);return this.run(i,function(l){var k,m;k=j.parentNode;m=j.nextSibling;if(m){k.insertBefore(l,m)}else{k.appendChild(l)}return l})},replace:function(m,l,i){var j=this;if(d(l,"array")){m=m.cloneNode(true)}return j.run(l,function(k){if(i){g(e.grep(k.childNodes),function(n){m.appendChild(n)})}return k.parentNode.replaceChild(m,k)})},rename:function(l,i){var k=this,j;if(l.nodeName!=i.toUpperCase()){j=k.create(i);g(k.getAttribs(l),function(m){k.setAttrib(j,m.nodeName,k.getAttrib(l,m.nodeName))});k.replace(j,l,1)}return j||l},findCommonAncestor:function(k,i){var l=k,j;while(l){j=i;while(j&&l!=j){j=j.parentNode}if(l==j){break}l=l.parentNode}if(!l&&k.ownerDocument){return k.ownerDocument.documentElement}return l},toHex:function(i){var k=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(i);function j(l){l=parseInt(l,10).toString(16);return l.length>1?l:"0"+l}if(k){i="#"+j(k[1])+j(k[2])+j(k[3]);return i}return i},getClasses:function(){var n=this,j=[],m,o={},p=n.settings.class_filter,l;if(n.classes){return n.classes}function q(i){g(i.imports,function(s){q(s)});g(i.cssRules||i.rules,function(s){switch(s.type||1){case 1:if(s.selectorText){g(s.selectorText.split(","),function(r){r=r.replace(/^\s*|\s*$|^\s\./g,"");if(/\.mce/.test(r)||!/\.[\w\-]+$/.test(r)){return}l=r;r=e._replace(/.*\.([a-z0-9_\-]+).*/i,"$1",r);if(p&&!(r=p(r,l))){return}if(!o[r]){j.push({"class":r});o[r]=1}})}break;case 3:q(s.styleSheet);break}})}try{g(n.doc.styleSheets,q)}catch(k){}if(j.length>0){n.classes=j}return j},run:function(l,k,j){var i=this,m;if(i.doc&&typeof(l)==="string"){l=i.get(l)}if(!l){return false}j=j||this;if(!l.nodeType&&(l.length||l.length===0)){m=[];g(l,function(o,n){if(o){if(typeof(o)=="string"){o=i.doc.getElementById(o)}m.push(k.call(j,o,n))}});return m}return k.call(j,l)},getAttribs:function(j){var i;j=this.get(j);if(!j){return[]}if(b){i=[];if(j.nodeName=="OBJECT"){return j.attributes}if(j.nodeName==="OPTION"&&this.getAttrib(j,"selected")){i.push({specified:1,nodeName:"selected"})}j.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(k){i.push({specified:1,nodeName:k})});return i}return j.attributes},isEmpty:function(m,k){var r=this,o,n,q,j,l,p=0;m=m.firstChild;if(m){j=new e.dom.TreeWalker(m,m.parentNode);k=k||r.schema?r.schema.getNonEmptyElements():null;do{q=m.nodeType;if(q===1){if(m.getAttribute("data-mce-bogus")){continue}l=m.nodeName.toLowerCase();if(k&&k[l]){if(l==="br"){p++;continue}return false}n=r.getAttribs(m);o=m.attributes.length;while(o--){l=m.attributes[o].nodeName;if(l==="name"||l==="data-mce-bookmark"){return false}}}if(q==8){return false}if((q===3&&!a.test(m.nodeValue))){return false}}while(m=j.next())}return p<=1},destroy:function(j){var i=this;i.win=i.doc=i.root=i.events=i.frag=null;if(!j){e.removeUnload(i.destroy)}},createRng:function(){var i=this.doc;return i.createRange?i.createRange():new e.dom.Range(this)},nodeIndex:function(m,n){var i=0,k,l,j;if(m){for(k=m.nodeType,m=m.previousSibling,l=m;m;m=m.previousSibling){j=m.nodeType;if(n&&j==3){if(j==k||!m.nodeValue.length){continue}}i++;k=j}}return i},split:function(m,l,p){var q=this,i=q.createRng(),n,k,o;function j(v){var t,s=v.childNodes,u=v.nodeType;function x(A){var z=A.previousSibling&&A.previousSibling.nodeName=="SPAN";var y=A.nextSibling&&A.nextSibling.nodeName=="SPAN";return z&&y}if(u==1&&v.getAttribute("data-mce-type")=="bookmark"){return}for(t=s.length-1;t>=0;t--){j(s[t])}if(u!=9){if(u==3&&v.nodeValue.length>0){var r=e.trim(v.nodeValue).length;if(!q.isBlock(v.parentNode)||r>0||r===0&&x(v)){return}}else{if(u==1){s=v.childNodes;if(s.length==1&&s[0]&&s[0].nodeType==1&&s[0].getAttribute("data-mce-type")=="bookmark"){v.parentNode.insertBefore(s[0],v)}if(s.length||/^(br|hr|input|img)$/i.test(v.nodeName)){return}}}q.remove(v)}return v}if(m&&l){i.setStart(m.parentNode,q.nodeIndex(m));i.setEnd(l.parentNode,q.nodeIndex(l));n=i.extractContents();i=q.createRng();i.setStart(l.parentNode,q.nodeIndex(l)+1);i.setEnd(m.parentNode,q.nodeIndex(m)+1);k=i.extractContents();o=m.parentNode;o.insertBefore(j(n),m);if(p){o.replaceChild(p,l)}else{o.insertBefore(l,m)}o.insertBefore(j(k),m);q.remove(m);return p||l}},bind:function(l,i,k,j){return this.events.add(l,i,k,j||this)},unbind:function(k,i,j){return this.events.remove(k,i,j)},fire:function(k,j,i){return this.events.fire(k,j,i)},getContentEditable:function(j){var i;if(j.nodeType!=1){return null}i=j.getAttribute("data-mce-contenteditable");if(i&&i!=="inherit"){return i}return j.contentEditable!=="inherit"?j.contentEditable:null},_findSib:function(l,i,j){var k=this,m=i;if(l){if(d(m,"string")){m=function(n){return k.is(n,i)}}for(l=l[j];l;l=l[j]){if(m(l)){return l}}}return null},_isRes:function(i){return/^(top|left|bottom|right|width|height)/i.test(i)||/;\s*(top|left|bottom|right|width|height)/i.test(i)}});e.DOM=new e.dom.DOMUtils(document,{process_html:0})})(tinymce);(function(a){function b(c){var O=this,e=c.doc,U=0,F=1,j=2,E=true,S=false,W="startOffset",h="startContainer",Q="endContainer",A="endOffset",k=tinymce.extend,n=c.nodeIndex;k(O,{startContainer:e,startOffset:0,endContainer:e,endOffset:0,collapsed:E,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:J,setEndBefore:K,setEndAfter:u,collapse:B,selectNode:y,selectNodeContents:G,compareBoundaryPoints:v,deleteContents:p,extractContents:I,cloneContents:d,insertNode:D,surroundContents:N,cloneRange:L,toStringIE:T});function x(){return e.createDocumentFragment()}function q(X,t){C(E,X,t)}function s(X,t){C(S,X,t)}function g(t){q(t.parentNode,n(t))}function J(t){q(t.parentNode,n(t)+1)}function K(t){s(t.parentNode,n(t))}function u(t){s(t.parentNode,n(t)+1)}function B(t){if(t){O[Q]=O[h];O[A]=O[W]}else{O[h]=O[Q];O[W]=O[A]}O.collapsed=E}function y(t){g(t);u(t)}function G(t){q(t,0);s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)}function v(aa,t){var ad=O[h],Y=O[W],ac=O[Q],X=O[A],ab=t.startContainer,af=t.startOffset,Z=t.endContainer,ae=t.endOffset;if(aa===0){return H(ad,Y,ab,af)}if(aa===1){return H(ac,X,ab,af)}if(aa===2){return H(ac,X,Z,ae)}if(aa===3){return H(ad,Y,Z,ae)}}function p(){l(j)}function I(){return l(U)}function d(){return l(F)}function D(aa){var X=this[h],t=this[W],Z,Y;if((X.nodeType===3||X.nodeType===4)&&X.nodeValue){if(!t){X.parentNode.insertBefore(aa,X)}else{if(t>=X.nodeValue.length){c.insertAfter(aa,X)}else{Z=X.splitText(t);X.parentNode.insertBefore(aa,Z)}}}else{if(X.childNodes.length>0){Y=X.childNodes[t]}if(Y){X.insertBefore(aa,Y)}else{X.appendChild(aa)}}}function N(X){var t=O.extractContents();O.insertNode(X);X.appendChild(t);O.selectNode(X)}function L(){return k(new b(c),{startContainer:O[h],startOffset:O[W],endContainer:O[Q],endOffset:O[A],collapsed:O.collapsed,commonAncestorContainer:O.commonAncestorContainer})}function P(t,X){var Y;if(t.nodeType==3){return t}if(X<0){return t}Y=t.firstChild;while(Y&&X>0){--X;Y=Y.nextSibling}if(Y){return Y}return t}function m(){return(O[h]==O[Q]&&O[W]==O[A])}function H(Z,ab,X,aa){var ac,Y,t,ad,af,ae;if(Z==X){if(ab==aa){return 0}if(ab0){O.collapse(X)}}else{O.collapse(X)}O.collapsed=m();O.commonAncestorContainer=c.findCommonAncestor(O[h],O[Q])}function l(ad){var ac,Z=0,af=0,X,ab,Y,aa,t,ae;if(O[h]==O[Q]){return f(ad)}for(ac=O[Q],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[h]){return r(ac,ad)}++Z}for(ac=O[h],X=ac.parentNode;X;ac=X,X=X.parentNode){if(X==O[Q]){return V(ac,ad)}++af}ab=af-Z;Y=O[h];while(ab>0){Y=Y.parentNode;ab--}aa=O[Q];while(ab<0){aa=aa.parentNode;ab++}for(t=Y.parentNode,ae=aa.parentNode;t!=ae;t=t.parentNode,ae=ae.parentNode){Y=t;aa=ae}return o(Y,aa,ad)}function f(ac){var ae,af,t,Y,Z,ad,aa,X,ab;if(ac!=j){ae=x()}if(O[W]==O[A]){return ae}if(O[h].nodeType==3){af=O[h].nodeValue;t=af.substring(O[W],O[A]);if(ac!=F){Y=O[h];X=O[W];ab=O[A]-O[W];if(X===0&&ab>=Y.nodeValue.length-1){Y.parentNode.removeChild(Y)}else{Y.deleteData(X,ab)}O.collapse(E)}if(ac==j){return}if(t.length>0){ae.appendChild(e.createTextNode(t))}return ae}Y=P(O[h],O[W]);Z=O[A]-O[W];while(Y&&Z>0){ad=Y.nextSibling;aa=z(Y,ac);if(ae){ae.appendChild(aa)}--Z;Y=ad}if(ac!=F){O.collapse(E)}return ae}function r(ad,aa){var ac,ab,X,t,Z,Y;if(aa!=j){ac=x()}ab=i(ad,aa);if(ac){ac.appendChild(ab)}X=n(ad);t=X-O[W];if(t<=0){if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}ab=ad.previousSibling;while(t>0){Z=ab.previousSibling;Y=z(ab,aa);if(ac){ac.insertBefore(Y,ac.firstChild)}--t;ab=Z}if(aa!=F){O.setEndBefore(ad);O.collapse(S)}return ac}function V(ab,aa){var ad,X,ac,t,Z,Y;if(aa!=j){ad=x()}ac=R(ab,aa);if(ad){ad.appendChild(ac)}X=n(ab);++X;t=O[A]-X;ac=ab.nextSibling;while(ac&&t>0){Z=ac.nextSibling;Y=z(ac,aa);if(ad){ad.appendChild(Y)}--t;ac=Z}if(aa!=F){O.setStartAfter(ab);O.collapse(E)}return ad}function o(ab,t,ae){var Y,ag,aa,ac,ad,X,af,Z;if(ae!=j){ag=x()}Y=R(ab,ae);if(ag){ag.appendChild(Y)}aa=ab.parentNode;ac=n(ab);ad=n(t);++ac;X=ad-ac;af=ab.nextSibling;while(X>0){Z=af.nextSibling;Y=z(af,ae);if(ag){ag.appendChild(Y)}af=Z;--X}Y=i(t,ae);if(ag){ag.appendChild(Y)}if(ae!=F){O.setStartAfter(ab);O.collapse(E)}return ag}function i(ac,ad){var Y=P(O[Q],O[A]-1),ae,ab,aa,t,X,Z=Y!=O[Q];if(Y==ac){return M(Y,Z,S,ad)}ae=Y.parentNode;ab=M(ae,S,S,ad);while(ae){while(Y){aa=Y.previousSibling;t=M(Y,Z,S,ad);if(ad!=j){ab.insertBefore(t,ab.firstChild)}Z=E;Y=aa}if(ae==ac){return ab}Y=ae.previousSibling;ae=ae.parentNode;X=M(ae,S,S,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function R(ac,ad){var Z=P(O[h],O[W]),aa=Z!=O[h],ae,ab,Y,t,X;if(Z==ac){return M(Z,aa,E,ad)}ae=Z.parentNode;ab=M(ae,S,E,ad);while(ae){while(Z){Y=Z.nextSibling;t=M(Z,aa,E,ad);if(ad!=j){ab.appendChild(t)}aa=E;Z=Y}if(ae==ac){return ab}Z=ae.nextSibling;ae=ae.parentNode;X=M(ae,S,E,ad);if(ad!=j){X.appendChild(ab)}ab=X}}function M(t,aa,ad,ae){var Z,Y,ab,X,ac;if(aa){return z(t,ae)}if(t.nodeType==3){Z=t.nodeValue;if(ad){X=O[W];Y=Z.substring(X);ab=Z.substring(0,X)}else{X=O[A];Y=Z.substring(0,X);ab=Z.substring(X)}if(ae!=F){t.nodeValue=ab}if(ae==j){return}ac=c.clone(t,S);ac.nodeValue=Y;return ac}if(ae==j){return}return c.clone(t,S)}function z(X,t){if(t!=j){return t==F?c.clone(X,E):X}X.parentNode.removeChild(X)}function T(){return c.create("body",null,d()).outerText}return O}a.Range=b;b.prototype.toString=function(){return this.toStringIE()}})(tinymce.dom);(function(){function a(d){var b=this,h=d.dom,c=true,f=false;function e(i,j){var k,t=0,q,n,m,l,o,r,p=-1,s;k=i.duplicate();k.collapse(j);s=k.parentElement();if(s.ownerDocument!==d.dom.doc){return}while(s.contentEditable==="false"){s=s.parentNode}if(!s.hasChildNodes()){return{node:s,inside:1}}m=s.children;q=m.length-1;while(t<=q){r=Math.floor((t+q)/2);l=m[r];k.moveToElementText(l);p=k.compareEndPoints(j?"StartToStart":"EndToEnd",i);if(p>0){q=r-1}else{if(p<0){t=r+1}else{return{node:l}}}}if(p<0){if(!l){k.moveToElementText(s);k.collapse(true);l=s;n=true}else{k.collapse(false)}o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",1)===0||s!=k.parentElement()){break}o++}}else{k.collapse(true);o=0;while(k.compareEndPoints(j?"StartToStart":"StartToEnd",i)!==0){if(k.move("character",-1)===0||s!=k.parentElement()){break}o++}}return{node:l,position:p,offset:o,inside:n}}function g(){var i=d.getRng(),r=h.createRng(),l,k,p,q,m,j;l=i.item?i.item(0):i.parentElement();if(l.ownerDocument!=h.doc){return r}k=d.isCollapsed();if(i.item){r.setStart(l.parentNode,h.nodeIndex(l));r.setEnd(r.startContainer,r.startOffset+1);return r}function o(A){var u=e(i,A),s,y,z=0,x,v,t;s=u.node;y=u.offset;if(u.inside&&!s.hasChildNodes()){r[A?"setStart":"setEnd"](s,0);return}if(y===v){r[A?"setStartBefore":"setEndAfter"](s);return}if(u.position<0){x=u.inside?s.firstChild:s.nextSibling;if(!x){r[A?"setStartAfter":"setEndAfter"](s);return}if(!y){if(x.nodeType==3){r[A?"setStart":"setEnd"](x,0)}else{r[A?"setStartBefore":"setEndBefore"](x)}return}while(x){t=x.nodeValue;z+=t.length;if(z>=y){s=x;z-=y;z=t.length-z;break}x=x.nextSibling}}else{x=s.previousSibling;if(!x){return r[A?"setStartBefore":"setEndBefore"](s)}if(!y){if(s.nodeType==3){r[A?"setStart":"setEnd"](x,s.nodeValue.length)}else{r[A?"setStartAfter":"setEndAfter"](x)}return}while(x){z+=x.nodeValue.length;if(z>=y){s=x;z-=y;break}x=x.previousSibling}}r[A?"setStart":"setEnd"](s,z)}try{o(true);if(!k){o()}}catch(n){if(n.number==-2147024809){m=b.getBookmark(2);p=i.duplicate();p.collapse(true);l=p.parentElement();if(!k){p=i.duplicate();p.collapse(false);q=p.parentElement();q.innerHTML=q.innerHTML}l.innerHTML=l.innerHTML;b.moveToBookmark(m);i=d.getRng();o(true);if(!k){o()}}else{throw n}}return r}this.getBookmark=function(m){var j=d.getRng(),o,i,l={};function n(u){var t,p,s,r,q=[];t=u.parentNode;p=h.getRoot().parentNode;while(t!=p&&t.nodeType!==9){s=t.children;r=s.length;while(r--){if(u===s[r]){q.push(r);break}}u=t;t=t.parentNode}return q}function k(q){var p;p=e(j,q);if(p){return{position:p.position,offset:p.offset,indexes:n(p.node),inside:p.inside}}}if(m===2){if(!j.item){l.start=k(true);if(!d.isCollapsed()){l.end=k()}}else{l.start={ctrl:true,indexes:n(j.item(0))}}}return l};this.moveToBookmark=function(k){var j,i=h.doc.body;function m(o){var r,q,n,p;r=h.getRoot();for(q=o.length-1;q>=0;q--){p=r.children;n=o[q];if(n<=p.length-1){r=p[n]}}return r}function l(r){var n=k[r?"start":"end"],q,p,o;if(n){q=n.position>0;p=i.createTextRange();p.moveToElementText(m(n.indexes));offset=n.offset;if(offset!==o){p.collapse(n.inside||q);p.moveStart("character",q?-offset:offset)}else{p.collapse(r)}j.setEndPoint(r?"StartToStart":"EndToStart",p);if(r){j.collapse(true)}}}if(k.start){if(k.start.ctrl){j=i.createControlRange();j.addElement(m(k.start.indexes));j.select()}else{j=i.createTextRange();l(true);l();j.select()}}};this.addRange=function(i){var n,l,k,p,v,q,t,s=d.dom.doc,m=s.body,r,u;function j(C){var y,B,x,A,z;x=h.create("a");y=C?k:v;B=C?p:q;A=n.duplicate();if(y==s||y==s.documentElement){y=m;B=0}if(y.nodeType==3){y.parentNode.insertBefore(x,y);A.moveToElementText(x);A.moveStart("character",B);h.remove(x);n.setEndPoint(C?"StartToStart":"EndToEnd",A)}else{z=y.childNodes;if(z.length){if(B>=z.length){h.insertAfter(x,z[z.length-1])}else{y.insertBefore(x,z[B])}A.moveToElementText(x)}else{if(y.canHaveHTML){y.innerHTML="\uFEFF";x=y.firstChild;A.moveToElementText(x);A.collapse(f)}}n.setEndPoint(C?"StartToStart":"EndToEnd",A);h.remove(x)}}k=i.startContainer;p=i.startOffset;v=i.endContainer;q=i.endOffset;n=m.createTextRange();if(k==v&&k.nodeType==1){if(p==q&&!k.hasChildNodes()){if(k.canHaveHTML){t=k.previousSibling;if(t&&!t.hasChildNodes()&&h.isBlock(t)){t.innerHTML="\uFEFF"}else{t=null}k.innerHTML="\uFEFF\uFEFF";n.moveToElementText(k.lastChild);n.select();h.doc.selection.clear();k.innerHTML="";if(t){t.innerHTML=""}return}else{p=h.nodeIndex(k);k=k.parentNode}}if(p==q-1){try{u=k.childNodes[p];l=m.createControlRange();l.addElement(u);l.select();r=d.getRng();if(r.item&&u===r.item(0)){return}}catch(o){}}}j(true);j();n.select()};this.getRangeAt=g}tinymce.dom.TridentSelection=a})();(function(){var n=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i="sizcache",o=0,r=Object.prototype.toString,h=false,g=true,q=/\\/g,u=/\r\n/g,x=/\W/;[0,0].sort(function(){g=false;return 0});var d=function(C,e,F,G){F=F||[];e=e||document;var I=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!C||typeof C!=="string"){return F}var z,K,N,y,J,M,L,E,B=true,A=d.isXML(e),D=[],H=C;do{n.exec("");z=n.exec(H);if(z){H=z[3];D.push(z[1]);if(z[2]){y=z[3];break}}}while(z);if(D.length>1&&j.exec(C)){if(D.length===2&&k.relative[D[0]]){K=s(D[0]+D[1],e,G)}else{K=k.relative[D[0]]?[e]:d(D.shift(),e);while(D.length){C=D.shift();if(k.relative[C]){C+=D.shift()}K=s(C,K,G)}}}else{if(!G&&D.length>1&&e.nodeType===9&&!A&&k.match.ID.test(D[0])&&!k.match.ID.test(D[D.length-1])){J=d.find(D.shift(),e,A);e=J.expr?d.filter(J.expr,J.set)[0]:J.set[0]}if(e){J=G?{expr:D.pop(),set:l(G)}:d.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&e.parentNode?e.parentNode:e,A);K=J.expr?d.filter(J.expr,J.set):J.set;if(D.length>0){N=l(K)}else{B=false}while(D.length){M=D.pop();L=M;if(!k.relative[M]){M=""}else{L=D.pop()}if(L==null){L=e}k.relative[M](N,L,A)}}else{N=D=[]}}if(!N){N=K}if(!N){d.error(M||C)}if(r.call(N)==="[object Array]"){if(!B){F.push.apply(F,N)}else{if(e&&e.nodeType===1){for(E=0;N[E]!=null;E++){if(N[E]&&(N[E]===true||N[E].nodeType===1&&d.contains(e,N[E]))){F.push(K[E])}}}else{for(E=0;N[E]!=null;E++){if(N[E]&&N[E].nodeType===1){F.push(K[E])}}}}}else{l(N,F)}if(y){d(y,I,F,G);d.uniqueSort(F)}return F};d.uniqueSort=function(y){if(p){h=g;y.sort(p);if(h){for(var e=1;e0};d.find=function(E,e,F){var D,z,B,A,C,y;if(!E){return[]}for(z=0,B=k.order.length;z":function(D,y){var C,B=typeof y==="string",z=0,e=D.length;if(B&&!x.test(y)){y=y.toLowerCase();for(;z=0)){if(!z){e.push(C)}}else{if(z){y[B]=false}}}}return false},ID:function(e){return e[1].replace(q,"")},TAG:function(y,e){return y[1].replace(q,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){d.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var y=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(y[1]+(y[2]||1))-0;e[3]=y[3]-0}else{if(e[2]){d.error(e[0])}}e[0]=o++;return e},ATTR:function(B,y,z,e,C,D){var A=B[1]=B[1].replace(q,"");if(!D&&k.attrMap[A]){B[1]=k.attrMap[A]}B[4]=(B[4]||B[5]||"").replace(q,"");if(B[2]==="~="){B[4]=" "+B[4]+" "}return B},PSEUDO:function(B,y,z,e,C){if(B[1]==="not"){if((n.exec(B[3])||"").length>1||/^\w/.test(B[3])){B[3]=d(B[3],null,null,y)}else{var A=d.filter(B[3],y,z,true^C);if(!z){e.push.apply(e,A)}return false}}else{if(k.match.POS.test(B[0])||k.match.CHILD.test(B[0])){return true}}return B},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(z,y,e){return !!d(e[3],z).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(z){var e=z.getAttribute("type"),y=z.type;return z.nodeName.toLowerCase()==="input"&&"text"===y&&(e===y||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===y.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(y){var e=y.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===y.type},button:function(y){var e=y.nodeName.toLowerCase();return e==="input"&&"button"===y.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(y,e){return e===0},last:function(z,y,e,A){return y===A.length-1},even:function(y,e){return e%2===0},odd:function(y,e){return e%2===1},lt:function(z,y,e){return ye[3]-0},nth:function(z,y,e){return e[3]-0===y},eq:function(z,y,e){return e[3]-0===y}},filter:{PSEUDO:function(z,E,D,F){var e=E[1],y=k.filters[e];if(y){return y(z,D,E,F)}else{if(e==="contains"){return(z.textContent||z.innerText||b([z])||"").indexOf(E[3])>=0}else{if(e==="not"){var A=E[3];for(var C=0,B=A.length;C=0)}}},ID:function(y,e){return y.nodeType===1&&y.getAttribute("id")===e},TAG:function(y,e){return(e==="*"&&y.nodeType===1)||!!y.nodeName&&y.nodeName.toLowerCase()===e},CLASS:function(y,e){return(" "+(y.className||y.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(C,A){var z=A[1],e=d.attr?d.attr(C,z):k.attrHandle[z]?k.attrHandle[z](C):C[z]!=null?C[z]:C.getAttribute(z),D=e+"",B=A[2],y=A[4];return e==null?B==="!=":!B&&d.attr?e!=null:B==="="?D===y:B==="*="?D.indexOf(y)>=0:B==="~="?(" "+D+" ").indexOf(y)>=0:!y?D&&e!==false:B==="!="?D!==y:B==="^="?D.indexOf(y)===0:B==="$="?D.substr(D.length-y.length)===y:B==="|="?D===y||D.substr(0,y.length+1)===y+"-":false},POS:function(B,y,z,C){var e=y[2],A=k.setFilters[e];if(A){return A(B,z,y,C)}}}};var j=k.match.POS,c=function(y,e){return"\\"+(e-0+1)};for(var f in k.match){k.match[f]=new RegExp(k.match[f].source+(/(?![^\[]*\])(?![^\(]*\))/.source));k.leftMatch[f]=new RegExp(/(^(?:.|\r|\n)*?)/.source+k.match[f].source.replace(/\\(\d+)/g,c))}k.match.globalPOS=j;var l=function(y,e){y=Array.prototype.slice.call(y,0);if(e){e.push.apply(e,y);return e}return y};try{Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType}catch(v){l=function(B,A){var z=0,y=A||[];if(r.call(B)==="[object Array]"){Array.prototype.push.apply(y,B)}else{if(typeof B.length==="number"){for(var e=B.length;z";e.insertBefore(y,e.firstChild);if(document.getElementById(z)){k.find.ID=function(B,C,D){if(typeof C.getElementById!=="undefined"&&!D){var A=C.getElementById(B[1]);return A?A.id===B[1]||typeof A.getAttributeNode!=="undefined"&&A.getAttributeNode("id").nodeValue===B[1]?[A]:undefined:[]}};k.filter.ID=function(C,A){var B=typeof C.getAttributeNode!=="undefined"&&C.getAttributeNode("id");return C.nodeType===1&&B&&B.nodeValue===A}}e.removeChild(y);e=y=null})();(function(){var e=document.createElement("div");e.appendChild(document.createComment(""));if(e.getElementsByTagName("*").length>0){k.find.TAG=function(y,C){var B=C.getElementsByTagName(y[1]);if(y[1]==="*"){var A=[];for(var z=0;B[z];z++){if(B[z].nodeType===1){A.push(B[z])}}B=A}return B}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){k.attrHandle.href=function(y){return y.getAttribute("href",2)}}e=null})();if(document.querySelectorAll){(function(){var e=d,A=document.createElement("div"),z="__sizzle__";A.innerHTML="

";if(A.querySelectorAll&&A.querySelectorAll(".TEST").length===0){return}d=function(L,C,G,K){C=C||document;if(!K&&!d.isXML(C)){var J=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(L);if(J&&(C.nodeType===1||C.nodeType===9)){if(J[1]){return l(C.getElementsByTagName(L),G)}else{if(J[2]&&k.find.CLASS&&C.getElementsByClassName){return l(C.getElementsByClassName(J[2]),G)}}}if(C.nodeType===9){if(L==="body"&&C.body){return l([C.body],G)}else{if(J&&J[3]){var F=C.getElementById(J[3]);if(F&&F.parentNode){if(F.id===J[3]){return l([F],G)}}else{return l([],G)}}}try{return l(C.querySelectorAll(L),G)}catch(H){}}else{if(C.nodeType===1&&C.nodeName.toLowerCase()!=="object"){var D=C,E=C.getAttribute("id"),B=E||z,N=C.parentNode,M=/^\s*[+~]/.test(L);if(!E){C.setAttribute("id",B)}else{B=B.replace(/'/g,"\\$&")}if(M&&N){C=C.parentNode}try{if(!M||N){return l(C.querySelectorAll("[id='"+B+"'] "+L),G)}}catch(I){}finally{if(!E){D.removeAttribute("id")}}}}}return e(L,C,G,K)};for(var y in e){d[y]=e[y]}A=null})()}(function(){var e=document.documentElement,z=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(z){var B=!z.call(document.createElement("div"),"div"),y=false;try{z.call(document.documentElement,"[test!='']:sizzle")}catch(A){y=true}d.matchesSelector=function(D,F){F=F.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!d.isXML(D)){try{if(y||!k.match.PSEUDO.test(F)&&!/!=/.test(F)){var C=z.call(D,F);if(C||!B||D.document&&D.document.nodeType!==11){return C}}}catch(E){}}return d(F,null,null,[D]).length>0}}})();(function(){var e=document.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}k.order.splice(1,0,"CLASS");k.find.CLASS=function(y,z,A){if(typeof z.getElementsByClassName!=="undefined"&&!A){return z.getElementsByClassName(y[1])}};e=null})();function a(y,D,C,G,E,F){for(var A=0,z=G.length;A0){B=e;break}}}e=e[y]}G[A]=B}}}if(document.documentElement.contains){d.contains=function(y,e){return y!==e&&(y.contains?y.contains(e):true)}}else{if(document.documentElement.compareDocumentPosition){d.contains=function(y,e){return !!(y.compareDocumentPosition(e)&16)}}else{d.contains=function(){return false}}}d.isXML=function(e){var y=(e?e.ownerDocument||e:0).documentElement;return y?y.nodeName!=="HTML":false};var s=function(z,e,D){var C,E=[],B="",F=e.nodeType?[e]:e;while((C=k.match.PSEUDO.exec(z))){B+=C[0];z=z.replace(k.match.PSEUDO,"")}z=k.relative[z]?z+"*":z;for(var A=0,y=F.length;A"+(i.item?i.item(0).outerHTML:i.htmlText);m.removeChild(m.firstChild)}else{m.innerHTML=i.toString()}}if(/^\s/.test(m.innerHTML)){j=" "}if(/\s+$/.test(m.innerHTML)){l=" "}h.getInner=true;h.content=g.isCollapsed()?"":j+g.serializer.serialize(m,h)+l;g.onGetContent.dispatch(g,h);return h.content},setContent:function(h,j){var o=this,g=o.getRng(),k,l=o.win.document,n,m;j=j||{format:"html"};j.set=true;h=j.content=h;if(!j.no_events){o.onBeforeSetContent.dispatch(o,j)}h=j.content;if(g.insertNode){h+='_';if(g.startContainer==l&&g.endContainer==l){l.body.innerHTML=h}else{g.deleteContents();if(l.body.childNodes.length===0){l.body.innerHTML=h}else{if(g.createContextualFragment){g.insertNode(g.createContextualFragment(h))}else{n=l.createDocumentFragment();m=l.createElement("div");n.appendChild(m);m.outerHTML=h;g.insertNode(n)}}}k=o.dom.get("__caret");g=l.createRange();g.setStartBefore(k);g.setEndBefore(k);o.setRng(g);o.dom.remove("__caret");try{o.setRng(g)}catch(i){}}else{if(g.item){l.execCommand("Delete",false,null);g=o.getRng()}if(/^\s+/.test(h)){g.pasteHTML('_'+h);o.dom.remove("__mce_tmp")}else{g.pasteHTML(h)}}if(!j.no_events){o.onSetContent.dispatch(o,j)}},getStart:function(){var i=this,h=i.getRng(),j,g,l,k;if(h.duplicate||h.item){if(h.item){return h.item(0)}l=h.duplicate();l.collapse(1);j=l.parentElement();if(j.ownerDocument!==i.dom.doc){j=i.dom.getRoot()}g=k=h.parentElement();while(k=k.parentNode){if(k==j){j=g;break}}return j}else{j=h.startContainer;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[Math.min(j.childNodes.length-1,h.startOffset)]}if(j&&j.nodeType==3){return j.parentNode}return j}},getEnd:function(){var h=this,g=h.getRng(),j,i;if(g.duplicate||g.item){if(g.item){return g.item(0)}g=g.duplicate();g.collapse(0);j=g.parentElement();if(j.ownerDocument!==h.dom.doc){j=h.dom.getRoot()}if(j&&j.nodeName=="BODY"){return j.lastChild||j}return j}else{j=g.endContainer;i=g.endOffset;if(j.nodeType==1&&j.hasChildNodes()){j=j.childNodes[i>0?i-1:i]}if(j&&j.nodeType==3){return j.parentNode}return j}},getBookmark:function(s,v){var y=this,n=y.dom,h,k,j,o,i,p,q,m="\uFEFF",x;function g(z,A){var t=0;e(n.select(z),function(C,B){if(C==A){t=B}});return t}function u(t){function z(E){var A,D,C,B=E?"start":"end";A=t[B+"Container"];D=t[B+"Offset"];if(A.nodeType==1&&A.nodeName=="TR"){C=A.childNodes;A=C[Math.min(E?D:D-1,C.length-1)];if(A){D=E?0:A.childNodes.length;t["set"+(E?"Start":"End")](A,D)}}}z(true);z();return t}function l(){var z=y.getRng(true),t=n.getRoot(),A={};function B(E,J){var D=E[J?"startContainer":"endContainer"],I=E[J?"startOffset":"endOffset"],C=[],F,H,G=0;if(D.nodeType==3){if(v){for(F=D.previousSibling;F&&F.nodeType==3;F=F.previousSibling){I+=F.nodeValue.length}}C.push(I)}else{H=D.childNodes;if(I>=H.length&&H.length){G=1;I=Math.max(0,H.length-1)}C.push(y.dom.nodeIndex(H[I],v)+G)}for(;D&&D!=t;D=D.parentNode){C.push(y.dom.nodeIndex(D,v))}return C}A.start=B(z,true);if(!y.isCollapsed()){A.end=B(z)}return A}if(s==2){if(y.tridentSel){return y.tridentSel.getBookmark(s)}return l()}if(s){return{rng:y.getRng()}}h=y.getRng();j=n.uniqueId();o=tinyMCE.activeEditor.selection.isCollapsed();x="overflow:hidden;line-height:0px";if(h.duplicate||h.item){if(!h.item){k=h.duplicate();try{h.collapse();h.pasteHTML(''+m+"");if(!o){k.collapse(false);h.moveToElementText(k.parentElement());if(h.compareEndPoints("StartToEnd",k)===0){k.move("character",-1)}k.pasteHTML(''+m+"")}}catch(r){return null}}else{p=h.item(0);i=p.nodeName;return{name:i,index:g(i,p)}}}else{p=y.getNode();i=p.nodeName;if(i=="IMG"){return{name:i,index:g(i,p)}}k=u(h.cloneRange());if(!o){k.collapse(false);k.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_end",style:x},m))}h=u(h);h.collapse(true);h.insertNode(n.create("span",{"data-mce-type":"bookmark",id:j+"_start",style:x},m))}y.moveToBookmark({id:j,keep:1});return{id:j}},moveToBookmark:function(o){var s=this,m=s.dom,j,i,g,r,k,u,p,q;function h(A){var t=o[A?"start":"end"],x,y,z,v;if(t){z=t[0];for(y=r,x=t.length-1;x>=1;x--){v=y.childNodes;if(t[x]>v.length-1){return}y=v[t[x]]}if(y.nodeType===3){z=Math.min(t[0],y.nodeValue.length)}if(y.nodeType===1){z=Math.min(t[0],y.childNodes.length)}if(A){g.setStart(y,z)}else{g.setEnd(y,z)}}return true}function l(B){var v=m.get(o.id+"_"+B),A,t,y,z,x=o.keep;if(v){A=v.parentNode;if(B=="start"){if(!x){t=m.nodeIndex(v)}else{A=v.firstChild;t=1}k=u=A;p=q=t}else{if(!x){t=m.nodeIndex(v)}else{A=v.firstChild;t=1}u=A;q=t}if(!x){z=v.previousSibling;y=v.nextSibling;e(d.grep(v.childNodes),function(C){if(C.nodeType==3){C.nodeValue=C.nodeValue.replace(/\uFEFF/g,"")}});while(v=m.get(o.id+"_"+B)){m.remove(v,1)}if(z&&y&&z.nodeType==y.nodeType&&z.nodeType==3&&!d.isOpera){t=z.nodeValue.length;z.appendData(y.nodeValue);m.remove(y);if(B=="start"){k=u=z;p=q=t}else{u=z;q=t}}}}}function n(t){if(m.isBlock(t)&&!t.innerHTML&&!b){t.innerHTML='
'}return t}if(o){if(o.start){g=m.createRng();r=m.getRoot();if(s.tridentSel){return s.tridentSel.moveToBookmark(o)}if(h(true)&&h()){s.setRng(g)}}else{if(o.id){l("start");l("end");if(k){g=m.createRng();g.setStart(n(k),p);g.setEnd(n(u),q);s.setRng(g)}}else{if(o.name){s.select(m.select(o.name)[o.index])}else{if(o.rng){s.setRng(o.rng)}}}}}},select:function(l,k){var j=this,m=j.dom,h=m.createRng(),g;function i(n,p){var o=new a(n,n);do{if(n.nodeType==3&&d.trim(n.nodeValue).length!==0){if(p){h.setStart(n,0)}else{h.setEnd(n,n.nodeValue.length)}return}if(n.nodeName=="BR"){if(p){h.setStartBefore(n)}else{h.setEndBefore(n)}return}}while(n=(p?o.next():o.prev()))}if(l){g=m.nodeIndex(l);h.setStart(l.parentNode,g);h.setEnd(l.parentNode,g+1);if(k){i(l,1);i(l)}j.setRng(h)}return l},isCollapsed:function(){var g=this,i=g.getRng(),h=g.getSel();if(!i||i.item){return false}if(i.compareEndPoints){return i.compareEndPoints("StartToEnd",i)===0}return !h||i.collapsed},collapse:function(g){var i=this,h=i.getRng(),j;if(h.item){j=h.item(0);h=i.win.document.body.createTextRange();h.moveToElementText(j)}h.collapse(!!g);i.setRng(h)},getSel:function(){var h=this,g=this.win;return g.getSelection?g.getSelection():g.document.selection},getRng:function(m){var h=this,j,g,l,k=h.win.document;if(m&&h.tridentSel){return h.tridentSel.getRangeAt(0)}try{if(j=h.getSel()){g=j.rangeCount>0?j.getRangeAt(0):(j.createRange?j.createRange():k.createRange())}}catch(i){}if(d.isIE&&g&&g.setStart&&k.selection.createRange().item){l=k.selection.createRange().item(0);g=k.createRange();g.setStartBefore(l);g.setEndAfter(l)}if(!g){g=k.createRange?k.createRange():k.body.createTextRange()}if(g.setStart&&g.startContainer.nodeType===9&&g.collapsed){l=h.dom.getRoot();g.setStart(l,0);g.setEnd(l,0)}if(h.selectedRange&&h.explicitRange){if(g.compareBoundaryPoints(g.START_TO_START,h.selectedRange)===0&&g.compareBoundaryPoints(g.END_TO_END,h.selectedRange)===0){g=h.explicitRange}else{h.selectedRange=null;h.explicitRange=null}}return g},setRng:function(k,g){var j,i=this;if(!i.tridentSel){j=i.getSel();if(j){i.explicitRange=k;try{j.removeAllRanges()}catch(h){}j.addRange(k);if(g===false&&j.extend){j.collapse(k.endContainer,k.endOffset);j.extend(k.startContainer,k.startOffset)}i.selectedRange=j.rangeCount>0?j.getRangeAt(0):null}}else{if(k.cloneRange){try{i.tridentSel.addRange(k);return}catch(h){}}try{k.select()}catch(h){}}},setNode:function(h){var g=this;g.setContent(g.dom.getOuterHTML(h));return h},getNode:function(){var i=this,h=i.getRng(),j=i.getSel(),m,l=h.startContainer,g=h.endContainer;function k(q,o){var p=q;while(q&&q.nodeType===3&&q.length===0){q=o?q.nextSibling:q.previousSibling}return q||p}if(!h){return i.dom.getRoot()}if(h.setStart){m=h.commonAncestorContainer;if(!h.collapsed){if(h.startContainer==h.endContainer){if(h.endOffset-h.startOffset<2){if(h.startContainer.hasChildNodes()){m=h.startContainer.childNodes[h.startOffset]}}}if(l.nodeType===3&&g.nodeType===3){if(l.length===h.startOffset){l=k(l.nextSibling,true)}else{l=l.parentNode}if(h.endOffset===0){g=k(g.previousSibling,false)}else{g=g.parentNode}if(l&&l===g){return l}}}if(m&&m.nodeType==3){return m.parentNode}return m}return h.item?h.item(0):h.parentElement()},getSelectedBlocks:function(p,h){var o=this,k=o.dom,m,l,i,j=[];m=k.getParent(p||o.getStart(),k.isBlock);l=k.getParent(h||o.getEnd(),k.isBlock);if(m){j.push(m)}if(m&&l&&m!=l){i=m;var g=new a(m,k.getRoot());while((i=g.next())&&i!=l){if(k.isBlock(i)){j.push(i)}}}if(l&&m!=l){j.push(l)}return j},isForward:function(){var i=this.dom,g=this.getSel(),j,h;if(!g||g.anchorNode==null||g.focusNode==null){return true}j=i.createRng();j.setStart(g.anchorNode,g.anchorOffset);j.collapse(true);h=i.createRng();h.setStart(g.focusNode,g.focusOffset);h.collapse(true);return j.compareBoundaryPoints(j.START_TO_START,h)<=0},normalize:function(){var h=this,g,m,l,j,i;function k(p){var o,r,n,s=h.dom,u=s.getRoot(),q,t,v;function y(z,A){var B=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(z=B[A?"prev":"next"]()){if(z.nodeName==="BR"){return true}}}function x(B,z){var C,A;z=z||o;C=new a(z,s.getParent(z.parentNode,s.isBlock)||u);while(q=C[B?"prev":"next"]()){if(q.nodeType===3&&q.nodeValue.length>0){o=q;r=B?q.nodeValue.length:0;m=true;return}if(s.isBlock(q)||t[q.nodeName.toLowerCase()]){return}A=q}if(l&&A){o=A;m=true;r=0}}o=g[(p?"start":"end")+"Container"];r=g[(p?"start":"end")+"Offset"];t=s.schema.getNonEmptyElements();if(o.nodeType===9){o=s.getRoot();r=0}if(o===u){if(p){q=o.childNodes[r>0?r-1:0];if(q){v=q.nodeName.toLowerCase();if(t[q.nodeName]||q.nodeName=="TABLE"){return}}}if(o.hasChildNodes()){o=o.childNodes[Math.min(!p&&r>0?r-1:r,o.childNodes.length-1)];r=0;if(o.hasChildNodes()&&!/TABLE/.test(o.nodeName)){q=o;n=new a(o,u);do{if(q.nodeType===3&&q.nodeValue.length>0){r=p?0:q.nodeValue.length;o=q;m=true;break}if(t[q.nodeName.toLowerCase()]){r=s.nodeIndex(q);o=q.parentNode;if(q.nodeName=="IMG"&&!p){r++}m=true;break}}while(q=(p?n.next():n.prev()))}}}if(l){if(o.nodeType===3&&r===0){x(true)}if(o.nodeType===1){q=o.childNodes[r];if(q&&q.nodeName==="BR"&&!y(q)&&!y(q,true)){x(true,o.childNodes[r])}}}if(p&&!l&&o.nodeType===3&&r===o.nodeValue.length){x(false)}if(m){g["set"+(p?"Start":"End")](o,r)}}if(d.isIE){return}g=h.getRng();l=g.collapsed;k(true);if(!l){k()}if(m){if(l){g.collapse(true)}h.setRng(g,h.isForward())}},selectorChanged:function(g,j){var h=this,i;if(!h.selectorChangedData){h.selectorChangedData={};i={};h.editor.onNodeChange.addToTop(function(l,k,o){var p=h.dom,m=p.getParents(o,null,p.getRoot()),n={};e(h.selectorChangedData,function(r,q){e(m,function(s){if(p.is(s,q)){if(!i[q]){e(r,function(t){t(true,{node:s,selector:q,parents:m})});i[q]=r}n[q]=r;return false}})});e(i,function(r,q){if(!n[q]){delete i[q];e(r,function(s){s(false,{node:o,selector:q,parents:m})})}})})}if(!h.selectorChangedData[g]){h.selectorChangedData[g]=[]}h.selectorChangedData[g].push(j);return h},destroy:function(h){var g=this;g.win=null;if(!h){d.removeUnload(g.destroy)}},_fixIESelection:function(){var h=this.dom,n=h.doc,i=n.body,k,o,g;function j(p,s){var q=i.createTextRange();try{q.moveToPoint(p,s)}catch(r){q=null}return q}function m(q){var p;if(q.button){p=j(q.x,q.y);if(p){if(p.compareEndPoints("StartToStart",o)>0){p.setEndPoint("StartToStart",o)}else{p.setEndPoint("EndToEnd",o)}p.select()}}else{l()}}function l(){var p=n.selection.createRange();if(o&&!p.item&&p.compareEndPoints("StartToEnd",p)===0){o.select()}h.unbind(n,"mouseup",l);h.unbind(n,"mousemove",m);o=k=0}n.documentElement.unselectable=true;h.bind(n,["mousedown","contextmenu"],function(p){if(p.target.nodeName==="HTML"){if(k){l()}g=n.documentElement;if(g.scrollHeight>g.clientHeight){return}k=1;o=j(p.x,p.y);if(o){h.bind(n,"mouseup",l);h.bind(n,"mousemove",m);h.win.focus();o.select()}}})}})})(tinymce);(function(a){a.dom.Serializer=function(e,i,f){var h,b,d=a.isIE,g=a.each,c;if(!e.apply_source_formatting){e.indent=false}i=i||a.DOM;f=f||new a.html.Schema(e);e.entity_encoding=e.entity_encoding||"named";e.remove_trailing_brs="remove_trailing_brs" in e?e.remove_trailing_brs:true;h=new a.util.Dispatcher(self);b=new a.util.Dispatcher(self);c=new a.html.DomParser(e,f);c.addAttributeFilter("src,href,style",function(k,j){var o=k.length,l,q,n="data-mce-"+j,p=e.url_converter,r=e.url_converter_scope,m;while(o--){l=k[o];q=l.attributes.map[n];if(q!==m){l.attr(j,q.length>0?q:null);l.attr(n,null)}else{q=l.attributes.map[j];if(j==="style"){q=i.serializeStyle(i.parseStyle(q),l.name)}else{if(p){q=p.call(r,q,j,l.name)}}l.attr(j,q.length>0?q:null)}}});c.addAttributeFilter("class",function(j,k){var l=j.length,m,n;while(l--){m=j[l];n=m.attr("class").replace(/(?:^|\s)mce(Item\w+|Selected)(?!\S)/g,"");m.attr("class",n.length>0?n:null)}});c.addAttributeFilter("data-mce-type",function(j,l,k){var m=j.length,n;while(m--){n=j[m];if(n.attributes.map["data-mce-type"]==="bookmark"&&!k.cleanup){n.remove()}}});c.addAttributeFilter("data-mce-expando",function(j,l,k){var m=j.length;while(m--){j[m].attr(l,null)}});c.addNodeFilter("noscript",function(j){var k=j.length,l;while(k--){l=j[k].firstChild;if(l){l.value=a.html.Entities.decode(l.value)}}});c.addNodeFilter("script,style",function(k,l){var m=k.length,n,o;function j(p){return p.replace(/()/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}while(m--){n=k[m];o=n.firstChild?n.firstChild.value:"";if(l==="script"){n.attr("type",(n.attr("type")||"text/javascript").replace(/^mce\-/,""));if(o.length>0){n.firstChild.value="// "}}else{if(o.length>0){n.firstChild.value=""}}}});c.addNodeFilter("#comment",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.value.indexOf("[CDATA[")===0){m.name="#cdata";m.type=4;m.value=m.value.replace(/^\[CDATA\[|\]\]$/g,"")}else{if(m.value.indexOf("mce:protected ")===0){m.name="#text";m.type=3;m.raw=true;m.value=unescape(m.value).substr(14)}}}});c.addNodeFilter("xml:namespace,input",function(j,k){var l=j.length,m;while(l--){m=j[l];if(m.type===7){m.remove()}else{if(m.type===1){if(k==="input"&&!("type" in m.attributes.map)){m.attr("type","text")}}}}});if(e.fix_list_elements){c.addNodeFilter("ul,ol",function(k,l){var m=k.length,n,j;while(m--){n=k[m];j=n.parent;if(j.name==="ul"||j.name==="ol"){if(n.prev&&n.prev.name==="li"){n.prev.append(n)}}}})}c.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style",function(j,k){var l=j.length;while(l--){j[l].attr(k,null)}});return{schema:f,addNodeFilter:c.addNodeFilter,addAttributeFilter:c.addAttributeFilter,onPreProcess:h,onPostProcess:b,serialize:function(o,m){var l,p,k,j,n;if(d&&i.select("script,style,select,map").length>0){n=o.innerHTML;o=o.cloneNode(false);i.setHTML(o,n)}else{o=o.cloneNode(true)}l=o.ownerDocument.implementation;if(l.createHTMLDocument){p=l.createHTMLDocument("");g(o.nodeName=="BODY"?o.childNodes:[o],function(q){p.body.appendChild(p.importNode(q,true))});if(o.nodeName!="BODY"){o=p.body.firstChild}else{o=p.body}k=i.doc;i.doc=p}m=m||{};m.format=m.format||"html";if(!m.no_events){m.node=o;h.dispatch(self,m)}j=new a.html.Serializer(e,f);m.content=j.serialize(c.parse(a.trim(m.getInner?o.innerHTML:i.getOuterHTML(o)),m));if(!m.cleanup){m.content=m.content.replace(/\uFEFF/g,"")}if(!m.no_events){b.dispatch(self,m)}if(k){i.doc=k}m.node=null;return m.content},addRules:function(j){f.addValidElements(j)},setRules:function(j){f.setValidElements(j)}}}})(tinymce);(function(a){a.dom.ScriptLoader=function(h){var c=0,k=1,i=2,l={},j=[],e={},d=[],g=0,f;function b(m,v){var x=this,q=a.DOM,s,o,r,n;function p(){q.remove(n);if(s){s.onreadystatechange=s.onload=s=null}v()}function u(){if(typeof(console)!=="undefined"&&console.log){console.log("Failed to load: "+m)}}n=q.uniqueId();if(a.isIE6){o=new a.util.URI(m);r=location;if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol&&o.protocol.toLowerCase()!="file"){a.util.XHR.send({url:a._addVer(o.getURI()),success:function(y){var t=q.create("script",{type:"text/javascript"});t.text=y;document.getElementsByTagName("head")[0].appendChild(t);q.remove(t);p()},error:u});return}}s=document.createElement("script");s.id=n;s.type="text/javascript";s.src=a._addVer(m);if(!a.isIE){s.onload=p}s.onerror=u;if(!a.isOpera){s.onreadystatechange=function(){var t=s.readyState;if(t=="complete"||t=="loaded"){p()}}}(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}this.isDone=function(m){return l[m]==i};this.markDone=function(m){l[m]=i};this.add=this.load=function(m,q,n){var o,p=l[m];if(p==f){j.push(m);l[m]=c}if(q){if(!e[m]){e[m]=[]}e[m].push({func:q,scope:n||this})}};this.loadQueue=function(n,m){this.loadScripts(j,n,m)};this.loadScripts=function(m,q,p){var o;function n(r){a.each(e[r],function(s){s.func.call(s.scope)});e[r]=f}d.push({func:q,scope:p||this});o=function(){var r=a.grep(m);m.length=0;a.each(r,function(s){if(l[s]==i){n(s);return}if(l[s]!=k){l[s]=k;g++;b(s,function(){l[s]=i;g--;n(s);o()})}});if(!g){a.each(d,function(s){s.func.call(s.scope)});d.length=0}};o()}};a.ScriptLoader=new a.dom.ScriptLoader()})(tinymce);(function(a){a.dom.RangeUtils=function(c){var b="\uFEFF";this.walk=function(d,s){var i=d.startContainer,l=d.startOffset,t=d.endContainer,m=d.endOffset,j,g,o,h,r,q,e;e=c.select("td.mceSelected,th.mceSelected");if(e.length>0){a.each(e,function(u){s([u])});return}function f(u){var v;v=u[0];if(v.nodeType===3&&v===i&&l>=v.nodeValue.length){u.splice(0,1)}v=u[u.length-1];if(m===0&&u.length>0&&v===t&&v.nodeType===3){u.splice(u.length-1,1)}return u}function p(x,v,u){var y=[];for(;x&&x!=u;x=x[v]){y.push(x)}return y}function n(v,u){do{if(v.parentNode==u){return v}v=v.parentNode}while(v)}function k(x,v,y){var u=y?"nextSibling":"previousSibling";for(h=x,r=h.parentNode;h&&h!=v;h=r){r=h.parentNode;q=p(h==x?h:h[u],u);if(q.length){if(!y){q.reverse()}s(f(q))}}}if(i.nodeType==1&&i.hasChildNodes()){i=i.childNodes[l]}if(t.nodeType==1&&t.hasChildNodes()){t=t.childNodes[Math.min(m-1,t.childNodes.length-1)]}if(i==t){return s(f([i]))}j=c.findCommonAncestor(i,t);for(h=i;h;h=h.parentNode){if(h===t){return k(i,j,true)}if(h===j){break}}for(h=t;h;h=h.parentNode){if(h===i){return k(t,j)}if(h===j){break}}g=n(i,j)||i;o=n(t,j)||t;k(i,g,true);q=p(g==i?g:g.nextSibling,"nextSibling",o==t?o.nextSibling:o);if(q.length){s(f(q))}k(t,o)};this.split=function(e){var h=e.startContainer,d=e.startOffset,i=e.endContainer,g=e.endOffset;function f(j,k){return j.splitText(k)}if(h==i&&h.nodeType==3){if(d>0&&dd){g=g-d;h=i=f(i,g).previousSibling;g=i.nodeValue.length;d=0}else{g=0}}}else{if(h.nodeType==3&&d>0&&d0&&g=m.length){r=0}}t=m[r];f.setAttrib(g,"tabindex","-1");f.setAttrib(t.id,"tabindex","0");f.get(t.id).focus();if(e.actOnFocus){e.onAction(t.id)}if(s){a.cancel(s)}};p=function(z){var v=37,u=39,y=38,A=40,r=27,t=14,s=13,x=32;switch(z.keyCode){case v:if(i){q.moveFocus(-1)}break;case u:if(i){q.moveFocus(1)}break;case y:if(o){q.moveFocus(-1)}break;case A:if(o){q.moveFocus(1)}break;case r:if(e.onCancel){e.onCancel();a.cancel(z)}break;case t:case s:case x:if(e.onAction){e.onAction(g);a.cancel(z)}break}};c(m,function(t,r){var s,u;if(!t.id){t.id=f.uniqueId("_mce_item_")}u=f.get(t.id);if(l){f.bind(u,"blur",h);s="-1"}else{s=(r===0?"0":"-1")}u.setAttribute("tabindex",s);f.bind(u,"focus",k)});if(m[0]){g=m[0].id}f.setAttrib(n,"tabindex","-1");var j=f.get(n);f.bind(j,"focus",d);f.bind(j,"keydown",p)}})})(tinymce);(function(c){var b=c.DOM,a=c.is;c.create("tinymce.ui.Control",{Control:function(f,e,d){this.id=f;this.settings=e=e||{};this.rendered=false;this.onRender=new c.util.Dispatcher(this);this.classPrefix="";this.scope=e.scope||this;this.disabled=0;this.active=0;this.editor=d},setAriaProperty:function(f,e){var d=b.get(this.id+"_aria")||b.get(this.id);if(d){b.setAttrib(d,"aria-"+f,!!e)}},focus:function(){b.get(this.id).focus()},setDisabled:function(d){if(d!=this.disabled){this.setAriaProperty("disabled",d);this.setState("Disabled",d);this.setState("Enabled",!d);this.disabled=d}},isDisabled:function(){return this.disabled},setActive:function(d){if(d!=this.active){this.setState("Active",d);this.active=d;this.setAriaProperty("pressed",d)}},isActive:function(){return this.active},setState:function(f,d){var e=b.get(this.id);f=this.classPrefix+f;if(d){b.addClass(e,f)}else{b.removeClass(e,f)}},isRendered:function(){return this.rendered},renderHTML:function(){},renderTo:function(d){b.setHTML(d,this.renderHTML())},postRender:function(){var e=this,d;if(a(e.disabled)){d=e.disabled;e.disabled=-1;e.setDisabled(d)}if(a(e.active)){d=e.active;e.active=-1;e.setActive(d)}},remove:function(){b.remove(this.id);this.destroy()},destroy:function(){c.dom.Event.clear(this.id)}})})(tinymce);tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{Container:function(c,b,a){this.parent(c,b,a);this.controls=[];this.lookup={}},add:function(a){this.lookup[a.id]=a;this.controls.push(a);return a},get:function(a){return this.lookup[a]}});tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{Separator:function(b,a){this.parent(b,a);this.classPrefix="mceSeparator";this.setDisabled(true)},renderHTML:function(){return tinymce.DOM.createHTML("span",{"class":this.classPrefix,role:"separator","aria-orientation":"vertical",tabindex:"-1"})}});(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{MenuItem:function(g,f){this.parent(g,f);this.classPrefix="mceMenuItem"},setSelected:function(f){this.setState("Selected",f);this.setAriaProperty("checked",!!f);this.selected=f},isSelected:function(){return this.selected},postRender:function(){var f=this;f.parent();if(c(f.selected)){f.setSelected(f.selected)}}})})(tinymce);(function(d){var c=d.is,b=d.DOM,e=d.each,a=d.walk;d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{Menu:function(h,g){var f=this;f.parent(h,g);f.items={};f.collapsed=false;f.menuCount=0;f.onAddItem=new d.util.Dispatcher(this)},expand:function(g){var f=this;if(g){a(f,function(h){if(h.expand){h.expand()}},"items",f)}f.collapsed=false},collapse:function(g){var f=this;if(g){a(f,function(h){if(h.collapse){h.collapse()}},"items",f)}f.collapsed=true},isCollapsed:function(){return this.collapsed},add:function(f){if(!f.settings){f=new d.ui.MenuItem(f.id||b.uniqueId(),f)}this.onAddItem.dispatch(this,f);return this.items[f.id]=f},addSeparator:function(){return this.add({separator:true})},addMenu:function(f){if(!f.collapse){f=this.createMenu(f)}this.menuCount++;return this.add(f)},hasMenus:function(){return this.menuCount!==0},remove:function(f){delete this.items[f.id]},removeAll:function(){var f=this;a(f,function(g){if(g.removeAll){g.removeAll()}else{g.remove()}g.destroy()},"items",f);f.items={}},createMenu:function(g){var f=new d.ui.Menu(g.id||b.uniqueId(),g);f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);return f}})})(tinymce);(function(e){var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{DropMenu:function(h,g){g=g||{};g.container=g.container||c.doc.body;g.offset_x=g.offset_x||0;g.offset_y=g.offset_y||0;g.vp_offset_x=g.vp_offset_x||0;g.vp_offset_y=g.vp_offset_y||0;if(d(g.icons)&&!g.icons){g["class"]+=" mceNoIcons"}this.parent(h,g);this.onShowMenu=new e.util.Dispatcher(this);this.onHideMenu=new e.util.Dispatcher(this);this.classPrefix="mceMenu"},createMenu:function(j){var h=this,i=h.settings,g;j.container=j.container||i.container;j.parent=h;j.constrain=j.constrain||i.constrain;j["class"]=j["class"]||i["class"];j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;j.keyboard_focus=i.keyboard_focus;g=new e.ui.DropMenu(j.id||c.uniqueId(),j);g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);return g},focus:function(){var g=this;if(g.keyboardNav){g.keyboardNav.focus()}},update:function(){var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;h=j.max_width?Math.min(g.offsetWidth,j.max_width):g.offsetWidth;k=j.max_height?Math.min(g.offsetHeight,j.max_height):g.offsetHeight;if(!c.boxModel){i.element.setStyles({width:h+2,height:k+2})}else{i.element.setStyles({width:h,height:k})}if(j.max_width){c.setStyle(l,"width",h)}if(j.max_height){c.setStyle(l,"height",k);if(g.clientHeightv){p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)}if((n+A.vp_offset_y+l)>q){n=Math.max(0,(q-A.vp_offset_y)-l)}}c.setStyles(o,{left:p,top:n});z.element.update();z.isMenuVisible=1;z.mouseClickFunc=a.add(o,"click",function(s){var h;s=s.target;if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){h=z.items[s.id];if(h.isDisabled()){return}k=z;while(k){if(k.hideMenu){k.hideMenu()}k=k.settings.parent}if(h.settings.onclick){h.settings.onclick(s)}return false}});if(z.hasMenus()){z.mouseOverFunc=a.add(o,"mouseover",function(x){var h,t,s;x=x.target;if(x&&(x=c.getParent(x,"tr"))){h=z.items[x.id];if(z.lastMenu){z.lastMenu.collapse(1)}if(h.isDisabled()){return}if(x&&c.hasClass(x,m+"ItemSub")){t=c.getRect(x);h.showMenu((t.x+t.w-i),t.y-i,t.x);z.lastMenu=h;c.addClass(c.get(h.id).firstChild,m+"ItemActive")}}})}a.add(o,"keydown",z._keyHandler,z);z.onShowMenu.dispatch(z);if(A.keyboard_focus){z._setupKeyboardNav()}},hideMenu:function(j){var g=this,i=c.get("menu_"+g.id),h;if(!g.isMenuVisible){return}if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(i,"mouseover",g.mouseOverFunc);a.remove(i,"click",g.mouseClickFunc);a.remove(i,"keydown",g._keyHandler);c.hide(i);g.isMenuVisible=0;if(!j){g.collapse(1)}if(g.element){g.element.hide()}if(h=c.get(g.id)){c.removeClass(h.firstChild,g.classPrefix+"ItemActive")}g.onHideMenu.dispatch(g)},add:function(i){var g=this,h;i=g.parent(i);if(g.isRendered&&(h=c.get("menu_"+g.id))){g._add(c.select("tbody",h)[0],i)}return i},collapse:function(g){this.parent(g);this.hideMenu(1)},remove:function(g){c.remove(g.id);this.destroy();return this.parent(g)},destroy:function(){var g=this,h=c.get("menu_"+g.id);if(g.keyboardNav){g.keyboardNav.destroy()}a.remove(h,"mouseover",g.mouseOverFunc);a.remove(c.select("a",h),"focus",g.mouseOverFunc);a.remove(h,"click",g.mouseClickFunc);a.remove(h,"keydown",g._keyHandler);if(g.element){g.element.remove()}c.remove(h)},renderNode:function(){var i=this,j=i.settings,l,h,k,g;g=c.create("div",{role:"listbox",id:"menu_"+i.id,"class":j["class"],style:"position:absolute;left:0;top:0;z-index:200000;outline:0"});if(i.settings.parent){c.setAttrib(g,"aria-parent","menu_"+i.settings.parent.id)}k=c.add(g,"div",{role:"presentation",id:"menu_"+i.id+"_co","class":i.classPrefix+(j["class"]?" "+j["class"]:"")});i.element=new b("menu_"+i.id,{blocker:1,container:j.container});if(j.menu_line){c.add(k,"span",{"class":i.classPrefix+"Line"})}l=c.add(k,"table",{role:"presentation",id:"menu_"+i.id+"_tbl",border:0,cellPadding:0,cellSpacing:0});h=c.add(l,"tbody");f(i.items,function(m){i._add(h,m)});i.rendered=true;return g},_setupKeyboardNav:function(){var i,h,g=this;i=c.get("menu_"+g.id);h=c.select("a[role=option]","menu_"+g.id);h.splice(0,0,i);g.keyboardNav=new e.ui.KeyboardNavigation({root:"menu_"+g.id,items:h,onCancel:function(){g.hideMenu()},enableUpDown:true});i.focus()},_keyHandler:function(g){var h=this,i;switch(g.keyCode){case 37:if(h.settings.parent){h.hideMenu();h.settings.parent.focus();a.cancel(g)}break;case 39:if(h.mouseOverFunc){h.mouseOverFunc(g)}break}},_add:function(j,h){var i,q=h.settings,p,l,k,m=this.classPrefix,g;if(q.separator){l=c.add(j,"tr",{id:h.id,"class":m+"ItemSeparator"});c.add(l,"td",{"class":m+"ItemSeparator"});if(i=l.previousSibling){c.addClass(i,"mceLast")}return}i=l=c.add(j,"tr",{id:h.id,"class":m+"Item "+m+"ItemEnabled"});i=k=c.add(i,q.titleItem?"th":"td");i=p=c.add(i,"a",{id:h.id+"_aria",role:q.titleItem?"presentation":"option",href:"javascript:;",onclick:"return false;",onmousedown:"return false;"});if(q.parent){c.setAttrib(p,"aria-haspopup","true");c.setAttrib(p,"aria-owns","menu_"+h.id)}c.addClass(k,q["class"]);g=c.add(i,"span",{"class":"mceIcon"+(q.icon?" mce_"+q.icon:"")});if(q.icon_src){c.add(g,"img",{src:q.icon_src})}i=c.add(i,q.element||"span",{"class":"mceText",title:h.settings.title},h.settings.title);if(h.settings.style){if(typeof h.settings.style=="function"){h.settings.style=h.settings.style()}c.setAttrib(i,"style",h.settings.style)}if(j.childNodes.length==1){c.addClass(l,"mceFirst")}if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){c.addClass(l,"mceFirst")}if(h.collapse){c.addClass(l,m+"ItemSub")}if(i=l.previousSibling){c.removeClass(i,"mceLast")}c.addClass(l,"mceLast")}})})(tinymce);(function(b){var a=b.DOM;b.create("tinymce.ui.Button:tinymce.ui.Control",{Button:function(e,d,c){this.parent(e,d,c);this.classPrefix="mceButton"},renderHTML:function(){var f=this.classPrefix,e=this.settings,d,c;c=a.encode(e.label||"");d='';if(e.image&&!(this.editor&&this.editor.forcedHighContrastMode)){d+=''+a.encode(e.title)+''+(c?''+c+"":"")}else{d+=''+(c?''+c+"":"")}d+='";d+="";return d},postRender:function(){var d=this,e=d.settings,c;if(b.isIE&&d.editor){b.dom.Event.add(d.id,"mousedown",function(f){var g=d.editor.selection.getNode().nodeName;c=g==="IMG"?d.editor.selection.getBookmark():null})}b.dom.Event.add(d.id,"click",function(f){if(!d.isDisabled()){if(b.isIE&&d.editor&&c!==null){d.editor.selection.moveToBookmark(c)}return e.onclick.call(e.scope,f)}});b.dom.Event.add(d.id,"keyup",function(f){if(!d.isDisabled()&&f.keyCode==b.VK.SPACEBAR){return e.onclick.call(e.scope,f)}})}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.ListBox:tinymce.ui.Control",{ListBox:function(j,i,g){var h=this;h.parent(j,i,g);h.items=[];h.onChange=new a(h);h.onPostRender=new a(h);h.onAdd=new a(h);h.onRenderMenu=new e.util.Dispatcher(this);h.classPrefix="mceListBox";h.marked={}},select:function(h){var g=this,j,i;g.marked={};if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){var i=this,j,k,h;i.marked={};if(g!=i.selectedIndex){j=d.get(i.id+"_text");h=d.get(i.id+"_voiceDesc");k=i.items[g];if(k){i.selectedValue=k.value;i.selectedIndex=g;d.setHTML(j,d.encode(k.title));d.setHTML(h,i.settings.title+" - "+k.title);d.removeClass(j,"mceTitle");d.setAttrib(i.id,"aria-valuenow",k.title)}else{d.setHTML(j,d.encode(i.settings.title));d.setHTML(h,d.encode(i.settings.title));d.addClass(j,"mceTitle");i.selectedValue=i.selectedIndex=null;d.setAttrib(i.id,"aria-valuenow",i.settings.title)}j=0}},mark:function(g){this.marked[g]=true},add:function(j,g,i){var h=this;i=i||{};i=e.extend(i,{title:j,value:g});h.items.push(i);h.onAdd.dispatch(h,i)},getLength:function(){return this.items.length},renderHTML:function(){var j="",g=this,i=g.settings,k=g.classPrefix;j='';j+="";j+="";j+="";return j},showMenu:function(){var h=this,j,i=d.get(this.id),g;if(h.isDisabled()||h.items.length===0){return}if(h.menu&&h.menu.isMenuVisible){return h.hideMenu()}if(!h.isMenuRendered){h.renderMenu();h.isMenuRendered=true}j=d.getPos(i);g=h.menu;g.settings.offset_x=j.x;g.settings.offset_y=j.y;g.settings.keyboard_focus=!e.isOpera;f(h.items,function(k){if(g.items[k.id]){g.items[k.id].setSelected(0)}});f(h.items,function(k){if(g.items[k.id]&&h.marked[k.value]){g.items[k.id].setSelected(1)}if(k.value===h.selectedValue){g.items[k.id].setSelected(1)}});g.showMenu(0,i.clientHeight);b.add(d.doc,"mousedown",h.hideMenu,h);d.addClass(h.id,h.classPrefix+"Selected")},hideMenu:function(h){var g=this;if(g.menu&&g.menu.isMenuVisible){d.removeClass(g.id,g.classPrefix+"Selected");if(h&&h.type=="mousedown"&&(h.target.id==g.id+"_text"||h.target.id==g.id+"_open")){return}if(!h||!d.getParent(h.target,".mceMenu")){d.removeClass(g.id,g.classPrefix+"Selected");b.remove(d.doc,"mousedown",g.hideMenu,g);g.menu.hideMenu()}}},renderMenu:function(){var h=this,g;g=h.settings.control_manager.createDropMenu(h.id+"_menu",{menu_line:1,"class":h.classPrefix+"Menu mceNoIcons",max_width:250,max_height:150});g.onHideMenu.add(function(){h.hideMenu();h.focus()});g.add({title:h.settings.title,"class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}});f(h.items,function(i){if(i.value===c){g.add({title:i.title,role:"option","class":"mceMenuItemTitle",onclick:function(){if(h.settings.onselect("")!==false){h.select("")}}})}else{i.id=d.uniqueId();i.role="option";i.onclick=function(){if(h.settings.onselect(i.value)!==false){h.select(i.value)}};g.add(i)}});h.onRenderMenu.dispatch(h,g);h.menu=g},postRender:function(){var g=this,h=g.classPrefix;b.add(g.id,"click",g.showMenu,g);b.add(g.id,"keydown",function(i){if(i.keyCode==32){g.showMenu(i);b.cancel(i)}});b.add(g.id,"focus",function(){if(!g._focused){g.keyDownHandler=b.add(g.id,"keydown",function(i){if(i.keyCode==40){g.showMenu();b.cancel(i)}});g.keyPressHandler=b.add(g.id,"keypress",function(j){var i;if(j.keyCode==13){i=g.selectedValue;g.selectedValue=null;b.cancel(j);g.settings.onselect(i)}})}g._focused=1});b.add(g.id,"blur",function(){b.remove(g.id,"keydown",g.keyDownHandler);b.remove(g.id,"keypress",g.keyPressHandler);g._focused=0});if(e.isIE6||!d.boxModel){b.add(g.id,"mouseover",function(){if(!d.hasClass(g.id,h+"Disabled")){d.addClass(g.id,h+"Hover")}});b.add(g.id,"mouseout",function(){if(!d.hasClass(g.id,h+"Disabled")){d.removeClass(g.id,h+"Hover")}})}g.onPostRender.dispatch(g,d.get(g.id))},destroy:function(){this.parent();b.clear(this.id+"_text");b.clear(this.id+"_open")}})})(tinymce);(function(e){var d=e.DOM,b=e.dom.Event,f=e.each,a=e.util.Dispatcher,c;e.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{NativeListBox:function(h,g){this.parent(h,g);this.classPrefix="mceNativeListBox"},setDisabled:function(g){d.get(this.id).disabled=g;this.setAriaProperty("disabled",g)},isDisabled:function(){return d.get(this.id).disabled},select:function(h){var g=this,j,i;if(h==c){return g.selectByIndex(-1)}if(h&&typeof(h)=="function"){i=h}else{i=function(k){return k==h}}if(h!=g.selectedValue){f(g.items,function(l,k){if(i(l.value)){j=1;g.selectByIndex(k);return false}});if(!j){g.selectByIndex(-1)}}},selectByIndex:function(g){d.get(this.id).selectedIndex=g+1;this.selectedValue=this.items[g]?this.items[g].value:null},add:function(k,h,g){var j,i=this;g=g||{};g.value=h;if(i.isRendered()){d.add(d.get(this.id),"option",g,k)}j={title:k,value:h,attribs:g};i.items.push(j);i.onAdd.dispatch(i,j)},getLength:function(){return this.items.length},renderHTML:function(){var i,g=this;i=d.createHTML("option",{value:""},"-- "+g.settings.title+" --");f(g.items,function(h){i+=d.createHTML("option",{value:h.value},h.title)});i=d.createHTML("select",{id:g.id,"class":"mceNativeListBox","aria-labelledby":g.id+"_aria"},i);i+=d.createHTML("span",{id:g.id+"_aria",style:"display: none"},g.settings.title);return i},postRender:function(){var h=this,i,j=true;h.rendered=true;function g(l){var k=h.items[l.target.selectedIndex-1];if(k&&(k=k.value)){h.onChange.dispatch(h,k);if(h.settings.onselect){h.settings.onselect(k)}}}b.add(h.id,"change",g);b.add(h.id,"keydown",function(l){var k;b.remove(h.id,"change",i);j=false;k=b.add(h.id,"blur",function(){if(j){return}j=true;b.add(h.id,"change",g);b.remove(h.id,"blur",k)});if(e.isWebKit&&(l.keyCode==37||l.keyCode==39)){return b.prevent(l)}if(l.keyCode==13||l.keyCode==32){g(l);return b.cancel(l)}});h.onPostRender.dispatch(h,d.get(h.id))}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{MenuButton:function(g,f,e){this.parent(g,f,e);this.onRenderMenu=new c.util.Dispatcher(this);f.menu_container=f.menu_container||b.doc.body},showMenu:function(){var g=this,j,i,h=b.get(g.id),f;if(g.isDisabled()){return}if(!g.isMenuRendered){g.renderMenu();g.isMenuRendered=true}if(g.isMenuVisible){return g.hideMenu()}j=b.getPos(g.settings.menu_container);i=b.getPos(h);f=g.menu;f.settings.offset_x=i.x;f.settings.offset_y=i.y;f.settings.vp_offset_x=i.x;f.settings.vp_offset_y=i.y;f.settings.keyboard_focus=g._focused;f.showMenu(0,h.firstChild.clientHeight);a.add(b.doc,"mousedown",g.hideMenu,g);g.setState("Selected",1);g.isMenuVisible=1},renderMenu:function(){var f=this,e;e=f.settings.control_manager.createDropMenu(f.id+"_menu",{menu_line:1,"class":this.classPrefix+"Menu",icons:f.settings.icons});e.onHideMenu.add(function(){f.hideMenu();f.focus()});f.onRenderMenu.dispatch(f,e);f.menu=e},hideMenu:function(g){var f=this;if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){return h.id===f.id||h.id===f.id+"_open"})){return}if(!g||!b.getParent(g.target,".mceMenu")){f.setState("Selected",0);a.remove(b.doc,"mousedown",f.hideMenu,f);if(f.menu){f.menu.hideMenu()}}f.isMenuVisible=0},postRender:function(){var e=this,f=e.settings;a.add(e.id,"click",function(){if(!e.isDisabled()){if(f.onclick){f.onclick(e.value)}e.showMenu()}})}})})(tinymce);(function(c){var b=c.DOM,a=c.dom.Event,d=c.each;c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{SplitButton:function(g,f,e){this.parent(g,f,e);this.classPrefix="mceSplitButton"},renderHTML:function(){var i,f=this,g=f.settings,e;i="";if(g.image){e=b.createHTML("img ",{src:g.image,role:"presentation","class":"mceAction "+g["class"]})}else{e=b.createHTML("span",{"class":"mceAction "+g["class"]},"")}e+=b.createHTML("span",{"class":"mceVoiceLabel mceIconOnly",id:f.id+"_voice",style:"display:none;"},g.title);i+=""+b.createHTML("a",{role:"button",id:f.id+"_action",tabindex:"-1",href:"javascript:;","class":"mceAction "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"";e=b.createHTML("span",{"class":"mceOpen "+g["class"]},'');i+=""+b.createHTML("a",{role:"button",id:f.id+"_open",tabindex:"-1",href:"javascript:;","class":"mceOpen "+g["class"],onclick:"return false;",onmousedown:"return false;",title:g.title},e)+"";i+="";i=b.createHTML("table",{role:"presentation","class":"mceSplitButton mceSplitButtonEnabled "+g["class"],cellpadding:"0",cellspacing:"0",title:g.title},i);return b.createHTML("div",{id:f.id,role:"button",tabindex:"0","aria-labelledby":f.id+"_voice","aria-haspopup":"true"},i)},postRender:function(){var e=this,g=e.settings,f;if(g.onclick){f=function(h){if(!e.isDisabled()){g.onclick(e.value);a.cancel(h)}};a.add(e.id+"_action","click",f);a.add(e.id,["click","keydown"],function(h){var k=32,m=14,i=13,j=38,l=40;if((h.keyCode===32||h.keyCode===13||h.keyCode===14)&&!h.altKey&&!h.ctrlKey&&!h.metaKey){f();a.cancel(h)}else{if(h.type==="click"||h.keyCode===l){e.showMenu();a.cancel(h)}}})}a.add(e.id+"_open","click",function(h){e.showMenu();a.cancel(h)});a.add([e.id,e.id+"_open"],"focus",function(){e._focused=1});a.add([e.id,e.id+"_open"],"blur",function(){e._focused=0});if(c.isIE6||!b.boxModel){a.add(e.id,"mouseover",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.addClass(e.id,"mceSplitButtonHover")}});a.add(e.id,"mouseout",function(){if(!b.hasClass(e.id,"mceSplitButtonDisabled")){b.removeClass(e.id,"mceSplitButtonHover")}})}},destroy:function(){this.parent();a.clear(this.id+"_action");a.clear(this.id+"_open");a.clear(this.id)}})})(tinymce);(function(d){var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{ColorSplitButton:function(i,h,f){var g=this;g.parent(i,h,f);g.settings=h=d.extend({colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",grid_width:8,default_color:"#888888"},g.settings);g.onShowMenu=new d.util.Dispatcher(g);g.onHideMenu=new d.util.Dispatcher(g);g.value=h.default_color},showMenu:function(){var f=this,g,j,i,h;if(f.isDisabled()){return}if(!f.isMenuRendered){f.renderMenu();f.isMenuRendered=true}if(f.isMenuVisible){return f.hideMenu()}i=c.get(f.id);c.show(f.id+"_menu");c.addClass(i,"mceSplitButtonSelected");h=c.getPos(i);c.setStyles(f.id+"_menu",{left:h.x,top:h.y+i.firstChild.clientHeight,zIndex:200000});i=0;a.add(c.doc,"mousedown",f.hideMenu,f);f.onShowMenu.dispatch(f);if(f._focused){f._keyHandler=a.add(f.id+"_menu","keydown",function(k){if(k.keyCode==27){f.hideMenu()}});c.select("a",f.id+"_menu")[0].focus()}f.keyboardNav=new d.ui.KeyboardNavigation({root:f.id+"_menu",items:c.select("a",f.id+"_menu"),onCancel:function(){f.hideMenu();f.focus()}});f.keyboardNav.focus();f.isMenuVisible=1},hideMenu:function(g){var f=this;if(f.isMenuVisible){if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){return h.id===f.id+"_open"})){return}if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){c.removeClass(f.id,"mceSplitButtonSelected");a.remove(c.doc,"mousedown",f.hideMenu,f);a.remove(f.id+"_menu","keydown",f._keyHandler);c.hide(f.id+"_menu")}f.isMenuVisible=0;f.onHideMenu.dispatch();f.keyboardNav.destroy()}},renderMenu:function(){var p=this,h,k=0,q=p.settings,g,j,l,o,f;o=c.add(q.menu_container,"div",{role:"listbox",id:p.id+"_menu","class":q.menu_class+" "+q["class"],style:"position:absolute;left:0;top:-1000px;"});h=c.add(o,"div",{"class":q["class"]+" mceSplitButtonMenu"});c.add(h,"span",{"class":"mceMenuLine"});g=c.add(h,"table",{role:"presentation","class":"mceColorSplitMenu"});j=c.add(g,"tbody");k=0;e(b(q.colors,"array")?q.colors:q.colors.split(","),function(m){m=m.replace(/^#/,"");if(!k--){l=c.add(j,"tr");k=q.grid_width-1}g=c.add(l,"td");var i={href:"javascript:;",style:{backgroundColor:"#"+m},title:p.editor.getLang("colors."+m,m),"data-mce-color":"#"+m};if(!d.isIE){i.role="option"}g=c.add(g,"a",i);if(p.editor.forcedHighContrastMode){g=c.add(g,"canvas",{width:16,height:16,"aria-hidden":"true"});if(g.getContext&&(f=g.getContext("2d"))){f.fillStyle="#"+m;f.fillRect(0,0,16,16)}else{c.remove(g)}}});if(q.more_colors_func){g=c.add(j,"tr");g=c.add(g,"td",{colspan:q.grid_width,"class":"mceMoreColors"});g=c.add(g,"a",{role:"option",id:p.id+"_more",href:"javascript:;",onclick:"return false;","class":"mceMoreColors"},q.more_colors_title);a.add(g,"click",function(i){q.more_colors_func.call(q.more_colors_scope||this);return a.cancel(i)})}c.addClass(h,"mceColorSplitMenu");a.add(p.id+"_menu","mousedown",function(i){return a.cancel(i)});a.add(p.id+"_menu","click",function(i){var m;i=c.getParent(i.target,"a",j);if(i&&i.nodeName.toLowerCase()=="a"&&(m=i.getAttribute("data-mce-color"))){p.setColor(m)}return false});return o},setColor:function(f){this.displayColor(f);this.hideMenu();this.settings.onselect(f)},displayColor:function(g){var f=this;c.setStyle(f.id+"_preview","backgroundColor",g);f.value=g},postRender:function(){var f=this,g=f.id;f.parent();c.add(g+"_action","div",{id:g+"_preview","class":"mceColorPreview"});c.setStyle(f.id+"_preview","backgroundColor",f.value)},destroy:function(){var f=this;f.parent();a.clear(f.id+"_menu");a.clear(f.id+"_more");c.remove(f.id+"_menu");if(f.keyboardNav){f.keyboardNav.destroy()}}})})(tinymce);(function(b){var d=b.DOM,c=b.each,a=b.dom.Event;b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container",{renderHTML:function(){var f=this,i=[],e=f.controls,j=b.each,g=f.settings;i.push('
');i.push("");i.push('");j(e,function(h){i.push(h.renderHTML())});i.push("");i.push("
");return i.join("")},focus:function(){var e=this;d.get(e.id).focus()},postRender:function(){var f=this,e=[];c(f.controls,function(g){c(g.controls,function(h){if(h.id){e.push(h)}})});f.keyNav=new b.ui.KeyboardNavigation({root:f.id,items:e,onCancel:function(){if(b.isWebKit){d.get(f.editor.id+"_ifr").focus()}f.editor.focus()},excludeFromTabOrder:!f.settings.tab_focus_toolbar})},destroy:function(){var e=this;e.parent();e.keyNav.destroy();a.clear(e.id)}})})(tinymce);(function(a){var c=a.DOM,b=a.each;a.create("tinymce.ui.Toolbar:tinymce.ui.Container",{renderHTML:function(){var m=this,f="",j,k,n=m.settings,e,d,g,l;l=m.controls;for(e=0;e"))}if(d&&k.ListBox){if(d.Button||d.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarEnd"},c.createHTML("span",null,""))}}if(c.stdMode){f+=''+k.renderHTML()+""}else{f+=""+k.renderHTML()+""}if(g&&k.ListBox){if(g.Button||g.SplitButton){f+=c.createHTML("td",{"class":"mceToolbarStart"},c.createHTML("span",null,""))}}}j="mceToolbarEnd";if(k.Button){j+=" mceToolbarEndButton"}else{if(k.SplitButton){j+=" mceToolbarEndSplitButton"}else{if(k.ListBox){j+=" mceToolbarEndListBox"}}}f+=c.createHTML("td",{"class":j},c.createHTML("span",null,""));return c.createHTML("table",{id:m.id,"class":"mceToolbar"+(n["class"]?" "+n["class"]:""),cellpadding:"0",cellspacing:"0",align:m.settings.align||"",role:"presentation",tabindex:"-1"},""+f+"")}})})(tinymce);(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){if(this.lookup[d]){return this.lookup[d].instance}else{return undefined}},dependencies:function(e){var d;if(this.lookup[e]){d=this.lookup[e].dependencies}return d||[]},requireLangPack:function(e){var d=b.settings;if(d&&d.language&&d.language_load!==false){b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")}},add:function(f,e,d){this.items.push(e);this.lookup[f]={instance:e,dependencies:d};this.onAdd.dispatch(this,f,e);return e},createUrl:function(d,e){if(typeof e==="object"){return e}else{return{prefix:d.prefix,resource:e,suffix:d.suffix}}},addComponents:function(f,d){var e=this.urls[f];b.each(d,function(g){b.ScriptLoader.add(e+"/"+g)})},load:function(j,f,d,h){var g=this,e=f;function i(){var k=g.dependencies(j);b.each(k,function(m){var l=g.createUrl(f,m);g.load(l.resource,l,undefined,undefined)});if(d){if(h){d.call(h)}else{d.call(b.ScriptLoader)}}}if(g.urls[j]){return}if(typeof f==="object"){e=f.prefix+f.resource+f.suffix}if(e.indexOf("/")!==0&&e.indexOf("://")==-1){e=b.baseURL+"/"+e}g.urls[j]=e.substring(0,e.lastIndexOf("/"));if(g.lookup[j]){i()}else{b.ScriptLoader.add(e,i,h)}}});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(x){var v=this,o,n=j.ScriptLoader,u,l=[],r;function q(t){var s=t.id;if(!s){s=t.name;if(s&&!k.get(s)){s=t.name}else{s=k.uniqueId()}t.setAttribute("id",s)}return s}function m(z,A,t){var y=z[A];if(!y){return}if(j.is(y,"string")){t=y.replace(/\.\w+$/,"");t=t?j.resolve(t):0;y=j.resolve(y)}return y.apply(t||this,Array.prototype.slice.call(arguments,2))}function p(t,s){return s.constructor===RegExp?s.test(t.className):k.hasClass(t,s)}v.settings=x;i.bind(window,"ready",function(){var s,t;m(x,"onpageload");switch(x.mode){case"exact":s=x.elements||"";if(s.length>0){g(e(s),function(y){if(k.get(y)){r=new j.Editor(y,x);l.push(r);r.render(1)}else{g(document.forms,function(z){g(z.elements,function(A){if(A.name===y){y="mce_editor_"+c++;k.setAttrib(A,"id",y);r=new j.Editor(y,x);l.push(r);r.render(1)}})})}})}break;case"textareas":case"specific_textareas":g(k.select("textarea"),function(y){if(x.editor_deselector&&p(y,x.editor_deselector)){return}if(!x.editor_selector||p(y,x.editor_selector)){r=new j.Editor(q(y),x);l.push(r);r.render(1)}});break;default:if(x.types){g(x.types,function(y){g(k.select(y.selector),function(A){var z=new j.Editor(q(A),j.extend({},x,y));l.push(z);z.render(1)})})}else{if(x.selector){g(k.select(x.selector),function(z){var y=new j.Editor(q(z),x);l.push(y);y.render(1)})}}}if(x.oninit){s=t=0;g(l,function(y){t++;if(!y.initialized){y.onInit.add(function(){s++;if(s==t){m(x,"oninit")}})}else{s++}if(s==t){m(x,"oninit")}})}})},get:function(l){if(l===a){return this.editors}if(!this.editors.hasOwnProperty(l)){return a}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);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:n,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",apply_source_formatting:n,directionality:"ltr",forced_root_block:"p",hidden_input:n,padd_empty_editor:n,render_ui:n,indentation:"30px",fix_table_elements:n,inline_styles:n,convert_fonts_to_spans:n,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:n,entity_encoding:"named",url_converter:m.convertURL,url_converter_scope:m,ie7_compat:n},o);m.id=m.editorId=p;m.isNotDirty=false;m.plugins={};m.documentBaseURI=new k.util.URI(o.document_base_url||k.documentBaseURL,{base_uri:tinyMCE.baseURI});m.baseURI=k.baseURI;m.contentCSS=[];m.contentStyles=[];m.setupEvents();m.execCommands={};m.queryStateCommands={};m.queryValueCommands={};m.execCallback("setup",m)},render:function(o){var p=this,q=p.settings,r=p.id,m=k.ScriptLoader;if(!j.domLoaded){j.add(window,"ready",function(){p.render()});return}tinyMCE.settings=q;if(!p.getElement()){return}if(k.isIDevice&&!k.isIOS5){return}if(!/TEXTAREA|INPUT/i.test(p.getElement().nodeName)&&q.hidden_input&&l.getParent(r,"form")){l.insertAfter(l.create("input",{type:"hidden",name:r}),r)}if(!q.content_editable){p.orgVisibility=p.getElement().style.visibility;p.getElement().style.visibility="hidden"}if(k.WindowManager){p.windowManager=new k.WindowManager(p)}if(q.encoding=="xml"){p.onGetContent.add(function(s,t){if(t.save){t.content=l.encode(t.content)}})}if(q.add_form_submit_trigger){p.onSubmit.addToTop(function(){if(p.initialized){p.save();p.isNotDirty=1}})}if(q.add_unload_trigger){p._beforeUnload=tinyMCE.onBeforeUnload.add(function(){if(p.initialized&&!p.destroyed&&!p.isHidden()){p.save({format:"raw",no_events:true})}})}k.addUnload(p.destroy,p);if(q.submit_patch){p.onBeforeRenderUI.add(function(){var s=p.getElement().form;if(!s){return}if(s._mceOldSubmit){return}if(!s.submit.nodeType&&!s.submit.length){p.formElement=s;s._mceOldSubmit=s.submit;s.submit=function(){k.triggerSave();p.isNotDirty=1;return p.formElement._mceOldSubmit(p.formElement)}}s=null})}function n(){if(q.language&&q.language_load!==false){m.add(k.baseURL+"/langs/"+q.language+".js")}if(q.theme&&typeof q.theme!="function"&&q.theme.charAt(0)!="-"&&!h.urls[q.theme]){h.load(q.theme,"themes/"+q.theme+"/editor_template"+k.suffix+".js")}i(g(q.plugins),function(t){if(t&&!c.urls[t]){if(t.charAt(0)=="-"){t=t.substr(1,t.length);var s=c.dependencies(t);i(s,function(v){var u={prefix:"plugins/",resource:v,suffix:"/editor_plugin"+k.suffix+".js"};v=c.createUrl(u,v);c.load(v.resource,v)})}else{if(t=="safari"){return}c.load(t,{prefix:"plugins/",resource:t,suffix:"/editor_plugin"+k.suffix+".js"})}}});m.loadQueue(function(){if(!p.removed){p.init()}})}n()},init:function(){var q,G=this,H=G.settings,D,y,z,C=G.getElement(),p,m,E,v,B,F,x,r=[];k.add(G);H.aria_label=H.aria_label||l.getAttrib(C,"aria-label",G.getLang("aria.rich_text_area"));if(H.theme){if(typeof H.theme!="function"){H.theme=H.theme.replace(/-/,"");p=h.get(H.theme);G.theme=new p();if(G.theme.init){G.theme.init(G,h.urls[H.theme]||k.documentBaseURL.replace(/\/$/,""))}}else{G.theme=H.theme}}function A(s){var t=c.get(s),o=c.urls[s]||k.documentBaseURL.replace(/\/$/,""),n;if(t&&k.inArray(r,s)===-1){i(c.dependencies(s),function(u){A(u)});n=new t(G,o);G.plugins[s]=n;if(n.init){n.init(G,o);r.push(s)}}}i(g(H.plugins.replace(/\-/g,"")),A);if(H.popup_css!==false){if(H.popup_css){H.popup_css=G.documentBaseURI.toAbsolute(H.popup_css)}else{H.popup_css=G.baseURI.toAbsolute("themes/"+H.theme+"/skins/"+H.skin+"/dialog.css")}}if(H.popup_css_add){H.popup_css+=","+G.documentBaseURI.toAbsolute(H.popup_css_add)}G.controlManager=new k.ControlManager(G);G.onBeforeRenderUI.dispatch(G,G.controlManager);if(H.render_ui&&G.theme){G.orgDisplay=C.style.display;if(typeof H.theme!="function"){D=H.width||C.style.width||C.offsetWidth;y=H.height||C.style.height||C.offsetHeight;z=H.min_height||100;F=/^[0-9\.]+(|px)$/i;if(F.test(""+D)){D=Math.max(parseInt(D,10)+(p.deltaWidth||0),100)}if(F.test(""+y)){y=Math.max(parseInt(y,10)+(p.deltaHeight||0),z)}p=G.theme.renderUI({targetNode:C,width:D,height:y,deltaWidth:H.delta_width,deltaHeight:H.delta_height});l.setStyles(p.sizeContainer||p.editorContainer,{width:D,height:y});y=(p.iframeHeight||y)+(typeof(y)=="number"?(p.deltaHeight||0):"");if(y';if(H.document_base_url!=k.documentBaseURL){G.iframeHTML+=''}if(H.ie7_compat){G.iframeHTML+=''}else{G.iframeHTML+=''}G.iframeHTML+='';for(x=0;x'}G.contentCSS=[];v=H.body_id||"tinymce";if(v.indexOf("=")!=-1){v=G.getParam("body_id","","hash");v=v[G.id]||v}B=H.body_class||"";if(B.indexOf("=")!=-1){B=G.getParam("body_class","","hash");B=B[G.id]||""}G.iframeHTML+='
";if(k.relaxedDomain&&(b||(k.isOpera&&parseFloat(opera.version())<11))){E='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+G.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()'}q=l.add(p.iframeContainer,"iframe",{id:G.id+"_ifr",src:E||'javascript:""',frameBorder:"0",allowTransparency:"true",title:H.aria_label,style:{width:"100%",height:y,display:"block"}});G.contentAreaContainer=p.iframeContainer;if(p.editorContainer){l.get(p.editorContainer).style.display=G.orgDisplay}C.style.visibility=G.orgVisibility;l.get(G.id).style.display="none";l.setAttrib(G.id,"aria-hidden",true);if(!k.relaxedDomain||!E){G.initContentBody()}C=q=p=null},initContentBody:function(){var n=this,p=n.settings,q=l.get(n.id),r=n.getDoc(),o,m,s;if((!b||!k.relaxedDomain)&&!p.content_editable){r.open();r.write(n.iframeHTML);r.close();if(k.relaxedDomain){r.domain=k.relaxedDomain}}if(p.content_editable){l.addClass(q,"mceContentBody");n.contentDocument=r=p.content_document||document;n.contentWindow=p.content_window||window;n.bodyElement=q;p.content_document=p.content_window=null}m=n.getBody();m.disabled=true;if(!p.readonly){m.contentEditable=n.getParam("content_editable_state",true)}m.disabled=false;n.schema=new k.html.Schema(p);n.dom=new k.dom.DOMUtils(r,{keep_values:true,url_converter:n.convertURL,url_converter_scope:n,hex_colors:p.force_hex_style_colors,class_filter:p.class_filter,update_styles:true,root_element:p.content_editable?n.id:null,schema:n.schema});n.parser=new k.html.DomParser(p,n.schema);n.parser.addAttributeFilter("src,href,style",function(t,u){var v=t.length,y,A=n.dom,z,x;while(v--){y=t[v];z=y.attr(u);x="data-mce-"+u;if(!y.attributes.map[x]){if(u==="style"){y.attr(x,A.serializeStyle(A.parseStyle(z),y.name))}else{y.attr(x,n.convertURL(z,u,y.name))}}}});n.parser.addNodeFilter("script",function(t,u){var v=t.length,x;while(v--){x=t[v];x.attr("type","mce-"+(x.attr("type")||"text/javascript"))}});n.parser.addNodeFilter("#cdata",function(t,u){var v=t.length,x;while(v--){x=t[v];x.type=8;x.name="#comment";x.value="[CDATA["+x.value+"]]"}});n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(u,v){var x=u.length,y,t=n.schema.getNonEmptyElements();while(x--){y=u[x];if(y.isEmpty(t)){y.empty().append(new k.html.Node("br",1)).shortEnded=true}}});n.serializer=new k.dom.Serializer(p,n.dom,n.schema);n.selection=new k.dom.Selection(n.dom,n.getWin(),n.serializer,n);n.formatter=new k.Formatter(n);n.undoManager=new k.UndoManager(n);n.forceBlocks=new k.ForceBlocks(n);n.enterKey=new k.EnterKey(n);n.editorCommands=new k.EditorCommands(n);n.onExecCommand.add(function(t,u){if(!/^(FontName|FontSize)$/.test(u)){n.nodeChanged()}});n.serializer.onPreProcess.add(function(t,u){return n.onPreProcess.dispatch(n,u,t)});n.serializer.onPostProcess.add(function(t,u){return n.onPostProcess.dispatch(n,u,t)});n.onPreInit.dispatch(n);if(!p.browser_spellcheck&&!p.gecko_spellcheck){r.body.spellcheck=false}if(!p.readonly){n.bindNativeEvents()}n.controlManager.onPostRender.dispatch(n,n.controlManager);n.onPostRender.dispatch(n);n.quirks=k.util.Quirks(n);if(p.directionality){m.dir=p.directionality}if(p.nowrap){m.style.whiteSpace="nowrap"}if(p.protect){n.onBeforeSetContent.add(function(t,u){i(p.protect,function(v){u.content=u.content.replace(v,function(x){return""})})})}n.onSetContent.add(function(){n.addVisual(n.getBody())});if(p.padd_empty_editor){n.onPostProcess.add(function(t,u){u.content=u.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
[\r\n]*)$/,"")})}n.load({initial:true,format:"html"});n.startContent=n.getContent({format:"raw"});n.initialized=true;n.onInit.dispatch(n);n.execCallback("setupcontent_callback",n.id,m,r);n.execCallback("init_instance_callback",n);n.focus(true);n.nodeChanged({initial:true});if(n.contentStyles.length>0){s="";i(n.contentStyles,function(t){s+=t+"\r\n"});n.dom.addStyle(s)}i(n.contentCSS,function(t){n.dom.loadCSS(t)});if(p.auto_focus){setTimeout(function(){var t=k.get(p.auto_focus);t.selection.select(t.getBody(),1);t.selection.collapse(1);t.getBody().focus();t.getWin().focus()},100)}q=r=m=null},focus:function(p){var o,u=this,t=u.selection,q=u.settings.content_editable,n,r,s=u.getDoc(),m;if(!p){if(u.lastIERng){t.setRng(u.lastIERng)}n=t.getRng();if(n.item){r=n.item(0)}u._refreshContentEditable();if(!q){u.getWin().focus()}if(k.isGecko||q){m=u.getBody();if(m.setActive){m.setActive()}else{m.focus()}if(q){t.normalize()}}if(r&&r.ownerDocument==s){n=s.body.createControlRange();n.addElement(r);n.select()}}if(k.activeEditor!=u){if((o=k.activeEditor)!=null){o.onDeactivate.dispatch(o,u)}u.onActivate.dispatch(u,o)}k._setActive(u)},execCallback:function(q){var m=this,p=m.settings[q],o;if(!p){return}if(m.callbackLookup&&(o=m.callbackLookup[q])){p=o.func;o=o.scope}if(d(p,"string")){o=p.replace(/\.\w+$/,"");o=o?k.resolve(o):0;p=k.resolve(p);m.callbackLookup=m.callbackLookup||{};m.callbackLookup[q]={func:p,scope:o}}return p.apply(o||m,Array.prototype.slice.call(arguments,1))},translate:function(m){var o=this.settings.language||"en",n=k.i18n;if(!m){return""}return n[o+"."+m]||m.replace(/\{\#([^\}]+)\}/g,function(q,p){return n[o+"."+p]||"{#"+p+"}"})},getLang:function(o,m){return k.i18n[(this.settings.language||"en")+"."+o]||(d(m)?m:"{#"+o+"}")},getParam:function(t,q,m){var r=k.trim,p=d(this.settings[t])?this.settings[t]:q,s;if(m==="hash"){s={};if(d(p,"string")){i(p.indexOf("=")>0?p.split(/[;,](?![^=;,]*(?:[;,]|$))/):p.split(","),function(n){n=n.split("=");if(n.length>1){s[r(n[0])]=r(n[1])}else{s[r(n[0])]=r(n)}})}else{s=p}return s}return p},nodeChanged:function(q){var m=this,n=m.selection,p;if(m.initialized){q=q||{};p=n.getStart()||m.getBody();p=b&&p.ownerDocument!=m.getDoc()?m.getBody():p;q.parents=[];m.dom.getParent(p,function(o){if(o.nodeName=="BODY"){return true}q.parents.push(o)});m.onNodeChange.dispatch(m,q?q.controlManager||m.controlManager:m.controlManager,p,n.isCollapsed(),q)}},addButton:function(n,o){var m=this;m.buttons=m.buttons||{};m.buttons[n]=o},addCommand:function(m,o,n){this.execCommands[m]={func:o,scope:n||this}},addQueryStateHandler:function(m,o,n){this.queryStateCommands[m]={func:o,scope:n||this}},addQueryValueHandler:function(m,o,n){this.queryValueCommands[m]={func:o,scope:n||this}},addShortcut:function(o,q,m,p){var n=this,r;if(n.settings.custom_shortcuts===false){return false}n.shortcuts=n.shortcuts||{};if(d(m,"string")){r=m;m=function(){n.execCommand(r,false,null)}}if(d(m,"object")){r=m;m=function(){n.execCommand(r[0],r[1],r[2])}}i(g(o),function(s){var t={func:m,scope:p||this,desc:n.translate(q),alt:false,ctrl:false,shift:false};i(g(s,"+"),function(u){switch(u){case"alt":case"ctrl":case"shift":t[u]=true;break;default:t.charCode=u.charCodeAt(0);t.keyCode=u.toUpperCase().charCodeAt(0)}});n.shortcuts[(t.ctrl?"ctrl":"")+","+(t.alt?"alt":"")+","+(t.shift?"shift":"")+","+t.keyCode]=t});return true},execCommand:function(u,r,x,m){var p=this,q=0,v,n;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(u)&&(!m||!m.skip_focus)){p.focus()}m=f({},m);p.onBeforeExecCommand.dispatch(p,u,r,x,m);if(m.terminate){return false}if(p.execCallback("execcommand_callback",p.id,p.selection.getNode(),u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(v=p.execCommands[u]){n=v.func.call(v.scope,r,x);if(n!==true){p.onExecCommand.dispatch(p,u,r,x,m);return n}}i(p.plugins,function(o){if(o.execCommand&&o.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);q=1;return false}});if(q){return true}if(p.theme&&p.theme.execCommand&&p.theme.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}if(p.editorCommands.execCommand(u,r,x)){p.onExecCommand.dispatch(p,u,r,x,m);return true}p.getDoc().execCommand(u,r,x);p.onExecCommand.dispatch(p,u,r,x,m)},queryCommandState:function(q){var n=this,r,p;if(n._isHidden()){return}if(r=n.queryStateCommands[q]){p=r.func.call(r.scope);if(p!==true){return p}}r=n.editorCommands.queryCommandState(q);if(r!==-1){return r}try{return this.getDoc().queryCommandState(q)}catch(m){}},queryCommandValue:function(r){var n=this,q,p;if(n._isHidden()){return}if(q=n.queryValueCommands[r]){p=q.func.call(q.scope);if(p!==true){return p}}q=n.editorCommands.queryCommandValue(r);if(d(q)){return q}try{return this.getDoc().queryCommandValue(r)}catch(m){}},show:function(){var m=this;l.show(m.getContainer());l.hide(m.id);m.load()},hide:function(){var m=this,n=m.getDoc();if(b&&n){n.execCommand("SelectAll")}m.save();setTimeout(function(){l.hide(m.getContainer())},1);l.setStyle(m.id,"display",m.orgDisplay)},isHidden:function(){return !l.isHidden(this.id)},setProgressState:function(m,n,p){this.onSetProgressState.dispatch(this,m,n,p);return m},load:function(q){var m=this,p=m.getElement(),n;if(p){q=q||{};q.load=true;n=m.setContent(d(p.value)?p.value:p.innerHTML,q);q.element=p;if(!q.no_events){m.onLoadContent.dispatch(m,q)}q.element=p=null;return n}},save:function(r){var m=this,q=m.getElement(),n,p;if(!q||!m.initialized){return}r=r||{};r.save=true;r.element=q;n=r.content=m.getContent(r);if(!r.no_events){m.onSaveContent.dispatch(m,r)}n=r.content;if(!/TEXTAREA|INPUT/i.test(q.nodeName)){q.innerHTML=n;if(p=l.getParent(m.id,"form")){i(p.elements,function(o){if(o.name==m.id){o.value=n;return false}})}}else{q.value=n}r.element=q=null;return n},setContent:function(r,p){var o=this,n,m=o.getBody(),q;p=p||{};p.format=p.format||"html";p.set=true;p.content=r;if(!p.no_events){o.onBeforeSetContent.dispatch(o,p)}r=p.content;if(!k.isIE&&(r.length===0||/^\s+$/.test(r))){q=o.settings.forced_root_block;if(q){r="<"+q+'>
"}else{r='
'}m.innerHTML=r;o.selection.select(m,true);o.selection.collapse(true);return}if(p.format!=="raw"){r=new k.html.Serializer({},o.schema).serialize(o.parser.parse(r))}p.content=k.trim(r);o.dom.setHTML(m,p.content);if(!p.no_events){o.onSetContent.dispatch(o,p)}if(!o.settings.content_editable||document.activeElement===o.getBody()){o.selection.normalize()}return p.content},getContent:function(o){var n=this,p,m=n.getBody();o=o||{};o.format=o.format||"html";o.get=true;o.getInner=true;if(!o.no_events){n.onBeforeGetContent.dispatch(n,o)}if(o.format=="raw"){p=m.innerHTML}else{if(o.format=="text"){p=m.innerText||m.textContent}else{p=n.serializer.serialize(m,o)}}if(o.format!="text"){o.content=k.trim(p)}else{o.content=p}if(!o.no_events){n.onGetContent.dispatch(n,o)}return o.content},isDirty:function(){var m=this;return k.trim(m.startContent)!=k.trim(m.getContent({format:"raw",no_events:1}))&&!m.isNotDirty},getContainer:function(){var m=this;if(!m.container){m.container=l.get(m.editorContainer||m.id+"_parent")}return m.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return l.get(this.settings.content_element||this.id)},getWin:function(){var m=this,n;if(!m.contentWindow){n=l.get(m.id+"_ifr");if(n){m.contentWindow=n.contentWindow}}return m.contentWindow},getDoc:function(){var m=this,n;if(!m.contentDocument){n=m.getWin();if(n){m.contentDocument=n.document}}return m.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(o,n,q){var m=this,p=m.settings;if(p.urlconverter_callback){return m.execCallback("urlconverter_callback",o,q,true,n)}if(!p.convert_urls||(q&&q.nodeName=="LINK")||o.indexOf("file:")===0){return o}if(p.relative_urls){return m.documentBaseURI.toRelative(o)}o=m.documentBaseURI.toAbsolute(o,p.remove_script_host);return o},addVisual:function(q){var n=this,o=n.settings,p=n.dom,m;q=q||n.getBody();if(!d(n.hasVisual)){n.hasVisual=o.visual}i(p.select("table,a",q),function(s){var r;switch(s.nodeName){case"TABLE":m=o.visual_table_class||"mceItemTable";r=p.getAttrib(s,"border");if(!r||r=="0"){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}return;case"A":if(!p.getAttrib(s,"href",false)){r=p.getAttrib(s,"name")||s.id;m="mceItemAnchor";if(r){if(n.hasVisual){p.addClass(s,m)}else{p.removeClass(s,m)}}}return}});n.onVisualAid.dispatch(n,q,n.hasVisual)},remove:function(){var m=this,n=m.getContainer();if(!m.removed){m.removed=1;m.hide();if(!m.settings.content_editable){j.unbind(m.getWin());j.unbind(m.getDoc())}j.unbind(m.getBody());j.clear(n);m.execCallback("remove_instance_callback",m);m.onRemove.dispatch(m);m.onExecCommand.listeners=[];k.remove(m);l.remove(n)}},destroy:function(n){var m=this;if(m.destroyed){return}if(a){j.unbind(m.getDoc());j.unbind(m.getWin());j.unbind(m.getBody())}if(!n){k.removeUnload(m.destroy);tinyMCE.onBeforeUnload.remove(m._beforeUnload);if(m.theme&&m.theme.destroy){m.theme.destroy()}m.controlManager.destroy();m.selection.destroy();m.dom.destroy()}if(m.formElement){m.formElement.submit=m.formElement._mceOldSubmit;m.formElement._mceOldSubmit=null}m.contentAreaContainer=m.formElement=m.container=m.settings.content_element=m.bodyElement=m.contentDocument=m.contentWindow=null;if(m.selection){m.selection=m.selection.win=m.selection.dom=m.selection.dom.doc=null}m.destroyed=1},_refreshContentEditable:function(){var n=this,m,o;if(n._isHidden()){m=n.getBody();o=m.parentNode;o.removeChild(m);o.appendChild(m);m.focus()}},_isHidden:function(){var m;if(!a){return 0}m=this.selection.getSel();return(!m||!m.rangeCount||m.rangeCount===0)}})})(tinymce);(function(a){var b=a.each;a.Editor.prototype.setupEvents=function(){var c=this,d=c.settings;b(["onPreInit","onBeforeRenderUI","onPostRender","onLoad","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState","onSetAttrib"],function(e){c[e]=new a.util.Dispatcher(c)});if(d.cleanup_callback){c.onBeforeSetContent.add(function(e,f){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)});c.onPreProcess.add(function(e,f){if(f.set){e.execCallback("cleanup_callback","insert_to_editor_dom",f.node,f)}if(f.get){e.execCallback("cleanup_callback","get_from_editor_dom",f.node,f)}});c.onPostProcess.add(function(e,f){if(f.set){f.content=e.execCallback("cleanup_callback","insert_to_editor",f.content,f)}if(f.get){f.content=e.execCallback("cleanup_callback","get_from_editor",f.content,f)}})}if(d.save_callback){c.onGetContent.add(function(e,f){if(f.save){f.content=e.execCallback("save_callback",e.id,f.content,e.getBody())}})}if(d.handle_event_callback){c.onEvent.add(function(f,g,h){if(c.execCallback("handle_event_callback",g,f,h)===false){g.preventDefault();g.stopPropagation()}})}if(d.handle_node_change_callback){c.onNodeChange.add(function(f,e,g){f.execCallback("handle_node_change_callback",f.id,g,-1,-1,true,f.selection.isCollapsed())})}if(d.save_callback){c.onSaveContent.add(function(e,g){var f=e.execCallback("save_callback",e.id,g.content,e.getBody());if(f){g.content=f}})}if(d.onchange_callback){c.onChange.add(function(f,e){f.execCallback("onchange_callback",f,e)})}};a.Editor.prototype.bindNativeEvents=function(){var l=this,f,d=l.settings,e=l.dom,h;h={mouseup:"onMouseUp",mousedown:"onMouseDown",click:"onClick",keyup:"onKeyUp",keydown:"onKeyDown",keypress:"onKeyPress",submit:"onSubmit",reset:"onReset",contextmenu:"onContextMenu",dblclick:"onDblClick",paste:"onPaste"};function c(i,m){var n=i.type;if(l.removed){return}if(l.onEvent.dispatch(l,i,m)!==false){l[h[i.fakeType||i.type]].dispatch(l,i,m)}}function j(i){l.focus(true)}function k(i,m){if(m.keyCode!=65||!a.VK.metaKeyPressed(m)){l.selection.normalize()}l.nodeChanged()}b(h,function(m,n){var i=d.content_editable?l.getBody():l.getDoc();switch(n){case"contextmenu":e.bind(i,n,c);break;case"paste":e.bind(l.getBody(),n,c);break;case"submit":case"reset":e.bind(l.getElement().form||a.DOM.getParent(l.id,"form"),n,c);break;default:e.bind(i,n,c)}});e.bind(d.content_editable?l.getBody():(a.isGecko?l.getDoc():l.getWin()),"focus",function(i){l.focus(true)});if(d.content_editable&&a.isOpera){e.bind(l.getBody(),"click",j);e.bind(l.getBody(),"keydown",j)}l.onMouseUp.add(k);l.onKeyUp.add(function(i,n){var m=n.keyCode;if((m>=33&&m<=36)||(m>=37&&m<=40)||m==13||m==45||m==46||m==8||(a.isMac&&(m==91||m==93))||n.ctrlKey){k(i,n)}});l.onReset.add(function(){l.setContent(l.startContent,{format:"raw"})});function g(m,i){if(m.altKey||m.ctrlKey||m.metaKey){b(l.shortcuts,function(n){var o=a.isMac?m.metaKey:m.ctrlKey;if(n.ctrl!=o||n.alt!=m.altKey||n.shift!=m.shiftKey){return}if(m.keyCode==n.keyCode||(m.charCode&&m.charCode==n.charCode)){m.preventDefault();if(i){n.func.call(n.scope)}return true}})}}l.onKeyUp.add(function(i,m){g(m)});l.onKeyPress.add(function(i,m){g(m)});l.onKeyDown.add(function(i,m){g(m,true)});if(a.isOpera){l.onClick.add(function(i,m){m.preventDefault()})}}})(tinymce);(function(d){var e=d.each,b,a=true,c=false;d.EditorCommands=function(n){var m=n.dom,p=n.selection,j={state:{},exec:{},value:{}},k=n.settings,q=n.formatter,o;function r(z,y,x){var v;z=z.toLowerCase();if(v=j.exec[z]){v(z,y,x);return a}return c}function l(x){var v;x=x.toLowerCase();if(v=j.state[x]){return v(x)}return -1}function h(x){var v;x=x.toLowerCase();if(v=j.value[x]){return v(x)}return c}function u(v,x){x=x||"exec";e(v,function(z,y){e(y.toLowerCase().split(","),function(A){j[x][A]=z})})}d.extend(this,{execCommand:r,queryCommandState:l,queryCommandValue:h,addCommands:u});function f(y,x,v){if(x===b){x=c}if(v===b){v=null}return n.getDoc().execCommand(y,x,v)}function t(v){return q.match(v)}function s(v,x){q.toggle(v,x?{value:x}:b)}function i(v){o=p.getBookmark(v)}function g(){p.moveToBookmark(o)}u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(z){var y=n.getDoc(),v;try{f(z)}catch(x){v=a}if(v||!y.queryCommandSupported(z)){if(d.isGecko){n.windowManager.confirm(n.getLang("clipboard_msg"),function(A){if(A){open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")}})}else{n.windowManager.alert(n.getLang("clipboard_no_support"))}}},unlink:function(v){if(p.isCollapsed()){p.select(p.getNode())}f(v);p.collapse(c)},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(v){var x=v.substring(7);e("left,center,right,full".split(","),function(y){if(x!=y){q.remove("align"+y)}});s("align"+x);r("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(y){var v,x;f(y);v=m.getParent(p.getNode(),"ol,ul");if(v){x=v.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)){i();m.split(x,v);g()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){s(v)},"ForeColor,HiliteColor,FontName":function(y,x,v){s(y,v)},FontSize:function(z,y,x){var v,A;if(x>=1&&x<=7){A=d.explode(k.font_size_style_values);v=d.explode(k.font_size_classes);if(v){x=v[x-1]||x}else{x=A[x-1]||x}}s(z,x)},RemoveFormat:function(v){q.remove(v)},mceBlockQuote:function(v){s("blockquote")},FormatBlock:function(y,x,v){return s(v||"p")},mceCleanup:function(){var v=p.getBookmark();n.setContent(n.getContent({cleanup:a}),{cleanup:a});p.moveToBookmark(v)},mceRemoveNode:function(z,y,x){var v=x||p.getNode();if(v!=n.getBody()){i();n.dom.remove(v,a);g()}},mceSelectNodeDepth:function(z,y,x){var v=0;m.getParent(p.getNode(),function(A){if(A.nodeType==1&&v++==x){p.select(A);return c}},n.getBody())},mceSelectNode:function(y,x,v){p.select(v)},mceInsertContent:function(B,I,K){var y,J,E,z,F,G,D,C,L,x,A,M,v,H;y=n.parser;J=new d.html.Serializer({},n.schema);v='\uFEFF';G={content:K,format:"html"};p.onBeforeSetContent.dispatch(p,G);K=G.content;if(K.indexOf("{$caret}")==-1){K+="{$caret}"}K=K.replace(/\{\$caret\}/,v);if(!p.isCollapsed()){n.getDoc().execCommand("Delete",false,null)}E=p.getNode();G={context:E.nodeName.toLowerCase()};F=y.parse(K,G);A=F.lastChild;if(A.attr("id")=="mce_marker"){D=A;for(A=A.prev;A;A=A.walk(true)){if(A.type==3||!m.isBlock(A.name)){A.parent.insert(D,A,A.name==="br");break}}}if(!G.invalid){K=J.serialize(F);A=E.firstChild;M=E.lastChild;if(!A||(A===M&&A.nodeName==="BR")){m.setHTML(E,K)}else{p.setContent(K)}}else{p.setContent(v);E=p.getNode();z=n.getBody();if(E.nodeType==9){E=A=z}else{A=E}while(A!==z){E=A;A=A.parentNode}K=E==z?z.innerHTML:m.getOuterHTML(E);K=J.serialize(y.parse(K.replace(//i,function(){return J.serialize(F)})));if(E==z){m.setHTML(z,K)}else{m.setOuterHTML(E,K)}}D=m.get("mce_marker");C=m.getRect(D);L=m.getViewPort(n.getWin());if((C.y+C.h>L.y+L.h||C.yL.x+L.w||C.x")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual;n.addVisual()},mceReplaceContent:function(y,x,v){n.execCommand("mceInsertContent",false,v.replace(/\{\$selection\}/g,p.getContent({format:"text"})))},mceInsertLink:function(z,y,x){var v;if(typeof(x)=="string"){x={href:x}}v=m.getParent(p.getNode(),"a");x.href=x.href.replace(" ","%20");if(!v||!x.href){q.remove("link")}if(x.href){q.apply("link",x,v)}},selectAll:function(){var x=m.getRoot(),v=m.createRng();if(p.getRng().setStart){v.setStart(x,0);v.setEnd(x,x.childNodes.length);p.setRng(v)}else{f("SelectAll")}}});u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(z){var x="align"+z.substring(7);var v=p.isCollapsed()?[m.getParent(p.getNode(),m.isBlock)]:p.getSelectedBlocks();var y=d.map(v,function(A){return !!q.matchNode(A,x)});return d.inArray(y,a)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(v){return t(v)},mceBlockQuote:function(){return t("blockquote")},Outdent:function(){var v;if(k.inline_styles){if((v=m.getParent(p.getStart(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}if((v=m.getParent(p.getEnd(),m.isBlock))&&parseInt(v.style.paddingLeft)>0){return a}}return l("InsertUnorderedList")||l("InsertOrderedList")||(!k.inline_styles&&!!m.getParent(p.getNode(),"BLOCKQUOTE"))},"InsertUnorderedList,InsertOrderedList":function(x){var v=m.getParent(p.getNode(),"ul,ol");return v&&(x==="insertunorderedlist"&&v.tagName==="UL"||x==="insertorderedlist"&&v.tagName==="OL")}},"state");u({"FontSize,FontName":function(y){var x=0,v;if(v=m.getParent(p.getNode(),"span")){if(y=="fontsize"){x=v.style.fontSize}else{x=v.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return x}},"value");u({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}})(tinymce);(function(b){var a=b.util.Dispatcher;b.UndoManager=function(h){var l,i=0,e=[],g,k,j,f;function c(){return b.trim(h.getContent({format:"raw",no_events:1}).replace(/]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,""))}function d(){l.typing=false;l.add()}onBeforeAdd=new a(l);k=new a(l);j=new a(l);f=new a(l);k.add(function(m,n){if(m.hasUndo()){return h.onChange.dispatch(h,n,m)}});j.add(function(m,n){return h.onUndo.dispatch(h,n,m)});f.add(function(m,n){return h.onRedo.dispatch(h,n,m)});h.onInit.add(function(){l.add()});h.onBeforeExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.beforeChange()}});h.onExecCommand.add(function(m,p,o,q,n){if(p!="Undo"&&p!="Redo"&&p!="mceRepaint"&&(!n||!n.skip_undo)){l.add()}});h.onSaveContent.add(d);h.dom.bind(h.dom.getRoot(),"dragend",d);h.dom.bind(h.getDoc(),b.isGecko?"blur":"focusout",function(m){if(!h.removed&&l.typing){d()}});h.onKeyUp.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45||n==13||o.ctrlKey){d()}});h.onKeyDown.add(function(m,o){var n=o.keyCode;if((n>=33&&n<=36)||(n>=37&&n<=40)||n==45){if(l.typing){d()}return}if((n<16||n>20)&&n!=224&&n!=91&&!l.typing){l.beforeChange();l.typing=true;l.add()}});h.onMouseDown.add(function(m,n){if(l.typing){d()}});h.addShortcut("ctrl+z","undo_desc","Undo");h.addShortcut("ctrl+y","redo_desc","Redo");l={data:e,typing:false,onBeforeAdd:onBeforeAdd,onAdd:k,onUndo:j,onRedo:f,beforeChange:function(){g=h.selection.getBookmark(2,true)},add:function(p){var m,n=h.settings,o;p=p||{};p.content=c();l.onBeforeAdd.dispatch(l,p);o=e[i];if(o&&o.content==p.content){return null}if(e[i]){e[i].beforeBookmark=g}if(n.custom_undo_redo_levels){if(e.length>n.custom_undo_redo_levels){for(m=0;m0){n=e[--i];h.setContent(n.content,{format:"raw"});h.selection.moveToBookmark(n.beforeBookmark);l.onUndo.dispatch(l,n)}return n},redo:function(){var m;if(i0||this.typing},hasRedo:function(){return i0){g.moveEnd("character",q)}g.select()}catch(n){}}}c.nodeChanged()}}if(b.forced_root_block){c.onKeyUp.add(f);c.onNodeChange.add(f)}};(function(c){var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;c.create("tinymce.ControlManager",{ControlManager:function(f,j){var h=this,g;j=j||{};h.editor=f;h.controls={};h.onAdd=new c.util.Dispatcher(h);h.onPostRender=new c.util.Dispatcher(h);h.prefix=j.prefix||f.id+"_";h._cls={};h.onPostRender.add(function(){d(h.controls,function(i){i.postRender()})})},get:function(f){return this.controls[this.prefix+f]||this.controls[f]},setActive:function(h,f){var g=null;if(g=this.get(h)){g.setActive(f)}return g},setDisabled:function(h,f){var g=null;if(g=this.get(h)){g.setDisabled(f)}return g},add:function(g){var f=this;if(g){f.controls[g.id]=g;f.onAdd.dispatch(g,f)}return g},createControl:function(j){var o,k,g,h=this,m=h.editor,n,f;if(!h.controlFactories){h.controlFactories=[];d(m.plugins,function(i){if(i.createControl){h.controlFactories.push(i)}})}n=h.controlFactories;for(k=0,g=n.length;k1||ag==ay||ag.tagName=="BR"){return ag}}}var aq=aa.selection.getRng();var av=aq.startContainer;var ap=aq.endContainer;if(av!=ap&&aq.endOffset===0){var au=ar(av,ap);var at=au.nodeType==3?au.length:au.childNodes.length;aq.setEnd(au,at)}return aq}function ad(at,ay,aw,av,aq){var ap=[],ar=-1,ax,aA=-1,au=-1,az;T(at.childNodes,function(aC,aB){if(aC.nodeName==="UL"||aC.nodeName==="OL"){ar=aB;ax=aC;return false}});T(at.childNodes,function(aC,aB){if(aC.nodeName==="SPAN"&&c.getAttrib(aC,"data-mce-type")=="bookmark"){if(aC.id==ay.id+"_start"){aA=aB}else{if(aC.id==ay.id+"_end"){au=aB}}}});if(ar<=0||(aAar)){T(a.grep(at.childNodes),aq);return 0}else{az=c.clone(aw,X);T(a.grep(at.childNodes),function(aC,aB){if((aAar&&aB>ar)){ap.push(aC);aC.parentNode.removeChild(aC)}});if(aAar){at.insertBefore(az,ax.nextSibling)}}av.push(az);T(ap,function(aB){az.appendChild(aB)});return az}}function an(aq,at,aw){var ap=[],av,ar,au=true;av=am.inline||am.block;ar=c.create(av);ab(ar);N.walk(aq,function(ax){var ay;function az(aA){var aF,aD,aB,aC,aE;aE=au;aF=aA.nodeName.toLowerCase();aD=aA.parentNode.nodeName.toLowerCase();if(aA.nodeType===1&&x(aA)){aE=au;au=x(aA)==="true";aC=true}if(g(aF,"br")){ay=0;if(am.block){c.remove(aA)}return}if(am.wrapper&&y(aA,ae,al)){ay=0;return}if(au&&!aC&&am.block&&!am.wrapper&&I(aF)){aA=c.rename(aA,av);ab(aA);ap.push(aA);ay=0;return}if(am.selector){T(ah,function(aG){if("collapsed" in aG&&aG.collapsed!==ai){return}if(c.is(aA,aG.selector)&&!b(aA)){ab(aA,aG);aB=true}});if(!am.inline||aB){ay=0;return}}if(au&&!aC&&d(av,aF)&&d(aD,av)&&!(!aw&&aA.nodeType===3&&aA.nodeValue.length===1&&aA.nodeValue.charCodeAt(0)===65279)&&!b(aA)){if(!ay){ay=c.clone(ar,X);aA.parentNode.insertBefore(ay,aA);ap.push(ay)}ay.appendChild(aA)}else{if(aF=="li"&&at){ay=ad(aA,at,ar,ap,az)}else{ay=0;T(a.grep(aA.childNodes),az);if(aC){au=aE}ay=0}}}T(ax,az)});if(am.wrap_links===false){T(ap,function(ax){function ay(aC){var aB,aA,az;if(aC.nodeName==="A"){aA=c.clone(ar,X);ap.push(aA);az=a.grep(aC.childNodes);for(aB=0;aB1||!H(az))&&ax===0){c.remove(az,1);return}if(am.inline||am.wrapper){if(!am.exact&&ax===1){az=ay(az)}T(ah,function(aB){T(c.select(aB.inline,az),function(aD){var aC;if(aB.wrap_links===false){aC=aD.parentNode;do{if(aC.nodeName==="A"){return}}while(aC=aC.parentNode)}Z(aB,al,aD,aB.exact?aD:null)})});if(y(az.parentNode,ae,al)){c.remove(az,1);az=0;return C}if(am.merge_with_parents){c.getParent(az.parentNode,function(aB){if(y(aB,ae,al)){c.remove(az,1);az=0;return C}})}if(az&&am.merge_siblings!==false){az=u(E(az),az);az=u(az,E(az,C))}}})}if(am){if(ag){if(ag.nodeType){ac=c.createRng();ac.setStartBefore(ag);ac.setEndAfter(ag);an(p(ac,ah),null,true)}else{an(ag,null,true)}}else{if(!ai||!am.inline||c.select("td.mceSelected,th.mceSelected").length){var ao=aa.selection.getNode();if(!m&&ah[0].defaultBlock&&!c.getParent(ao,c.isBlock)){Y(ah[0].defaultBlock)}aa.selection.setRng(af());ak=r.getBookmark();an(p(r.getRng(C),ah),ak);if(am.styles&&(am.styles.color||am.styles.textDecoration)){a.walk(ao,L,"childNodes");L(ao)}r.moveToBookmark(ak);R(r.getRng(C));aa.nodeChanged()}else{U("apply",ae,al)}}}}function B(ad,am,af){var ag=V(ad),ao=ag[0],ak,aj,ac,al=true;function ae(av){var au,at,ar,aq,ax,aw;if(av.nodeType===1&&x(av)){ax=al;al=x(av)==="true";aw=true}au=a.grep(av.childNodes);if(al&&!aw){for(at=0,ar=ag.length;at=0;ac--){ab=ah[ac].selector;if(!ab){return C}for(ag=ad.length-1;ag>=0;ag--){if(c.is(ad[ag],ab)){return C}}}}return X}function J(ab,ae,ac){var ad;if(!P){P={};ad={};aa.onNodeChange.addToTop(function(ag,af,ai){var ah=n(ai),aj={};T(P,function(ak,al){T(ah,function(am){if(y(am,al,{},ak.similar)){if(!ad[al]){T(ak,function(an){an(true,{node:am,format:al,parents:ah})});ad[al]=ak}aj[al]=ak;return false}})});T(ad,function(ak,al){if(!aj[al]){delete ad[al];T(ak,function(am){am(false,{node:ai,format:al,parents:ah})})}})})}T(ab.split(","),function(af){if(!P[af]){P[af]=[];P[af].similar=ac}P[af].push(ae)});return this}a.extend(this,{get:V,register:l,apply:Y,remove:B,toggle:F,match:k,matchAll:v,matchNode:y,canApply:z,formatChanged:J});j();W();function h(ab,ac){if(g(ab,ac.inline)){return C}if(g(ab,ac.block)){return C}if(ac.selector){return c.is(ab,ac.selector)}}function g(ac,ab){ac=ac||"";ab=ab||"";ac=""+(ac.nodeName||ac);ab=""+(ab.nodeName||ab);return ac.toLowerCase()==ab.toLowerCase()}function O(ac,ab){var ad=c.getStyle(ac,ab);if(ab=="color"||ab=="backgroundColor"){ad=c.toHex(ad)}if(ab=="fontWeight"&&ad==700){ad="bold"}return""+ad}function q(ab,ac){if(typeof(ab)!="string"){ab=ab(ac)}else{if(ac){ab=ab.replace(/%(\w+)/g,function(ae,ad){return ac[ad]||ae})}}return ab}function f(ab){return ab&&ab.nodeType===3&&/^([\t \r\n]+|)$/.test(ab.nodeValue)}function S(ad,ac,ab){var ae=c.create(ac,ab);ad.parentNode.insertBefore(ae,ad);ae.appendChild(ad);return ae}function p(ab,am,ae){var ap,an,ah,al,ad=ab.startContainer,ai=ab.startOffset,ar=ab.endContainer,ak=ab.endOffset;function ao(aA){var au,ax,az,aw,av,at;au=ax=aA?ad:ar;av=aA?"previousSibling":"nextSibling";at=c.getRoot();function ay(aB){return aB.nodeName=="BR"&&aB.getAttribute("data-mce-bogus")&&!aB.nextSibling}if(au.nodeType==3&&!f(au)){if(aA?ai>0:akan?an:ai];if(ad.nodeType==3){ai=0}}if(ar.nodeType==1&&ar.hasChildNodes()){an=ar.childNodes.length-1;ar=ar.childNodes[ak>an?an:ak-1];if(ar.nodeType==3){ak=ar.nodeValue.length}}function aq(au){var at=au;while(at){if(at.nodeType===1&&x(at)){return x(at)==="false"?at:au}at=at.parentNode}return au}function aj(au,ay,aA){var ax,av,az,at;function aw(aC,aE){var aF,aB,aD=aC.nodeValue;if(typeof(aE)=="undefined"){aE=aA?aD.length:0}if(aA){aF=aD.lastIndexOf(" ",aE);aB=aD.lastIndexOf("\u00a0",aE);aF=aF>aB?aF:aB;if(aF!==-1&&!ae){aF++}}else{aF=aD.indexOf(" ",aE);aB=aD.indexOf("\u00a0",aE);aF=aF!==-1&&(aB===-1||aF0&&ah.node.nodeType===3&&ah.node.nodeValue.charAt(ah.offset-1)===" "){if(ah.offset>1){ar=ah.node;ar.splitText(ah.offset-1)}}}}if(am[0].inline||am[0].block_expand){if(!am[0].inline||(ad.nodeType!=3||ai===0)){ad=ao(true)}if(!am[0].inline||(ar.nodeType!=3||ak===ar.nodeValue.length)){ar=ao()}}if(am[0].selector&&am[0].expand!==X&&!am[0].inline){ad=af(ad,"previousSibling");ar=af(ar,"nextSibling")}if(am[0].block||am[0].selector){ad=ac(ad,"previousSibling");ar=ac(ar,"nextSibling");if(am[0].block){if(!H(ad)){ad=ao(true)}if(!H(ar)){ar=ao()}}}if(ad.nodeType==1){ai=s(ad);ad=ad.parentNode}if(ar.nodeType==1){ak=s(ar)+1;ar=ar.parentNode}return{startContainer:ad,startOffset:ai,endContainer:ar,endOffset:ak}}function Z(ah,ag,ae,ab){var ad,ac,af;if(!h(ae,ah)){return X}if(ah.remove!="all"){T(ah.styles,function(aj,ai){aj=q(aj,ag);if(typeof(ai)==="number"){ai=aj;ab=0}if(!ab||g(O(ab,ai),aj)){c.setStyle(ae,ai,"")}af=1});if(af&&c.getAttrib(ae,"style")==""){ae.removeAttribute("style");ae.removeAttribute("data-mce-style")}T(ah.attributes,function(ak,ai){var aj;ak=q(ak,ag);if(typeof(ai)==="number"){ai=ak;ab=0}if(!ab||g(c.getAttrib(ab,ai),ak)){if(ai=="class"){ak=c.getAttrib(ae,ai);if(ak){aj="";T(ak.split(/\s+/),function(al){if(/mce\w+/.test(al)){aj+=(aj?" ":"")+al}});if(aj){c.setAttrib(ae,ai,aj);return}}}if(ai=="class"){ae.removeAttribute("className")}if(e.test(ai)){ae.removeAttribute("data-mce-"+ai)}ae.removeAttribute(ai)}});T(ah.classes,function(ai){ai=q(ai,ag);if(!ab||c.hasClass(ab,ai)){c.removeClass(ae,ai)}});ac=c.getAttribs(ae);for(ad=0;adad?ad:af]}if(ab.nodeType===3&&ag&&af>=ab.nodeValue.length){ab=new t(ab,aa.getBody()).next()||ab}if(ab.nodeType===3&&!ag&&af===0){ab=new t(ab,aa.getBody()).prev()||ab}return ab}function U(ak,ab,ai){var al="_mce_caret",ac=aa.settings.caret_debug;function ad(ap){var ao=c.create("span",{id:al,"data-mce-bogus":true,style:ac?"color:red":""});if(ap){ao.appendChild(aa.getDoc().createTextNode(G))}return ao}function aj(ap,ao){while(ap){if((ap.nodeType===3&&ap.nodeValue!==G)||ap.childNodes.length>1){return false}if(ao&&ap.nodeType===1){ao.push(ap)}ap=ap.firstChild}return true}function ag(ao){while(ao){if(ao.id===al){return ao}ao=ao.parentNode}}function af(ao){var ap;if(ao){ap=new t(ao,ao);for(ao=ap.current();ao;ao=ap.next()){if(ao.nodeType===3){return ao}}}}function ae(aq,ap){var ar,ao;if(!aq){aq=ag(r.getStart());if(!aq){while(aq=c.get(al)){ae(aq,false)}}}else{ao=r.getRng(true);if(aj(aq)){if(ap!==false){ao.setStartBefore(aq);ao.setEndBefore(aq)}c.remove(aq)}else{ar=af(aq);if(ar.nodeValue.charAt(0)===G){ar=ar.deleteData(0,1)}c.remove(aq,1)}r.setRng(ao)}}function ah(){var aq,ao,av,au,ar,ap,at;aq=r.getRng(true);au=aq.startOffset;ap=aq.startContainer;at=ap.nodeValue;ao=ag(r.getStart());if(ao){av=af(ao)}if(at&&au>0&&au=0;at--){aq.appendChild(c.clone(ax[at],false));aq=aq.firstChild}aq.appendChild(c.doc.createTextNode(G));aq=aq.firstChild;c.insertAfter(aw,ay);r.setCursorLocation(aq,1)}}function an(){var ap,ao,aq;ao=ag(r.getStart());if(ao&&!c.isEmpty(ao)){a.walk(ao,function(ar){if(ar.nodeType==1&&ar.id!==al&&!c.isEmpty(ar)){c.setAttrib(ar,"data-mce-bogus",null)}},"childNodes")}}if(!self._hasCaretEvents){aa.onBeforeGetContent.addToTop(function(){var ao=[],ap;if(aj(ag(r.getStart()),ao)){ap=ao.length;while(ap--){c.setAttrib(ao[ap],"data-mce-bogus","1")}}});a.each("onMouseUp onKeyUp".split(" "),function(ao){aa[ao].addToTop(function(){ae();an()})});aa.onKeyDown.addToTop(function(ao,aq){var ap=aq.keyCode;if(ap==8||ap==37||ap==39){ae(ag(r.getStart()))}an()});r.onSetContent.add(an);self._hasCaretEvents=true}if(ak=="apply"){ah()}else{am()}}function R(ac){var ab=ac.startContainer,ai=ac.startOffset,ae,ah,ag,ad,af;if(ab.nodeType==3&&ai>=ab.nodeValue.length){ai=s(ab);ab=ab.parentNode;ae=true}if(ab.nodeType==1){ad=ab.childNodes;ab=ad[Math.min(ai,ad.length-1)];ah=new t(ab,c.getParent(ab,c.isBlock));if(ai>ad.length-1||ae){ah.next()}for(ag=ah.current();ag;ag=ah.next()){if(ag.nodeType==3&&!f(ag)){af=c.create("a",null,G);ag.parentNode.insertBefore(af,ag);ac.setStart(ag,0);r.setRng(ac);c.remove(af);return}}}}}})(tinymce);tinymce.onAddEditor.add(function(e,a){var d,h,g,c=a.settings;function b(j,i){e.each(i,function(l,k){if(l){g.setStyle(j,k,l)}});g.rename(j,"span")}function f(i,j){g=i.dom;if(c.convert_fonts_to_spans){e.each(g.select("font,u,strike",j.node),function(k){d[k.nodeName.toLowerCase()](a.dom,k)})}}if(c.inline_styles){h=e.explode(c.font_size_legacy_values);d={font:function(j,i){b(i,{backgroundColor:i.style.backgroundColor,color:i.color,fontFamily:i.face,fontSize:h[parseInt(i.size,10)-1]})},u:function(j,i){b(i,{textDecoration:"underline"})},strike:function(j,i){b(i,{textDecoration:"line-through"})}};a.onPreProcess.add(f);a.onSetContent.add(f);a.onInit.add(function(){a.selection.onSetContent.add(f)})}});(function(b){var a=b.dom.TreeWalker;b.EnterKey=function(f){var i=f.dom,e=f.selection,d=f.settings,h=f.undoManager,c=f.schema.getNonEmptyElements();function g(A){var v=e.getRng(true),G,j,z,u,p,M,B,o,k,n,t,J,x,C;function E(N){return N&&i.isBlock(N)&&!/^(TD|TH|CAPTION|FORM)$/.test(N.nodeName)&&!/^(fixed|absolute)/i.test(N.style.position)&&i.getContentEditable(N)!=="true"}function F(O){var N;if(b.isIE&&i.isBlock(O)){N=e.getRng();O.appendChild(i.create("span",null,"\u00a0"));e.select(O);O.lastChild.outerHTML="";e.setRng(N)}}function y(P){var O=P,Q=[],N;while(O=O.firstChild){if(i.isBlock(O)){return}if(O.nodeType==1&&!c[O.nodeName.toLowerCase()]){Q.push(O)}}N=Q.length;while(N--){O=Q[N];if(!O.hasChildNodes()||(O.firstChild==O.lastChild&&O.firstChild.nodeValue==="")){i.remove(O)}else{if(O.nodeName=="A"&&(O.innerText||O.textContent)===" "){i.remove(O)}}}}function m(O){var T,R,N,U,S,Q=O,P;N=i.createRng();if(O.hasChildNodes()){T=new a(O,O);while(R=T.current()){if(R.nodeType==3){N.setStart(R,0);N.setEnd(R,0);break}if(c[R.nodeName.toLowerCase()]){N.setStartBefore(R);N.setEndBefore(R);break}Q=R;R=T.next()}if(!R){N.setStart(Q,0);N.setEnd(Q,0)}}else{if(O.nodeName=="BR"){if(O.nextSibling&&i.isBlock(O.nextSibling)){if(!M||M<9){P=i.create("br");O.parentNode.insertBefore(P,O)}N.setStartBefore(O);N.setEndBefore(O)}else{N.setStartAfter(O);N.setEndAfter(O)}}else{N.setStart(O,0);N.setEnd(O,0)}}e.setRng(N);i.remove(P);S=i.getViewPort(f.getWin());U=i.getPos(O).y;if(US.y+S.h){f.getWin().scrollTo(0,U'}return R}function q(Q){var P,O,N;if(z.nodeType==3&&(Q?u>0:u=z.nodeValue.length){if(!b.isIE&&!D()){O=i.create("br");v.insertNode(O);v.setStartAfter(O);v.setEndAfter(O);N=true}}O=i.create("br");v.insertNode(O);if(b.isIE&&t=="PRE"&&(!M||M<8)){O.parentNode.insertBefore(i.doc.createTextNode("\r"),O)}if(!N){v.setStartAfter(O);v.setEndAfter(O)}else{v.setStartBefore(O);v.setEndBefore(O)}e.setRng(v);h.add()}function s(N){do{if(N.nodeType===3){N.nodeValue=N.nodeValue.replace(/^[\r\n]+/,"")}N=N.firstChild}while(N)}function K(P){var N=i.getRoot(),O,Q;O=P;while(O!==N&&i.getContentEditable(O)!=="false"){if(i.getContentEditable(O)==="true"){Q=O}O=O.parentNode}return O!==N?Q:N}function I(O){var N;if(!b.isIE){O.normalize();N=O.lastChild;if(!N||(/^(left|right)$/gi.test(i.getStyle(N,"float",true)))){i.add(O,"br")}}}if(!v.collapsed){f.execCommand("Delete");return}if(A.isDefaultPrevented()){return}z=v.startContainer;u=v.startOffset;x=(d.force_p_newlines?"p":"")||d.forced_root_block;x=x?x.toUpperCase():"";M=i.doc.documentMode;B=A.shiftKey;if(z.nodeType==1&&z.hasChildNodes()){C=u>z.childNodes.length-1;z=z.childNodes[Math.min(u,z.childNodes.length-1)]||z;if(C&&z.nodeType==3){u=z.nodeValue.length}else{u=0}}j=K(z);if(!j){return}h.beforeChange();if(!i.isBlock(j)&&j!=i.getRoot()){if(!x||B){L()}return}if((x&&!B)||(!x&&B)){z=l(z,u)}p=i.getParent(z,i.isBlock);n=p?i.getParent(p.parentNode,i.isBlock):null;t=p?p.nodeName.toUpperCase():"";J=n?n.nodeName.toUpperCase():"";if(J=="LI"&&!A.ctrlKey){p=n;t=J}if(t=="LI"){if(!x&&B){L();return}if(i.isEmpty(p)){if(/^(UL|OL|LI)$/.test(n.parentNode.nodeName)){return false}H();return}}if(t=="PRE"&&d.br_in_pre!==false){if(!B){L();return}}else{if((!x&&!B&&t!="LI")||(x&&B)){L();return}}x=x||"P";if(q()){if(/^(H[1-6]|PRE)$/.test(t)&&J!="HGROUP"){o=r(x)}else{o=r()}if(d.end_container_on_empty_block&&E(n)&&i.isEmpty(p)){o=i.split(n,p)}else{i.insertAfter(o,p)}m(o)}else{if(q(true)){o=p.parentNode.insertBefore(r(),p);F(o)}else{G=v.cloneRange();G.setEndAfter(p);k=G.extractContents();s(k);o=k.firstChild;i.insertAfter(k,p);y(o);I(p);m(o)}}i.setAttrib(o,"id","");h.add()}f.onKeyDown.add(function(k,j){if(j.keyCode==13){if(g(j)!==false){j.preventDefault()}}})}})(tinymce); \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce_popup.js b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce_popup.js new file mode 100755 index 00000000..bb8e58c8 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/classic/share/javascript/tiny_mce/tiny_mce_popup.js @@ -0,0 +1,5 @@ + +// Uncomment and change this document.domain value if you are loading the script cross subdomains +// document.domain = 'moxiecode.com'; + +var tinymce=null,tinyMCEPopup,tinyMCE;tinyMCEPopup={init:function(){var b=this,a,c;a=b.getWin();tinymce=a.tinymce;tinyMCE=a.tinyMCE;b.editor=tinymce.EditorManager.activeEditor;b.params=b.editor.windowManager.params;b.features=b.editor.windowManager.features;b.dom=b.editor.windowManager.createInstance("tinymce.dom.DOMUtils",document,{ownEvents:true,proxy:tinyMCEPopup._eventProxy});b.dom.bind(window,"ready",b._onDOMLoaded,b);if(b.features.popup_css!==false){b.dom.loadCSS(b.features.popup_css||b.editor.settings.popup_css)}b.listeners=[];b.onInit={add:function(e,d){b.listeners.push({func:e,scope:d})}};b.isWindow=!b.getWindowArg("mce_inline");b.id=b.getWindowArg("mce_window_id");b.editor.windowManager.onOpen.dispatch(b.editor.windowManager,window)},getWin:function(){return(!window.frameElement&&window.dialogArguments)||opener||parent||top},getWindowArg:function(c,b){var a=this.params[c];return tinymce.is(a)?a:b},getParam:function(b,a){return this.editor.getParam(b,a)},getLang:function(b,a){return this.editor.getLang(b,a)},execCommand:function(d,c,e,b){b=b||{};b.skip_focus=1;this.restoreSelection();return this.editor.execCommand(d,c,e,b)},resizeToInnerSize:function(){var a=this;setTimeout(function(){var b=a.dom.getViewPort(window);a.editor.windowManager.resizeBy(a.getWindowArg("mce_width")-b.w,a.getWindowArg("mce_height")-b.h,a.id||window)},10)},executeOnLoad:function(s){this.onInit.add(function(){eval(s)})},storeSelection:function(){this.editor.windowManager.bookmark=tinyMCEPopup.editor.selection.getBookmark(1)},restoreSelection:function(){var a=tinyMCEPopup;if(!a.isWindow&&tinymce.isIE){a.editor.selection.moveToBookmark(a.editor.windowManager.bookmark)}},requireLangPack:function(){var b=this,a=b.getWindowArg("plugin_url")||b.getWindowArg("theme_url");if(a&&b.editor.settings.language&&b.features.translate_i18n!==false&&b.editor.settings.language_load!==false){a+="/langs/"+b.editor.settings.language+"_dlg.js";if(!tinymce.ScriptLoader.isDone(a)){document.write(''; + } + + if (__GOOGLEAPI_ENABLED===true && defined('__GOOGLEAPI_CLIENT_ID')) { + echo ''; + echo ''; + echo ''; + } + + if (_OG_ENABLED!==true) return; + if ($page=='portal') { + $_url .= _BASE_URL."/index.php?page=$page&sub=$sub&f=$f&".$OG['getparameter']; + $_img = ($OG['image']!='') ? $OG['image']:_OG_IMAGE; + echo ''."\n"; +// echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + } +} + +function includeCSS($page,$sub,$f,$skin,$media='') { + + echo ''; // minden mediara, colorscheme-re + echo ''; +// echo ''; + + if ($media!='') { + $MEDIA='-'.$media; + $MEDIA_STR = 'media="'.$media.'" '; + } else { + $MEDIA=''; + $MEDIA_STR = 'media="screen,print" '; + } + if (file_exists(($_f="skin/$skin/base/css$MEDIA/base.php")) ) { + echo ''; + echo "\n"; + } elseif (file_exists(($_f="skin/$skin/base/css$MEDIA/base.css")) ) { + echo ''; + echo "\n"; + } elseif ($media=='') { + echo ''; + echo "\n"; + } + if (file_exists(($_f="skin/$skin/module-$page/css$MEDIA/$page.css")) ) { + echo ''; + echo "\n"; + } elseif (file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/css/$page.css")) && $media=='') { + echo ''; + echo "\n"; + } + if ($sub!='') { + if (file_exists(($_f="skin/$skin/module-$page/css$MEDIA/$sub/base.css")) ) { + echo ''; + echo "\n"; + } elseif ( file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/css/$sub/base.css")) && $media=='') { + echo ''; + echo "\n"; + } + if (file_exists(($_f="skin/$skin/module-$page/css$MEDIA/$sub/$f.css")) ) { + echo ''; + echo "\n"; + } elseif ( file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/css/$sub/$f.css")) && $media=='') { + echo ''; + echo "\n"; + } + } else { + if (file_exists(($_f="skin/$skin/module-$page/css$MEDIA/$f.css")) ) { + echo ''; + echo "\n"; + } elseif ( file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/css/$f.css")) && $media=='') { + echo ''; + echo "\n"; + } + } + + + global $VALID_MODULES; + for($i=0; $i'."\n"; + } elseif (file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$mod/css$MEDIA/$mod.css")) ) { + echo ''."\n"; + } + } + } + + + +} + +function includeJS($page,$sub,$f,$skin) { + $js = '.'._JSLIB.'.js'; +// echo ''."\n"; + echo ''."\n"; +// echo ''."\n"; +// echo ''."\n"; + + if (_ENABLE_IFRAME_EMBEDDING !== true) + echo ''; + + if (file_exists(($_f="skin/$skin/base/javascript/base".$js)) ) { + echo ''."\n"; + } elseif (file_exists(($_f='skin/'._DEFAULT_SKIN.'/base/javascript/base'.$js)) ) { + echo ''."\n"; + } + + if ( file_exists(($_f="skin/$skin/module-$page/javascript/$page".$js)) ) { + echo ''."\n"; + } elseif (file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/javascript/$page".$js)) ) { + echo ''."\n"; + } + if ($sub!='') { + if ( file_exists(($_f="skin/$skin/module-$page/javascript/$sub/$f".$js)) ) { + echo ''."\n"; + } elseif ( file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/javascript/$sub/$f".$js)) ) { + echo ''."\n"; + } + } elseif ($f != $page) { + if ( file_exists(($_f="skin/$skin/module-$page/javascript/$f".$js)) ) { + echo ''."\n"; + } elseif ( file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$page/javascript/$f".$js)) ) { + echo ''."\n"; + } + } + if (__RICH_TEXT_EDITOR===true && $f == 'egyhir') { + // Koschtit Image Gallery + if ($page == 'portal') { + //require_once('skin/classic/share/javascript/koschtit/ki_include.php'); + echo ''; + } + echo ' + + '; + } + + // if (file_exists(($_f="skin/$skin/base/javascript/jstorage.min.js")) ) { + // echo ''."\n"; + // } + // if (file_exists(($_f="skin/$skin/base/javascript/json2.min.js")) ) { + // echo ''."\n"; + // } + + // becsatoljuk a többi modul main .js filejait is + global $VALID_MODULES; + for($i=0; $i'."\n"; + } elseif (file_exists(($_f="skin/"._DEFAULT_SKIN."/module-$mod/javascript/$mod".$js)) ) { + echo ''."\n"; + } + } + } +} + +// ------------------------------------------------------------------- +// ajaxUpdaterForm +// ------------------------------------------------------------------- + + +function ajaxUpdaterForm($id, $url, $params, $method, $forEcho=false) { + global $skin; + + $t = '
'."\n"; + if ($_SESSION['mayorToken']!='') $t .= ''; + foreach ($params as $name => $value) $t .= ''."\n"; + $t .= '
'; + if ($forEcho) return $t; + else echo $t; + +} + +/* + + + + %attrs : id, class + +*/ + + /* For XSRF hardening */ + function formBegin($SET=array('method'=>'post','action'=>''),$SET2=array('print'=>true, 'skipFormTag'=>false)) { + + global $skin; + if ($skin != 'ajax') { + /* Default */ + if ($SET['method']=='') $SET['method'] = 'post'; + + foreach (array('method','action') as $key) { /* Kötelező paraméterek */ + $formParams .= $key.'="'.$SET[$key].'" '; + } + foreach (array('id','class','name','onsubmit', 'enctype','target','style') as $key) { /* Lehetséges megengedett argumentumok */ + if ($SET[$key]!='') $formParams .= $key.'="'.$SET[$key].'" '; + } + $str = ''."\n"; + if ('skipFormTag' !== true) $str .= '
'; + } + $str .= ''; + if ($_SESSION['mayorToken']!='') $str .= ''; + + if ($SET2['print']===true) echo $str; else return $str; + + } + + function formEnd($SET2=array('print'=>true)) { + global $skin; + if ($skin != 'ajax') { + $str = '
'; + $str .= ''; + } + if ($SET2['print']===true) echo $str; else return $str; + } + + + +// --------------- + + + + + + + +// ------------------------------------------------------------------- +// debug_layer() : debug üzenetek kiiratása +// ------------------------------------------------------------------- + + function _debugLayer() { + global $_DEBUG; + echo ''."\n".''."\n".''; + echo ''; + } + + function _keyHelp() { + $keys = array( + array('Shift-L','Login/Logout - Belépés/Kilépés'), + array('Shift-F','Find - Keresés a menüben'), + array('Shift-S','Settings - Beállítások'), + array('Shift-D','Debug - Nyomkövetési üzenetek megjelnítése/elrejtése'), + array('Ctrl-Shift-V','Vakbarát nézet'), + array('F1','Help - Súgó'), + ); + echo ''; + echo ''; + foreach ($keys as $keyAdat) { + echo ''; + } + echo ''; + } + + function _searchLayer() { + echo ''; + } + + + function _httpheader() { + @header("Last-Modified: Mon, 20 Oct 2003 01:01:01 GMT"); + @header("Cache-Control: no-store, no-cache, must-revalidate"); + @header("Cache-Control: post-check=0, pre-check=0", false); + @header("Pragma: no-cache"); + } + function _updateWindow() { + echo ''; + echo ''; + } + + function _svgClose($SET=array('size'=>24,'print'=>true)) { + $size = isset($SET['size'])?$SET['size']:24; //128 volt eredetileg + $print = isset($SET['print'])?$SET['print']:true; + + $str .= '
'; + + $str .= ' +x + + + +'; + + $str .= '
'; + $str .= '
'; + + if ($print===true) echo $str; else return $str; + } + + function _svgLoginout($SET=array('print'=>true, 'color'=>'#00c0ff')) { + return false; +/* global $page; + if (//_POLICY=='public' + defined('_USERACCOUNT') && (!is_string(_USERACCOUNT) || _USERACCOUNT=='')) { + if($page=='auth') $_bg = 'rgb(247, 197, 14)'; + elseif (isset($SET['color'])) $_bg = $SET['color']; + else $_bg = '#00c0ff'; + $img .= ''; + } else { + //$_bg = '#Ff0066'; // (piros) #3496b9 + //$_bg = 'rgb(52, 150, 185)'; + $img .= ''; + } + if ($print===true) echo $img; else return $img; +*/ + } + + function _svgDown($SET=array('print'=>true, 'color' => '#3496b9')) { + + return ''; + + } + + function _inlineHelp($txt) { + echo '
'; + //echo '?'; + echo ''; + echo ''; + echo '
'; + } + + function mayorGlobalLogin($loggedIn=false) { + global $AUTH; + if (is_array($AUTH['private']['allowOnly'])) $_class='class="restricted"'; else $_class = ''; + + echo '
'; + if ($loggedIn) { + if (defined('_MAYORAUTHRESULT') && defined('_AUTH_FAILURE') && intval(_MAYORAUTHRESULT)>=intval(_AUTH_FAILURE)) { + $_class=' failed'; + //$_focus = ' id="focus" '; // ha azt akarjuk, hogy focus-t is kapjon... + } + $secure_url = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; + echo '
'; + formBegin(array('class'=>'check passwordAuth','action'=>$secure_url)); + echo ''; + echo ''; + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + formEnd(); + echo '
'; + if (__GOOGLEAPI_ENABLED===true) { + formBegin(array('class'=>'googleapi','action'=>$secure_url)); + echo ''; + echo ''; + formEnd(); + } + echo ''; + if (__FBCONNECT_ENABLED===true) { + formBegin(array('class'=>'fb','action'=>$secure_url)); + echo ''; + echo ''; + //echo ''; + formEnd(); + } + echo '
'; + } else { + if ($_SESSION['mayorapiauth']===true) { + echo ''; + } + echo '
'; + } + echo '
'; + + } + + function _updateWindowSide() { + echo '
'; + echo '

'; + echo '
'; + echo '
'; + echo '
'."\n"; + + echo '
'; + echo '

'; + echo '
'; + echo '
'; + echo '
'."\n"; + } + +function mayorLogoSvg($colors=array()) { + + if ($colors['dot'] =='') $colors['dot'] = '#ff0066'; + if ($colors['startColor'] =='') $colors['startColor'] = '#00c0ff'; + if ($colors['stopColor'] =='') $colors['stopColor'] = '#8800aa'; + +echo ' + + + + + + + + + image/svg+xml + + background + + + + Layer 1 + + + + + + + + + + +'; +} + +?> \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/gray/base/css/base.css b/mayor-orig/mayor-base/www/skin/gray/base/css/base.css new file mode 100644 index 00000000..2f645201 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/gray/base/css/base.css @@ -0,0 +1,678 @@ +@media screen { + + html { + height: 100%; + -webkit-filter: grayscale(100%); + -moz-filter: grayscale(100%); + filter: grayscale(100%); +/* this breaks firefox */ + } + html body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin:0px; padding:0px; height: 100%; overflow: auto; } + a { text-decoration:none; } + .onClickHideShow, .onClickHide, .onClickShow { cursor: pointer; } + + /* mayorlayers */ + #debug { + padding: 20px; background: rgba(0,0,0,0.7); color: yellow; border: 0px red solid; + position: absolute; z-index: 1000; top: 0px; left: 0px; right: 0px; + } + #debug pre { background: rgba(240,240,240,0.9); color: #880000; padding: 10px; margin: 0px;} + + #help { + border-radius: 2px; + box-shadow: 3px 3px 15px 0px rgba(100,100,100,5.0); + position: absolute; top: 10px; left: 50%; height: 600px; width: 1000px; z-index: 500; margin: 0 -500px; + border: 1px solid #888888; background: white; } + #help iframe { width: 1000px; height: 558px; margin: 0; border: none; } + #helpHeader { text-align: center; font-size: 16px; width: 992px; height: 20px; margin: 0px; background: #44cbf8; cursor: pointer; color: white; font-weight: bold; padding: 4px; + border-bottom: #f3f3f3 solid 4px; + } + #hideHelp { + position: absolute; top:4px; right: 4px; + cursor: pointer; background: #822; color: white; padding: 2px 5px; font-size: 12px; + border: #822 1px solid; border-radius: 2px; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); +/* box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25);*/ + } + #hideHelp:hover { background-color:red;} + + div.errorMsg { margin: 10px 20%; background: #fee; border: solid 1px red; border-radius: 2px; padding: 10px; box-shadow: 0px 0px 0px rgba(0,0,0,0.5); } + div.errorMsg span { font-weight: bold; color: #f00; } + div.infoMsg { margin: 10px 20%; background-color: #eee; border: solid 1px rgb(90,133,184); border-radius: 2px; padding: 10px; box-shadow: 0px 0px 0px rgba(0,0,0,0.5); } + div.infoMsg span { font-weight: bold; color: rgb(21,71,123); } + div.errorMsg span.alertParam, div.infoMsg span.alertParam { font-weight: normal; color: rgba(0,0,0,0.8); } + + div#mayorErrorSmall span { padding:4px 4px;} + div#mayorErrorSmall span.errorMsg { color:red; } + div#mayorErrorSmall span.infoMsg { color:rgb(21,71,123); } + + #mayorSearch { + z-index:4; + position: fixed; + width: 500px; + max-height: 500px; overflow:auto; + padding: 10px; + border: 5px solid #ccc; + border-radius: 2px; + background-color: #fff; + top: 30%; + left: 50%; + margin-top: -100px; + margin-left: -250px; + box-shadow: 0px 1px 100px 30px rgba(101,101,101,0.9); + } + #mayorSearch input { + font-size:30px; + width:99%; + height:50px; + padding:0px 0px 0px 0px; + margin:0px; + border: solid 1px #dddddd; + } + + #mayorSearch a { display: block; color: cornflowerblue; padding: 2px; } + #mayorSearch a:before { content:' \25AB '; } + #mayorSearch a:hover { text-decoration: underline; } + #mayorSearch a.aktiv { outline: solid 2px cornflower; } + #mayorSearch a.aktiv:before, #mayorSearch a:hover:before { content:' \25AA '; } + + div.inlinehelp { position: relative; display: inline-block; color:#446688; } +/* div.inlinehelp span.onClickHideShow { padding: 1px 6px; border-radius: 14px; border: #68a solid 1px; color: #468; font-weight: bold; font-size: 10px;}*/ + div.inlinehelp span.onClickHideShow { font-size: 10px; color: #446688;} + div.inlinehelp p { + width: 200px; position: absolute; display: inline-block; top: -15px; left: 35px; z-index: 1000; + background-color: #ffa; + border: solid 1px #888; padding: 4px; border-radius: 2px; + font-weight: normal; text-align: left; white-space: pre-wrap; + } + div.inlinehelp span.onClickHideShow:hover { color: rgb(106,128,250); } + + /* mayorhead */ + /* placeholder */ + #head { z-index: 2; position: absolute; width: 100%; height: 60px; + background-color: #3496B9; + } + + #mayorhead { } + + #logo { z-index: 3; height: 40px; position: absolute; top: 8px; left: 14px; border: 0px none; } + #logobadge { z-index: 4; height: 25px; position: fixed; top: 28px; left: 90px; border: 0px none; } + + #nav, #nav ul { list-style: none; } + #nav { z-index: 3; margin: 0px; + padding-left: 140px; + } + + #nav li { position: relative; } + #nav > li { float: left; z-index: 20; text-align: center; padding: 0; +/* background-color: #3fa79c; */ + background-color: #3496B9; + border-bottom: 0px solid #D2DFE9; + /* border-bottom: 1px solid rgb(165,190,200);/* */ + } + #nav > li.active { max-width: 160px; } + #nav > li:hover { z-index: 22; } + #nav > li > ul { top: 50px; left: -1px; /* background: #1A4B5C; */} + #nav > li > ul > li > a { margin-left: 10px; } + + #nav li:hover { background: #4fbcd7; + background-color: #3FA79C; + } + #nav li.active { background: #3facc7; } + + #nav li a { display: block; padding: 3px 10px; color: white; } + #nav > li > a { padding: 0px 20px; line-height: 60px; vertical-align: middle; display: table-cell; min-width: 70px; + -webkit-transition: all 0.1s ease; + transition: all 0.1s ease; + } + #nav li a:hover { color: orange; } + #nav li:hover > ul { display: block; } + + #nav li.nav1szin { background: #3496B9; border-bottom: 1px solid white; } + #nav ul.sub { background: #3facc7; } + + #nav ul { display: none; position: absolute; width: 160px; padding: 0px; } + #nav ul span { float: left; margin: 6px 5px; color: white; } + + #nav > li > ul { top: 60px; border-top: solid 4px rgba(255,255,255,0.4); } + #nav ul > li { background: #3496B9; } + #nav ul li { text-align: left; margin-bottom: 1px; } + #nav ul li a { padding: 6px 10px; } + #nav ul li.active > a { color:#fdb933; } + + #nav ul ul { top: 0px; left: -145px; z-index: 30; background: #3facc7; background: #3496B9} + #nav ul ul a { background: #3facc7; } + #nav ul ul a:hover { background: #4fbcd7; color: white; border-right: solid 4px orange;} /* mod */ + + #nav li.start { /* fogó */ + height: 20px; min-width: 0; padding-right: 0px; padding-left: 6px; + margin-top:20px; + background-color:lightgrey; + border-radius: 0px 50px 50px 0px; border-bottom: 0px; + z-index: 20; + } + + #nav:hover li.start { + animation: moIn 0.1s; -webkit-animation: moIn 0.1s; + } + + #nav li.start:hover { + background: #D2DFE9; + padding-left:9px; + } + + #poz { z-index: 2; padding: 0; list-style: none; background-color: rgb(230,230,230); margin: 0; + height: 20px; border-bottom: #f3f3f3 solid 4px; text-shadow: 0px 1px rgba(52, 150, 185, 0.1); + border-top: rgb(247, 197, 14) solid 4px; + animation-name: niceMaYoR; + animation-duration: 30s; + animation-iteration-count: 4; + animation-direction: alternate; + animation-timing-function: ease-in-out; + animation-delay: 60s; + } + + #poz > li { padding: 2px 6px; } + #poz > li div.nev { float: right; padding: 2px; width: auto; color: #3496b9; text-align: right; } + #poz > li div.nev span { color:rgb(70, 130, 180); margin-right: 0px; } + #poz > li div.nev span:hover { color:#00c0ff; } + #poz > li div.nev a { color: #3496b9;} + + #poz > li a { margin-right:4px; margin-left:4px; padding:0px; margin-top:0px; vertical-align: top;} + + #settings { + width: 100%; + margin-top: 5px; position:relative; right: 0px; + background: #eeeeee; + border-width: 0px 1px 1px 1px; + border-style: solid; + border-color: rgb(230,230,230); + border-top: dotted 1px #dddddd; + } + #settings div { + padding: 20px 10px; + border-bottom: 1px solid rgb(230,230,230); + } + #settings div p { margin: 0; padding: 0; text-align: center; } + #settings div p.name { font-weight: bold; } + #settings table { width: 100%; background: rgb(245,245,245);} + #settings table:hover { box-shadow: 0px 0px 100px #eeeeee;} + #settings td { width: 50%; text-align: center; padding: 10px; } + #settings td a { + display: inline-block; + vertical-align: baseline; line-height: 29px; + position: static; + padding: 0px 8px; height: 29px; margin: 0px 8px; + text-align: center; text-decoration: none; font-weight: bold; font-size: 10px; + background: white; color: #444; + border: solid 1px rgba(0, 0, 0, 0.0976563); + border-radius: 2px; + } + #settings td a:hover { border: white 1px solid; background-color: #44CBF8; color: white; } + + #poz > li span.school { + font-variant: small-caps; + font-size: 14px; + color: rgb(125,150,160); + /* font-weight: bold; */ + letter-spacing: 0.32em; + overflow: hidden; + white-space:nowrap; + } + #poz > li span.school:hover { text-shadow: 0 0 0.2em #eee, 0 0 0.2em #eee } + + #nav1 { z-index: 3; position: absolute; margin-left: 290px; margin-right: 0px; width: 100%; + + } + #nav1 div { background: rgba(52,150,185,0.6); } + #nav1 div a { line-height:60px; padding: 0px 12px 0px 12px; display: inline-block; text-decoration: none; color: #fff; + background: #3496b9; margin-top: 0px; + } + #nav1 div a:hover { color: #fdb933; + background-color: ; + box-shadow: inset 0px -3px 0px #44CBF8; + } + #nav1 div a.aktiv { color:#fdb933; } + #nav1 div a.aktiv:hover { color: white; } + + #nav1 div span.onClickHideShow { + display:none; + cursor: pointer; color: white; background: rgba(255,255,255,0.2); line-height:60px; + padding: 0px 12px 0px 12px; float: right; margin-right: 290px/* annyi, amennyi a #nav1 bal margója!*/; } + + #nav2.vertical { + z-index: 1; width: 140px; margin: 0; height: 100%; + background-color: #D2DFE9; +/* margin-top: -25px; + padding-top: 25px; +*/ position: fixed; + overflow: auto; + top:88px; + background: -webkit-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: -moz-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + } + #nav2.vertical ul { margin: 0; padding: 0; list-style: none; } + #nav2.vertical ul li { border-bottom: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li:first-child { border-top: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li a { display: block; color: black; font-size: 11px; text-decoration: none; padding: 6px 6px; width:128px; } + #nav2.vertical ul li a.aktiv { background-color: white; } + #nav2.vertical ul li a:hover { color: white; background: #9abcd8; } + + #nav2.horizontal { + z-index: 1; width: 100%; + margin-top: 0px; + top: 88px; + text-align: center; + padding-top: 5px; padding-bottom: 5px; + position: fixed; + overflow: none; + border-bottom: solid 3px #eeeeee; + background-color: #82bfd5; + color: white; + font-size:x-small; + } + #nav2.horizontal ul { margin: 0; padding: 0; list-style: none; } + #nav2.horizontal ul li { display: inline; border-right: solid 1px #888888; } + #nav2.horizontal ul li:last-child { display: inline; border-right: solid 0px #888888; } + #nav2.horizontal ul li a {display: inline; color: white; width: 128px; padding: 0px 6px; text-decoration: none; } + #nav2.horizontal ul li a.aktiv { color: white; background-color: orange;} + #nav2.horizontal ul li a:hover { color: white; background: orange; } + #nav2.horizontal:hover li { } + + div.mayorfoot { text-align: center; font-size:smaller; color: #aaa; } + div.mayorfoot a { color: rgba(52, 150, 185, 0.6);} + div.mayorfoot:hover a { color: rgba(52, 150, 185, 1);} + #mayorfoot.leftpad { margin-top:2em; margin-left: 141px; } + #mayorfoot.toppad { margin-top: 40px; margin-left: 0px; } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + + #updateWindow { z-index: 152; position: fixed; background: rgb(255,255,255); min-height: 100px; min-width: 200px; border: #3496B9 2px solid; border-radius: 4px; left:20%; right:20%;} +/* #updateWindow #updateHeader { min-height: 20px; min-width: 100px; background: #1a4c5c; color: white; text-align: center; line-height: 20px; position: relative; top: -13px; border-radius: 4px; margin: 0 50px; border: solid 2px #3496b9; }*/ + #updateWindow #updateHeader { min-height: 30px; min-width: 100px; background: #1a4c5c; color: white; + font-size:16px;text-align: center; line-height:30px; margin: 0 0px 10px 0px; border-bottom: solid 2px rgb(247, 197, 14); /*#3496b9*/ } + #updateWindow #updateCloseButton { position: absolute; right: -20px; top: -20px; z-index: 0; background : white; border: solid 3px #3496b9; border-radius: 20px;} + #updateWindow #updateCloseButton:hover { background : #eeeeee;} + #updateHeader { cursor: pointer; } + #updateForm { max-height: 100%; overflow: auto; } + + + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 400px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; width: 100px; } + #keyHelp td.desc { color: white; text-align: left; } + + #logo, #head, #nav1, #nav, #poz { position: fixed; } + #head { top: 0; left: 0; } + #nav { top: 0; left: 0; } + #nav1 { top: 0; } + #poz { top: 60px; width: 100%; } + + #mayorbody { padding-top: 1px; padding-right: 0px; + /*margin-left:0px;*/ margin-top: 88px; + } + #mayorbody.leftpad { margin-left: 141px; } + #mayorbody.toppad { margin-left: 0px; top:33px; position: relative;} + + /* alternates */ + #mayorhead.small #nav1 div a { line-height:30px; } + #mayorhead.small #nav > li > a { line-height:30px;} + #mayorhead.small #head { height:30px;} + #mayorhead.small #poz { height:20px;} + + /* ------------ */ +/* #mayorerror {z-index:100;position:fixed; bottom:0px; min-height:88px; width:100%;background-color: rgba(255,20,147,0.9); border-bottom: solid 1px red; display:none;}*/ + + #nav2 .icons span { padding: 0px 6px; vertical-align:middle; cursor:pointer} + #nav2.vertical .icons { height:26px; color: lightslategrey;} + #nav2.vertical .icons span { font-size:11px; display:table-cell; padding-top:8px;} + #nav2.vertical .icons span:hover {color:white;} + + #nav2.horizontal .icons {display:inline; float:left; padding-top:3px; height:100%;} + #nav2.horizontal .icons span { font-size:11px; display:inline; padding-top:0px; color: white; border: dotted 1px lightblue; padding:3px; margin:0px 2px; background-color: rgba(100,100,100,0.1);} + #nav2.horizontal .icons span:hover {color:orange;} + + #nav2 ul li.fullmenuitem { display:none } + + #nav2fullmenu.aktiv { color: rgb(30, 144, 255);} + #nav2fullmenu.aktiv:hover { color: rgb(60,174,255) !important;} + + #mayorGlobalLogin { + /*background-color: rgba(0, 0, 0, 0.6); */ + padding:0px 0px 0px 0px; z-index: 100; position:fixed; top:0px; right:0px; height:60px;} + #mayorGlobalLogin span { color:#eeeeee; padding-right:2px; } + #mayorGlobalLogin span.failed { color: rgb(255,215,0);; text-shadow: 0px 0px 2px #ff0000;} + #mayorGlobalLogin:hover span.failed { color: rgb(255,235,0); } + #mayorGlobalLogin:hover span { color:white; } + #mayorGlobalLogin div.large { font-size:40px; padding:10px; color: #eeeeee;} + #mayorGlobalLogin div.large:hover { font-size:40px; padding:10px; color: white; } + + #mayorGlobalLogin input[type=text] { width:100px; } + #mayorGlobalLogin input[type=password] { width:100px; } + + /* add default */ + #mayorGlobalLogin form input {margin:2px;} + #mayorGlobalLogin table { height:60px;} + #mglFBconnect.FBstatusunknown { /*color: #aaa;*/ } + #mglFBconnect:after { content: " "; + margin-left:4px;display: inline-block;width:8px; + height:8px;border-radius: 8px;border: solid 1px white; background-color:#888; + } + #mglFBconnect:hover:after {animation: sheen 1s forwards;} + #mglFBconnect.FB2:after {background-color:lightgreen;} + #mglFBconnect.FB1:after {background-color:orange;} + #mglFBconnect.FB0:after {background-color:red;} + + #mayorErrorHide {color: rgb(90, 133, 184); cursor:pointer;} + #mayorErrorHide:hover {color: rgba(52, 150, 185, 0.6);} + + .hidden { display:none } + + #ui-datepicker-div {position: relative; z-index:4 !important;} + + #mayorErrorSmall.mayorErrorSmallInfo { + overflow:hidden; + line-height:22px; + border-bottom: solid 4px rgb(106,128,250); + border-top: solid 4px lightblue; + padding:0px; height:20px; width:100%; + background-color:rgba(250,250,250,0.9); position:fixed; + top:60px;left:0px; z-index:3 + } + + #mayorErrorSmall.mayorErrorSmallError { + overflow:hidden; + line-height:22px; + border-bottom: solid 4px red; + border-top: solid 4px orange; + padding:0px; height:20px; width:100%; + background-color:rgba(250,250,250,0.9); position:fixed; + top:60px;left:0px; z-index:3 + } + + +/* .nyitva2 { width:390px !important; }*/ + + #updateWindowSide { + z-index: 152; + position: fixed; +/* background-color: rgba(73, 71, 71,0.92); +*/ border-left: solid 0px black; + padding:4px; + color:white; + right: -368px; + width: 360px; + top:60px; + bottom:0; + overflow-y: auto; + border-top : solid 4px grey; + transition: all 300ms ease; + display:none; + } + #updateWindowSide.nyitva { right:0px; + background-color: rgba(73, 71, 71,0.92); + display:block; + } + #updateWindowSide h1 { padding: 4px 8px; margin:0px; text-align:center; border-bottom: solid 1px #dddddd; } + #updateWindowSide h1 div { font-size:16px; min-height: 20px; } + #updateWindowSide h1 span#btn_updateWindowSideClose { float:left; font-size:18px; cursor: pointer; } + #updateWindowSide h1 span#btn_updateWindowSideClose:hover { color: #777777; } + #updateWindowSide a {color: inherit; } + #updateWindowSide a:hover {color: inherit; } + + #updateWindowSideSub { + z-index: 153; + position: fixed; +/* background-color: rgba(100, 100, 100,0.92); +*/ border-left: solid 0px black; + padding:4px; + color:white; + right: -328px; + width: 320px; + top:60px; + bottom:0; + overflow-y: auto; + border-top : solid 4px #eee; + transition: all 300ms ease; + display:none; + } + #updateWindowSideSub.nyitva { right:0px; + background-color: rgba(100, 100, 100,0.92); + display:block; + } + #updateWindowSideSub h1 { padding: 4px 8px; margin:0px; text-align:center; border-bottom: solid 1px #dddddd; } + #updateWindowSideSub h1 div { font-size:16px; min-height: 20px; } + #updateWindowSideSub h1 span#btn_updateWindowSideSubClose { float:left; font-size:18px; cursor: pointer; } + #updateWindowSideSub h1 span#btn_updateWindowSideSubClose:hover { color: #777777; } + #updateWindowSideSub a {color: inherit; } + #updateWindowSideSub a:hover {color: inherit; } + + #mayorNaviIconHolder { text-align:center; display:table; width:100%; border-bottom: solid 1px white;} + div.mayorNaviIcon { display:inline-block; text-align:center; padding: 10px 5px 5px 5px; margin-right:4px; border-width:0px 0px 0px 0px; border-style: solid; border-color:white;} + div.mayorNaviIcon a { color:inherit; text-decoration: none; display:inline-block;} + div.mayorNaviIcon span { font-size:16px; } + div.mayorNaviIcon:hover { background-color: cornflowerblue; cursor:pointer; text-shadow: 0px 0px 1px blue;} + + #nav, #nav1,#nav2 {display:visible;} + #mayorIcons { height: 26px; color: #789; } + #hamburgerIcon { +display:none; +color:#D2DFE9; font-size:20px;z-index:100000; +margin-left:0px; +position:fixed; +top:0px; +padding:0px 8px; +cursor: pointer; +vertical-align: middle; +border-radius:1px; +border: solid 0px #eee; + } + #hamburgerIcon span { line-height:60px; } + #hamburgerIcon:active {color:white;} + #hamburgerIcon.nyitva { + color:white; + } + + .hamburger { display:none; + position:fixed; z-index:1000; top:0px; left:0px; + padding: 15px 15px; + cursor: pointer; + transition-property: opacity, -webkit-filter; + transition-property: opacity, filter; + transition-property: opacity, filter, -webkit-filter; + transition-duration: 0.15s; + transition-timing-function: linear; + font: inherit; + color: inherit; + text-transform: none; + background-color: transparent; + border: 0; + margin: 0; + overflow: visible; + } + + /* author Jonathan Suh jonsuh + mayor.hu */ + /* https://github.com/jonsuh/hamburgers */ + .hamburger:hover { opacity: 0.7; } + .hamburger-box {width: 20px;height: 30px;display: inline-block;position: relative;} + .hamburger-inner {display: block;top: 50%;margin-top: -2px;} + .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { + width: 20px;height: 3px; + background-color: #eee; + border-radius: 2px;position: absolute; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + transition-duration: 0.15s; + transition-timing-function: ease; + } + .hamburger-inner::before, .hamburger-inner::after {content: "";display: block;} + .hamburger-inner::before { top: -7px; } + .hamburger-inner::after { bottom: -7px; } + + /* Squeeze */ + .hamburger--squeeze .hamburger-inner { + transition-duration: 0.1s; + transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + .hamburger--squeeze .hamburger-inner::before { transition: top 0.1s 0.14s ease, opacity 0.1s ease;} + .hamburger--squeeze .hamburger-inner::after { + transition: bottom 0.1s 0.14s ease, -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); + } + .hamburger--squeeze.is-active .hamburger-inner { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + transition-delay: 0.14s; + transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); + } + .hamburger--squeeze.is-active .hamburger-inner::before {top: 0;opacity: 0;transition: top 0.1s ease, opacity 0.1s 0.14s ease;} + + .hamburger--squeeze.is-active .hamburger-inner::after { + bottom: 0; + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + transition: bottom 0.1s ease, -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); + } + /* end of hamburger */ + + #mayorNav { + width:100%; + position:absolute; + z-index:1; + background-color:#82bfd5; + opacity:1; + padding-bottom:1em; + border-bottom: solid 4px #F7C50E; + } + + #mayorNav a { color:#eee; } + #mayorNav a:hover { color:white; } + #mayorNav ul {list-style-type: none; } + #mayorNav>ul>li { margin-bottom:1.4em; font-size:14px;} + #mayorNav>ul>li>a { font-size:large; border-bottom: solid 1px #eee; } + #mayorNav>ul>li>a:first-child { line-height:2em;} + #mayorNav ul li a:active { background-color: #303F9F;} + #mayorNav ul li {line-height:1.5em;} + #mayorNav div.mayorNavIcons div { background-color: orange; display:table-cell; text-align:center; padding:4px; } + #mayorNav div.mayorNavIcons div span { font-size:x-large;} + div.mayorLogo a img { + -webkit-transition: margin 1s; + transition: margin 1s; + } + + div.arckep--container {position: relative;overflow: hidden;border-radius: 50%;border: solid 2px #fff; color: white;} + div.arckep--container img {width: 100%; height: auto; filter: grayscale(100%)}; + div.arckep--container:hover { border: solid 2px orange; } + div.arckep--container img:hover { filter: grayscale(10%)}; + + div.arckepContainer {position: relative;overflow: hidden;border-radius: 50%;border: solid 2px #fff; color: white;} + div.arckepContainer span { + border-radius: 50%;border: solid 2px #fff; color: white; + height:50px; min-height:50px; width:50px; min-width:50px; background-color: #ddd; + font-size:20px; + display: flex; + justify-content: center; + align-items: center; + } + div.arckepContainer.osztalyAdat:hover span { background-color: #8cc864; } + div.arckepContainer.diakNev:hover span { background-color: #ff8c00; } + div.arckepContainer.tankorAdat:hover span { background-color: #aca; } + + div.arckepContainer.size_s {height:32px;width:32px;min-height:32px;min-width:32px;font-size:15px;} + div.arckepContainer.size_s span {height:30px;width:30px;min-height:30px;min-width:30px;font-size:13px;} + + div._dotHolder {text-align:center; width:90%; margin:auto; padding:10px 0px;vertical-align:middle;} + div._dot {background-color:#eee;display: inline-block;border-radius: 50%;height:10px; width:10px;} + div._dot:hover {background-color:cornflowerblue !important;} + div._dotHolder:hover div._dot {background-color:#ccc;} + +} +@media print { + #nav, #nav1, #nav2, #poz, #head, #logo, #mayorfoot, #logobadge, #mayorGlobalLogin, #updateWindowSide, #updateWindowSideSub, #mayorErrorSmall, .noprint { display: none; } + div.arckep--container {display: none;} + div.arckepContainer {display: none;} +} + +@media (max-width: 900px) { + #nav>li a {padding:0px 8px;} +} +@media (max-width: 850px) { + #nav>li a {width:70px; padding:0px 4px;} +} +@media (max-width: 764px) { + .school { display: none; } + #nav, #nav1 { display: none;} + #nav2>ul:not(:first-child) {display:none;} + #mayorbody { margin-left:0px;} + #hamburgerIcon {display:block;} + div.mayorLogo a img { margin-left:40px; } + + #mayorSearch { + z-index:4; + position: fixed; + width: 95%; + padding: 0px; + border: 5px solid #ccc; + border-radius: 2px; + background-color: #fff; + top: 120px; + left: 0px; + margin-top: 0px; + margin-left: 0px; + box-shadow: 0px 1px 100px 10px rgba(101,101,101,0.9); + } + + .hamburger { display: inline-block;} + div.arckepContainer {display:none;} + div.arckep--container {display:none;} + +} + +@keyframes niceMaYoR { + 0% { border-top: rgb(247,197,14) solid 4px; } + 100% { border-top: rgb(147,197,214) solid 4px; } +} + +@keyframes moIn {from {padding-left:6px;}to {padding-left:9px;}} +@-webkit-keyframes moIn {from {padding-left:6px;}to {padding-left:9px;}} +@keyframes moOut {from {padding-left:9px;}to {padding-left:6px;}} +@-webkit-keyframes moOut {from {padding-left:9px;}to {padding-left:6px;}} + +.mayorLoader { + background: linear-gradient(270deg, #E6E6E6, #E6E6E6, #7D96A0, #E6E6E6, #E6E6E6); + background-size: 400% 400%; + -webkit-animation: mayorLoaderAnim 4s ease infinite; + -moz-animation: mayorLoaderAnim 4s ease infinite; + -o-animation: mayorLoaderAnim 4s ease infinite; + animation: mayorLoaderAnim 4s ease infinite; +} + +@-webkit-keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} +@-moz-keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} +@-o-keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} +@keyframes mayorLoaderAnim { + 0%{background-position:0% 50%} + 50%{background-position:100% 50%} + 100%{background-position:0% 50%} +} + + + diff --git a/mayor-orig/mayor-base/www/skin/oldschool/base/css/base.css b/mayor-orig/mayor-base/www/skin/oldschool/base/css/base.css new file mode 100644 index 00000000..39c25726 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/oldschool/base/css/base.css @@ -0,0 +1,86 @@ +/* + Module: base +*/ +@import "head.css"; +@media screen { + + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + margin:0px; + padding:0px; + background-color: white; + background-image: url("/skin/classic/base/img/gradient.jpg"); + background-repeat: repeat-x; + } + + /* set default layout! */ + table { font-size: 12px; } + + form { margin: 0px; } + + div#mayorerror { } + + div.mayorbody { + + padding: 0px; + + } + + div.mayorfoot { + text-align: center; + font-size: 10px; + width:100%; + } +/* - Alert - */ + + form.mayorAlert { margin: 0px; padding: 0px; } + form.mayorAlert input { display: none; } + div.errorMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #ff0000; + padding: 15px; + } + div.errorMsg span { + font-style: italic; + } + + div.infoMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #0000ff; + padding: 15px; + } + div.infoMsg span { + font-style: italic; + } + + span.alertParam { + color: green; + } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow {background-color: white; position: absolute;z-index:200;margin:auto auto; width:400px; border: solid 1px black;} + #updateHeader {background-color: #eeeeee; border-bottom: solid 1px black; text-align: center; font-weight: large;padding:4px 2px;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 300px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; } + #keyHelp td.desc { color: white; text-align: left; } + +} +@media print { + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + } + div.mayorfoot { + text-align: center; + font-size: 10px; + margin: 5px; + } + div.namepolicy { display: none; } + table.mayorhead { display: none; } +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/oldschool/base/css/head.css b/mayor-orig/mayor-base/www/skin/oldschool/base/css/head.css new file mode 100644 index 00000000..e6303c3f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/oldschool/base/css/head.css @@ -0,0 +1,149 @@ +/* + Module: base +*/ +@media screen { + + div.namepolicy { + background-color:#ced89c; + border-style: none none solid none; + border-width: 1px; + border-color: #666666; + } + div.namepolicy table { font-size: 10px; width:100%; } + div.namepolicy table td { width:40%; } + div.namepolicy table td.right { text-align: right; } + div.namepolicy table td.left { text-align: left;} + div.namepolicy table td.help a { background-color:#aeb86c; text-decoration: none; font-weight: bold; padding: 2px 5px; color: rgb(80,60,40); display: block; } + div.namepolicy table td.help a:hover { background-color:#bec87c; } + div.namepolicy table th { width:20% } + div.namepolicy span.nev { padding-right: 14px; } + div.namepolicy table td.language span { vertical-align: middle; } + div.namepolicy table td.language img { margin: 0px 0px 0px 4px; height: 10px; border: solid 1px #777777; } + #langSelect { vertical-align: middle; padding: 0px; margin: 0px;} + + table.mayorhead { font-size: 10px; margin: 3px 3px 20px 3px;} + + table.mayorhead td.namepolicy { padding: 5px; } + table.mayorhead td.namepolicy table { + font-size: 10px; + border-style: solid; + border-width: 2px ; + border-color: #550670; + background-color: #8877aa; + color: white; + } + +/* Új menü */ + + ul#pagemenu { + padding: 1px; + text-align: left; + background-color: #040562; + list-style-type: none; + margin:1px; + } + ul#pagemenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#pagemenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#pagemenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#pagemenu li.active a { + background-color: #620405; + } + ul#pagemenu li.active a:hover { + background-color: rgb(140,100,100); + } + +/* SUB */ + + ul#submenu { + padding: 1px; + text-align: left; + background-color: #040582; + list-style-type: none; + margin:1px 1px 1px 40px; + } + ul#submenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#submenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#submenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#submenu li.active a { + background-color: #620405; + } + ul#submenu li.active a:hover { + background-color: rgb(140,100,100); + } + +/* f */ + + ul#fmenu { + padding: 1px; + text-align: left; + background-color: #0405a2; + list-style-type: none; + margin:1px 1px 1px 80px; + } + ul#fmenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#fmenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#fmenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#fmenu li.active a { + background-color: #620405; + } + ul#fmenu li.active a:hover { + background-color: rgb(140,100,100); + } + + #changeSkin { + display: inline; + } + #changeSkin .onChangeSubmit { + background-color: #eeeeee; + font-size:9px; + } + +} +@media print { + + div.namepolicy { display: none; } + table.mayorhead { display: none; } + +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/oldschool/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/oldschool/base/html/base.phtml new file mode 100644 index 00000000..813ed04e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/oldschool/base/html/base.phtml @@ -0,0 +1,337 @@ + base.php + putValidXHTML() +*/ + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpheader(); + + if ($MENU['set'][$policy][$page][$sub][$f]['refresh'] > 0) { + @header("Refresh:".intval($MENU['set'][$policy][$page][$sub][$f]['refresh'])); + } + + html_head($page,$sub,$f,$lang,$skin); + _debugLayer(); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + echo '
'; + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH, $SSSBB; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - '; + echo _MAIN_TITLE; + echo '.'; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + if (is_string($SSSHH) && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo "\n\n"; + if (is_string($SSSBB) && $SSSBB!='') echo $SSSBB; + +} + + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $page, $sub, $f; + + // PATCH MENU + $MENU['auth'] = array( + array('txt' => 'Bejelentkezés', 'url' => 'index.php?page=auth&f=login&toPolicy=private'), + array('txt' => 'Szülői bejelentkezés', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'), + ); + $MENU['modules']['auth']['login'] = array( + array('txt' => 'Szülői bejelentkezés', 'url' => 'index.php?page=auth&f=login&toPolicy=parent'), + array('txt' => 'Védett oldalak','url' => 'index.php?page=auth&f=login&toPolicy=private'), + ); + // + echo ''; + + // II: SZINT + @$pageArray = $MENU['modules'][$page]; + $aPage = $page; + + if (is_array($pageArray)) { + echo ''."\n"; + } + + // III: SZINT + @$subArray = $MENU['modules'][$page]['sub'][$sub]; + $aSub = $sub; + + if (is_array($subArray)) { + echo '
    '; + + foreach ($subArray as $anF => $items) { + for ($i=0;$i'; + else echo '
  • '; + + if (isset($items[$i]['url']) && $items[$i]['url'] != '') { + if ($items[$i]['url'][0] == '&') $href = href("index.php?page=$aPage&sub=$aSub&f=$anF".$items[$i]['url']); + elseif (substr($items[$i]['url'],0,4) == 'http') $href = href($items[$i]['url'], array()); + elseif (isset($items[$i]['get']) && is_array($items[$i]['get'])) $href = href($items[$i]['url'], $items[$i]['get']); + else $href = href($items[$i]['url']); + } else { + $href = href("index.php?page=$aPage&sub=$aSub&f=$anF"); + } + echo ' '.$items[$i]['txt'].' '; + + echo '
  • '; + } + } + + echo '
'."\n"; + } + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy; + + if (date('m')==12) $imgextra = '-santa'; + elseif (date('m')==3 && date('d')>=11 && date('d')<=15) $imgextra = '-marc15'; + elseif (date('m')==4 && date('d')==1) $imgextra = '-flip'; + else $imgextra = ''; + + if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + //if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl.gif')) + // $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl.gif'; + if (!file_exists($HELP_LOGO = 'skin/'.$skin.'/module-help/img/help_small.jpg')) + $HELP_LOGO = 'skin/'._DEFAULT_SKIN.'/module-help/img/help_small.jpg'; + + _updateWindow(); + _keyHelp(); + + ## Név, Oldal info, Policy + echo '
'."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'."\n"; + + echo ''.$lang.''."\n"; + + echo ''; + + formBegin(array('id'=>'changeSkin','action'=>href('index.php', array('sessionID','lang')))); + echo ''; + echo ''; + global $POLICIES; + echo ''; + /* Némi javascipt támogatás a session kezelésre ebben a formban */ + $sessionMaxIdleTime=$sessionAlertTime=0; + if ((_SESSIONID!='' && _POLICY!='public') && defined('_SESSION_MAX_IDLE_TIME') && _SESSION_MAX_IDLE_TIME>0) { + $sessionMaxIdleTime=((_SESSION_MAX_IDLE_TIME*1000*60*60)+1000); + if (defined('_SESSION_ALERT_TIME')) $sessionAlertTime = ((_SESSION_MAX_IDLE_TIME*1000*60*60)-(_SESSION_ALERT_TIME*1000*60)); + } + echo ''; + echo ''; + /* --- */ + formEnd(); + //echo ''; + echo ''; + //echo $page; + //if ($sub!='') echo ' » '.$sub; + if (is_array(@$INCLUDES['html_mayor_head']['global']['center'])) foreach ($INCLUDES['html_mayor_head']['global']['center'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''; + echo ''._USERCN.''; + echo ''; + echo ''.$policy.''; + echo ''; + if (isset($sub) && $sub != '') $psf = "$page:$sub:$f"; else $psf = "$page:$f"; + echo '?'; + echo '
'; + echo '
'."\n"; + ## ------------------------ + echo ''."\n"; + echo ''."\n"; + echo ''; + if (in_array('help',$INSTALLED_MODULES)) { + $link = "index.php?page=help&hpage=$page&hsub=$sub&hf=$f"; + echo ''; + } + echo "\n
'; + echo 'MaYoR'; + echo ''; + mayor_menu($MENU,$sessionID,$lang,$skin); + echo ''; + echo ''; + echo ''._HELP.''; + echo ''; + + echo '
\n"; + +} + + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + + echo '
'._MAIN_FOOTER.'
'."\n\n"; + echo "\n"; +} + + +?> diff --git a/mayor-orig/mayor-base/www/skin/oldschool/base/img/mayor_small_ssl.png b/mayor-orig/mayor-base/www/skin/oldschool/base/img/mayor_small_ssl.png new file mode 100644 index 00000000..43760ec1 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/oldschool/base/img/mayor_small_ssl.png differ diff --git a/mayor-orig/mayor-base/www/skin/oldschool/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/oldschool/module-auth/css/login.css new file mode 100644 index 00000000..c3da5e07 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/oldschool/module-auth/css/login.css @@ -0,0 +1,45 @@ +@media screen { +img { border-width: 0px; } +h1 {text-align: center; margin: 10px; font-size:20px; } +h2 {text-align: center; margin: 10px; font-size: 15px; } +table { font-size: 12px; } +table.main {width: 100%; border-width: 0px;} +table.loginablak { + background-color: #ffffff; + border-width: 1px; + border-style: solid; + border-color: #555550; + width:400px} +td { padding: 2px } +form { margin: 30px;padding: 0px; } +input { font-size: 12px; font-family:Verdana,Arial; background-color: #fffff0; border: solid 1px #666690;} +select.pp { padding: 0px; margin: 0px; border: none 0px #778890; font-size: 12px; background-color: #eeeee0; font-family: Verdana,Arial; } +select.pp>option { border: none 0px black; } +input.submit { border: solid 1px #776650; } +table.loginablak thead td { background-color: #666690; + text-align: center; + font-family: Verdana,arial; + font-size: 10pt; + font-weight: + bold; + color: white; + border-bottom: solid 1px white; +} +table.loginablak tbody tr.top td { border-top: solid 1px #666690; } + +tfoot td { background-color: #888880; text-align: center; } +td.co { text-align: center; vertical-align: bottom; font-family: Verdana,arial; font-size:8pt; } +img.aauthImg { + border-top: solid 1px #666690; + border-bottom: solid 1px #888880; + border-left: solid 1px #666690; + border-right: solid 1px #888880; +} +#capsLockWarning { + position: absolute; + background: #ffffaa; color: #ffaaaa; text-align: center; + font-size: 20px; font-weight: bold; + width: 300px; padding: 20px; margin: 10px auto; +} + +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/pda/base/css/base.css b/mayor-orig/mayor-base/www/skin/pda/base/css/base.css new file mode 100644 index 00000000..1a321380 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/pda/base/css/base.css @@ -0,0 +1,182 @@ +/* + Module: base +*/ + html { margin:0px; padding:0px; } + html body { + font-family: Verdana, Arial, Helvetica, sans-serif; + margin:0px; + padding:0px; + font-size: 11px; + } + + form { margin: 0px; } + div.mayorbody { + padding: 0px; + background-color: white; + margin-top:0em; + margin-bottom:2em; + } + div.mayorfoot { + text-align: center; + position: bottom; + width:100%; + font-size:x-small; + color: #888888; + } + div.mayorfoot a { color:#888888; text-decoration: none; } +/* - Alert - */ + + form.mayorAlert { margin: 0px; padding: 0px; } + form.mayorAlert input { display: none; } + div.errorMsg { + background-color: #eeffd0; + border: solid 2px #C71585; + padding: 1px; + text-align:center; + margin:10px; + } + div.errorMsg span { + font-style: italic; + } + div.infoMsg { + background-color: #eeffd0; + border: solid 2px #0000ff; + padding: 1px; + } + div.infoMsg span { + font-style: italic; + } + + span.alertParam { + color: green; + } + +/* Module: base */ + + div.namepolicy { + background-color: rgb(52, 150, 185); +// background: rgb(241, 241, 241); + border-bottom: 2px solid rgb(247, 197, 14); + margin: 0px; + padding:0px; + min-height:40px; + width:100%; + } + + div.namepolicy a#home + { + display: table-cell; + height:40px; + width:200px; + text-align: left; + vertical-align: middle; + font-size: normal; margin:0px; padding-left:1em; text-decoration: none; + color: white; + } + +/* Menü */ + + ul#pagemenu { + padding: 0px; + text-align: left; + background-color: #040562; + list-style-type: none; + margin:1px; + + } + ul#pagemenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#pagemenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#pagemenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#pagemenu li.active a { + background-color: #620405; + } + ul#pagemenu li.active a:hover { + background-color: rgb(140,100,100); + } + +/* SUB */ + + ul#submenu { + padding: 1px; + text-align: left; + background-color: #040582; + list-style-type: none; + margin:1px 1px 1px 1px; + } + ul#submenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#submenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#submenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#submenu li.active a { + background-color: #620405; + } + ul#submenu li.active a:hover { + background-color: rgb(140,100,100); + } + +/* f */ + + ul#fmenu { + padding: 1px; + text-align: left; + background-color: #0405a2; + list-style-type: none; + margin:1px 1px 1px 0px; + } + ul#fmenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#fmenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#fmenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#fmenu li.active a { + background-color: #620405; + } + ul#fmenu li.active a:hover { + background-color: rgb(140,100,100); + } + + + #changeSkin { + display: none; + } + #changeSkin .onChangeSubmit { + } diff --git a/mayor-orig/mayor-base/www/skin/pda/base/html/alert.phtml b/mayor-orig/mayor-base/www/skin/pda/base/html/alert.phtml new file mode 100644 index 00000000..a7f9ce62 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/pda/base/html/alert.phtml @@ -0,0 +1,85 @@ +'; + for ($j = 0; $j < count($_SESSION['alert']); $j++) { + + // Nincs mindig paraméter - ezért a $param nem kap értéket! - így az explode Notice üzenetet váltana ki... + $param = array(); + $tmp = explode(':',$_SESSION['alert'][$j]); + $aType = $tmp[0]; $aCode = $tmp[1]; + for ($p = 2; $p < count($tmp); $p++) $param[] = $tmp[$p]; + $pstr = ''; + if ($aType == 'popup') { + if ($aCode == '' ) $msg = $ALERT_MSG['default']; + elseif ($ALERT_MSG[$aCode] == '') $msg = $aCode; + else $msg = $ALERT_MSG[$aCode]; + // paraméter behelyettesítés + for($i = 1; $i < count($param); $i++) { + $msg = str_replace("%$i%",$param[$i],$msg,$count); + if ($param[$i] != '' and $count == 0) $pstr .= $param[$i].','; + } + if ($pstr != '') $msg .= ' (' . substr($pstr,0,-1) . ')'; + + echo ''; + } else { + if ($aCode == '') $msg = $ALERT_MSG['default']; + elseif (!isset($ALERT_MSG[$aCode]) || $ALERT_MSG[$aCode] == '') $msg = $ALERT_MSG['default'].' ('.$aType.':'.$aCode.')'; + else $msg = $ALERT_MSG[$aCode]; + // paraméter behelyettesítés + for($i = 0; $i < count($param); $i++) { + $_msg = $msg; + $msg = @str_replace("%$i%",''.$param[$i].'',$msg); + if ($param[$i] != '' and $_msg == $msg) $pstr .= ''.$param[$i].','; + } + if ($pstr != '') $msg .= ' (' . substr($pstr,0,-1) . ')'; + + if (($aType == 'message') or ($aType == 'page')) { + $title = _ERROR; + $class = 'errorMsg'; + if ($aType == 'page') $showPage = false; + } else { + $title = _INFORMATION; + $class = 'infoMsg'; + } + $msg = ''.$title.': ' . $msg; + echo '
'.$msg.'
'."\n"; + + } + $_SESSION['alert'] = array(); + } + echo ''; + + return $showPage; + + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/pda/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/pda/base/html/base.phtml new file mode 100644 index 00000000..b15ad2f3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/pda/base/html/base.phtml @@ -0,0 +1,240 @@ + base.php + putValidXHTML() +*/ + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { +// Huston! This is for IE-shit + + _httpheader(); + + html_head($page,$sub,$f,$lang,$skin); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - '; + echo _MAIN_TITLE; + echo ''."\n"; + if ($SSSHH!=null && $SSSHH!='') echo $SSSHH; + + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices +// includeJS($page,$sub,$f,$skin); // now, we are not using javascript - right now + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo "\n\n"; + +} + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $page, $sub, $f; + + echo ''; + + // II: SZINT + @$pageArray = $MENU['modules'][$page]; + $aPage = $page; + + if (is_array($pageArray)) { + echo ''."\n"; + } + + // III: SZINT + @$subArray = $MENU['modules'][$page]['sub'][$sub]; + $aSub = $sub; + + if (is_array($subArray)) { + echo '
    '; + + foreach ($subArray as $anF => $items) { + for ($i=0;$i'; + else echo '
  • '; + + if (isset($items[$i]['url']) && $items[$i]['url'] != '') { + if ($items[$i]['url'][0] == '&') $href = href("index.php?page=$aPage&sub=$aSub&f=$anF".$items[$i]['url']); + elseif (substr($items[$i]['url'],0,4) == 'http') $href = href($items[$i]['url'], array()); + elseif (isset($items[$i]['get']) && is_array($items[$i]['get'])) $href = href($items[$i]['url'], $items[$i]['get']); + else $href = href($items[$i]['url']); + } else { + $href = href("index.php?page=$aPage&sub=$aSub&f=$anF"); + } + echo ' '.$items[$i]['txt'].' '; + + echo '
  • '; + } + } + + echo '
'."\n"; + } + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy; + + _updateWindow(); + + ## Név, Oldal info, Policy + echo '
'."\n"; + + echo ''; +// echo 'MaYoR'; + echo 'MaYoR'; + echo ''; + + echo '
'."\n"; + +} + + + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + + global $AUTH, $SKINS; + + echo '
'; + if ($AUTH[_POLICY]['skin'] != '' && in_array($AUTH[_POLICY]['skin'], $SKINS)) $_skin=$AUTH[_POLICY]['skin']; + else $_skin = _DEFAULT_SKIN; + echo _MAIN_FOOTER; + echo ''; + echo ' - HTML nézet'; + echo ''; + + echo '
'; + echo "\n"; +} + +?> diff --git a/mayor-orig/mayor-base/www/skin/pda/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/pda/module-auth/css/login.css new file mode 100644 index 00000000..47a1610d --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/pda/module-auth/css/login.css @@ -0,0 +1,4 @@ + + form.login { padding: 0px 10px; } + form.login input.txtbox { width:80%; height:2em;} + form.login select { font-size:1em;} diff --git a/mayor-orig/mayor-base/www/skin/pda/module-auth/html/login.phtml b/mayor-orig/mayor-base/www/skin/pda/module-auth/html/login.phtml new file mode 100644 index 00000000..03250685 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/pda/module-auth/html/login.phtml @@ -0,0 +1,60 @@ +'._GREETING.''."\n"; + + formBegin(array('method'=>'post', + 'class'=>'login', + 'action'=>'index.php?policy=public&page=auth&f=login&toPolicy='.$toPolicy.'&toSkin='.$toSkin.'&sessionID='.$sessionID , + 'name'=>"loginablak")); + + echo ''; + echo ''; + + echo '
'._USERNAME.'
'; + echo ''."\n"; + + echo '
'._PASSWORD.'
'; +/* + echo ''."\n"; +*/ + echo ''."\n"; + + echo ''; + echo ''; +/* + echo '
'._SKIN.'
'; + echo ''."\n"; + echo ''."\n"; +*/ + echo '
'; + echo ''."\n"; + echo '
'; + + + formEnd(); + + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/rpc/base/html/alert.phtml b/mayor-orig/mayor-base/www/skin/rpc/base/html/alert.phtml new file mode 100644 index 00000000..adda7354 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/rpc/base/html/alert.phtml @@ -0,0 +1,56 @@ +'.$aType.':'.$aCode.')
'; + else $msg = $ALERT_MSG[$aCode]; + + // paraméter behelyettesítés + for($i = 0; $i < count($param); $i++) { + $_msg = $msg; + $msg = @str_replace("%$i%",''.($param[$i]).'',$msg); + if ($param[$i] != '' and $_msg == $msg) $pstr .= ''.($param[$i]).','; + } + if ($pstr != '') $msg .= ' (' . substr($pstr,0,-1) . ')'; + if (($aType == 'message') or ($aType == 'page')) { + $title = _ERROR; + $class = 'errorMsg'; + if ($aType == 'page') $showPage = false; + } else { + $title = _INFORMATION; + $class = 'infoMsg'; + } + $msg = ''.$title.': ' . $msg; + if (isset($_GET['showAlert'])) echo '
'.$msg.'
'."\n"; + } + + return $showPage; +*/ + + echo 'ERROR'; + var_dump($_SESSION['alert']); + return false; + + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/rpc/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/rpc/base/html/base.phtml new file mode 100644 index 00000000..49a2ce14 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/rpc/base/html/base.phtml @@ -0,0 +1,23 @@ +sendResponse(); + } + + //function putResponse($DATA) { + // echo json_encode($DATA); + //} + // function formBegin($SET=array('method'=>'post','action'=>''),$SET2=array('print'=>true)) { } + // function formEnd($SET2=array('print'=>true)) { } + +?> diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/css/base.css b/mayor-orig/mayor-base/www/skin/sulix/base/css/base.css new file mode 100644 index 00000000..fbffc38f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/base/css/base.css @@ -0,0 +1,268 @@ +/* @override https://sy.ulx.hu:1743/sulixnaplo/skin/sulix/base/css/base.css?ver=2719 */ + +/* + Module: base +*/ +@media screen { + + html body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin:0px; padding:0px; } + + a { text-decoration:none; } + + div.errorMsg { margin: 20px 20%; background: #fee; border: solid 1px red; border-radius: 2px; padding: 15px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.errorMsg span { font-weight: bold; color: #f00; } + div.infoMsg { margin: 20px 20%; background-color: #eef; border: groove 1px #0000ff; border-radius: 2px; padding: 15px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.infoMsg span { font-weight: bold; color: #00a; } + div.errorMsg span.alertParam, div.infoMsg span.alertParam { font-weight: normal; font-style: italic; color: green; } + + #logo { position: absolute; top: 0; + left: 5px; +} + + #head { position: absolute; width: 100%; height: 60px; background: #3496B9 url(../img/powered_by_mayor_small.png) no-repeat right center; } +/* + #egyeb { float: right; padding: 23px 20px; margin-right: 100px; text-align: right; } + #egyeb span { color: white; cursor: pointer; background: #3facc7; padding: 23px 20px; } + #settings { display: none; width: 100px; + margin-top: 5px; position:relative; right: 0px; + background: #f496b9; + } + #egyeb:hover #settings { display: block; } + #settings table { width: 100%; background: #3facc7; margin-top: 23px; border-spacing: 1px;} + #settings td { width: 100%; text-align: left; padding-left: 10px; border-bottom: solid 1px #ffacc7; background: #3496B9; } + #settings td:last-child { border-bottom: none; } + #settings td a { + display: inline-block; width: 100%; + padding: 2px 0px 2px 0px; + text-align: left; text-decoration: none; + color: white; + } + #settings td a:hover { } +*/ + + + #nav, #nav ul { list-style: none; } + #nav { margin: 0; height: 60px; padding-left: 180px; } + #nav li { position: relative; } + + #nav > li { float: left; z-index: 20; min-width: 100px; text-align: center; padding: 20px; height: 20px; background: #47c980; } + #nav > li:hover { z-index: 22; } + #nav > li > ul { top: 50px; left: -1px; /* background: #1A4B5C; */} + #nav > li > ul > li > a { margin-left: 10px; } + + #nav li:hover { background: #4fbcd7; } + #nav li.active { background: #3facc7; } + #nav li a { display: block; padding: 3px 8px; color: white; } + #nav li a:hover { color:#fdb933; } + #nav li:hover > ul, #nav li.over ul { display: block; } +#nav > li.active { padding-right: 0; padding-left: 0; width: 140px; } +#nav > li > a { padding: 23px 8px; position: relative; top: -20px; } + #nav li.nav1szin { background: #3496B9; } + #nav ul.sub { background: #3facc7; } + + + #nav ul { display: none; position: absolute; width: 160px; padding: 0px; } + #nav ul span { float: left; margin: 6px 5px; color: white; } + #nav ul > li { background: #3496B9; } + #nav ul li { text-align: left; margin-bottom: 1px; } + #nav ul li a { padding: 6px 10px; } + #nav ul li.active > a { color:#fdb933; } + + #nav ul ul { top: 0px; left: -145px; z-index: 30; background: #3facc7; background: #3496B9} + #nav ul ul a { background: #3facc7; } + #nav ul ul a:hover { background: #4fbcd7; } + + #nav li.start { + height: 20px; min-width: 0; padding-right: 0px; padding-left: 6px; + background: #D2DFE9; border-right: 4px solid #D2DFE9; border-radius: 0px 30px 30px 0px; + } + + #poz { list-style: none; background-color: rgb(230,230,230); margin: 0; height: 20px; border-bottom: #f3f3f3 solid 5px; } + #poz > li { float: right; padding: 2px; width: auto; } + + #nav1 { z-index: 4; position: absolute; margin-left: 330px; margin-right: 10px; background: rgba(52,150,185,0.6); } + #nav1 div a { padding: 22px 8px 23px 8px; display: inline-block; text-decoration: none; color: #fff; background: #3496B9; margin-top: 1px; } + + #nav1 div a:hover { color: #fdb933; /*background: #5FCCE7; */} + #nav1 div a.aktiv { color:#fdb933; /*background: #4FBCD7; */} + + #nav2 { width: 120px; position: absolute; margin: 0; height: 100%; + background: -webkit-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: -moz-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + } + #nav2 ul { margin: 0; padding: 0; list-style: none; } + #nav2 ul li { border-bottom: solid 1px rgba(100,100,100,0.4); } + #nav2 ul li a { display: block; color: black; font-size: 11px; background: #D2DFE9; padding: 6px 6px; text-decoration: none; } + #nav2 ul li a.aktiv { color: #175970; color: #ee7f00; font-size: 12px; } + #nav2 ul li a:hover { color: white; background: #9abcd8; } + + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow {background-color: white; position: absolute;z-index:200;margin:auto auto; width:400px;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 300px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; } + #keyHelp td.desc { color: white; text-align: left; } + + div.mayorbody { margin-left: 121px; } +/* + #logo, #head, #nav1, #nav2, #nav, #poz { position: fixed; } + #head { top: 0; left: 0; } + #nav { top: 0; left: 0; } + #nav1 { top: 0; } + #poz { top: 60px; width: 100%; } + #nav2 { top: 85px; } + div.mayorbody { margin-top: 85px; } + #nav2 { top: 60px; } + div.mayorbody { margin-top: 60px; } + */ + + #mayorErrorSmall.mayorErrorSmallInfo { +border-bottom: solid 4px rgb(106,128,250); +padding:4px; height:100%; width:100%; +background-color:rgba(250,250,250,0.9); + } + + #mayorErrorSmall.mayorErrorSmallError { +border-bottom: solid 4px red; +padding:4px; height:100%; width:100%; +background-color:rgba(250,250,250,0.9); + } + +} + +form { + background-color: #eeeeee !important; + color: black !important; +} + +form.hiba { + background-color: #eeeeee !important; + color: black !important; +} + +form.kepzes { + background-color: #eeeeee !important; + color: black !important; +} + +form.tanar { + background-color: #eeeeee !important; + color: black !important; +} + +form.terem { + background-color: #eeeeee !important; + color: black !important; +} + +table.toolBar form { + background: #3496b9 !important; +} + +form h2 { + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form h3 { + color: black !important; + font-size: 14px !important; + font-weight: normal !important; + font-style: normal !important; +} + +#mayorbody table th +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.terem h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.hiba h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.export h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.osztalyForm h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.tanar h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.updateTable h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +form.kepzes h1 +{ + background: #d2d2d2 !important; + font-weight: normal !important; + font-style: normal !important; + font-size: 16px !important; + color: black !important; +} + +#mayorbody .toolBar th +{color: white !important; +background: #3496b9 !important; +font-size: 10px !important;} + + + + form.hiba input + form.hiba select + { + margin:2px 10px; + background-color: white; + border: solid 1px rgb(120,220,240); + padding:0px 10px; + color: black; +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/sulix/base/html/base.phtml new file mode 100644 index 00000000..5848a7b7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/base/html/base.phtml @@ -0,0 +1,332 @@ + base.php + putValidXHTML() +*/ + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpheader(); + if ($MENU['set'][$policy][$page][$sub][$f]['refresh'] > 0) { + @header("Refresh:".intval($MENU['set'][$policy][$page][$sub][$f]['refresh'])); + } + + html_head($page,$sub,$f,$lang,$skin); + _debugLayer(); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + echo '
'; + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; +// if (_SULIX_DESIGN !== true) { +// if (defined('_SITE')) echo ' - '._SITE.' - '; +// echo _MAIN_TITLE; +// echo '.'; +// echo _MAYORREV; +// } else { + echo _SITE; +// } + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + if ($SSSHH!=null && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } +// if (_SULIX_DESIGN !== true) echo ''."\n"; +// else + echo ''; + echo "\n\n"; + +} +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $policy, $page, $sub, $f, $LANGUAGES, $SKINSSHOW; + + echo ''."\n"; + + // ------------------------ + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy, $SCHOOL_LOGO, $SCHOOL_IDENTITY, $SCHOOL_URL, $NAV; + + _updateWindow(); + + //if (date('m')==12) $imgextra = '-santa'; else $imgextra = ''; + +// if (defined('_HOME_LOGO') && file_exists(_HOME_LOGO)) $HOME_LOGO=_HOME_LOGO; +// else + if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + +echo ''; + + echo "\n"; + echo ''."\n\n"; + + + mayor_menu($MENU,$sessionID,$lang,$skin); +// if (_SULIX_DESIGN !== true) echo ''; +// else + echo ''; + + + echo "\n"; + echo ''."\n\n"; + +} + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + //echo '
'._MAIN_FOOTER.'
'."\n\n"; + echo "\n"; +} + + +?> diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_140x26.png b/mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_140x26.png new file mode 100644 index 00000000..3816f6de Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_140x26.png differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_66x28.png b/mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_66x28.png new file mode 100644 index 00000000..524d0a83 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/bejelentkezes_gomb_66x28.png differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/favicon.ico b/mayor-orig/mayor-base/www/skin/sulix/base/img/favicon.ico new file mode 100644 index 00000000..5c819e56 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/favicon.ico differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/fur.png b/mayor-orig/mayor-base/www/skin/sulix/base/img/fur.png new file mode 100644 index 00000000..f537e6da Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/fur.png differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/mayor_small_ssl.png b/mayor-orig/mayor-base/www/skin/sulix/base/img/mayor_small_ssl.png new file mode 100644 index 00000000..44e007cb Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/mayor_small_ssl.png differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor.png b/mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor.png new file mode 100644 index 00000000..0f88bfc3 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor.png differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor_small.png b/mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor_small.png new file mode 100644 index 00000000..aa65a706 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sulix/base/img/powered_by_mayor_small.png differ diff --git a/mayor-orig/mayor-base/www/skin/sulix/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/sulix/module-auth/css/login.css new file mode 100644 index 00000000..66d76da9 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/module-auth/css/login.css @@ -0,0 +1,89 @@ +@media screen { + +#logo, #head, #nav, #nav1, #nav2 { display: none; } +div.mayorbody { margin: 0; padding: 8px; } +#header img { height: 40px; position: relative; top: 5px; left: 25px; } +#header { width: 100%; background: #1A4B5C; height: 50px; } +body { background: #bfbfbf;} +form { width: 960px; margin-left: auto; margin-right: auto; } +div#body { + width: 100%; height: 470px; padding-top: 70px; + background-color: #3497B9; + background-attachment: inherit; + background-image: url('../../base/img/fur.png'); + background-repeat: no-repeat; + background-position: bottom right; +} +table.loginablak { width: 160px; width: 180px; /*height: 178px;*/ background: #1A4B5C; border: #1A4B5C 8px solid; border-radius: 8px;} +table.loginablak thead td { color: #F49430; font-weight: bold; font-size: 15px; font-family: sans-serif; text-align: center; padding-top: 5px; padding-bottom: 5px;} +table.loginablak tbody td { height: 26px; padding-top: 15px; text-align: center; } +table.loginablak div.input { + margin-left: auto; margin-right: auto; + width: 140px; height: 26px; + background-image: url(../../base/img/bejelentkezes_gomb_140x26.png); + background-origin: padding-box; + background-position: 50% 100%; + background-repeat: no-repeat; +} +table.loginablak input[type=text], table.loginablak input[type=password] { + background-color: transparent; border: none; color: #767676; + font-family: sans-serif; font-size: 10px; font-weight: 10px; height: 26px; width: 140px; + /*outline-color: #3C3B37; outline-width: 5px; outline-style: auto; */ padding: 1px 10px; +} +table.loginablak tfoot td { text-align: right; padding: 25px 0px 25px 0px; +} +table.loginablak tfoot select { float: left; background-color: transparent; color: white; border: 1px solid rgba(255,255,255,0.2); /*display: none; */} +table.loginablak tfoot select option { background-color: #1a4b5c; } +table.loginablak tfoot input[type=submit] { +font-weight: bold; font-family: sans-serif; font-size: 10px; +padding: 1px 6px 3px 6px; +width: 66px; height: 28px; +background-attachment: scroll; +background-clip: border-box; +background-color: transparent; +background-image: url(../../base/img/bejelentkezes_gomb_66x28.png); +background-origin: padding-box; +background-position: 50% 100%; +background-repeat: no-repeat; +border: none; +} + +/* +div.mayorbody img { border-width: 0px; } +div.mayorbody h1 {text-align: center; margin: 10px; font-size:20px; } +div.mayorbody h2 {text-align: center; margin: 10px; font-size: 15px; } +div.mayorbody table { font-size: 12px; } +div.mayorbody table.main {width: 100%; border-width: 0px;} +div.mayorbody table.loginablak { + background-color: #ffffff; + border-width: 1px; + border-style: solid; + border-color: #555550; + width:400px} +div.mayorbody td { padding: 2px } +div.mayorbody form { margin: 30px;padding: 0px; } +div.mayorbody input { font-size: 12px; font-family:Verdana,Arial; background-color: #fffff0; border: solid 1px #666690;} +div.mayorbody select.pp { padding: 0px; margin: 0px; border: none 0px #778890; font-size: 12px; background-color: #eeeee0; font-family: Verdana,Arial; } +div.mayorbody select.pp>option { border: none 0px black; } +div.mayorbody input.submit { border: solid 1px #776650; } +div.mayorbody table.loginablak thead td { + background-color: #666690; + text-align: center; + font-family: Verdana,arial; + font-size: 10pt; + font-weight: bold; + color: white; + border-bottom: solid 1px white; +div.mayorbody } +div.mayorbody table.loginablak tbody tr.top td { border-top: solid 1px #666690; } + +div.mayorbody tfoot td { background-color: #888880; text-align: center; } +div.mayorbody td.co { text-align: center; vertical-align: bottom; font-family: Verdana,arial; font-size:8pt; } +div.mayorbody img.aauthImg { + border-top: solid 1px #666690; + border-bottom: solid 1px #888880; + border-left: solid 1px #666690; + border-right: solid 1px #888880; +} +*/ +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/sulix/module-auth/html/login.phtml b/mayor-orig/mayor-base/www/skin/sulix/module-auth/html/login.phtml new file mode 100644 index 00000000..87f90756 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/module-auth/html/login.phtml @@ -0,0 +1,79 @@ +'post', + 'action'=>'index.php?policy=public&page=auth&f=login&toPolicy='.$toPolicy.'&sessionID='.$sessionID , + 'name'=>"loginablak", + 'id'=>'loginablak' + )); + + echo ''; + echo '
'; + + echo ''; + echo ''; + echo ''; + + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo '
'."\n"; + echo 'SuliX Napló'; + echo '
'."\n"; + + if ($toPolicy == 'parent') { + echo ''."\n"; + } else { + echo ''."\n"; + } + + + echo ''."\n"; + echo '
'."\n"; + echo '
'; + echo ''."\n"; + echo '
'; + echo '
'."\n"; + echo '
'; + echo ''."\n"; + echo '
'; + echo '
'."\n"; + + echo '
'."\n"; + formEnd(); + + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/admin/tanevek.css b/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/admin/tanevek.css new file mode 100644 index 00000000..7562ff6f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/admin/tanevek.css @@ -0,0 +1,17 @@ + + form.intezmeny { background-color: rgb(40,60,120); color: white; margin: 20px; padding: 0px; } + form.intezmeny h2 { + background-color: rgb(20,40,80); + text-align: center; + border: white 1px dotted; + border-width: 1px 0px; + padding: 3px; + } + form.intezmeny div.data { + padding: 1em; + } + input.date { width: 100px; } + + form.intezmeny fieldset p { margin-left: 50px; } + form.intezmeny fieldset label { background-coor: red; padding: 0px 14px 0px 0px; } + form.intezmeny fieldset h3 { color: rgb(255,255,100); } \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/naplo.css b/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/naplo.css new file mode 100644 index 00000000..7a91910a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/naplo.css @@ -0,0 +1,84 @@ +/* @override https://sy.ulx.hu:1743/sulixnaplo/skin/classic/module-naplo/css/naplo.css?ver=2719 */ + +table.toolBar { width: 95%; max-width: 95%; border-spacing: 0px; margin: 1em auto; overflow: auto; } + table.toolBar form { margin: 0px; padding: 0px; } + table.toolBar tr.first td.toolBarTitle, table.toolBar tr.first td.toolBarTool { border: solid 1px #333333; } + table.toolBar td.gap { width: 50%; border-spacing: 0px; } + table.toolBar td.help { + background-color: silver; + color: black; + border-width: 0px 1px 1px 1px; + border-color: black; + border-style: none solid solid solid; + font-size:smaller; + padding: 3px; +} +table.toolBar tr.first td a img { + display: none; +} + table.toolBar td.toolBarTitle { + background-color: white; + width: 100%; + font-size: 16px; + font-weight: normal; + font-style: normal; +} + #toolBarIntezmeny { + color: red; + border: solid red; + border-width: 1px 0px; + font-size: 10px; + } + + table.toolBar td.toolBarTool { + background-color: #3496b9; + margin: 0px; + padding: 0px; + } + table.toolBar td.toolBarTool table { border-spacing: 0px; width: 100%; } + table.toolBar td.toolBarTool table th { + background-color: #3496b9; + text-align: left; + color: white; + font-size:10px; + padding: 0px 0px 0px 4px; +} + table.toolBar input.toolSubmit { vertical-align: middle; border: 0px none; } + table.toolBar td.toolBarTool select { border: 0px; } + table.toolBar th { + background-color: #3496b9; + text-align: center; + color: white; + font-size:10px; + padding: 0px 0px 0px 4px; +} + table.toolBar img { border: none; } + + table.toolBar table.hianyzasOsszegzo { width:100%; font-size:10px; } + table.toolBar table.hianyzasOsszegzo th { + text-align: center !important; + border-style: none none solid none; + border-color: #888888; + border-width: 0px 0px 1px 0px; + } + table.toolBar table.hianyzasOsszegzo td { width: 18%; border-bottom: solid 1px rgb(60,80,100); background-color: #dddddd; text-align: center; } + + form.lapozo input { font-size: 10px; border: solid 1px #555555; } + form button.lapozo { font-size:10px; } + form span.lapozo { color:white; background-color: rgb(90,133,184); padding:1px 5px; border: solid 1px rgb(21,71,123);} + + table.flipper input {height: 38px; width: 16px; color: white; + border-top: solid 1px black; + border-bottom: solid 1px black; + border-left: none; + border-right: none; + background-color: rgb(90,133,184); + } + table.flipper input.step { background-color: rgb(100,100,60); } + table.gomb button { height: 38px; width: 24px; background-color: rgb(90,133,184); border: solid black; border-width: 1px 0px; } + + div.beirasAdatok { text-align: center; } + div.beirasAdatok span { font-weight: bold; font-size: 20pt; vertical-align: middle; } + div.beirasAdatok img { vertical-align: middle; } + + table.toolBar input { font-size: 10px; } diff --git a/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/orarend/orarendTeremModositas.css b/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/orarend/orarendTeremModositas.css new file mode 100644 index 00000000..fb0172cc --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/module-naplo/css/orarend/orarendTeremModositas.css @@ -0,0 +1,8 @@ + + form.terem { background-color: rgb(100,50,100); color: white; margin: 5px auto; text-align: center; width: 640px; } + form.terem h1 { text-align: center; font-size: 16px; background-color: rgb(80,40,80); padding: 2px; } + form.terem select { margin: 2px; } + form.terem select option.foglalt { color: red; } + form.terem select option.szabad { color: green; } + + diff --git a/mayor-orig/mayor-base/www/skin/sulix/module-password/css/password.css b/mayor-orig/mayor-base/www/skin/sulix/module-password/css/password.css new file mode 100644 index 00000000..66a2fe2a --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/module-password/css/password.css @@ -0,0 +1,43 @@ + img { border-width: 0px; } + h1 { display: none; text-align: center; margin: 10px; font-size:20px; } + h2 { text-align: center; margin: 10px; font-size: 15px; } + table { font-size: 12px } + table.main {width: 100%; border-width: 0px;} + form table {background-color: #ffffff; border-width: 1px; border-style: solid; border-color: #555550; width:400px} + td { padding: 2px } + form { margin: 30px; padding: 0px; } + input { font-size: 10px; font-family: Verdana,Arial; background-color: #fffff0; } + select.pp { + padding: 0px; margin: 0px; + border: none 0px #778890; + font-size: 12px; + background-color: #eeeee0; + font-family: Verdana,Arial; + } + select.pp>option { border: none 0px black; } + input.submit { border: solid 1px #776650; } + thead td { + background-color: #3496B9; + text-align: center; + font-family: Verdana,arial; + font-size: 10pt; + font-weight: bold; + color: white; + } + thead th { + background-color: #3496B9; + color: white; + padding: 2px; + } + tfoot td { + background-color: #c8c8c8; + text-align: center; + } + tbody img { display: none; border: solid 1px #bbddbb; } + td.co { + display: none; + text-align: center; + vertical-align: bottom; + font-family: Verdana,arial; + font-size: 8pt; + } diff --git a/mayor-orig/mayor-base/www/skin/sulix/share/css/calendar_date_select.css b/mayor-orig/mayor-base/www/skin/sulix/share/css/calendar_date_select.css new file mode 100644 index 00000000..71c01b18 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sulix/share/css/calendar_date_select.css @@ -0,0 +1,139 @@ +/* @override https://sy.ulx.hu:1743/sulixnaplo/skin/classic/share/javascript/calendar_date_select/stylesheets/calendar_date_select/red.css */ + +.calendar_date_select { + color:white; + border:#777 1px solid; + display:block; + width:195px; + z-index: 1000; +} +/* this is a fun ie6 hack to get drop downs to stay behind the popup window. This should always be just underneath .calendar_date_select */ +iframe.ie6_blocker { + position: absolute; + z-index: 999; +} + +.calendar_date_select thead th { + font-weight:bold; + background-color: #E7E8E8; + border-bottom:2px solid black; + color: black !important; +} + +.calendar_date_select .cds_buttons { + text-align:center; + padding:5px 0px; + background-color: #2599fa; +} + +.calendar_date_select .cds_footer { + background-color: #3496b9; + padding:3px; + text-align:center; + border-top-style: solid; + border-top-width: 1px; +} + +.calendar_date_select table { + margin: 0px; + padding: 0px; +} + + +.calendar_date_select .cds_header { + background-color: #ccc; + border-bottom: 2px solid #aaa; + text-align:center; +} + +.calendar_date_select .cds_header span { + font-size:15px; + color: black; + font-weight: bold; +} + +.calendar_date_select select { font-size:11px;} + +.calendar_date_select .cds_header a:hover { + color: white; +} +.calendar_date_select .cds_header a { + width:22px; + height:20px; + text-decoration: none; + font-size:14px; + color:black !important; +} + +.calendar_date_select .cds_header a.prev { + float:left; +} +.calendar_date_select .cds_header a.next { + float:right; +} + +.calendar_date_select .cds_header a.close { + float:right; + display:none; +} + +.calendar_date_select .cds_header select.month { + width:90px; +} + +.calendar_date_select .cds_header select.year { + width:61px; +} + +.calendar_date_select .cds_buttons a { + color: white; + font-size: 9px; +} + + +.calendar_date_select td { + background-color: #3496b9; + font-size:12px; + width: 24px; + height: 21px; + text-align:center; + vertical-align: middle; +} +.calendar_date_select td.weekend { + background-color: #3496b9; +} + +.calendar_date_select td div { + color:#fff; +} +.calendar_date_select td div.other { + color: #3bc1f3; +} +.calendar_date_select td.selected div { + color:black; +} + + +.calendar_date_select tbody td { + border-bottom: 1px solid #550000; +} +.calendar_date_select tbody td.selected { + background-color:white; + color:black; +} + +.calendar_date_select tbody td:hover { + background-color:#ccc; +} + +.calendar_date_select tbody td.today { + border: 1px dashed red; +} + +.calendar_date_select td.disabled div { + color: #440000; +} + +.fieldWithErrors .calendar_date_select { + border: 2px solid red; +} diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/css/base.css b/mayor-orig/mayor-base/www/skin/sza2010/base/css/base.css new file mode 100644 index 00000000..22a9fd61 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sza2010/base/css/base.css @@ -0,0 +1,85 @@ +/* + Module: base +*/ +@import "head.css"; +@media screen { + + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + margin:0px; + padding:0px; +/* background-color: #1d2e50; */ + background-color: white; + background-image: url("/skin/sza2010/base/img/bg.png"); + background-repeat: repeat-x; + } + + /* set default layout! */ + table { font-size: 12px; } + + form { margin: 0px; } + + div#mayorerror { } + + div.mayorbody { + + padding: 0px; + + } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow {background-color: white; position: absolute;z-index:200;margin:auto auto; width:400px;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 300px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; } + #keyHelp td.desc { color: white; text-align: left; } + + div.mayorfoot { + text-align: center; + font-size: 10px; + width:100%; + } +/* - Alert - */ + + form.mayorAlert { margin: 0px; padding: 0px; } + form.mayorAlert input { display: none; } + div.errorMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #ff0000; + padding: 15px; + } + div.errorMsg span { + font-style: italic; + } + + div.infoMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #0000ff; + padding: 15px; + } + div.infoMsg span { + font-style: italic; + } + + span.alertParam { + color: green; + } +} +@media print { + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + } + div.mayorfoot { + text-align: center; + font-size: 10px; + margin: 5px; + } + div.namepolicy { display: none; } + table.mayorhead { display: none; } +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/css/head.css b/mayor-orig/mayor-base/www/skin/sza2010/base/css/head.css new file mode 100644 index 00000000..5ceacaa4 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sza2010/base/css/head.css @@ -0,0 +1,153 @@ +/* + Module: base +*/ +@media screen { + + div.namepolicy { + background-color: + #1d2e50 ; + border-style: none none solid none; + border-width: 1px; + border-color: white; + color: white; + background-image: url("/skin/sza2010/base/img/bg.png"); + background-repeat: repeat-x; + } + div.namepolicy table { font-size: 10px; width:100%; height:23px; } + div.namepolicy table td { width:30%; } + div.namepolicy table td.right { text-align: right; } + div.namepolicy table td.left { text-align: left;} + div.namepolicy table td.help a { background-color:red; color: white; text-decoration: none; font-weight: bold; padding: 2px 5px; display: block; border: solid 1px white;} + div.namepolicy table td.help a:hover { background-color:lightblue; } + div.namepolicy table th { width:40%;} + div.namepolicy span.nev { padding-right: 14px; } + div.namepolicy table td.language span { vertical-align: middle; } + div.namepolicy table td.language img { margin: 0px 0px 0px 4px; height: 10px; border: solid 1px #777777; } + #langSelect { vertical-align: middle; padding: 0px; margin: 0px;} + + table.mayorhead { font-size: 10px; margin: 13px 3px 30px 3px;} + + table.mayorhead td.namepolicy { padding: 5px; } + table.mayorhead td.namepolicy table { + vertical-align: center; + font-size: 10px; + border-style: solid; + border-width: 2px ; + border-color: #550670; + background-color: #8877aa; + color: white; + } + +/* Új menü */ + + ul#pagemenu { + padding: 1px; + text-align: left; + list-style-type: none; + margin:1px; + } + ul#pagemenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#pagemenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#pagemenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#pagemenu li.active a { + background-color: #620405; + } + ul#pagemenu li.active a:hover { + background-color: rgb(140,100,100); + } + +/* SUB */ + + ul#submenu { + padding: 1px; + text-align: left; +// background-color: #040582; + list-style-type: none; + margin:1px 1px 1px 40px; + } + ul#submenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#submenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#submenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#submenu li.active a { + background-color: #620405; + } + ul#submenu li.active a:hover { + background-color: rgb(140,100,100); + } + +/* f */ + + ul#fmenu { + padding: 1px; + text-align: left; +// background-color: #0405a2; + list-style-type: none; + margin:1px 1px 1px 80px; + } + ul#fmenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + } + ul#fmenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#fmenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#fmenu li.active a { + background-color: #620405; + } + ul#fmenu li.active a:hover { + background-color: rgb(140,100,100); + } + + #changeSkin { + display: inline; + } + #changeSkin .onChangeSubmit { + background-color: #eeeeee; + font-size:9px; + } + +} +@media print { + + div.namepolicy { display: none; } + table.mayorhead { display: none; } + +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/html/alert.phtml b/mayor-orig/mayor-base/www/skin/sza2010/base/html/alert.phtml new file mode 100644 index 00000000..138ac3f3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sza2010/base/html/alert.phtml @@ -0,0 +1,68 @@ +'.$aType.':'.$aCode.')'; + else $msg = $ALERT_MSG[$aCode]; + + // paraméter behelyettesítés + for($i = 0; $i < count($param); $i++) { + $_msg = $msg; + $msg = @str_replace("%$i%",''.($param[$i]).'',$msg); + if ($param[$i] != '' and $_msg == $msg) $pstr .= ''.($param[$i]).','; + } + if ($pstr != '') $msg .= ' (' . substr($pstr,0,-1) . ')'; + if (($aType == 'message') or ($aType == 'page')) { + $title = _ERROR; + $class = 'errorMsg'; + if ($aType == 'page') $showPage = false; + } else { + $title = _INFORMATION; + $class = 'infoMsg'; + } + $msg = ''.$title.': ' . $msg; + echo '
'.str_replace('***','
',$msg).'
'."\n"; + } + + return $showPage; + + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/sza2010/base/html/base.phtml new file mode 100644 index 00000000..215a21a4 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/sza2010/base/html/base.phtml @@ -0,0 +1,310 @@ + base.php + putValidXHTML() +*/ + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpHeader(); + + if ($MENU['set'][$policy][$page][$sub][$f]['refresh'] > 0) { + @header("Refresh:".intval($MENU['set'][$policy][$page][$sub][$f]['refresh'])); + } + + html_head($page,$sub,$f,$lang,$skin); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + echo '
'; + + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - '; + echo _MAIN_TITLE; + echo '.'; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + if ($SSSHH!=null && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo "\n\n"; + +} + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $page, $sub, $f; + + echo ''; + + // II: SZINT + @$pageArray = $MENU['modules'][$page]; + $aPage = $page; + + if (is_array($pageArray)) { + echo ''."\n"; + } + + // III: SZINT + @$subArray = $MENU['modules'][$page]['sub'][$sub]; + $aSub = $sub; + + if (is_array($subArray)) { + echo '
    '; + + foreach ($subArray as $anF => $items) { + for ($i=0;$i'; + else echo '
  • '; + + if (isset($items[$i]['url']) && $items[$i]['url'] != '') { + if ($items[$i]['url'][0] == '&') $href = href("index.php?page=$aPage&sub=$aSub&f=$anF".$items[$i]['url']); + elseif (substr($items[$i]['url'],0,4) == 'http') $href = href($items[$i]['url'], array()); + elseif (isset($items[$i]['get']) && is_array($items[$i]['get'])) $href = href($items[$i]['url'], $items[$i]['get']); + else $href = href($items[$i]['url']); + } else { + $href = href("index.php?page=$aPage&sub=$aSub&f=$anF"); + } + echo ' '.$items[$i]['txt'].' '; + + echo '
  • '; + } + } + + echo '
'."\n"; + } + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy; + + _updateWindow(); + + //$imgextra = '-marc15'; + + if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + //if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl.gif')) + // $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl.gif'; + if (!file_exists($HELP_LOGO = 'skin/'.$skin.'/module-help/img/help_small.jpg')) + $HELP_LOGO = 'skin/'._DEFAULT_SKIN.'/module-help/img/help_small.jpg'; + ## Név, Oldal info, Policy + echo '
'."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'."\n"; + + echo ''.$lang.''."\n"; + + echo ''; + + formBegin(array('id'=>'changeSkin','action'=>href('index.php', array('sessionID','lang')))); + echo ''; + echo ''; + global $POLICIES; + echo ''; + /* Némi javascipt támogatás a session kezelésre ebben a formban */ + $sessionMaxIdleTime=$sessionAlertTime=0; + if ((_SESSIONID!='' && _POLICY!='public') && defined('_SESSION_MAX_IDLE_TIME') && _SESSION_MAX_IDLE_TIME>0) { + $sessionMaxIdleTime=((_SESSION_MAX_IDLE_TIME*1000*60*60)+1000); + if (defined('_SESSION_ALERT_TIME')) $sessionAlertTime = ((_SESSION_MAX_IDLE_TIME*1000*60*60)-(_SESSION_ALERT_TIME*1000*60)); + } + echo ''; + echo ''; + /* --- */ + formEnd(); + echo ''; + //echo $page; + //if ($sub!='') echo ' » '.$sub; + if (is_array(@$INCLUDES['html_mayor_head']['global']['center'])) foreach ($INCLUDES['html_mayor_head']['global']['center'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo _SITE; + echo ''; + echo ''._USERCN.''; + echo ''; + echo ''; + if (isset($sub) && $sub != '') $psf = "$page:$sub:$f"; else $psf = "$page:$f"; + echo '?'; + echo '
'; + echo '
'."\n"; + ## ------------------------ + echo ''."\n"; + echo ''."\n"; + echo ''; + if (in_array('help',$INSTALLED_MODULES)) { + $link = "index.php?page=help&hpage=$page&hsub=$sub&hf=$f"; + echo ''; + } + echo "\n
'; + echo 'MaYoR'; + echo ''; + mayor_menu($MENU,$sessionID,$lang,$skin); + echo ''; + echo ''; + echo ''._HELP.''; + echo ''; + + echo '
\n"; + +} + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + echo '
'._MAIN_FOOTER.'
'."\n\n"; + echo "\n"; +} + +?> diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/img/bg.png b/mayor-orig/mayor-base/www/skin/sza2010/base/img/bg.png new file mode 100644 index 00000000..a124c5df Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sza2010/base/img/bg.png differ diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.orig.png b/mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.orig.png new file mode 100644 index 00000000..9bccfb27 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.orig.png differ diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.png b/mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.png new file mode 100644 index 00000000..3d1a92ba Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sza2010/base/img/foot.png differ diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/img/mayor_small_ssl.png b/mayor-orig/mayor-base/www/skin/sza2010/base/img/mayor_small_ssl.png new file mode 100644 index 00000000..c2eefd5f Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sza2010/base/img/mayor_small_ssl.png differ diff --git a/mayor-orig/mayor-base/www/skin/sza2010/base/img/meghivo.png b/mayor-orig/mayor-base/www/skin/sza2010/base/img/meghivo.png new file mode 100644 index 00000000..38f61f13 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/sza2010/base/img/meghivo.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/css/base.css b/mayor-orig/mayor-base/www/skin/teszt/base/css/base.css new file mode 100644 index 00000000..0b63c918 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/teszt/base/css/base.css @@ -0,0 +1,288 @@ +/* + Module: base + A rétegek sorrendje: nav2(1), head(2), poz(2), nav1(3), nav(3), logo(3), logobadge(4) + + mayorlayers + -help + -debug + -takaro + -updateWindow + -keyHelp (table) + -mayorerror + mayorhead + -head + -nav1 + -nav + -poz + -logo (a+img!) + -nav2 + mayorbody + mayorfoot +*/ + +@media screen { + + html { height: 100%; } + html body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; margin:0px; padding:0px; height: 100%; overflow: auto; } + a { text-decoration:none; } + .onClickHideShow, .onClickHide, .onClickShow { cursor: pointer; } + + + /* mayorlayers */ + #debug { + padding: 20px; background: rgba(0,0,0,0.7); color: yellow; border: 0px red solid; + position: absolute; z-index: 1000; top: 0px; left: 0px; right: 0px; + } + #debug pre { background: rgba(240,240,240,0.9); color: #880000; padding: 10px; margin: 0px;} + + #help { + border-radius: 2px; + box-shadow: 3px 3px 15px 0px rgba(100,100,100,5.0); + position: absolute; top: 10px; left: 50%; height: 600px; width: 1000px; z-index: 500; margin: 0 -500px; + border: 1px solid #888888; background: white; } + #help iframe { width: 1000px; height: 558px; margin: 0; border: none; } + #helpHeader { text-align: center; font-size: 16px; width: 992px; height: 20px; margin: 0px; background: #44cbf8; cursor: pointer; color: white; font-weight: bold; padding: 4px; + border-bottom: #f3f3f3 solid 4px; + } + #hideHelp { + position: absolute; top:4px; right: 4px; + cursor: pointer; background: #822; color: white; padding: 2px 5px; font-size: 12px; + border: #822 1px solid; border-radius: 2px; text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5); +// box-shadow: inset 0px -3px 1px rgba(0, 0, 0, 0.45), 0px 2px 2px rgba(0, 0, 0, 0.25); + } + #hideHelp:hover { background-color:red;} + + div.errorMsg { margin: 10px 20%; background: #fee; border: solid 1px red; border-radius: 2px; padding: 10px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.errorMsg span { font-weight: bold; color: #f00; } + div.infoMsg { margin: 10px 20%; background-color: #eee; border: solid 1px rgb(90,133,184); border-radius: 2px; padding: 10px; box-shadow: 0px 1px 10px rgba(0,0,0,0.5); } + div.infoMsg span { font-weight: bold; color: rgb(21,71,123); } + div.errorMsg span.alertParam, div.infoMsg span.alertParam { font-weight: normal; font-style: italic; color: green; } + + + /* mayorhead */ + /* placeholder */ + #head { z-index: 2; position: absolute; width: 100%; height: 60px; background: #3496B9 no-repeat right center; } + + #mayorhead { } + + #logo { z-index: 3; height: 40px; position: absolute; top: 8px; left: 14px; border: 0px none; } + #logobadge { z-index: 4; height: 25px; position: fixed; top: 28px; left: 90px; border: 0px none; } + + #nav, #nav ul { list-style: none; } + #nav { z-index: 3; margin: 0; padding-left: 140px; } + #nav li { position: relative; } + #nav > li { float: left; z-index: 20; text-align: center; padding: 0; + background: #3fa79c; border-bottom: 1px solid #D2DFE9; } + #nav > li.active { max-width: 160px; } + #nav > li:hover { z-index: 22; } + #nav > li > ul { top: 50px; left: -1px; /* background: #1A4B5C; */} + #nav > li > ul > li > a { margin-left: 10px; } + + #nav li:hover { background: #4fbcd7;} + #nav li.active { background: #3496B9; background: #3facc7; } + + #nav li a { display: block; padding: 3px 10px; color: white; } + #nav > li > a { padding: 0px 20px; line-height: 60px; vertical-align: middle; display: table-cell; min-width: 100px; } + #nav li a:hover { color:#fdb933; } + #nav li:hover > ul { display: block; } + + #nav li.nav1szin { background: #3496B9; border-bottom: 1px solid white; } + #nav ul.sub { background: #3facc7; } + + #nav ul { display: none; position: absolute; width: 160px; padding: 0px; } + #nav ul span { float: left; margin: 6px 5px; color: white; } + + #nav > li > ul { top: 61px; } + #nav ul > li { background: #3496B9; } + #nav ul li { text-align: left; margin-bottom: 1px; } + #nav ul li a { padding: 6px 10px; } + #nav ul li.active > a { color:#fdb933; } + + #nav ul ul { top: 0px; left: -145px; z-index: 30; background: #3facc7; background: #3496B9} + #nav ul ul a { background: #3facc7; } + #nav ul ul a:hover { background: #4fbcd7; color: white; border-right: solid 4px orange;} /* mod */ + + #nav li.start { /* fogó */ + height: 20px; min-width: 0; padding-right: 0px; padding-left: 6px; + margin-top:20px; + background-color:lightgrey; + border-radius: 0px 50px 50px 0px; border-bottom: 0px; + z-index: 20; + } + + @keyframes moIn {from {padding-left:6px;}to {padding-left:9px;}} + @-webkit-keyframes moIn {from {padding-left:6px;}to {padding-left:9px;}} + @keyframes moOut {from {padding-left:9px;}to {padding-left:6px;}} + @-webkit-keyframes moOut {from {padding-left:9px;}to {padding-left:6px;}} + + #nav:hover li.start { + animation: moIn 0.1s; -webkit-animation: moIn 0.1s; + } + + #nav li.start:hover { + background: #D2DFE9; + padding-left:9px; + } + + #poz { z-index: 2; padding: 0; list-style: none; background-color: rgb(230,230,230); margin: 0; + height: 20px; border-bottom: #f3f3f3 solid 4px; text-shadow: 0px 1px rgba(52, 150, 185, 0.1); } + #poz > li { padding: 2px 6px; } + #poz > li div.nev { float: right; padding: 2px; width: auto; color: #3496b9; text-align: right; } + #poz > li div.nev span { margin-right: 0px; font-size:12px; } + #poz > li div.nev span:hover { color:#00c0ff; } + #poz > li a { margin-right:5px; margin-left:15px; padding:0px; margin-top:0px; vertical-align: middle;} + + #settings { +/* + width: 311px; + margin-top: 5px; position:relative; right: 0px; + background: #eeeeee; + border-width: 0px 1px 1px 1px; + border-style: solid; + border-color: rgb(230,230,230); + border-top: dotted 1px #dddddd; +*/ + + width: 311px; + margin-top: 5px; position:relative; right: 0px; + background: #eeeeee; + border-width: 0px 1px 1px 1px; + border-style: solid; + border-color: rgb(230,230,230); + border-top: dotted 1px #dddddd; + + } + #settings div { + padding: 20px 10px; + border-bottom: 1px solid rgb(230,230,230); + } + #settings div p { margin: 0; padding: 0; text-align: center; } + #settings div p.name { font-weight: bold; } + #settings table { width: 300px; background: rgb(245,245,245);} + #settings td { width: 50%; text-align: center; padding: 10px; } + #settings td a { + display: inline-block; + vertical-align: baseline; line-height: 29px; + position: static; + padding: 0px 8px; height: 29px; margin: 0px 8px; + text-align: center; text-decoration: none; font-weight: bold; font-size: 10px; + background: white; color: #444; + border: solid 1px rgba(0, 0, 0, 0.0976563); + border-radius: 2px; + } + #settings td a:hover { border: white 1px solid; background-color: #44CBF8; color: white; } + + #poz > li span.school { + font-variant: small-caps; + font-size: 14px; + color: white; + letter-spacing: 0.4em; + overflow: hidden; + } + + + #nav1 { z-index: 3; position: absolute; margin-left: 310px; margin-right: 0px; width: 100%;} + #nav1 div { background: rgba(52,150,185,0.6); } + #nav1 div a { line-height:60px; padding: 0px 12px 0px 12px; display: inline-block; text-decoration: none; color: #fff; + background: #3496b9; margin-top: 0px; } + #nav1 div a:hover { color: #fdb933; + background-color: ; + box-shadow: inset 0px -3px 0px #44CBF8; + } + #nav1 div a.aktiv { color:#fdb933; } + #nav1 div a.aktiv:hover { color: white; } + + #nav1 div span.onClickHideShow { + display:none; + cursor: pointer; color: white; background: rgba(255,255,255,0.2); line-height:60px; + padding: 0px 12px 0px 12px; float: right; margin-right: 310px/* annyi, amennyi a #nav1 bal margója!*/; } + + #nav2.vertical { + z-index: 1; width: 140px; margin: 0; height: 100%; + background-color: #D2DFE9; + margin-top: -25px; + padding-top: 25px; + position: fixed; + overflow: auto; + top:83px; + background: -webkit-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: -moz-linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + background: linear-gradient(top, #D2DFE9 0%,#D2DFE9 50%,#ffffff 100%); + } + #nav2.vertical ul { margin: 0; padding: 0; list-style: none; } + #nav2.vertical ul li { border-bottom: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li:first-child { border-top: solid 1px rgba(100,100,100,0.4); } + #nav2.vertical ul li a { display: block; color: black; font-size: 11px; width: 128px; padding: 6px 6px; text-decoration: none; } + #nav2.vertical ul li a.aktiv { background-color: white; } + #nav2.vertical ul li a:hover { color: white; background: #9abcd8; } + + #nav2.horizontal { + z-index: 1; width: 100%; + margin-top: 0px; + top: 83px; + text-align: center; + padding-top: 5px; padding-bottom: 5px; + position: fixed; + overflow: none; + border-bottom: solid 3px #eeeeee; + background-color: #82bfd5; + color: white; + font-size:x-small; + } + #nav2.horizontal ul { margin: 0; padding: 0; list-style: none; } + #nav2.horizontal ul li { display: inline; border-right: solid 1px #888888; } + #nav2.horizontal ul li:last-child { display: inline; border-right: solid 0px #888888; } + #nav2.horizontal ul li a {display: inline; color: white; width: 128px; padding: 0px 6px; text-decoration: none; } + #nav2.horizontal ul li a.aktiv { color: white; background-color: orange;} + #nav2.horizontal ul li a:hover { color: white; background: orange; } + #nav2.horizontal:hover { + + } + + div.mayorfoot { text-align: center; font-size:smaller; color: #aaa; } + div.mayorfoot a { color: rgba(52, 150, 185, 0.6);} + div.mayorfoot:hover a { color: rgba(52, 150, 185, 1);} + #mayorfoot.leftpad { margin-top:2em; margin-left: 141px; } + #mayorfoot.toppad { margin-top: 40px; margin-left: 0px; } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow { z-index: 152; position: fixed; background: rgb(255,255,255); min-height: 100px; min-width: 200px; border: #3496B9 3px solid; border-radius: 10px;} + #updateWindow #updateHeader { min-height: 20px; min-width: 100px; background: #1a4c5c; color: white; text-align: center; line-height: 20px; position: relative; top: -13px; border-radius: 20px; margin: 0 50px; border: solid 3px #3496b9; } + #updateWindow #updateCloseButton { position: absolute; right: -20px; top: -20px; z-index: 0; background : white; border: solid 3px #3496b9; border-radius: 20px;} + #updateWindow #updateCloseButton:hover { background : #eeeeee;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 400px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; width: 100px; } + #keyHelp td.desc { color: white; text-align: left; } + + #logo, #head, #nav1, #nav, #poz { position: fixed; } + #head { top: 0; left: 0; } + #nav { top: 0; left: 0; } + #nav1 { top: 0; } + #poz { top: 60px; width: 100%; } + + #mayorbody { padding-top: 1px; padding-right: 0px; + /*margin-left:0px;*/ margin-top: 83px; + } + #mayorbody.leftpad { + margin-left: 141px; } + #mayorbody.toppad { + margin-left: 0px; top:33px; position: relative; + } + + + /* alternates */ + #mayorhead.small #nav1 div a { line-height:30px; } + #mayorhead.small #nav > li > a { line-height:30px;} + #mayorhead.small #head { height:30px;} + #mayorhead.small #poz { height:20px;} + + /* ------------ */ + + +} +@media print { + #nav, #nav1, #nav2, #poz, #head, #logo, #mayorfoot, #logobadge { display: none; } +} diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/teszt/base/html/base.phtml new file mode 100644 index 00000000..77e12bc7 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/teszt/base/html/base.phtml @@ -0,0 +1,407 @@ + base.php + putValidXHTML() +*/ + + require('skin/blue/base/color_schemes.php'); + if (!defined('__COLOR_SCHEME') || !is_array($_COLOR_SCHEMES[__COLOR_SCHEME])) + $_COLORS = $_COLOR_SCHEMES['blue']; + else + $_COLORS = $_COLOR_SCHEMES[__COLOR_SCHEME]; + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpHeader(); + + if ($MENU['set'][$policy][$page][$sub][$f]['refresh'] > 0) { + @header("Refresh:".intval($MENU['set'][$policy][$page][$sub][$f]['refresh'])); + } + + html_head($page,$sub,$f,$lang,$skin); + _debugLayer(); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + echo '
'; + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'leftpad' : 'toppad'; + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH, $SSSBB; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + + // debug üzenetek layer-ének lezárása +// if (defined('__START_DEBUG') && __START_DEBUG === true) echo "\n"; + + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - '; + echo _MAIN_TITLE; + echo '.'; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + if (is_string($SSSHH) && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo "\n\n"; + if (is_string($SSSBB) && $SSSBB!='') echo $SSSBB; + +} + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $policy, $page, $sub, $f, $LANGUAGES, $SKINSSHOW, $_COLORS; + + echo ''."\n"; + + $loginout_img = _svgLoginout(array('print'=>false, 'color' => $_COLORS['login'])); + $down_svg = _svgDown(array('print'=>false, 'color' => $_COLORS['login'])); + // ------------------------ + + echo '
    '; + echo '
  • '; + if (!defined('_SCHOOL_NAME')) define('_SCHOOL_NAME',_SITE/*.' - '._MAIN_TITLE.'.'._MAYORREV*/); + echo ''._SCHOOL_NAME.''; + + if ($policy == 'public') { + echo '
    '.$down_svg.' '._LOGIN.''; + echo ''; + echo $loginout_img; + echo ''; + echo ''; + echo '
    '; + } else { + echo '
    '.$down_svg.' '._USERCN.''; + echo ''; + echo $loginout_img; + echo ''; + echo ''; + echo '
    '; + } // policy != punlic +//var_dump(substr($_SERVER["REQUEST_URI"],0,strpos($_SERVER["REQUEST_URI"],'sessionID='))); + + echo '
  • '; + echo '
'; + + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy, $SCHOOL_LOGO, $SCHOOL_IDENTITY, $SCHOOL_URL, $NAV; + + _updateWindow(); + _keyHelp(); + + echo '
'; + + //if (date('m')==12) $imgextra = '-santa'; else $imgextra = ''; + if (defined('_HOME_LOGO') && file_exists(_HOME_LOGO)) $HOME_LOGO=_HOME_LOGO; + elseif (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + + if (defined('_HOME_LOGO_BADGE') && file_exists(_HOME_LOGO_BADGE)) $HOME_LOGO_BADGE=_HOME_LOGO_BADGE; +// elseif (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) +// $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + + echo ''; + + echo "\n"; + echo ''."\n\n"; + + mayor_menu($MENU,$sessionID,$lang,$skin); + + echo ''; + + + echo "\n"; + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'vertical' : 'horizontal'; + echo ''."\n\n"; + + echo '
'."\n"; + +} + + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + $_defaultPageLayout = ($_SESSION['pageLayout']==0) ? 'leftpad' : 'toppad'; + echo '
'._MAIN_FOOTER.'
'."\n\n"; + echo "\n"; +} + + +?> diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_medium.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_medium.png new file mode 100644 index 00000000..50ea66a7 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_medium.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_small.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_small.png new file mode 100644 index 00000000..b503f4de Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR-star_small.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_elektronikus_naplo.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_elektronikus_naplo.png new file mode 100644 index 00000000..a6d02c3b Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_elektronikus_naplo.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_rypple.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_rypple.png new file mode 100644 index 00000000..8bbdfad9 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_rypple.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_star.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_star.png new file mode 100644 index 00000000..d701f106 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/MaYoR_star.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/mayor_small_ssl.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/mayor_small_ssl.png new file mode 100644 index 00000000..ca42a8d0 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/mayor_small_ssl.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/school_logo.php b/mayor-orig/mayor-base/www/skin/teszt/base/img/school_logo.php new file mode 100644 index 00000000..19f74ba0 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/teszt/base/img/school_logo.php @@ -0,0 +1,91 @@ + diff --git a/mayor-orig/mayor-base/www/skin/teszt/base/img/settings.png b/mayor-orig/mayor-base/www/skin/teszt/base/img/settings.png new file mode 100644 index 00000000..272d4c5f Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/teszt/base/img/settings.png differ diff --git a/mayor-orig/mayor-base/www/skin/teszt/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/teszt/module-auth/css/login.css new file mode 100644 index 00000000..872d000f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/teszt/module-auth/css/login.css @@ -0,0 +1,46 @@ +@media screen { + +div.mayorbody img { border-width: 0px; } +div.mayorbody h1 {text-align: center; margin:10px; font-size:20px; } +div.mayorbody h2 {text-align: center; margin:10px; font-size: 15px; } +div.mayorbody table { font-size: 12px; } +div.mayorbody table.main {width: 100%; border-width: 0px;} +div.mayorbody table.loginablak { + background-color: #ffffff; + border-width: 1px; + border-style: solid; + border-color: #555550; + width:400px} +div.mayorbody td { padding: 2px } +div.mayorbody form { margin: 30px;padding: 0px; } +div.mayorbody input { font-size: 12px; font-family:Verdana,Arial; background-color: #fffff0; border: solid 1px #666690;} +div.mayorbody select.pp { padding: 0px; margin: 0px; border: none 0px #778890; font-size: 12px; background-color: #eeeee0; font-family: Verdana,Arial; } +div.mayorbody select.pp>option { border: none 0px black; } +div.mayorbody input.submit { border: solid 1px #776650; } +div.mayorbody table.loginablak thead td { + background-color: #666690; + text-align: center; + font-family: Verdana,arial; + font-size: 10pt; + font-weight: bold; + color: white; + border-bottom: solid 1px white; +div.mayorbody } +div.mayorbody table.loginablak tbody tr.top td { border-top: solid 1px #666690; } + +div.mayorbody tfoot td { background-color: #888880; text-align: center; } +div.mayorbody td.co { text-align: center; vertical-align: bottom; font-family: Verdana,arial; font-size:8pt; } +div.mayorbody img.aauthImg { + border-top: solid 1px #666690; + border-bottom: solid 1px #888880; + border-left: solid 1px #666690; + border-right: solid 1px #888880; +} +#warning { height: 40px; } +#capsLockWarning { + background: #ffffaa; color: #ffaaaa; + text-align: center; font-size: 20px; font-weight: bold; + padding: 20px; margin: 10px auto; width: 300px; +} + +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/vakbarat/base/css/base.css b/mayor-orig/mayor-base/www/skin/vakbarat/base/css/base.css new file mode 100644 index 00000000..9bd3ce5f --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/vakbarat/base/css/base.css @@ -0,0 +1,175 @@ +/* Új menü */ + + ul#pagemenu { + padding: 5px; + text-align: left; + background-color: #040562; + list-style-type: none; + margin:0px; + } + ul#pagemenu li { + display: inline; + border-width: 0px 1px 0px 0px; + border-color: #8485a2; + border-style: dotted; + padding: 0px; + margin:10px 0px 10px 0px; + } + ul#pagemenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 3px 10px; + margin: 0px; + } + ul#pagemenu li a:hover { + background-color: yellow; + text-decoration: underline; + color: black; + } + ul#pagemenu li.active a { + background-color: yellow; + color: black; + } + ul#pagemenu li.active a:hover { + background-color: white; + color: black; + + } + +/* SUB */ + + ul#submenu { + padding: 5px; + text-align: left; + background-color: #040582; + list-style-type: none; + border-top: solid 1px #666666; + margin:0px; + } + ul#submenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + padding: 0px 0px; + } + ul#submenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 3px 10px; + margin: 0px; + } + ul#submenu li a:hover { + background-color: yellow; + color: black; + text-decoration: underline; + } + ul#submenu li.active a { + background-color: yellow; + color: black; + padding:3px; + } + ul#submenu li.active a:hover { + background-color: white; + color: black; + + } + +/* f */ + + ul#fmenu { + padding: 5px; + text-align: left; + background-color: #0405a2; + list-style-type: none; + margin:0px; + border-top: solid 1px #666666; + } + ul#fmenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #8485a2; + border-style: dotted; + } + ul#fmenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 3px 10px; + } + ul#fmenu li a:hover { + background-color: rgb(100,100,140); + text-decoration: underline; + } + ul#fmenu li.active a { + background-color: yellow; + color: black; + padding:3px; + } + ul#fmenu li.active a:hover { + background-color: white; + color: black; + } + + #changeSkin { + display: inline; + } + #changeSkin .onChangeSubmit { + background-color: #eeeeee; + font-size:14px; + } + + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + margin:0px; + padding:0px; + background-color: white; + } + + /* set default layout! */ + table { font-size: 12px; } + + form { margin: 0px; } + + div.mayorbody { + + padding: 0px; + + } + + div.mayorfoot { + text-align: center; + font-size: 10px; + width:100%; + } +/* - Alert - */ + + form.mayorAlert { margin: 0px; padding: 0px; } + form.mayorAlert input { display: none; } + div.errorMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #ff0000; + padding: 15px; + } + div.errorMsg span { + font-style: italic; + } + + div.infoMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #0000ff; + padding: 15px; + } + div.infoMsg span { + font-style: italic; + } + + span.alertParam { + color: green; + } + + h1#menu { text-align: left; } + h1#tartalom { text-align: left; } + h1#lablec { text-align: left; } diff --git a/mayor-orig/mayor-base/www/skin/vakbarat/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/vakbarat/base/html/base.phtml new file mode 100644 index 00000000..62f6f4bb --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/vakbarat/base/html/base.phtml @@ -0,0 +1,231 @@ +'; + page($page,$sub,$f,$lang,$skin,$policy); + echo ''; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - Vakbarát '; + echo _MAIN_TITLE; + echo '.'; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + //includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + //includeJS($page,$sub,$f,$skin); + if ($SSSHH!=null && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo "\n\n"; + +} + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $page, $sub, $f; + + echo ''; + + // II: SZINT + @$pageArray = $MENU['modules'][$page]; + $aPage = $page; + + if (is_array($pageArray)) { + echo ''."\n"; + } + + // III: SZINT + @$subArray = $MENU['modules'][$page]['sub'][$sub]; + $aSub = $sub; + + if (is_array($subArray)) { + echo '
    '; + + foreach ($subArray as $anF => $items) { + for ($i=0;$i'; + else echo '
  • '; + + if (isset($items[$i]['url']) && $items[$i]['url'] != '') { + if ($items[$i]['url'][0] == '&') $href = href("index.php?page=$aPage&sub=$aSub&f=$anF".$items[$i]['url']); + elseif (substr($items[$i]['url'],0,4) == 'http') $href = href($items[$i]['url'], array()); + elseif (isset($items[$i]['get']) && is_array($items[$i]['get'])) $href = href($items[$i]['url'], $items[$i]['get']); + else $href = href($items[$i]['url']); + } else { + $href = href("index.php?page=$aPage&sub=$aSub&f=$anF"); + } + //echo ' '.$items[$i]['txt'].' '; + echo ' '.$items[$i]['txt'].' '; + + echo '
  • '; + } + } + + echo '
'."\n"; + } + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy; + + _updateWindow(); + _keyHelp(); + + if (date('m')==12) $imgextra = '-santa'; else $imgextra = ''; + + if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl'.$imgextra.'.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl'.$imgextra.'.png'; + //if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl.gif')) + // $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl.gif'; + if (!file_exists($HELP_LOGO = 'skin/'.$skin.'/module-help/img/help_small.jpg')) + $HELP_LOGO = 'skin/'._DEFAULT_SKIN.'/module-help/img/help_small.jpg'; + + ## Név, Oldal info, Policy +// echo ''."\n"; + ## ------------------------ + echo '

Menü

'; + mayor_menu($MENU,$sessionID,$lang,$skin); + echo '

Tartalom

'."\n"; +} + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + echo '

Lábléc

'."\n"; + echo ''._SWITCH_TO_CLASSIC_SKIN.''; + echo '
'._MAIN_FOOTER.'
'; + echo "\n"; +} + +?> diff --git a/mayor-orig/mayor-base/www/skin/vakbarat/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/vakbarat/module-auth/css/login.css new file mode 100644 index 00000000..b94c93d3 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/vakbarat/module-auth/css/login.css @@ -0,0 +1,9 @@ +img { border-width: 0px; } +h1 {text-align: center; margin: 10px; font-size:20px; } +h2 {text-align: center; margin: 10px; font-size: 15px; } +h3 {text-align: center; margin: 10px; font-size: 12px; } +form#login { margin: 30px;padding: 0px; text-align: center; } +input { font-size: 12px; font-family:Verdana,Arial; background-color: #fffff0; border: solid 1px #666690;} +select.pp { padding: 0px; margin: 0px; border: none 0px #778890; font-size: 12px; background-color: #eeeee0; font-family: Verdana,Arial; } +select.pp>option { border: none 0px black; } +input.submit { border: solid 1px #776650; } diff --git a/mayor-orig/mayor-base/www/skin/vakbarat/module-auth/html/login.phtml b/mayor-orig/mayor-base/www/skin/vakbarat/module-auth/html/login.phtml new file mode 100644 index 00000000..c7c54cfa --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/vakbarat/module-auth/html/login.phtml @@ -0,0 +1,55 @@ +'._SITE.''."\n"; + echo '

'._GREETING.'

'."\n"; + + formBegin(array('method'=>'post', + 'action'=>'index.php?policy=public&page=auth&f=login&toPolicy='.$toPolicy.'&sessionID='.$sessionID , + 'name'=>"loginablak", 'id'=>'login')); + + echo ''; + echo ''; + + echo '

'."\n"; + echo _LOGIN; + echo '

'."\n"; + + echo ''; + echo ''."
\n"; + + echo ''."\n"; + + echo ''."
\n"; + + echo ''."\n"; + + formEnd(); + +/* + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo '
'."\n"; + echo _MAYOR_DESC."\n"; + echo '
'."\n"; +*/ + } + +?> diff --git a/mayor-orig/mayor-base/www/skin/winter/base/css/base.css b/mayor-orig/mayor-base/www/skin/winter/base/css/base.css new file mode 100644 index 00000000..c292014e --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/winter/base/css/base.css @@ -0,0 +1,85 @@ +/* + Module: base +*/ +@import "head.css"; +@media screen { + + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + margin:0px; + padding:0px; + background-color: white; + background-image: url("/skin/winter/base/img/bg2.jpg"); + background-repeat: repeat-x; + } + + /* set default layout! */ + table { font-size: 12px; } + + a { color: #00a000; } + + form { margin: 0px; } + + div.mayorbody { + + padding: 0px; + + } + + div.mayorfoot { + text-align: center; + font-size: 10px; + width:100%; + } +/* - Alert - */ + + form.mayorAlert { margin: 0px; padding: 0px; } + form.mayorAlert input { display: none; } + div.errorMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #ff0000; + padding: 15px; + } + div.errorMsg span { + font-style: italic; + } + + div.infoMsg { + margin: 20px 20%; + background-color: #eeffd0; + border: solid 2px #0000ff; + padding: 15px; + } + div.infoMsg span { + font-style: italic; + } + + span.alertParam { + color: green; + } + + #takaro { z-index:150;position: fixed;top:0px; left:0px; right:0px; bottom:0px; background-color: rgba(0,0,0,0.7); } + #updateWindow {background-color: white; position: absolute;z-index:200;margin:auto auto; width:400px;} + #keyHelp { z-index:151;position: absolute; top:200px; left: 200px; right:200px; margin: auto; padding: 20px; width: 300px; + border: solid 1px yellow; border-radius: 20px; border-spacing: 15px; background-color: rgba(0,0,0,0.4); + } + #keyHelp th { color: white; text-align: center; border-bottom: yellow 2px solid; font-size: 20px; font-weight: bold; } + #keyHelp td.key { color: yellow; text-align: right; } + #keyHelp td.desc { color: white; text-align: left; } + +} +@media print { + html body { + font-family: Verdana, sans-serif; + font-size: 12px; + } + div.mayorfoot { + text-align: center; + font-size: 10px; + margin: 5px; + } + div.namepolicy { display: none; } + table.mayorhead { display: none; } +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/winter/base/css/head.css b/mayor-orig/mayor-base/www/skin/winter/base/css/head.css new file mode 100644 index 00000000..658e9b4b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/winter/base/css/head.css @@ -0,0 +1,154 @@ +/* + Module: base +*/ +@media screen { + + div.namepolicy { + + border-style: none none solid none; + border-width: 1px; + border-color: #666666; + } + div.namepolicy table { font-size: 10px; width:100%; } + div.namepolicy table td { width:40%; } + div.namepolicy table td.right { text-align: right; } + div.namepolicy table td.right span.nev { color: #ffffff; font-weight: bold; } + div.namepolicy table td.right img { border: none; margin: 0px 1px;} + div.namepolicy table td.left { text-align: left;} + div.namepolicy table td.help a { background-color:#ffffff; text-decoration: none; font-weight: bold; padding: 2px 5px; color: rgb(80,60,40); display: block; } + div.namepolicy table td.help a:hover { background-color:#bec87c; } + div.namepolicy table th { width:20% } + div.namepolicy span.nev { padding-right: 14px; } + div.namepolicy table td.language span { vertical-align: middle; } + div.namepolicy table td.language img { margin: 0px 0px 0px 4px; height: 10px; border: solid 1px #777777; } + #langSelect { vertical-align: middle; padding: 0px; margin: 0px;} + + table.mayorhead { font-size: 10px; margin: 3px 3px 20px 3px;} + + table.mayorhead td.namepolicy { padding: 5px; } + table.mayorhead td.namepolicy table { + font-size: 10px; + border-style: solid; + border-width: 2px ; + border-color: #550670; + background-color: #8877aa; + color: white; + } + +/* Új menü */ + + ul#pagemenu { + padding: 1px; + text-align: left; + background-color: darkcyan; + list-style-type: none; + margin:1px; + } + ul#pagemenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #007777; + border-style: dotted; + padding: 0px; + } + ul#pagemenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#pagemenu li a:hover { + background-color: #004444; + text-decoration: underline; + } + ul#pagemenu li.active a { + background-color: #920405; + } + ul#pagemenu li.active a:hover { + background-color: rgb(200,0,0); + } + +/* SUB */ + + ul#submenu { + padding: 1px; + text-align: left; + background-color: #006666; + list-style-type: none; + margin:1px 1px 1px 40px; + } + ul#submenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #84a285; + border-style: dotted; + padding: 0px; + } + ul#submenu li.onClickHideShow { color: rgb(255,255,255); padding: 0px 2px; cursor: pointer; } + ul#submenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#submenu li a:hover { + background-color: #003333; + text-decoration: underline; + } + ul#submenu li.active a { + background-color: #920405; + } + ul#submenu li.active a:hover { + background-color: rgb(200,0,0); + } + +/* f */ + + ul#fmenu { + padding: 1px; + text-align: left; + background-color: #005555; + list-style-type: none; + margin:1px 1px 1px 80px; + } + ul#fmenu li { + display: inline; + border-width: 0px 0px 0px 1px; + border-color: #84a285; + border-style: dotted; + padding: 0px; + } + ul#fmenu li.onClickHideShow { color: rgb(255,255,255); padding: 0px 2px; cursor: pointer; } + ul#fmenu li a { + color: rgb(255,255,255); + text-decoration: none; + padding: 0px 5px; + margin: 0px; + } + ul#fmenu li a:hover { + background-color: #005555; + text-decoration: underline; + } + ul#fmenu li.active a { + background-color: #920405; + } + ul#fmenu li.active a:hover { + background-color: rgb(200,0,0); + } + + + #changeSkin { + display: inline; + } + #changeSkin .onChangeSubmit { + background-color: #ffffff; + font-size:9px; + } + +} +@media print { + + div.namepolicy { display: none; } + table.mayorhead { display: none; } + +} \ No newline at end of file diff --git a/mayor-orig/mayor-base/www/skin/winter/base/html/base.phtml b/mayor-orig/mayor-base/www/skin/winter/base/html/base.phtml new file mode 100644 index 00000000..c004bf64 --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/winter/base/html/base.phtml @@ -0,0 +1,314 @@ + base.php + putValidXHTML() +*/ + + +// ------------------------------------------------------------------- +// html_base() : a html oldal szerkezete +// ------------------------------------------------------------------- + +function html_base($sessionID,$policy,$page,$sub,$f,$lang,$skin,$MENU) { + + _httpHeader(); + html_head($page,$sub,$f,$lang,$skin); + html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin); + _debugLayer(); + + echo '
'; + page($page,$sub,$f,$lang,$skin,$policy); + echo '
'; + html_mayor_foot(); +} + +// ------------------------------------------------------------------- +// html_head() : html fejlec kiirasa +// ------------------------------------------------------------------- + +function html_head($page,$sub,$f,$lang,$skin) { + + global $INCLUDES, $SSSHH; + + if ($f == '') $f = $page; + ## ---------------------------------------------- + ## Note http://hixie.ch/advocacy/xhtml + ## But this is crazy! Using Doctype sniffing instead... + ## Also read: http://www.mozilla.org/docs/web-developer/faq.html + ## header('Content-type: application/xhtml+xml'); + ## ----------------------------------------------- + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''."\n"; + echo ''; + if (defined('_SITE')) echo ' - '._SITE.' - '; + echo _MAIN_TITLE; + echo ' r'; + echo _MAYORREV; + echo ''."\n"; + includeCSS($page,$sub,$f,$skin); + includeCSS($page,$sub,$f,$skin,'handheld'); // install css for handheld devices + includeJS($page,$sub,$f,$skin); + if ($SSSHH!=null && $SSSHH!='') echo $SSSHH; + + if (is_array(@$INCLUDES['html_head']['global'])) foreach ($INCLUDES['html_head']['global'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + if (is_array(@$INCLUDES['html_head'][$page])) foreach ($INCLUDES['html_head'][$page] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + echo ''."\n"; + echo "\n\n"; + +} + + +// ------------------------------------------------------------------- +// mayor_menu(): a menü kiiratása +// ------------------------------------------------------------------- + +function mayor_menu($MENU,$sessionID,$lang = _DEFAULT_LANG,$skin = _DEFAULT_SKIN) { + + global $page, $sub, $f; + + echo ''; + + // II: SZINT + @$pageArray = $MENU['modules'][$page]; + $aPage = $page; + + if (is_array($pageArray)) { + echo ''."\n"; + } + + // III: SZINT + @$subArray = $MENU['modules'][$page]['sub'][$sub]; + $aSub = $sub; $rejtett = false; + + if (is_array($subArray)) { + echo '
    '; + + foreach ($subArray as $anF => $items) { + for ($i=0;$i'; + elseif ($items[$i]['rejtett']) { echo '
  • '; + + if (isset($items[$i]['url']) && $items[$i]['url'] != '') { + if ($items[$i]['url'][0] == '&') $href = href("index.php?page=$aPage&sub=$aSub&f=$anF".$items[$i]['url']); + elseif (substr($items[$i]['url'],0,4) == 'http') $href = href($items[$i]['url'], array()); + elseif (isset($items[$i]['get']) && is_array($items[$i]['get'])) $href = href($items[$i]['url'], $items[$i]['get']); + else $href = href($items[$i]['url']); + } else { + $href = href("index.php?page=$aPage&sub=$aSub&f=$anF"); + } + echo ' '.$items[$i]['txt'].' '; + + echo '
  • '; + } + } + if ($rejtett) { + echo '
  • ⟩⟩
  • '; + echo ''; + } + echo '
'."\n"; + } + +} + +// ------------------------------------------------------------------- +// html_mayor_head() : fejlec kiirasa (logo+menu+lastupdated) +// ------------------------------------------------------------------- + +function html_mayor_head($sessionID,$page,$sub,$f,$lang,$MENU,$skin = _DEFAULT_SKIN) { + + global $INCLUDES, $INSTALLED_MODULES, $LANGUAGES, $SKINS, $SKINSSHOW, $policy; + + + _updateWindow(); + _keyHelp(); + + if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl.png')) + $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl.png'; + //if (!file_exists($HOME_LOGO = 'skin/'.$skin.'/base/img/mayor_small_ssl.gif')) + // $HOME_LOGO = 'skin/'._DEFAULT_SKIN.'/base/img/mayor_small_ssl.gif'; + if (!file_exists($HELP_LOGO = 'skin/'.$skin.'/module-help/img/help_small.jpg')) + $HELP_LOGO = 'skin/'._DEFAULT_SKIN.'/module-help/img/help_small.jpg'; + ## Név, Oldal info, Policy + echo '
'."\n"; + echo ''."\n"; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
'."\n"; + + echo ''.$lang.''."\n"; + + echo ''; + + echo '
'; + echo ''; + global $POLICIES; + echo ''; + + echo '
'; + echo '
'; + #echo $page; + #if ($sub!='') echo ' » '.$sub; + // --- csak egy próbálkozás!! --------------- + // Szerver idő... + //if (file_exists('skin/classic/module-kellekek/html/clock.phtml')) + // include('skin/classic/module-kellekek/html/clock.phtml'); + + if (is_array(@$INCLUDES['html_mayor_head']['global']['center'])) foreach ($INCLUDES['html_mayor_head']['global']['center'] as $key => $include) { + if (file_exists("skin/$skin/$include")) { + include("skin/$skin/$include"); + } elseif (file_exists('skin/'._DEFAULT_SKIN.'/'.$include)) { + include('skin/'._DEFAULT_SKIN.'/'.$include); + } + } + // --- vége a próbálkozásnak ---------------- + echo ''; + echo ''._USERCN.''; + echo ''; + echo ''.$policy.''; + echo ''; + if (isset($sub) && $sub != '') $psf = "$page:$sub:$f"; else $psf = "$page:$f"; + echo '?'; + echo '
'; + echo '
'."\n"; + ## ------------------------ + echo ''."\n"; + echo ''."\n"; + echo ''; + if (in_array('help',$INSTALLED_MODULES)) { + $link = "index.php?page=help&hpage=$page&hsub=$sub&hf=$f"; + echo ''; + } + echo "\n
'; + echo 'MaYoR'; + echo ''; + mayor_menu($MENU,$sessionID,$lang,$skin); + echo ''; + echo ''; + echo ''._HELP.''; + echo ''; + + echo '
\n"; + +} + +// ------------------------------------------------------------------- +// html_mayor_foot() : lablec kiirasa ( ) +// ------------------------------------------------------------------- + +function html_mayor_foot() { + echo '
'._MAIN_FOOTER.'
'; + echo "\n"; +} + + + +?> diff --git a/mayor-orig/mayor-base/www/skin/winter/base/img/bg.gif b/mayor-orig/mayor-base/www/skin/winter/base/img/bg.gif new file mode 100644 index 00000000..54e912c0 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/winter/base/img/bg.gif differ diff --git a/mayor-orig/mayor-base/www/skin/winter/base/img/bg2.gif b/mayor-orig/mayor-base/www/skin/winter/base/img/bg2.gif new file mode 100644 index 00000000..38f1d0d1 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/winter/base/img/bg2.gif differ diff --git a/mayor-orig/mayor-base/www/skin/winter/base/img/bg2.jpg b/mayor-orig/mayor-base/www/skin/winter/base/img/bg2.jpg new file mode 100644 index 00000000..33e9a7c9 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/winter/base/img/bg2.jpg differ diff --git a/mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_ssl.gif b/mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_ssl.gif new file mode 100644 index 00000000..378ffb88 Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_ssl.gif differ diff --git a/mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_winter.gif b/mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_winter.gif new file mode 100644 index 00000000..635e4f7c Binary files /dev/null and b/mayor-orig/mayor-base/www/skin/winter/base/img/mayor_small_winter.gif differ diff --git a/mayor-orig/mayor-base/www/skin/winter/module-auth/css/login.css b/mayor-orig/mayor-base/www/skin/winter/module-auth/css/login.css new file mode 100644 index 00000000..f4cab44b --- /dev/null +++ b/mayor-orig/mayor-base/www/skin/winter/module-auth/css/login.css @@ -0,0 +1,39 @@ +@media screen { + img { border-width: 0px; } + h1 { text-align: center; margin: 10px; font-size:20px; } + h2 { text-align: center; margin: 10px; font-size: 15px; } + table { font-size: 12px } + table.main {width: 100%; border-width: 0px;} + table.loginablak {background-color: #ffffff; border-width: 1px; border-style: solid; border-color: #555550; width:400px} + td { padding: 2px } + form { margin: 30px; padding: 0px; } + input { font-size: 10px; font-family: Verdana,Arial; background-color: #fffff0; } + select.pp { + padding: 0px; margin: 0px; + border: none 0px #778890; + font-size: 12px; + background-color: #eeeee0; + font-family: Verdana,Arial; + } + select.pp>option { border: none 0px black; } + input.submit { border: solid 1px #776650; } + thead td { + background-color: #a00000; + text-align: center; + font-family: Verdana,arial; + font-size: 10pt; + font-weight: bold; + color: white; + } + tfoot td { + background-color: #888880; + text-align: center; + } + form.loginablak tbody img { border: solid 1px #bbddbb; } + td.co { + text-align: center; + vertical-align: bottom; + font-family: Verdana,arial; + font-size: 8pt; + } +} \ No newline at end of file -- cgit v1.2.3