From b56232d758a1e2537dc4f2e1f3a7716e7ef44941 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Wed, 24 Jul 2019 09:11:38 +0200
Subject: [PATCH] OO-4152: remove type="text/javascript" and type="text/css"

---
 .../calendar/ui/CalendarPrintMapper.java      |  2 +-
 .../FullCalendarComponentRenderer.java        |  2 +-
 .../cluster/jms/_content/refresh.html         |  2 +-
 .../InfoMessagePortletRunController.java      |  2 +-
 .../commons/memberlist/ui/_content/print.html |  2 +-
 .../linkchooser/_content/close.html           |  2 +-
 .../fullWebApp/_content/fullwebapplayout.html | 80 +++++++++----------
 .../commons/fullWebApp/_content/guimsg.html   |  6 +-
 .../fullWebApp/_content/main_3cols.html       |  2 +-
 .../commons/fullWebApp/_content/message.html  |  4 +-
 .../fullWebApp/_content/nav_sites.html        |  2 +-
 .../commons/fullWebApp/_content/nav_tabs.html |  2 +-
 .../modules/bc/components/ListRenderer.java   |  4 +-
 .../bc/meta/_content/external_url.html        |  2 +-
 .../singlepage/SinglePageController.java      |  4 +-
 .../ui/_content/userComments.html             |  4 +-
 .../ui/_content/userCommentsAndRatings.html   |  4 +-
 .../collabora/ui/_content/collabora.html      |  2 +-
 .../office365/ui/_content/editor.html         |  2 +-
 .../onlyoffice/ui/_content/editor.html        |  4 +-
 .../services/license/ui/LicenseRenderer.java  |  2 +-
 .../gui/components/ComponentRenderer.java     |  4 +-
 .../chart/BarChartComponentRenderer.java      |  2 +-
 .../chart/RadarChartComponentRenderer.java    |  2 +-
 .../DisplayOrDownloadComponentRenderer.java   |  2 +-
 .../form/flexible/impl/FormJSHelper.java      |  8 +-
 .../impl/elements/AutoCompleterRenderer.java  |  2 +-
 .../impl/elements/FormButtonRenderer.java     |  2 +-
 .../elements/MultipleSelectionRenderer.java   |  4 +-
 .../impl/elements/SliderElementRenderer.java  |  2 +-
 .../elements/TextAreaElementRenderer.java     |  2 +-
 .../richText/RichTextElementRenderer.java     |  2 +-
 .../table/AbstractFlexiTableRenderer.java     | 10 +--
 .../htmlsite/HtmlStaticPageComponent.java     |  2 +-
 .../gui/components/image/ImageRenderer.java   |  4 +-
 .../gui/components/link/LinkRenderer.java     |  2 +-
 .../rating/RatingWithAverageRenderer.java     |  2 +-
 .../gui/components/table/TableRenderer.java   |  2 +-
 .../components/table/TableSortRenderer.java   |  2 +-
 .../table/_content/tablelayout.html           |  2 +-
 .../gui/components/tree/MenuTreeRenderer.java |  4 +-
 .../core/gui/control/JSAndCSSAdderImpl.java   |  4 +-
 .../_content/index.html                       |  4 +-
 .../autocompletion/_content/autocomplete.html |  2 +-
 .../generic/clone/_content/offerclone.html    |  2 +-
 .../closablewrapper/_content/callout.html     |  2 +-
 .../closablewrapper/_content/index.html       |  2 +-
 .../generic/iframe/IFrameDeliveryMapper.java  | 14 ++--
 .../generic/iframe/_content/event.html        |  4 +-
 .../generic/iframe/_content/index.html        |  2 +-
 .../generic/modal/_content/dialogbox.html     |  2 +-
 .../generic/portal/PortalMainController.java  |  2 +-
 .../textmarker/_content/tmContainer.html      |  4 +-
 .../generic/wizard/_content/stepslayout.html  |  2 +-
 .../control/guistack/_content/callout.html    |  2 +-
 .../guistack/_content/modalDialog.html        |  2 +-
 .../gui/control/winmgr/AjaxController.java    | 12 +--
 .../control/winmgr/_content/pollperiod.html   |  2 +-
 .../gui/control/winmgr/_content/standby.html  |  2 +-
 .../gui/dev/controller/_content/index.html    |  2 +-
 .../exception/_content/exception_page.html    | 52 ++++++------
 .../java/org/olat/core/gui/themes/Theme.java  |  6 +-
 .../activity/doc-files/specification.html     |  2 +-
 .../java/org/olat/core/util/Formatter.java    |  2 +-
 .../org/olat/core/util/i18n/I18nManager.java  |  2 +-
 .../_content/translationToolI18nItemEdit.html |  2 +-
 .../_content/translationToolStartCrumb.html   |  4 +-
 .../certificate_efficiencystatement.html      |  2 +-
 .../olat/course/editor/_content/nodeedit.html |  2 +-
 .../highscore/ui/_content/highscore.html      |  2 +-
 .../ui/_content/histogram_score.html          |  2 +-
 .../course/nodes/basiclti/_content/run.html   |  2 +-
 .../nodes/basiclti/_content/runPopup.html     |  2 +-
 .../course/nodes/bc/_content/preview.html     |  2 +-
 .../course/nodes/card2brain/_content/run.html |  2 +-
 .../olat/course/nodes/cl/ui/_content/run.html |  8 +-
 .../course/nodes/edubase/_content/viewer.html |  4 +-
 .../course/nodes/gta/ui/_content/coach.html   | 12 +--
 .../course/nodes/gta/ui/_content/run.html     | 12 +--
 .../DescriptionWithTooltipCellRenderer.java   |  2 +-
 .../nodes/iq/_content/assessment_run.html     |  8 +-
 .../course/nodes/iq/_content/selftestrun.html |  4 +-
 .../course/nodes/iq/_content/testrun.html     | 12 +--
 .../olat/course/nodes/ms/_content/run.html    |  6 +-
 .../course/nodes/pf/ui/_content/preview.html  |  2 +-
 .../portfolio/_content/assessment_infos.html  |  8 +-
 .../nodes/projectbroker/doc-files/howTos.html |  2 +-
 .../olat/course/nodes/scorm/_content/run.html |  2 +-
 .../olat/course/nodes/st/_content/run.html    |  2 +-
 .../org/olat/course/run/_content/index.html   |  2 +-
 src/main/java/org/olat/doc-files/howTos.html  |  2 +-
 .../ui/main/_content/accept_reservations.html |  4 +-
 .../demo/guidemo/_content/calloutWindow.html  |  2 +-
 .../demo/guidemo/_content/guidemo-icons.html  |  2 +-
 .../demo/guidemo/_content/guidemo-rest.html   |  2 +-
 .../org/olat/ims/cp/ui/_content/treeView.html |  4 +-
 .../org/olat/ims/lti/ui/TalkBackMapper.java   |  2 +-
 .../ims/qti/editor/_content/tab_assess.html   |  6 +-
 .../qti/editor/_content/tab_itemPreview.html  |  2 +-
 .../qti/export/_content/optionschoose.html    |  2 +-
 .../_content/hbar_average_score_per_item.html |  2 +-
 .../qti/statistics/ui/_content/hbar_item.html |  2 +-
 .../ui/_content/hbar_item_overview.html       |  2 +-
 .../_content/hbar_right_answer_per_item.html  |  2 +-
 .../ui/_content/histogram_duration.html       |  2 +-
 .../ui/_content/histogram_score.html          |  2 +-
 .../ims/qti/statistics/ui/_content/print.html |  2 +-
 .../resultexport/_content/qti21results.html   | 34 ++++----
 .../resultexport/_content/qtiListing.html     |  2 +-
 .../qti21/ui/_content/assessment_results.html | 12 +--
 .../olat/ims/qti21/ui/_content/at_run.html    |  2 +-
 .../olat/ims/qti21/ui/_content/suspended.html |  2 +-
 .../AssessmentObjectComponentRenderer.java    | 10 +--
 .../AssessmentTestComponentRenderer.java      |  2 +-
 .../_content/associateInteraction.html        |  2 +-
 .../_content/choiceInteraction.html           |  2 +-
 .../_content/drawingInteraction.html          |  2 +-
 .../_content/gapMatchInteraction.html         |  2 +-
 .../_content/graphicAssociateInteraction.html |  2 +-
 .../_content/graphicGapMatchInteraction.html  |  2 +-
 .../_content/graphicOrderInteraction.html     |  2 +-
 .../_content/hotspotInteraction.html          |  2 +-
 .../_content/hottextInteraction.html          |  2 +-
 .../components/_content/matchInteraction.html |  2 +-
 .../_content/matchInteraction_dnd.html        |  2 +-
 .../_content/matchInteraction_kprim.html      |  2 +-
 .../_content/matchInteraction_truefalse.html  |  2 +-
 .../_content/mathEntryInteraction.html        |  2 +-
 .../components/_content/mediaInteraction.html |  2 +-
 .../_content/positionObjectStage.html         |  2 +-
 .../_content/selectPointInteraction.html      |  2 +-
 .../_content/sliderInteraction.html           |  2 +-
 .../_content/hotspot_choices_score.html       |  2 +-
 .../interactions/_content/hotspots.html       |  2 +-
 .../interactions/_content/match_choices.html  |  2 +-
 .../_content/hbar_average_score_per_item.html |  2 +-
 .../_content/hbar_right_answer_per_item.html  |  2 +-
 .../_content/histogram_duration.html          |  2 +-
 .../statistics/_content/histogram_score.html  |  2 +-
 .../qti21/ui/statistics/_content/print.html   |  2 +-
 .../interactions/_content/hbar_item.html      |  2 +-
 .../interactions/_content/hotspot_item.html   |  2 +-
 .../resources/xsl/results2html_generic.xsl    |  2 +-
 .../instantMessaging/ui/_content/chat.html    |  2 +-
 .../ui/_content/chatMsgField.html             |  6 +-
 .../ui/_content/newMsgIcon.html               |  2 +-
 .../java/org/olat/login/_content/login.html   |  6 +-
 .../login/oauth/ui/_content/js_redirect.html  |  2 +-
 .../org/olat/modules/cp/CPPrintMapper.java    |  2 +-
 .../cp/_content/cpofflinereadable.html        |  2 +-
 .../modules/fo/ui/_content/threadview.html    |  4 +-
 .../forms/ui/_content/report_print.html       |  2 +-
 .../component/ResponsiveBarChartRenderer.java |  2 +-
 .../ui/component/SliderOverviewRenderer.java  |  2 +-
 .../olat/modules/iq/IQDisplayController.java  |  8 +-
 .../org/olat/modules/iq/_content/qti.html     |  6 +-
 .../org/olat/modules/iq/_content/result.html  |  2 +-
 .../ui/_content/participant_blocks.html       |  2 +-
 .../_content/participant_list_overview.html   |  4 +-
 .../modules/library/ui/_content/catalog.html  |  2 +-
 .../ui/_content/assessment_infos.html         |  4 +-
 .../ui/_content/binder_one_page.html          |  4 +-
 .../component/TimelineComponentRenderer.java  |  2 +-
 .../portfolio/ui/export/_content/export.html  | 12 +--
 .../ui/metadata/_content/item_metadatas.html  | 14 ++--
 .../analysis/ui/_content/filtered_print.html  |  2 +-
 .../olat/modules/scorm/_content/display.html  |  4 +-
 .../modules/tu/_content/iframe_index.html     |  2 +-
 .../video/ui/_content/video_preview.html      |  4 +-
 .../webFeed/ui/blog/_content/post.html        |  2 +-
 .../webFeed/ui/podcast/_content/episode.html  |  2 +-
 .../webFeed/ui/podcast/_content/episodes.html |  2 +-
 .../org/olat/modules/wiki/WikiToCPExport.java | 10 +--
 .../org/olat/modules/wiki/_content/edit.html  |  6 +-
 .../wikiToHtml/WikiMarkupRenderer.java        |  4 +-
 src/main/java/org/olat/package.html           |  6 +-
 .../_i18n/LocalStrings_de.properties          |  1 +
 .../_i18n/LocalStrings_en.properties          |  1 +
 .../_i18n/LocalStrings_fr.properties          |  1 +
 .../_i18n/LocalStrings_it.properties          |  1 +
 .../_i18n/LocalStrings_pt_BR.properties       |  1 +
 .../repository/ui/_content/web_content.html   |  4 +-
 .../repository/ui/catalog/_content/node.html  |  4 +-
 .../repository/ui/list/_content/details.html  | 10 +--
 .../repository/ui/list/_content/row_1.html    |  2 +-
 .../restapi/api/_content/application.html     |  2 +-
 .../restapi/support/wadl_documentation.xsl    |  2 +-
 .../olat/search/ui/_content/searchInput.html  |  2 +-
 .../olat/search/ui/_content/search_tool.html  |  2 +-
 .../org/olat/shibboleth/_content/message.html |  4 +-
 .../shibboleth/_content/shibbolethlogin.html  |  4 +-
 .../social/shareLink/_content/shareLink.html  |  6 +-
 .../olat/user/_content/homepagedisplay.html   |  2 +-
 .../SkypePropertyHandler.java                 |  2 +-
 src/main/webapp/static/events.html            |  2 +-
 src/main/webapp/static/js/functions.js        |  2 +-
 .../static/js/jquery/qrcodejs/README.md       |  4 +-
 src/main/webapp/static/js/js.plugins.min.js   |  2 +-
 .../tinymce/plugins/olatmovieviewer/plugin.js |  4 +-
 .../plugins/olatmovieviewer/plugin.min.js     |  2 +-
 .../tinymce/plugins/preview/plugin.min.js     |  2 +-
 .../tinymce/plugins/template/plugin.min.js    |  2 +-
 .../static/js/tinymce4/tinymce/tinymce.min.js |  2 +-
 .../static/msg/screenreader/en/about.html     |  4 +-
 .../light/modules/_radial-progress.scss       |  2 +-
 .../openolat/images/OpenOlat_Logo_RGB.svg     |  2 +-
 .../images/OpenOlat_Logo_claim_RGB.svg        |  2 +-
 .../model/xml/AssessmentHtmlBuilderTest.java  |  4 +-
 .../qti21/pool/qti12_4questiontypes_video.xml |  8 +-
 209 files changed, 394 insertions(+), 439 deletions(-)

diff --git a/src/main/java/org/olat/commons/calendar/ui/CalendarPrintMapper.java b/src/main/java/org/olat/commons/calendar/ui/CalendarPrintMapper.java
index f150492acdb..0a693b7eb85 100644
--- a/src/main/java/org/olat/commons/calendar/ui/CalendarPrintMapper.java
+++ b/src/main/java/org/olat/commons/calendar/ui/CalendarPrintMapper.java
@@ -94,7 +94,7 @@ public class CalendarPrintMapper implements Mapper {
 		  .append("Calendar")
 		  .append("</title>")
 		  .append("<meta http-equiv='Content-type' content='text/html; charset=utf-8' />")
-		  .append("<link href='").append(themeBaseUri).append("theme.css' rel='stylesheet' type='text/css' />\n")
+		  .append("<link href='").append(themeBaseUri).append("theme.css' rel='stylesheet' />\n")
 		  .append("</head><body class='o_cal_print' onload='window.focus();window.print()'>");
 		
 		//collect all events
diff --git a/src/main/java/org/olat/commons/calendar/ui/components/FullCalendarComponentRenderer.java b/src/main/java/org/olat/commons/calendar/ui/components/FullCalendarComponentRenderer.java
index 2467ee10266..d73503009da 100644
--- a/src/main/java/org/olat/commons/calendar/ui/components/FullCalendarComponentRenderer.java
+++ b/src/main/java/org/olat/commons/calendar/ui/components/FullCalendarComponentRenderer.java
@@ -83,7 +83,7 @@ public class FullCalendarComponentRenderer extends DefaultComponentRenderer {
 		boolean ampm = amFormatted.contains("AM") || amFormatted.contains("PM");
 		String timeFormat = ampm ? "h(:mm) a" : "H.mm";
 		
-		sb.append("<script type='text/javascript'>\n")
+		sb.append("<script>\n")
 		  .append("/* <![CDATA[ */ \n")
 		  .append("jQuery(function() {\n")
 		  .append(" var jCalendar = jQuery('#").append(id).append("');\n")
diff --git a/src/main/java/org/olat/commons/coordinate/cluster/jms/_content/refresh.html b/src/main/java/org/olat/commons/coordinate/cluster/jms/_content/refresh.html
index abb6800eb71..fb74993bb7f 100644
--- a/src/main/java/org/olat/commons/coordinate/cluster/jms/_content/refresh.html
+++ b/src/main/java/org/olat/commons/coordinate/cluster/jms/_content/refresh.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 
   window.location.reload()
diff --git a/src/main/java/org/olat/commons/info/portlet/InfoMessagePortletRunController.java b/src/main/java/org/olat/commons/info/portlet/InfoMessagePortletRunController.java
index 3337eaf93cb..e192f9097ff 100644
--- a/src/main/java/org/olat/commons/info/portlet/InfoMessagePortletRunController.java
+++ b/src/main/java/org/olat/commons/info/portlet/InfoMessagePortletRunController.java
@@ -283,7 +283,7 @@ public class InfoMessagePortletRunController extends AbstractPortletRunControlle
 				
 				if(tooltip) {
 					sb.append("<div id='o_sel_info_tooltip_").append(key).append("' style='display:none'>").append(tipSb.toString()).append("</div>");
-				  sb.append("<script type='text/javascript'>/* <![CDATA[ */")
+				  sb.append("<script>/* <![CDATA[ */")
 				    .append("jQuery(function() {")
 					  .append("  jQuery('#o_sel_info_msg_title_").append(key).append(",#o_sel_info_msg_link_").append(key).append("').tooltip({")
 					  .append("	  html: true,")
diff --git a/src/main/java/org/olat/commons/memberlist/ui/_content/print.html b/src/main/java/org/olat/commons/memberlist/ui/_content/print.html
index b8680e68587..6d05257417a 100644
--- a/src/main/java/org/olat/commons/memberlist/ui/_content/print.html
+++ b/src/main/java/org/olat/commons/memberlist/ui/_content/print.html
@@ -15,7 +15,7 @@
 #if($r.available("waiting"))
 	$r.render("waiting")
 #end
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 	jQuery(function() {
 		var bgImg = jQuery("#o_print_brand .o_navbar-brand");
diff --git a/src/main/java/org/olat/core/commons/controllers/linkchooser/_content/close.html b/src/main/java/org/olat/core/commons/controllers/linkchooser/_content/close.html
index 67edd26b29a..21f983090d9 100644
--- a/src/main/java/org/olat/core/commons/controllers/linkchooser/_content/close.html
+++ b/src/main/java/org/olat/core/commons/controllers/linkchooser/_content/close.html
@@ -1,5 +1,5 @@
 $r.translate("closewindow.manually")
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 var ope = window.opener;
 #if($imagepath)
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html
index 1a73c78acc9..1ac7f755112 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/fullwebapplayout.html
@@ -108,50 +108,50 @@ try{
 /* ]]> */
 </script>
 ## jQuery libraries
-<script type="text/javascript" src='$r.staticLink("js/jquery/jquery-3.3.1.min.js")'></script>
+<script src='$r.staticLink("js/jquery/jquery-3.3.1.min.js")'></script>
 #if ($r.available("guidebug"))
 	## Are compressed as js/js.plugins.min.js in non-debug mode
-	<script type="text/javascript" src='$r.staticLink("js/jquery/periodic/jquery.periodic.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jshashtable-2.1_src.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/openolat/jquery.translator.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/openolat/jquery.navbar.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/openolat/jquery.bgcarrousel.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/tinymce4/tinymce/jquery.tinymce.min.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/functions.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/transit/jquery.transit.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/iframeResizer/iframeResizer.min.js")'></script>
+	<script src='$r.staticLink("js/jquery/periodic/jquery.periodic.js")'></script>
+	<script src='$r.staticLink("js/jshashtable-2.1_src.js")'></script>
+	<script src='$r.staticLink("js/jquery/openolat/jquery.translator.js")'></script>
+	<script src='$r.staticLink("js/jquery/openolat/jquery.navbar.js")'></script>
+	<script src='$r.staticLink("js/jquery/openolat/jquery.bgcarrousel.js")'></script>
+	<script src='$r.staticLink("js/tinymce4/tinymce/jquery.tinymce.min.js")'></script>
+	<script src='$r.staticLink("js/functions.js")'></script>
+	<script src='$r.staticLink("js/jquery/transit/jquery.transit.js")'></script>
+	<script src='$r.staticLink("js/iframeResizer/iframeResizer.min.js")'></script>
 	## Bootstrap js
-	##<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/affix.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/alert.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/button.js")'></script>
-	##<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/carousel.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/collapse.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/dropdown.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/tab.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/transition.js")'></script>
-	##<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/scrollspy.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/modal.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/tooltip.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/popover.js")'></script>
+	##<script src='$r.staticLink("bootstrap/javascripts/bootstrap/affix.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/alert.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/button.js")'></script>
+	##<script src='$r.staticLink("bootstrap/javascripts/bootstrap/carousel.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/collapse.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/dropdown.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/tab.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/transition.js")'></script>
+	##<script src='$r.staticLink("bootstrap/javascripts/bootstrap/scrollspy.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/modal.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/tooltip.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/popover.js")'></script>
 	## The OpenOLAT video player. In separate file as it is also used in content iframes
-	<script type="text/javascript" src='$r.staticLink("movie/player.js")'></script>	
+	<script src='$r.staticLink("movie/player.js")'></script>	
 #else
-	<script type="text/javascript" src='$r.staticLink("js/js.plugins.min.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("movie/player.min.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/iframeResizer/iframeResizer.min.js")'></script>
+	<script src='$r.staticLink("js/js.plugins.min.js")'></script>
+	<script src='$r.staticLink("movie/player.min.js")'></script>
+	<script src='$r.staticLink("js/iframeResizer/iframeResizer.min.js")'></script>
 #end
 
 #if($r.available("guidebug"))
-	<link type="text/css" href='$r.staticLink("js/jquery/tagsinput/bootstrap-tagsinput.css")' rel="stylesheet" />
-	<link type="text/css" href='$r.staticLink("js/jquery/fullcalendar/fullcalendar.css")' rel="stylesheet" />
-	<link type="text/css" href='$r.staticLink("js/jquery/cropper/cropper.css")' rel="stylesheet" />
-	<link type="text/css" href='$r.staticLink("js/jquery/sliderpips/jquery-ui-slider-pips.css")' rel="stylesheet" />
-	<link type="text/css" href='$r.staticLink("js/jquery/ui/jquery-ui-1.11.4.custom.min.css")' rel="stylesheet" />
-	<link type="text/css" href='$r.staticLink("js/dragula/dragula.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/jquery/tagsinput/bootstrap-tagsinput.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/jquery/fullcalendar/fullcalendar.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/jquery/cropper/cropper.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/jquery/sliderpips/jquery-ui-slider-pips.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/jquery/ui/jquery-ui-1.11.4.custom.min.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/dragula/dragula.css")' rel="stylesheet" />
 #else
-	<link type="text/css" href='$r.staticLink("js/js.plugins.min.css")' rel="stylesheet" />
+	<link href='$r.staticLink("js/js.plugins.min.css")' rel="stylesheet" />
 #end
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 	jQuery.noConflict();
 	
@@ -182,7 +182,7 @@ $r.render("jsCssRawHtmlHeader", "pre-theme")
 ## 2) CSS theme inclusion, theme JavaScript, favicons and appicons
 $theme.renderHTMLHeaderElements()
 ## 3) Insert IE specific class names
-	<script type="text/javascript">
+	<script>
         jQuery(document).ready(function() {
             /* Detect IE below version 11 */
             if (window.navigator.userAgent.indexOf('MSIE ') > 0) {
@@ -194,11 +194,11 @@ $theme.renderHTMLHeaderElements()
 $r.render("jsCssRawHtmlHeader", "post-theme")
 ## 6) Add user font size (id o_fontSize_css used to place on demand css)
 #if (${globalSettings.getFontSize()} != "100")
-<style id="o_fontSize_css" type="text/css">#o_body{zoom:${globalSettings.getFontSize()}%; -moz-transform: scale(${globalSettings.getFontSize()}%)}</style>
+<style id="o_fontSize_css">#o_body{zoom:${globalSettings.getFontSize()}%; -moz-transform: scale(${globalSettings.getFontSize()}%)}</style>
 #else
-<style id="o_fontSize_css" type="text/css"></style>
+<style id="o_fontSize_css"></style>
 #end
-<style type="text/css">
+<style>
 	#if($logoInfos.logo)
 		.o_custom_navbar-brand { background-image: url('$logoInfos.logoUri'); }
 	#else
@@ -293,7 +293,7 @@ $r.renderForce("development")
 	<div id="o_go_standard_width" title="$r.translateInAttribute("content.width.standard")" class="btn btn-primary btn-xs o_noprint"><i class="o_icon o_icon_width_collapse o_icon-fw"> </i></div>
 	<div id="o_go_full_width" title="$r.translateInAttribute("content.width.standard")" class="btn btn-default btn-xs o_noprint"><i class="o_icon o_icon_width_expand o_icon-fw"> </i></div>
 </div>
-<div><script type="text/javascript">
+<div><script>
 /* <![CDATA[ */ 
 	jQuery(document).ready(function() {
 		jQuery("#o_go_standard_width").click(function() { OPOL.setContainerFullWidth(0); $r.openNoResponseJavaScriptCommand("width.standard")); });
@@ -367,7 +367,7 @@ $r.render("modalpanel")
 
 ## hidden div for EM-PX factor readout 
 <div id="o_width_1em" style="width:1em; position: absolute; left: -1000px;"></div>
-<div><script type="text/javascript">
+<div><script>
 /* <![CDATA[ */ 
 // init size and listen to text resize events
 jQuery(function() {
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/guimsg.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/guimsg.html
index d039aaece20..4b935577467 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/guimsg.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/guimsg.html
@@ -1,6 +1,6 @@
 #if($guiMessage.hasInfo())
 ##needs to be delayed otherwise IE6 will crash in non ajax mode
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 	setTimeout(function(){
 		showInfoBox("$r.translate("info.header")", "$r.get("guiMessage").renderInfo()");
@@ -10,7 +10,7 @@
 #end
 
 #if($guiMessage.hasWarn())
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 	setTimeout(function(){
 		var dialog = showMessageBox("warn", "$r.translate("warn.header")",  "$r.get("guiMessage").renderWarn()");
@@ -27,7 +27,7 @@
 #end
 
 #if($guiMessage.hasError())
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 	setTimeout(function(){ showMessageBox("error", "$r.translate("error.header")",  "$r.get("guiMessage").renderError()");  }, 100);
 /* ]]> */
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/main_3cols.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/main_3cols.html
index 7b6fc5abb3e..b324fda6fcd 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/main_3cols.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/main_3cols.html
@@ -29,7 +29,7 @@
 #end
 </div>
 #if(($existsCol1 && $r.visible("col1")) || ($existsCol2 && $r.visible("col2")))
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery().ready(function() {
 	// Main vertical splitter, anchored to the browser window
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/message.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/message.html
index f059fcbb5af..aa843fa819c 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/message.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/message.html
@@ -11,7 +11,7 @@
 <meta name="dcterms.rights" content="http://www.openolat.org" />
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 ## <!-- IE cache -->
-<script type="text/javascript">
+<script>
 #if($enforceTopFrame)
 if (top!=self){top.location=self.location+"?o_winrndo=1";}
 #end
@@ -20,7 +20,7 @@ var o_info = new Object();
 ## CSS theme inclusion: first the standard css and second the IE bugfixes
 <link rel="icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
 <link rel="shortcut icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
-<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" type="text/css" />
+<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" />
 <title>$r.translate("error.head")</title>
 </head>
 <body id="o_body" class="o_message">
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_sites.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_sites.html
index b5f3bd4b56e..c9d304372a1 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_sites.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_sites.html
@@ -9,7 +9,7 @@
 	#end
 #end
 </ul>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
     jQuery(document).trigger("oo.nav.sites.modified");
 /* ]]> */
diff --git a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_tabs.html b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_tabs.html
index feba1a09035..9eb6a5b3450 100644
--- a/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_tabs.html
+++ b/src/main/java/org/olat/core/commons/fullWebApp/_content/nav_tabs.html
@@ -15,7 +15,7 @@
 </ul>
 ## ---- END dynamic tabs ---
 
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
     jQuery(document).trigger("oo.nav.tabs.modified");
 /* ]]> */
diff --git a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java
index c62b3aebec5..4b6e42330d3 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/components/ListRenderer.java
@@ -361,7 +361,7 @@ public class ListRenderer {
 			sb.append("</div>");
 			if (hasMeta) {
 				// render tooltip only when it contains something
-				sb.append("<script type='text/javascript'>")
+				sb.append("<script>")
 			      .append("/* <![CDATA[ */")
 				  .append("jQuery(function() {\n")
 				  .append("  jQuery('#o_sel_doc_").append(pos).append("').tooltip({\n")
@@ -500,7 +500,7 @@ public class ListRenderer {
 				}
 
 				sb.append("</ul></div>")
-				  .append("<script type='text/javascript'>")
+				  .append("<script>")
 			      .append("/* <![CDATA[ */")
 				  .append("jQuery(function() {\n")
 				  .append("  o_popover('o_sel_actions_").append(pos).append("','o_sel_actions_pop_").append(pos).append("','left');\n")
diff --git a/src/main/java/org/olat/core/commons/modules/bc/meta/_content/external_url.html b/src/main/java/org/olat/core/commons/modules/bc/meta/_content/external_url.html
index f198a6d78c0..247750d5f24 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/meta/_content/external_url.html
+++ b/src/main/java/org/olat/core/commons/modules/bc/meta/_content/external_url.html
@@ -1,5 +1,5 @@
 <div class="o_copy_code o_nowrap form-control-static"><a href="javascript:;" id="o_extlink"><i class="o_icon o_icon-lg o_icon-fw o_icon_qrcode">&nbsp;</i></a><input type="text" value="$resourceUrl" onclick="this.select()"/></div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 	jQuery(function() {
 		o_QRCodePopup('o_extlink', '$resourceUrl', 'right');
diff --git a/src/main/java/org/olat/core/commons/modules/singlepage/SinglePageController.java b/src/main/java/org/olat/core/commons/modules/singlepage/SinglePageController.java
index b99437ffb10..e64a76615c4 100644
--- a/src/main/java/org/olat/core/commons/modules/singlepage/SinglePageController.java
+++ b/src/main/java/org/olat/core/commons/modules/singlepage/SinglePageController.java
@@ -342,8 +342,8 @@ public class SinglePageController extends BasicController implements CloneableCo
 			}
 			
 			StringBuilder header = new StringBuilder(256);
-			header.append("<style type='text/css'>body {").append(cssRule).append("}</style>");
-			header.append("<!--[if lt IE 10]><style type='text/css'>body {").append(ieCssRule).append("}</style><![endif]-->");
+			header.append("<style>body {").append(cssRule).append("}</style>");
+			header.append("<!--[if lt IE 10]><style>body {").append(ieCssRule).append("}</style><![endif]-->");
 			idc.setCustomHeaderContent(header.toString());								
 		} else {
 			idc.setCustomHeaderContent(null);
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userComments.html b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userComments.html
index 997c642404f..dcf58a54f36 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userComments.html
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userComments.html
@@ -19,9 +19,7 @@
 	</div>
 </div>
 #if(${goToComment.isTrue()})
-	<script type="text/javascript">
-	/* <![CDATA[ */
+	<script>
 	    o_scrollToElement('#o_comment_$goToCommentId');
-	/* ]]> */
 	</script> 
 #end
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentsAndRatings.html b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentsAndRatings.html
index a08c8ffefa8..f63f1535423 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentsAndRatings.html
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/_content/userCommentsAndRatings.html
@@ -20,15 +20,13 @@
 
 ## Display user rating when hovering over rating area
 #if($r.available("ratingUserC"))
-<script type="text/javascript">
-/* <![CDATA[ */ 
+<script>
 jQuery(function(){
 	jQuery('#o_rating_wrapper_$viewIdent').hover(
 		function(){ jQuery('#o_rating_$viewIdent').show(); jQuery('#o_rating_avg_$viewIdent').hide(); },
 	  	function(){ jQuery('#o_rating_$viewIdent').hide(); jQuery('#o_rating_avg_$viewIdent').show(); }  
 	);
 });
-/* ]]> */
 </script>
 #end
 
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html b/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html
index 3d21dadf1a1..47f0e06b0a1 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html
+++ b/src/main/java/org/olat/core/commons/services/doceditor/collabora/ui/_content/collabora.html
@@ -5,7 +5,7 @@
 		</div>
 	#else
 		<iframe id="$id" src="$url" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true"></iframe>
-		<script type="text/javascript">
+		<script>
 		/* <![CDATA[ */
 			jQuery('$id').ready(function(){
 				window.addEventListener('message', function(e){
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/office365/ui/_content/editor.html b/src/main/java/org/olat/core/commons/services/doceditor/office365/ui/_content/editor.html
index 071c3c56146..a49fbe0d4b0 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/office365/ui/_content/editor.html
+++ b/src/main/java/org/olat/core/commons/services/doceditor/office365/ui/_content/editor.html
@@ -11,7 +11,7 @@
 		<span id="frameholder"></span>
 		
 		## see https://github.com/Microsoft/Office-Online-Test-Tools-and-Documentation/blob/master/samples/SampleHostPage.html
-		<script type="text/javascript">
+		<script>
 		/* <![CDATA[ */
 			jQuery(document).ready(function(){
 				var frameholder = document.getElementById('frameholder');
diff --git a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/_content/editor.html b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/_content/editor.html
index 49cd1cd0599..f2e5b7d0e73 100644
--- a/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/_content/editor.html
+++ b/src/main/java/org/olat/core/commons/services/doceditor/onlyoffice/ui/_content/editor.html
@@ -5,8 +5,8 @@
 		</div>
 	#else
 		<div id="$id"></div>
-		<script type="text/javascript" src="$apiUrl"></script>
-		<script type="text/javascript">
+		<script src="$apiUrl"></script>
+		<script>
 		/* <![CDATA[ */
 			jQuery('$id').ready(function(){
 				new DocsAPI.DocEditor("$id", $apiConfig);
diff --git a/src/main/java/org/olat/core/commons/services/license/ui/LicenseRenderer.java b/src/main/java/org/olat/core/commons/services/license/ui/LicenseRenderer.java
index feca1ff0278..09b92d2bdb3 100644
--- a/src/main/java/org/olat/core/commons/services/license/ui/LicenseRenderer.java
+++ b/src/main/java/org/olat/core/commons/services/license/ui/LicenseRenderer.java
@@ -95,7 +95,7 @@ public class LicenseRenderer implements FlexiCellRenderer {
 		sb.append("</div>");
 		
 		// JavaScript to pup up the popup
-		sb.append("<script type='text/javascript'>")
+		sb.append("<script>")
 	      .append("/* <![CDATA[ */")
 		  .append("jQuery(function() {\n")
 		  .append("  o_popover('o_lic_").append(id).append("','o_lic_pop_").append(id).append("','top');\n")
diff --git a/src/main/java/org/olat/core/gui/components/ComponentRenderer.java b/src/main/java/org/olat/core/gui/components/ComponentRenderer.java
index 265d2ce480f..ed4cb117a65 100644
--- a/src/main/java/org/olat/core/gui/components/ComponentRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/ComponentRenderer.java
@@ -59,7 +59,7 @@ public interface ComponentRenderer {
 	 * @deprecated please use either the validate(..) method in Component.java in your component or create a new JSAndCSSComponent(...) in your controller which you can then include in your render tree. This method here is legacy and does not support web 2.0 mode.<br>
 	 * <br>
 	 * things like css and .js files to be loaded in the <head>tag, e.g. <script
-	 * type="text/javascript" src="/bla/blu/blo.js" />
+	 * src="/bla/blu/blo.js" />
 	 * 
 	 * @param renderer
 	 * @param sb
@@ -70,7 +70,7 @@ public interface ComponentRenderer {
 	public void renderHeaderIncludes(Renderer renderer, StringOutput sb, Component source, URLBuilder ubu, Translator translator, RenderingState rstate);
 
 	/**
-	 * contributes a line to the following code: <script type="text/javascript">
+	 * contributes a line to the following code: <script>
 	 * function o2init() { < < < <other previous inserts>>>> < < < <here comes the
 	 * insert, e.g. olat_epoz_init();>>>> } </script> ... <body onLoad="o2init()">
 	 * 
diff --git a/src/main/java/org/olat/core/gui/components/chart/BarChartComponentRenderer.java b/src/main/java/org/olat/core/gui/components/chart/BarChartComponentRenderer.java
index 6c5e2f0765a..cf8e846eb4e 100644
--- a/src/main/java/org/olat/core/gui/components/chart/BarChartComponentRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/chart/BarChartComponentRenderer.java
@@ -53,7 +53,7 @@ public class BarChartComponentRenderer extends DefaultComponentRenderer {
 		String cmpId = chartCmp.getDispatchID();
 		
 		sb.append("<div id='d").append(cmpId).append("d3holder' class='d3chart' style='width:600px;height:300px'></div>\n")
-		  .append("<script type='text/javascript'>\n")
+		  .append("<script>\n")
 		  .append("/* <![CDATA[ */ ")
 		  .append("jQuery(function () {\n")
 		  .append("var placeholderheight = jQuery('#d").append(cmpId).append("d3holder').height();\n")
diff --git a/src/main/java/org/olat/core/gui/components/chart/RadarChartComponentRenderer.java b/src/main/java/org/olat/core/gui/components/chart/RadarChartComponentRenderer.java
index ddb70d409de..3898fb80c80 100644
--- a/src/main/java/org/olat/core/gui/components/chart/RadarChartComponentRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/chart/RadarChartComponentRenderer.java
@@ -47,7 +47,7 @@ public class RadarChartComponentRenderer extends DefaultComponentRenderer {
 		List<RadarSeries> series = soc.getSeries();
 		
 		sb.append("<div id='d").append(cmpId).append("d3holder' class='radarChart' style='max-width:800px; max-height:650px; margin:0 auto;'></div>\n");
-		sb.append("<script type='text/javascript'>\n")
+		sb.append("<script>\n")
 		  .append("/* <![CDATA[ */ \n")
 		  .append("jQuery(function() {\n")
 		  .append(" var render = function() {\n")
diff --git a/src/main/java/org/olat/core/gui/components/download/DisplayOrDownloadComponentRenderer.java b/src/main/java/org/olat/core/gui/components/download/DisplayOrDownloadComponentRenderer.java
index 5680ada6138..4010669bc69 100644
--- a/src/main/java/org/olat/core/gui/components/download/DisplayOrDownloadComponentRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/download/DisplayOrDownloadComponentRenderer.java
@@ -45,7 +45,7 @@ class DisplayOrDownloadComponentRenderer extends DefaultComponentRenderer {
 		String fileUrl = ((DisplayOrDownloadComponent) source).consumeFileUrl();
 		if (fileUrl != null) { 
 			// use javascript to open a new file that loads the file.
-			sb.append("<script type='text/javascript'>");
+			sb.append("<script>");
 			sb.append("/* <![CDATA[ */ ");
 			sb.append("jQuery(function() {");
 			sb.append("  window.open('").append(fileUrl).append("', 'downloadwindow','');");
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java
index 2d95663b93a..72763694481 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/FormJSHelper.java
@@ -328,9 +328,9 @@ public class FormJSHelper {
 	 * @return
 	 */
 	public static StringOutput appendFlexiFormDirtyOn(StringOutput sb, Form form, String events, String formDispatchId) {
-		sb.append(" <script>\n /* <![CDATA[ */ \n")
+		sb.append(" <script>\n")
 		  .append("(function() { jQuery('#").append(formDispatchId).append("').on('").append(events).append("', {formId:\"").append(form.getDispatchFieldId()).append("\", hideMessage:").append(form.isHideDirtyMarkingMessage()).append("}, setFlexiFormDirtyByListener);")
-		  .append("})();\n /* ]]> */ \n</script>");
+		  .append("})();\n</script>");
 		return sb;
 	}
 	
@@ -343,9 +343,9 @@ public class FormJSHelper {
 	 * @return
 	 */
 	public static StringOutput setFlexiFormDirtyOnLoad(StringOutput sb, Form form) {
-		sb.append("<script>\n /* <![CDATA[ */ \n")
+		sb.append("<script>\n")
 		  .append(" setTimeout(function(){ setFlexiFormDirty(\"").append(form.getDispatchFieldId()).append("\",").append(form.isHideDirtyMarkingMessage()).append(");}, 500);")
-		  .append("\n/* ]]> */ \n</script>");
+		  .append("\n</script>");
 		return sb;
 	}
 	
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AutoCompleterRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AutoCompleterRenderer.java
index 849404396f6..119ca903b11 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AutoCompleterRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/AutoCompleterRenderer.java
@@ -62,7 +62,7 @@ public class AutoCompleterRenderer extends DefaultComponentRenderer {
 				sb.append(StringHelper.escapeHtml(autoCompleter.getValue()));
 			}
 			sb.append("\" />");
-			sb.append("<script type='text/javascript'>\n")
+			sb.append("<script>\n")
 			  .append("/* <![CDATA[ */\n")
 			  .append("jQuery(function(){\n")
 			  .append("  var fullNameTypeahead = new Bloodhound({\n")
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java
index 3c47ad77031..5d34bbbac45 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/FormButtonRenderer.java
@@ -79,7 +79,7 @@ class FormButtonRenderer extends DefaultComponentRenderer {
 		
 		if(source.isEnabled() && fsC.getIsSubmitAndValidate()){
 			//it is a submitting and validating button (e.g. FormSubmit)
-			sb.append("<script type=\"text/javascript\">\n /* <![CDATA[ */ \n");
+			sb.append("<script>\n /* <![CDATA[ */ \n");
 			sb.append(FormJSHelper.getJSSubmitRegisterFn(fs.getRootForm(),id));
 			if(!fs.getRootForm().isSubmittedAndValid()){
 				//mark as dirty, because form is not yet submitted or
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionRenderer.java
index 34f65b60e9e..0c1e473e36d 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/MultipleSelectionRenderer.java
@@ -131,7 +131,7 @@ public class MultipleSelectionRenderer extends DefaultComponentRenderer {
 			}
 			
 			// Set button text on ready
-			sb.append("<script type='text/javascript'>");
+			sb.append("<script>");
 		    sb.append("/* <![CDATA[ */");
 			sb.append("jQuery('#").append(buttonTitleId).append("').ready(function() {");
 			sb.append(getJsSetButtonText(stF, buttonTitleId, listId));
@@ -141,7 +141,7 @@ public class MultipleSelectionRenderer extends DefaultComponentRenderer {
 			
 			if(stC.isEnabled() && check.isEnabled()) {
 				// (un-) check ckechbox when clicking on the menu entry
-				sb.append("<script type='text/javascript'>");
+				sb.append("<script>");
 				sb.append("/* <![CDATA[ */");
 				sb.append("jQuery('#").append(aId).append("').on('click', function(event) {");
 				sb.append("   var $target = jQuery(event.currentTarget);");
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SliderElementRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SliderElementRenderer.java
index 7a6d3400137..f9e4d30141f 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SliderElementRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/SliderElementRenderer.java
@@ -60,7 +60,7 @@ public class SliderElementRenderer extends DefaultComponentRenderer {
 		sb.append("'> </div>");
 		sb.append("<input id='").append(inputId).append("' type='hidden' name='").append(sec.getFormDispatchId()).append("' value=''/>");
 		
-		sb.append("<script type='text/javascript'>/* <![CDATA[ */\n")
+		sb.append("<script>/* <![CDATA[ */\n")
 		  .append("jQuery(function() {\n")
 		  .append(" jQuery('#").append(sec.getFormDispatchId()).append("_slider').slider({\n")
 		  .append("  value: ").append(value).append(",\n");
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
index 8da5f6ba601..c34137d929e 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/TextAreaElementRenderer.java
@@ -139,7 +139,7 @@ class TextAreaElementRenderer extends DefaultComponentRenderer {
 		// resize element to fit content
 		if (teC.isAutoHeightEnabled()) {
 			int minSize = Math.max(90, (Math.abs(rows) * 20));
-			sb.append("<script type='text/javascript'>\n")
+			sb.append("<script>\n")
 			  .append("/* <![CDATA[ */\n")
 			  .append("jQuery(function(){\n")
 			  .append(" jQuery('#").append(id).append("').each(function () {\n")
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java
index f8f19037e74..c786fe60a71 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/richText/RichTextElementRenderer.java
@@ -215,7 +215,7 @@ class RichTextElementRenderer extends DefaultComponentRenderer {
 		Integer currentHeight = teC.getCurrentHeight();
 		
 		sb.append("<input type='hidden' id='rtinye_").append(teC.getFormDispatchId()).append("' name='rtinye_").append(teC.getFormDispatchId()).append("' value='' />");
-		sb.append("<script type='text/javascript'>/* <![CDATA[ */\n");
+		sb.append("<script>/* <![CDATA[ */\n");
 		//file browser url
 		sb.append("  BTinyHelper.editorMediaUris.put('").append(domID).append("','");
 		ubu.buildURI(sb, null, null);
diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
index b65247113ba..77f4fba7e13 100644
--- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/AbstractFlexiTableRenderer.java
@@ -97,8 +97,7 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 			renderFooterButtons(sb, ftC, translator);
 			//draggable
 			if(ftE.getColumnIndexForDragAndDropLabel() > 0) {
-				sb.append("<script type='text/javascript'>")
-				  .append("/* <![CDATA[ */ \n")
+				sb.append("<script>")
 				  .append("jQuery(function() {\n")
 				  .append(" jQuery('.o_table_flexi table tr').draggable({\n")
 		          .append("  containment: '#o_main',\n")
@@ -111,7 +110,6 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 		          .append("  }\n")
 		          .append("});\n")
 		          .append("});\n")
-		          .append("/* ]]> */\n")
 				  .append("</script>\n");
 			}
 			
@@ -304,10 +302,8 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 			}
 		}
 		sb.append("</ul></div></div> ")
-		  .append("<script type='text/javascript'>\n")
 		  .append("/* <![CDATA[ */\n")
 		  .append("jQuery(function() { o_popover('table-button-filters-").append(dispatchId).append("','table-filters-").append(dispatchId).append("'); });\n")
-		  .append("/* ]]> */\n")
 		  .append("</script>");
 		return selected.toString();
 	}
@@ -341,10 +337,8 @@ public abstract class AbstractFlexiTableRenderer extends DefaultComponentRendere
 			}
 		}
 		sb.append("</ul></div></div> ")
-		  .append("<script type='text/javascript'>\n")
-		  .append("/* <![CDATA[ */\n")
+		  .append("<script>\n")
 		  .append("jQuery(function() { o_popover('table-button-sorters-").append(dispatchId).append("','table-sorters-").append(dispatchId).append("'); });\n")
-		  .append("/* ]]> */\n")
 		  .append("</script>");
 	}
 	
diff --git a/src/main/java/org/olat/core/gui/components/htmlsite/HtmlStaticPageComponent.java b/src/main/java/org/olat/core/gui/components/htmlsite/HtmlStaticPageComponent.java
index 89a649ae325..5d08a7345b8 100644
--- a/src/main/java/org/olat/core/gui/components/htmlsite/HtmlStaticPageComponent.java
+++ b/src/main/java/org/olat/core/gui/components/htmlsite/HtmlStaticPageComponent.java
@@ -104,7 +104,7 @@ public class HtmlStaticPageComponent extends AbstractComponent implements AsyncM
 		//put together under "known issues" etc. --- not here in this
 		// code, but make sure that the html generated by docbook for the help
 		// course does not contain the following link tags:
-		// <link rel="stylesheet" href="../css/olat-help.css" type="text/css"><meta
+		// <link rel="stylesheet" href="../css/olat-help.css"><meta
 		// name="generator" content="DocBook XSL Stylesheets V1.61.3">
 		// the above one is ok, but the next one is not
 		//<link rel="home" href="index.html" title="OLAT Hilfe Kurs">
diff --git a/src/main/java/org/olat/core/gui/components/image/ImageRenderer.java b/src/main/java/org/olat/core/gui/components/image/ImageRenderer.java
index 6fb9f03403d..fbb622e90eb 100644
--- a/src/main/java/org/olat/core/gui/components/image/ImageRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/image/ImageRenderer.java
@@ -101,7 +101,7 @@ public class ImageRenderer extends DefaultComponentRenderer {
 
 		}
 		sb.append("' class='o_video_wrapper'></div>")
-		  .append("<script type='text/javascript'>")
+		  .append("<script>")
 		  .append("/* <![CDATA[ */")
 		  .append("BPlayer.insertPlayer('").append(Settings.createServerURI()).append(mapperUrl);
 		sb.append("','").append(imgId).append("',").append(width).append(",").append(height).append(",'video'");
@@ -165,7 +165,7 @@ public class ImageRenderer extends DefaultComponentRenderer {
 			  .append("<input id='").append(imgId).append("_w' name='").append(imgId).append("_w' type='hidden' value='' />")
 			  .append("<input id='").append(imgId).append("_h' name='").append(imgId).append("_h' type='hidden' value='' />");
 			
-			sb.append("<script type='text/javascript'>\n")
+			sb.append("<script>\n")
 			  .append("/* <![CDATA[ */ \n")
 			  .append("jQuery(function() {\n")
 			  .append("  jQuery('#").append(imgId).append("').cropper({\n")
diff --git a/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java b/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java
index 5bc3fe7c54b..3064f9bd109 100644
--- a/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/link/LinkRenderer.java
@@ -351,7 +351,7 @@ public class LinkRenderer extends DefaultComponentRenderer {
 		if(jsSb.length() > 0) {
 			// Execute code within an anonymous function (closure) to not leak
 			// variables to global scope (OLAT-5755)
-			sb.append(" <script type=\"text/javascript\">\n/* <![CDATA[ */\n")
+			sb.append(" <script>\n/* <![CDATA[ */\n")
 			  .append("(function(){ var ").append(elementId).append(" = jQuery('#").append(elementId).append("');")
 			  .append(jsSb).append("})();")
 		      .append("\n/* ]]> */\n</script>");
diff --git a/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageRenderer.java b/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageRenderer.java
index 64a1d69d26c..57751dbea2a 100644
--- a/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/rating/RatingWithAverageRenderer.java
@@ -56,7 +56,7 @@ public class RatingWithAverageRenderer extends DefaultComponentRenderer {
 		sb.append("</div>")
 		  .append("</div>")
 		  .append("</div>")
-		  .append("<script type='text/javascript'>\n")
+		  .append("<script>\n")
 		  .append("/* <![CDATA[ */ \n")
 		  .append("jQuery(function(){\n")
 		  .append("  jQuery('#o_rating_wrapper_").append(viewIdent).append("')\n")
diff --git a/src/main/java/org/olat/core/gui/components/table/TableRenderer.java b/src/main/java/org/olat/core/gui/components/table/TableRenderer.java
index 4a8fd19c740..69a4277bfcd 100644
--- a/src/main/java/org/olat/core/gui/components/table/TableRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/table/TableRenderer.java
@@ -123,7 +123,7 @@ public class TableRenderer extends DefaultComponentRenderer {
 		// entries after the 1023 entry or even the entire table unreadable.
 		// Comment CDATA section to make it work with prototype's stripScripts method !
 		if (!usePageing && rows > 1000) {
-			target.append("<script type=\"text/javascript\">/* <![CDATA[ */\n ")
+			target.append("<script>/* <![CDATA[ */\n ")
 			      .append("jQuery(function() { jQuery('#o_table_wrapper").append(source.hashCode()).append("').height(o_viewportHeight()/3*2);});")
 			      .append("/* ]]> */\n</script>");
 		}
diff --git a/src/main/java/org/olat/core/gui/components/table/TableSortRenderer.java b/src/main/java/org/olat/core/gui/components/table/TableSortRenderer.java
index e1ebb5d91c0..8cbaecade50 100644
--- a/src/main/java/org/olat/core/gui/components/table/TableSortRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/table/TableSortRenderer.java
@@ -84,7 +84,7 @@ class TableSortRenderer extends DefaultComponentRenderer {
 		}
 
 		sb.append("</ul></div></div>")
-		  .append("<script type='text/javascript'>\n")
+		  .append("<script>\n")
 		  .append("/* <![CDATA[ */\n")
 		  .append("jQuery(function() { o_popover('table-button-sorters-").append(id).append("','table-sorters-").append(id).append("'); });\n")
 		  .append("/* ]]> */\n")
diff --git a/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html b/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html
index 4fdb4de5ca5..bb392671bb4 100644
--- a/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html
+++ b/src/main/java/org/olat/core/gui/components/table/_content/tablelayout.html
@@ -42,7 +42,7 @@
 						</li>
 					#end
 				</ul></div>
-	  			<script type='text/javascript'>
+	  			<script>
 				/* <![CDATA[ */
 				jQuery(function() { o_popover('table-button-filters','table-filters'); });
 				/* ]]> */
diff --git a/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java b/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
index e1fd3f42553..265963d54e9 100644
--- a/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
+++ b/src/main/java/org/olat/core/gui/components/tree/MenuTreeRenderer.java
@@ -230,7 +230,7 @@ public class MenuTreeRenderer extends DefaultComponentRenderer {
 			}
 			sb.append(" />");
 			if(intermediate) {
-				sb.append("<script type='text/javascript'>\n")
+				sb.append("<script>\n")
 				  .append("/* <![CDATA[ */\n")
 				  .append("jQuery(function() {\n")
 				  .append("  jQuery('#").append(id).append("').prop('indeterminate', true);")
@@ -466,7 +466,7 @@ public class MenuTreeRenderer extends DefaultComponentRenderer {
 
 	private StringOutput appendDragAndDropScript(List<DndElement> elements, MenuTree tree, StringOutput sb) {
 		if(elements == null || elements.isEmpty()) return sb;
-		sb.append("<script type='text/javascript'>\n")
+		sb.append("<script>\n")
 		  .append("/* <![CDATA[ */\n")
 		  .append("jQuery(function() {\n");
 		
diff --git a/src/main/java/org/olat/core/gui/control/JSAndCSSAdderImpl.java b/src/main/java/org/olat/core/gui/control/JSAndCSSAdderImpl.java
index 57d545cdf3d..161f157bbfa 100644
--- a/src/main/java/org/olat/core/gui/control/JSAndCSSAdderImpl.java
+++ b/src/main/java/org/olat/core/gui/control/JSAndCSSAdderImpl.java
@@ -313,7 +313,7 @@ public class JSAndCSSAdderImpl implements JSAndCSSAdder, ComponentRenderer {
 		if (!postThemeRendering) {
 			for (Iterator<String> it_js = jsToRender.iterator(); it_js.hasNext();) {
 				String jsExpr = it_js.next();
-				sb.append("<script type=\"text/javascript\" src=\"").append(jsExpr).append("\"></script>\n");
+				sb.append("<script src=\"").append(jsExpr).append("\"></script>\n");
 			}
 		}
 		
@@ -329,7 +329,7 @@ public class JSAndCSSAdderImpl implements JSAndCSSAdder, ComponentRenderer {
 					|| (!postThemeRendering && cssIndex < JSAndCSSAdder.CSS_INDEX_THEME)) {
 				String acssId = cssPathToId.get(cssExpr);
 				// use media=all to load always and use @media screen/print within the stylesheet
-				sb.append("<link id=\"").append(acssId).append("\" rel=\"StyleSheet\" href=\"").append(cssExpr).append("\" type=\"text/css\" media=\"all\" />\n");
+				sb.append("<link id=\"").append(acssId).append("\" rel=\"StyleSheet\" href=\"").append(cssExpr).append("\" media=\"all\" />\n");
 			}
 		}
 		
diff --git a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html
index 123512ba673..f853fa3bea0 100644
--- a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html
+++ b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/_content/index.html
@@ -15,8 +15,8 @@
 	#end
 </div>
 ## make sur the script is loaded if the floating window is triggered by an other user
-<script type="text/javascript" src='$r.staticLink("js/jquery/ui/jquery-ui-1.11.4.custom.dialog.min.js")'></script>
-<script type="text/javascript">
+<script src='$r.staticLink("js/jquery/ui/jquery-ui-1.11.4.custom.dialog.min.js")'></script>
+<script>
 /* <![CDATA[ */ 
 	jQuery(function() {
 		var duplicate = jQuery('.${panelName}').length > 1;
diff --git a/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html b/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html
index 40d8043b5c8..1ff54cb590b 100644
--- a/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html
+++ b/src/main/java/org/olat/core/gui/control/generic/ajax/autocompletion/_content/autocomplete.html
@@ -16,7 +16,7 @@
 		</form>
 	#end
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 jQuery(function(){
 	var fullNameTypeahead = new Bloodhound({
diff --git a/src/main/java/org/olat/core/gui/control/generic/clone/_content/offerclone.html b/src/main/java/org/olat/core/gui/control/generic/clone/_content/offerclone.html
index cd9de9d5282..a1abf18f0b6 100644
--- a/src/main/java/org/olat/core/gui/control/generic/clone/_content/offerclone.html
+++ b/src/main/java/org/olat/core/gui/control/generic/clone/_content/offerclone.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 function $r.getId("undf")() {
 	try {
diff --git a/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/callout.html b/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/callout.html
index 8c10f34d526..a375e872e1b 100644
--- a/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/callout.html
+++ b/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/callout.html
@@ -4,7 +4,7 @@
 	</div>
 </div>
 #if($closable)
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */	
 jQuery(function() {
 	jQuery('#callout_layer_$r.getCId()').each(function(index, el) {
diff --git a/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/index.html b/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/index.html
index 7e52b91713d..efe6be65179 100644
--- a/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/index.html
+++ b/src/main/java/org/olat/core/gui/control/generic/closablewrapper/_content/index.html
@@ -15,7 +15,7 @@
 	</div>
 </div></div></div>
 ## always show top of modal dialog when on long pages
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */	
 jQuery(function() {
 	jQuery('#$r.getId("o_closablewapper_") > .modal-backdrop')
diff --git a/src/main/java/org/olat/core/gui/control/generic/iframe/IFrameDeliveryMapper.java b/src/main/java/org/olat/core/gui/control/generic/iframe/IFrameDeliveryMapper.java
index df4dcf11b05..0072b7088db 100644
--- a/src/main/java/org/olat/core/gui/control/generic/iframe/IFrameDeliveryMapper.java
+++ b/src/main/java/org/olat/core/gui/control/generic/iframe/IFrameDeliveryMapper.java
@@ -341,7 +341,7 @@ public class IFrameDeliveryMapper implements Mapper {
 		}
 		
 		// Load some iframe.js helper code
-		sb.append("\n<script type=\"text/javascript\">\n/* <![CDATA[ */\n");
+		sb.append("\n<script>\n/* <![CDATA[ */\n");
 		// Set the iframe id. Important to set before iframe.js is loaded.
 		sb.append("b_iframeid=\"").append(frameId).append("\";");
 		sb.append("b_isInlineUri=").append(Boolean.toString(addCheckForInlineEvents)).append(";");
@@ -350,7 +350,7 @@ public class IFrameDeliveryMapper implements Mapper {
 		sb.appendStaticJs("js/iframeResizer/iframeResizer.contentWindow.min.js");
 
 		if (parser.getHtmlContent().length() > 0) {
-			sb.append("\n<script type=\"text/javascript\">\n/* <![CDATA[ */\n");
+			sb.append("\n<script>\n/* <![CDATA[ */\n");
 			// register the tooltips enabling on document load event
 			sb.append("b_addOnloadEvent(b_hideExtMessageBox);");
 			if (addCheckForInlineEvents) {
@@ -573,7 +573,7 @@ public class IFrameDeliveryMapper implements Mapper {
 		}
 		
 		public void appendJsMath() {
-			append("<script type=\"text/javascript\">\n");
+			append("<script>\n");
 			append("window.MathJax = {\n");
 			append(" extensions: [\"jsMath2jax.js\"],\n");
 			append(" messageStyle: 'none',\n");
@@ -594,7 +594,7 @@ public class IFrameDeliveryMapper implements Mapper {
 			append(" }\n");
 			append("};");
 			append("</script>");
-			append("<script type=\"text/javascript\" src=\"");
+			append("<script src=\"");
 			append(WebappHelper.getMathJaxCdn());
 			append("MathJax.js?config=");
 			append(WebappHelper.getMathJaxConfig());
@@ -608,13 +608,13 @@ public class IFrameDeliveryMapper implements Mapper {
 		}
 
 		public void appendStaticJs(String javascript) {
-			append("<script type=\"text/javascript\" src=\"");
+			append("<script src=\"");
 			StaticMediaDispatcher.renderStaticURI(this, javascript);
 			append("\"></script>\n");
 		}
 		
 		public void appendStaticCss(String css, String id) {
-			append("\n<link rel=\"stylesheet\" type=\"text/css\" id=\"").append(id).append("\" href=\"");
+			append("\n<link rel=\"stylesheet\" id=\"").append(id).append("\" href=\"");
 		  StaticMediaDispatcher.renderStaticURI(this, css);
 		  append("\"");
 			if (docType != null && docType.indexOf("XHTML") > 0) append("/"); // close tag only when xhtml to validate
@@ -622,7 +622,7 @@ public class IFrameDeliveryMapper implements Mapper {
 		}
 		
 		public void appendCss(String css, String id) {
-			append("\n<link rel=\"stylesheet\" type=\"text/css\" id=\"").append(id).append("\" href=\"").append(css).append("\"");
+			append("\n<link rel=\"stylesheet\" id=\"").append(id).append("\" href=\"").append(css).append("\"");
 			if (docType != null && docType.indexOf("XHTML") > 0) append("/"); // close tag only when xhtml to validate
 			append(">\n");
 		}
diff --git a/src/main/java/org/olat/core/gui/control/generic/iframe/_content/event.html b/src/main/java/org/olat/core/gui/control/generic/iframe/_content/event.html
index c3bafe6a857..d8794a13bcb 100644
--- a/src/main/java/org/olat/core/gui/control/generic/iframe/_content/event.html
+++ b/src/main/java/org/olat/core/gui/control/generic/iframe/_content/event.html
@@ -1,5 +1,4 @@
-<script type="text/javascript">
-/* <![CDATA[ */
+<script>
 function newUriEvent(uri){
 	## don't forward event when another request is beeing processed or when page not
 	## yet fully loaded (e.g. in case of a full page refresh when loading TinyMCE)
@@ -7,5 +6,4 @@ function newUriEvent(uri){
 		${r.openJavaScriptCommand("newUriEvent")},'uri',uri);
 	}
 }
-/* ]]> */
 </script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/core/gui/control/generic/iframe/_content/index.html b/src/main/java/org/olat/core/gui/control/generic/iframe/_content/index.html
index 9df2fcdbae8..b0577fed920 100644
--- a/src/main/java/org/olat/core/gui/control/generic/iframe/_content/index.html
+++ b/src/main/java/org/olat/core/gui/control/generic/iframe/_content/index.html
@@ -11,7 +11,7 @@
 	#end
 	
 	#if($adjustAutoHeight)
-		<script type="text/javascript">
+		<script>
 		/* <![CDATA[ */
 			## Init the iFrame to the max height possible.
  			jQuery(function() {b_resizeIframeToMainMaxHeight("$frameId");});
diff --git a/src/main/java/org/olat/core/gui/control/generic/modal/_content/dialogbox.html b/src/main/java/org/olat/core/gui/control/generic/modal/_content/dialogbox.html
index e7c5600dfc5..f34048f3c09 100644
--- a/src/main/java/org/olat/core/gui/control/generic/modal/_content/dialogbox.html
+++ b/src/main/java/org/olat/core/gui/control/generic/modal/_content/dialogbox.html
@@ -18,7 +18,7 @@
 	</div>
 </div></div></div>
 ## always show top of modal dialog when on long pages
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */	
 jQuery(function() {
 	o_scrollToElement('#$r.getId("o_closablewapper_")');
diff --git a/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java b/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java
index cc3fce3234f..d25744b661f 100644
--- a/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java
+++ b/src/main/java/org/olat/core/gui/control/generic/portal/PortalMainController.java
@@ -67,7 +67,7 @@ public class PortalMainController extends BasicController {
 		StringOutput staticUrl = new StringOutput();
 		StaticMediaDispatcher.renderStaticURI(staticUrl, "js/egg.js");
 		welcome.put("htmlHeader", new HtmlHeaderComponent("rss", null, "<link rel=\"alternate\" type=\"application/rss+xml\" title=\""
-				+ translate("welcome.rss") + "\" href=\"" + rssLink + "\" />\n" + "<script type=\"text/javascript\" src=\""
+				+ translate("welcome.rss") + "\" href=\"" + rssLink + "\" />\n" + "<script src=\""
 				+ staticUrl.toString() + "\"></script>"));
 
 		// add portal
diff --git a/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html b/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html
index aaf1e8cc2be..98f1f45905c 100644
--- a/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html
+++ b/src/main/java/org/olat/core/gui/control/generic/textmarker/_content/tmContainer.html
@@ -1,5 +1,5 @@
 #if ($glossaryEnabled)
-<script type="text/javascript">
+<script>
 	var b_glossaryDefinitionMapperPath = "$glossaryDefinitionMapperPath"
 	var b_glossaryTermMapperPath = "$glossaryTermMapperPath"
 	var domID = '$domId';
@@ -7,7 +7,7 @@
 </script>
 #end
 <div id="$domId">$r.render("tmComponent")</div>
-<script type="text/javascript">
+<script>
 #if ($glossaryEnabled)
 	jQuery(function() {
 		var glossaryId = "$glossaryId";
diff --git a/src/main/java/org/olat/core/gui/control/generic/wizard/_content/stepslayout.html b/src/main/java/org/olat/core/gui/control/generic/wizard/_content/stepslayout.html
index 5a94777d8c5..b3725ceece0 100644
--- a/src/main/java/org/olat/core/gui/control/generic/wizard/_content/stepslayout.html
+++ b/src/main/java/org/olat/core/gui/control/generic/wizard/_content/stepslayout.html
@@ -38,7 +38,7 @@
 	</div>
 </div></div></div>
 ## always show top of modal dialog when on long pages
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */	
 jQuery(function() {
 	jQuery('.o_wizard.modal.show.in > .modal-backdrop')
diff --git a/src/main/java/org/olat/core/gui/control/guistack/_content/callout.html b/src/main/java/org/olat/core/gui/control/guistack/_content/callout.html
index 35d0601c816..a2cfff0a461 100644
--- a/src/main/java/org/olat/core/gui/control/guistack/_content/callout.html
+++ b/src/main/java/org/olat/core/gui/control/guistack/_content/callout.html
@@ -4,7 +4,7 @@
 	#if($arrow && $orientation == "bottom")<div class="arrow"></div>#end
 </div>
 <div id="callout_overlay_$r.getCId()" class="o_callout_overlay" style="z-index:$zindexoverlay;"></div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery(function() {
 	jQuery('#callout_$r.getCId()').each(function(index, el) {
diff --git a/src/main/java/org/olat/core/gui/control/guistack/_content/modalDialog.html b/src/main/java/org/olat/core/gui/control/guistack/_content/modalDialog.html
index d55e93aeb00..5a98eca0656 100644
--- a/src/main/java/org/olat/core/gui/control/guistack/_content/modalDialog.html
+++ b/src/main/java/org/olat/core/gui/control/guistack/_content/modalDialog.html
@@ -7,7 +7,7 @@
 
 ## First tell Ext on which z-index the next Ext-window can be opened so that is is on top of 
 ## this modal dialog
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
    o_info.zseed = $zindexextwindows;
 /* ]]> */
diff --git a/src/main/java/org/olat/core/gui/control/winmgr/AjaxController.java b/src/main/java/org/olat/core/gui/control/winmgr/AjaxController.java
index 49300fb33ef..7905860f6fb 100644
--- a/src/main/java/org/olat/core/gui/control/winmgr/AjaxController.java
+++ b/src/main/java/org/olat/core/gui/control/winmgr/AjaxController.java
@@ -97,7 +97,7 @@ public class AjaxController extends DefaultController {
 	// protected only for performance improvement
 	protected List<WindowCommand> windowcommands = new ArrayList<>(3);
 	private final Mapper m, sbm;
-	private final  MapperKey mKey, sbmKey;
+	private final MapperKey mKey, sbmKey;
 	
 	private static final int DEFAULT_POLLPERIOD = 5000;//reasonable default value
 	private int pollperiod = DEFAULT_POLLPERIOD;//reasonable default value
@@ -228,10 +228,6 @@ public class AjaxController extends DefaultController {
 		myContent.contextPut("sburi", sbmKey.getUrl());
 	}
 
-	/**
-	 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest,
-	 *      org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
-	 */
 	@Override
 	public void event(UserRequest ureq, Component source, Event event) {
 		//
@@ -240,7 +236,7 @@ public class AjaxController extends DefaultController {
 	public void pushResource(UserRequest ureq, Writer sb, boolean wrapHTML) throws IOException {
 		if (wrapHTML) {
 			// most ajax responses are a lot smaller than 16k
-			sb.append("<html><head><script type=\"text/javascript\">\n/* <![CDATA[ */\nfunction invoke(){var r=");
+			sb.append("<html><head><script>\nfunction invoke(){var r=");
 			pushJSONAndClear(ureq, sb);
 			sb.append("; ") 
 				.append("if (parent!=self&&parent.window.o_info){")
@@ -257,7 +253,7 @@ public class AjaxController extends DefaultController {
 				.append("this.document.location=\"")
 				.append(StaticMediaDispatcher.createStaticURIFor("msg/json/en/info.html"))
 				.append("\";")
-				.append("}}\n/* ]]> */\n</script></head><body onLoad=\"invoke()\"></body></html>");
+				.append("}}\n</script></head><body onLoad=\"invoke()\"></body></html>");
 		} else {
 			pushJSONAndClear(ureq, sb);
 		}
@@ -320,7 +316,7 @@ public class AjaxController extends DefaultController {
 		if (wrapHTML) {
 			// most ajax responses are a lot smaller than 16k
 			StringBuilder sb = new StringBuilder(16384);
-			sb.append("<html><head><script type=\"text/javascript\">\n/* <![CDATA[ */\nfunction invoke(){var r=")
+			sb.append("<html><head><script>\n/* <![CDATA[ */\nfunction invoke(){var r=")
 			  .append(json.toString()).append("; ") 
 			  .append("if (parent!=self&&parent.window.o_info) {")
 			  .append("  parent.window.o_ainvoke(r);")
diff --git a/src/main/java/org/olat/core/gui/control/winmgr/_content/pollperiod.html b/src/main/java/org/olat/core/gui/control/winmgr/_content/pollperiod.html
index 5c85ea87a56..7b41cf1c7b1 100644
--- a/src/main/java/org/olat/core/gui/control/winmgr/_content/pollperiod.html
+++ b/src/main/java/org/olat/core/gui/control/winmgr/_content/pollperiod.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 if (o_info.poller && o_info.poller.period != ${pollperiod}) {
 	o_info.poller.period = ${pollperiod};
diff --git a/src/main/java/org/olat/core/gui/control/winmgr/_content/standby.html b/src/main/java/org/olat/core/gui/control/winmgr/_content/standby.html
index bfd3ae91d5a..b6d643360d9 100644
--- a/src/main/java/org/olat/core/gui/control/winmgr/_content/standby.html
+++ b/src/main/java/org/olat/core/gui/control/winmgr/_content/standby.html
@@ -2,7 +2,7 @@
 <html>
 <head>
 	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-	<link rel="StyleSheet" href="_staticLink_themes/light/theme.css" type="text/css" media="screen" />
+	<link rel="StyleSheet" href="_staticLink_themes/light/theme.css" media="screen" />
 	<title>_pageTitle_</title>
 </head>
 <body id="o_body">
diff --git a/src/main/java/org/olat/core/gui/dev/controller/_content/index.html b/src/main/java/org/olat/core/gui/dev/controller/_content/index.html
index ea1920bf3b9..873a3162fc8 100644
--- a/src/main/java/org/olat/core/gui/dev/controller/_content/index.html
+++ b/src/main/java/org/olat/core/gui/dev/controller/_content/index.html
@@ -43,7 +43,7 @@
 		</fieldset>
 		#end
 </div>
-<script type="text/javascript">
+<script>
 		function o_toggle_log() {
 			jQuery("#o_dev_tool_log").toggle();
 			o_log(null);
diff --git a/src/main/java/org/olat/core/gui/exception/_content/exception_page.html b/src/main/java/org/olat/core/gui/exception/_content/exception_page.html
index fcefb2c6828..d743182a54e 100644
--- a/src/main/java/org/olat/core/gui/exception/_content/exception_page.html
+++ b/src/main/java/org/olat/core/gui/exception/_content/exception_page.html
@@ -15,7 +15,7 @@
 <meta name="viewport" content="minimal-ui, width=device-width, initial-scale=1">
 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 ## <!-- IE cache -->
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 #if($enforceTopFrame)
 if (top!=self){top.location=self.location+"?o_winrndo=1";}
@@ -24,34 +24,34 @@ var o_info = new Object();
 /* ]]> */
 </script>
 ## jQuery libraries
-<script type="text/javascript" src='$r.staticLink("js/jquery/jquery-3.3.1.min.js")'></script>
+<script src='$r.staticLink("js/jquery/jquery-3.3.1.min.js")'></script>
 #if ($r.available("guidebug"))
 	## Are compressed as js/js.plugins.min.js in non-debug mode
-	<script type="text/javascript" src='$r.staticLink("js/jquery/periodic/jquery.periodic.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jshashtable-2.1_src.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/openolat/jquery.translator.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/openolat/jquery.navbar.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/tinymce4/tinymce/jquery.tinymce.min.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/functions.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("js/jquery/transit/jquery.transit.js")'></script>
+	<script src='$r.staticLink("js/jquery/periodic/jquery.periodic.js")'></script>
+	<script src='$r.staticLink("js/jshashtable-2.1_src.js")'></script>
+	<script src='$r.staticLink("js/jquery/openolat/jquery.translator.js")'></script>
+	<script src='$r.staticLink("js/jquery/openolat/jquery.navbar.js")'></script>
+	<script src='$r.staticLink("js/tinymce4/tinymce/jquery.tinymce.min.js")'></script>
+	<script src='$r.staticLink("js/functions.js")'></script>
+	<script src='$r.staticLink("js/jquery/transit/jquery.transit.js")'></script>
 	## Bootstrap js
-	##<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/affix.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/alert.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/button.js")'></script>
-	##<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/carousel.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/collapse.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/dropdown.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/tab.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/transition.js")'></script>
-	##<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/scrollspy.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/modal.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/tooltip.js")'></script>
-	<script type="text/javascript" src='$r.staticLink("bootstrap/javascripts/bootstrap/popover.js")'></script>
+	##<script src='$r.staticLink("bootstrap/javascripts/bootstrap/affix.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/alert.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/button.js")'></script>
+	##<script src='$r.staticLink("bootstrap/javascripts/bootstrap/carousel.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/collapse.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/dropdown.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/tab.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/transition.js")'></script>
+	##<script src='$r.staticLink("bootstrap/javascripts/bootstrap/scrollspy.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/modal.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/tooltip.js")'></script>
+	<script src='$r.staticLink("bootstrap/javascripts/bootstrap/popover.js")'></script>
 #else
-	<script type="text/javascript" src='$r.staticLink("js/js.plugins.min.js")'></script>
+	<script src='$r.staticLink("js/js.plugins.min.js")'></script>
 #end
 
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
   jQuery.noConflict();
 /* ]]> */
@@ -63,16 +63,16 @@ $r.render("jsCssRawHtmlHeader", "pre-theme")
 ## 2) CSS theme inclusion and favicons
 <link rel="icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
 <link rel="shortcut icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
-<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" type="text/css" />
+<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" />
 ## 3) IE specific bugfixes for current theme
 <!--[if lte IE 7]>
-<link href="${theme.getBaseURI()}patches.css" rel="stylesheet" type="text/css" />
+<link href="${theme.getBaseURI()}patches.css" rel="stylesheet" />
 <![endif]-->
 ## 4) Dynamic overriding of CSS rules
 $r.render("jsCssRawHtmlHeader", "post-theme")
 ## 5) Add user font size
 #if (${globalSettings.getFontSize()} != "100")
-<style id="o_fontSize_css" type="text/css">#o_body{zoom:${globalSettings.getFontSize()}%; -moz-transform: scale(${globalSettings.getFontSize()}%)}</style>
+<style id="o_fontSize_css">#o_body{zoom:${globalSettings.getFontSize()}%; -moz-transform: scale(${globalSettings.getFontSize()}%)}</style>
 #end
 
 ## deprecated - include any raw header
diff --git a/src/main/java/org/olat/core/gui/themes/Theme.java b/src/main/java/org/olat/core/gui/themes/Theme.java
index a265ede436d..71e8afe916e 100644
--- a/src/main/java/org/olat/core/gui/themes/Theme.java
+++ b/src/main/java/org/olat/core/gui/themes/Theme.java
@@ -146,15 +146,15 @@ public class Theme {
 		StringBuilder sb = new StringBuilder(512);
 		File themeFolder = getThemeFolder();
 		// Include the theme css file
-		sb.append("<link id='o_theme_css' href='").append(baseURI).append("theme.css' rel='stylesheet' type='text/css' />\n");
+		sb.append("<link id='o_theme_css' href='").append(baseURI).append("theme.css' rel='stylesheet' />\n");
 		// Include the email css file. It is necessary because AntiSAMY filters the styles in the OpenOLAT email module.
 		Path cssPath = getEmailCssPath();
 		if (Files.exists(cssPath)) {
-			sb.append("<link id='o_email_css' href='").append(baseURI).append("email.css' rel='stylesheet' type='text/css' />\n");
+			sb.append("<link id='o_email_css' href='").append(baseURI).append("email.css' rel='stylesheet' />\n");
 		}
 		// Include custom theme javascript file, for login caroussel, js-based layout patches etc
 		if (new File(themeFolder,CUSTOM_JS_FILENAME).exists()) {
-			sb.append("<script type='text/javascript' src='").append(baseURI).append(CUSTOM_JS_FILENAME).append("'></script>\n");
+			sb.append("<script src='").append(baseURI).append(CUSTOM_JS_FILENAME).append("'></script>\n");
 		}
 		// Include the favicons in legacy .ico format and others in png format and different resolutions
 		if (new File(themeFolder,CUSTOM_FAVICON_ICO_FILENAME).exists()) {	
diff --git a/src/main/java/org/olat/core/logging/activity/doc-files/specification.html b/src/main/java/org/olat/core/logging/activity/doc-files/specification.html
index d6227c59b35..932f3cde6b2 100644
--- a/src/main/java/org/olat/core/logging/activity/doc-files/specification.html
+++ b/src/main/java/org/olat/core/logging/activity/doc-files/specification.html
@@ -9,7 +9,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 
 <base target="_top">
-<style type="text/css">
+<style>
   
 
 /* default css */
diff --git a/src/main/java/org/olat/core/util/Formatter.java b/src/main/java/org/olat/core/util/Formatter.java
index d24810583d0..5feeeecfa49 100644
--- a/src/main/java/org/olat/core/util/Formatter.java
+++ b/src/main/java/org/olat/core/util/Formatter.java
@@ -644,7 +644,7 @@ public class Formatter {
 	 */
 	public static String elementLatexFormattingScript(String domid) {
 		return String.format("%n"
-				+ "<script type='text/javascript'>%n"
+				+ "<script>%n"
 				+ "/* <![CDATA[ */%n"
 				+ " jQuery(function() {setTimeout(function() { BFormatter.formatLatexFormulas('%s');}, 100); }); %n"
 				+ "/* ]]> */%n"
diff --git a/src/main/java/org/olat/core/util/i18n/I18nManager.java b/src/main/java/org/olat/core/util/i18n/I18nManager.java
index 0ba4d7f0f78..dcf83a9f6b3 100644
--- a/src/main/java/org/olat/core/util/i18n/I18nManager.java
+++ b/src/main/java/org/olat/core/util/i18n/I18nManager.java
@@ -1084,7 +1084,7 @@ public class I18nManager {
 	 * This method should only be called by the JSTranslatorMapper. If you need
 	 * localized data in your javascript code use the following code snipplet:
 	 * <code>;
-	 * &lt;script type='text/javascript'&gt;
+	 * &lt;script&gt;
 	 *   var translator = b_jsTranslatorFactory.getTranslator('de', 'org.olat.core');
 	 *   alert(translator.translate('warn.beta.feature'));
 	 * &lt;/script&gt;
diff --git a/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolI18nItemEdit.html b/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolI18nItemEdit.html
index e6ef53c8fdc..c7cc0dcd1d8 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolI18nItemEdit.html
+++ b/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolI18nItemEdit.html
@@ -76,7 +76,7 @@
 	</div>	
 </div>
 
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 
 //FIXME:FG:6.2: Implement Java way of setting flexi form link buttons dirty on change
diff --git a/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolStartCrumb.html b/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolStartCrumb.html
index 2776ca081f7..8bdaae94d42 100644
--- a/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolStartCrumb.html
+++ b/src/main/java/org/olat/core/util/i18n/ui/_content/translationToolStartCrumb.html
@@ -78,9 +78,7 @@
 		</div>
 	</div>
 	## set meaningfull page title
-	<script type="text/javascript">
-	/* <![CDATA[ */ 
+	<script>
 		document.title = "$r.translate("page.appname") - $r.escapeHtml($r.translate("start.title"))";
-	/* ]]> */
 	</script>	
 </div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/certificate/ui/_content/certificate_efficiencystatement.html b/src/main/java/org/olat/course/certificate/ui/_content/certificate_efficiencystatement.html
index 8edf83500dd..e7d7a193ba3 100644
--- a/src/main/java/org/olat/course/certificate/ui/_content/certificate_efficiencystatement.html
+++ b/src/main/java/org/olat/course/certificate/ui/_content/certificate_efficiencystatement.html
@@ -1,5 +1,5 @@
 #if ($collectwizard)
-<script type="text/javascript">
+<script>
 <!--
 ## resize the window if collector-wizard is shown
 jQuery(function(){
diff --git a/src/main/java/org/olat/course/editor/_content/nodeedit.html b/src/main/java/org/olat/course/editor/_content/nodeedit.html
index faf562bf3d0..d47b8f0c3dd 100644
--- a/src/main/java/org/olat/course/editor/_content/nodeedit.html
+++ b/src/main/java/org/olat/course/editor/_content/nodeedit.html
@@ -19,7 +19,7 @@
 		</div>
 	#o_togglebox_end()
 	
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 		jQuery(function() {
 			o_QRCodePopup('o_extlink', '$extLink', 'right');
diff --git a/src/main/java/org/olat/course/highscore/ui/_content/highscore.html b/src/main/java/org/olat/course/highscore/ui/_content/highscore.html
index 872d61ff08b..699fc37dd9c 100644
--- a/src/main/java/org/olat/course/highscore/ui/_content/highscore.html
+++ b/src/main/java/org/olat/course/highscore/ui/_content/highscore.html
@@ -118,7 +118,7 @@
 		</div>
 	</div>
 </div>
-<script type='text/javascript'>/* <![CDATA[ */
+<script>/* <![CDATA[ */
 		jQuery('#o_collapseHighscore').on('hide.bs.collapse', function () {
 			jQuery('#o_collapseHighscoreToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 	  		$r.backgroundCommand("hide")
diff --git a/src/main/java/org/olat/course/highscore/ui/_content/histogram_score.html b/src/main/java/org/olat/course/highscore/ui/_content/histogram_score.html
index 0cda2fb66ad..1123c91fc76 100644
--- a/src/main/java/org/olat/course/highscore/ui/_content/histogram_score.html
+++ b/src/main/java/org/olat/course/highscore/ui/_content/histogram_score.html
@@ -1,6 +1,6 @@
 <div id='histogram_$r.getCId()' class='d3chart'>
 
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#histogram_$r.getCId()').qtiStatistics('highScore', {
diff --git a/src/main/java/org/olat/course/nodes/basiclti/_content/run.html b/src/main/java/org/olat/course/nodes/basiclti/_content/run.html
index 4589cad5038..139e0a8d467 100644
--- a/src/main/java/org/olat/course/nodes/basiclti/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/basiclti/_content/run.html
@@ -11,7 +11,7 @@
 	<iframe id="IMSBasicLTIFrame" src="${mapperUri}?$r.uuid"  marginwidth="0" marginheight="0" #if($width!='auto') width="${width}px" #end height="#if($height!='auto')${height}#else 400#{end}px" frameborder="0" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" style="#if($width!='auto') width:${width}px;#end #if($height!='auto')height:${height}px;#{end}"></iframe>
 </div>
 #if(!$height || 'auto' == $height)
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */ 
 		## no window.onresize due to IE bug which triggers recurstion: http://snook.ca/archives/javascript/ie6_fires_onresize/
 		jQuery(function() {b_resizeIframeToMainMaxHeight("IMSBasicLTIFrame");});
diff --git a/src/main/java/org/olat/course/nodes/basiclti/_content/runPopup.html b/src/main/java/org/olat/course/nodes/basiclti/_content/runPopup.html
index eed8ae1f8af..93e68130fc3 100644
--- a/src/main/java/org/olat/course/nodes/basiclti/_content/runPopup.html
+++ b/src/main/java/org/olat/course/nodes/basiclti/_content/runPopup.html
@@ -1,5 +1,5 @@
 <div class="o_iframedisplay">
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */ 
 		window.open("${mapperUri}?$r.uuid", "_win_$sourcedId", "status=1,toolbar=1,location=1,menubar=1,resizable=1,scrollbars=yes#if($width!='auto'),width=${width}#end #if($height!='auto'),height=${height}#{end}");             	             
 	/* ]]> */
diff --git a/src/main/java/org/olat/course/nodes/bc/_content/preview.html b/src/main/java/org/olat/course/nodes/bc/_content/preview.html
index 064ce7827d4..bc0ba7fd5af 100644
--- a/src/main/java/org/olat/course/nodes/bc/_content/preview.html
+++ b/src/main/java/org/olat/course/nodes/bc/_content/preview.html
@@ -16,7 +16,7 @@
 		<div class="panel-body">$r.translate("preview.info")</div>
 	</div>
 </div></div>
-<script type="text/javascript">
+<script>
 	/* <![CDATA[ */
 		jQuery('#o_preview_bc_details').on('hide.bs.collapse', function () {
 				jQuery('#collapseToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/card2brain/_content/run.html b/src/main/java/org/olat/course/nodes/card2brain/_content/run.html
index 82f90096270..d4841ec14bd 100644
--- a/src/main/java/org/olat/course/nodes/card2brain/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/card2brain/_content/run.html
@@ -1,7 +1,7 @@
 <div class="o_iframedisplay">
 	<iframe id="Card2BrainIFrame" src="${mapperUri}?$r.uuid" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true"></iframe>
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 	registerIFrameAndObserve("Card2BrainIFrame", false);
 /* ]]> */
diff --git a/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html b/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html
index 24dac7e1190..21b0530bde0 100644
--- a/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/cl/ui/_content/run.html
@@ -77,7 +77,7 @@
 			$comment
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseComment').on('hide.bs.collapse', function () {
 				jQuery('#collapseCommentToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -107,7 +107,7 @@
 			</ul>
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseAssessmentDocuments').on('hide.bs.collapse', function () {
 				jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -133,7 +133,7 @@
 			$r.formatLatexFormulas($infoTextUser)
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseDisclaimer').on('hide.bs.collapse', function () {
 				jQuery('#collapseDisclaimerToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -163,7 +163,7 @@
 			</p>
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseDuedate').on('hide.bs.collapse', function () {
 				jQuery('#collapseDuedateToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/edubase/_content/viewer.html b/src/main/java/org/olat/course/nodes/edubase/_content/viewer.html
index 4ceaee5fee3..4125231eccf 100644
--- a/src/main/java/org/olat/course/nodes/edubase/_content/viewer.html
+++ b/src/main/java/org/olat/course/nodes/edubase/_content/viewer.html
@@ -4,11 +4,9 @@
 <div class="o_iframedisplay">
 	<iframe id="EdubaseIFrame" src="${mapperUri}?$r.uuid" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true"></iframe>
 </div>
-<script type="text/javascript">
-/* <![CDATA[ */ 
+<script>
 	## Init the iFrame to the max height possible.
  	jQuery(function() {b_resizeIframeToMainMaxHeight("EdubaseIFrame");});
  	
 	registerIFrameAndObserve("EdubaseIFrame", false);
-/* ]]> */
 </script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_content/coach.html b/src/main/java/org/olat/course/nodes/gta/ui/_content/coach.html
index 42fd982d0af..b8219c422d0 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/_content/coach.html
+++ b/src/main/java/org/olat/course/nodes/gta/ui/_content/coach.html
@@ -30,7 +30,7 @@
 		#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_assignement_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","assignment")
 		}).on('show.bs.collapse', function () {
@@ -76,7 +76,7 @@
 		#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_submit_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","submit")
 		}).on('show.bs.collapse', function () {
@@ -111,7 +111,7 @@
 		#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_review_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","reviewAndCorrection")
 		}).on('show.bs.collapse', function () {
@@ -133,7 +133,7 @@
 		#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_revision_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","revision")
 		}).on('show.bs.collapse', function () {
@@ -157,7 +157,7 @@
 		#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_solution_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","solution")
 		}).on('show.bs.collapse', function () {
@@ -176,7 +176,7 @@
 		#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_grading_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","grading")
 		}).on('show.bs.collapse', function () {
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/_content/run.html b/src/main/java/org/olat/course/nodes/gta/ui/_content/run.html
index de08941b40a..c8c8fdf8442 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/gta/ui/_content/run.html
@@ -63,7 +63,7 @@
 			#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_assignement_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","assignment")
 		}).on('show.bs.collapse', function () {
@@ -102,7 +102,7 @@
 			#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_submit_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","submit")
 		}).on('show.bs.collapse', function () {
@@ -124,7 +124,7 @@
 			#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_review_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","reviewAndCorrection")
 		}).on('show.bs.collapse', function () {
@@ -150,7 +150,7 @@
 			#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_revision_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","revision")
 		}).on('show.bs.collapse', function () {
@@ -174,7 +174,7 @@
 			#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_solution_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","solution")
 		}).on('show.bs.collapse', function () {
@@ -193,7 +193,7 @@
 			#end
 		</div>
 	</div>
-	<script type='text/javascript'>/* <![CDATA[ */
+	<script>/* <![CDATA[ */
 		jQuery('#o_step_grading_content').on('hide.bs.collapse', function () {
 	  		$r.backgroundCommand("hide","step","grading")
 		}).on('show.bs.collapse', function () {
diff --git a/src/main/java/org/olat/course/nodes/gta/ui/component/DescriptionWithTooltipCellRenderer.java b/src/main/java/org/olat/course/nodes/gta/ui/component/DescriptionWithTooltipCellRenderer.java
index b7629fbbcbd..6791e30e365 100644
--- a/src/main/java/org/olat/course/nodes/gta/ui/component/DescriptionWithTooltipCellRenderer.java
+++ b/src/main/java/org/olat/course/nodes/gta/ui/component/DescriptionWithTooltipCellRenderer.java
@@ -58,7 +58,7 @@ public class DescriptionWithTooltipCellRenderer implements FlexiCellRenderer {
 				  .append(desc)
 				  .append("</div>");
 				
-				sb.append("<script type='text/javascript'>")
+				sb.append("<script>")
 			      .append("/* <![CDATA[ */")
 				  .append("jQuery(function() {\n")
 				  .append("  jQuery('#o_sel_desc_").append(pos).append("').tooltip({\n")
diff --git a/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html b/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html
index 34c3b354e3f..aba9757221b 100644
--- a/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html
+++ b/src/main/java/org/olat/course/nodes/iq/_content/assessment_run.html
@@ -79,8 +79,7 @@
 				$comment
 	  		</div>
 		</div></div>
-		<script type="text/javascript">
-			/* <![CDATA[ */
+		<script>
 				jQuery('#collapseComment').on('hide.bs.collapse', function () {
 					jQuery('#collapseCommentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 					$r.backgroundCommand("hide","panel","comment")
@@ -89,7 +88,6 @@
 					jQuery('#collapseCommentsToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
 					$r.backgroundCommand("show","panel","comment")
 				})
-			/* ]]> */
 		</script>
 		#end
 		
@@ -109,8 +107,7 @@
 				</ul>
 	  		</div></div>
 		</div>
-		<script type="text/javascript">
-			/* <![CDATA[ */
+		<script>
 				jQuery('#collapseAssessmentDocuments').on('hide.bs.collapse', function () {
 					jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 					$r.backgroundCommand("hide","panel","assessmentDocuments")
@@ -119,7 +116,6 @@
 					jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
 					$r.backgroundCommand("show","panel","assessmentDocuments")
 				})
-			/* ]]> */
 		</script>
 		#end
 	#else
diff --git a/src/main/java/org/olat/course/nodes/iq/_content/selftestrun.html b/src/main/java/org/olat/course/nodes/iq/_content/selftestrun.html
index 1b0f8f3b1e7..ad27df45564 100644
--- a/src/main/java/org/olat/course/nodes/iq/_content/selftestrun.html
+++ b/src/main/java/org/olat/course/nodes/iq/_content/selftestrun.html
@@ -48,7 +48,7 @@
 				$comment
 	  		</div>
 		</div></div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#collapseComment').on('hide.bs.collapse', function () {
 						jQuery('#collapseCommentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -96,7 +96,7 @@
 			#end
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseResults').on('hide.bs.collapse', function () {
 					jQuery('#collapseResultsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/iq/_content/testrun.html b/src/main/java/org/olat/course/nodes/iq/_content/testrun.html
index 406a12ee58c..cdf4d35344b 100644
--- a/src/main/java/org/olat/course/nodes/iq/_content/testrun.html
+++ b/src/main/java/org/olat/course/nodes/iq/_content/testrun.html
@@ -72,7 +72,7 @@
 				$comment
 	  		</div></div>
 	  	</div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#collapseComment').on('hide.bs.collapse', function () {
 					jQuery('#collapseCommentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -102,7 +102,7 @@
 				</ul>
 	  		</div></div>
 		</div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#collapseAssessmentDocuments').on('hide.bs.collapse', function () {
 					jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -162,7 +162,7 @@
 			#end
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseResults').on('hide.bs.collapse', function () {
 				jQuery('#collapseResultsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -192,7 +192,7 @@
 	  	<div id="collapseDisclaimer" class="panel-collapse collapse #if($r.isTrue($indisclaimer)) in #end"><div class="panel-body">
 		$r.render("disc")
   		</div></div>
-  		<script type="text/javascript">
+  		<script>
 		/* <![CDATA[ */
 			jQuery('#collapseDisclaimer').on('hide.bs.collapse', function () {
 				jQuery('#collapseDisclaimerToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -218,7 +218,7 @@
 	  	<div id="collapseDisclaimer" class="panel-collapse collapse #if($r.isTrue($indisclaimer)) in #end"><div class="panel-body">
 		$r.render("disc")
   		</div></div>
- 		<script type="text/javascript">
+ 		<script>
 		/* <![CDATA[ */
 			jQuery('#collapseDisclaimer').on('hide.bs.collapse', function () {
 				jQuery('#collapseDisclaimerToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -252,7 +252,7 @@
 	</div>
 	
 #end
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseDisclaimer').on('hide.bs.collapse', function () {
 					jQuery('#collapseDisclaimerToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/ms/_content/run.html b/src/main/java/org/olat/course/nodes/ms/_content/run.html
index 0141b2129b4..8e02ed1fa90 100644
--- a/src/main/java/org/olat/course/nodes/ms/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/ms/_content/run.html
@@ -75,7 +75,7 @@
 			$comment
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseComment').on('hide.bs.collapse', function () {
 				jQuery('#collapseCommentToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -105,7 +105,7 @@
 			</ul>
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseAssessmentDocuments').on('hide.bs.collapse', function () {
 				jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -131,7 +131,7 @@
 			$r.formatLatexFormulas($infoTextUser)
   		</div></div>
 	</div>
-	<script type="text/javascript">
+	<script>
 		/* <![CDATA[ */
 			jQuery('#collapseDisclaimer').on('hide.bs.collapse', function () {
 				jQuery('#collapseDisclaimerToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/pf/ui/_content/preview.html b/src/main/java/org/olat/course/nodes/pf/ui/_content/preview.html
index 49789a2c133..39081f3e87f 100644
--- a/src/main/java/org/olat/course/nodes/pf/ui/_content/preview.html
+++ b/src/main/java/org/olat/course/nodes/pf/ui/_content/preview.html
@@ -17,7 +17,7 @@
 		<div class="panel-body">$r.translate("preview.info")</div>
 	</div>
 </div></div>
-<script type="text/javascript">
+<script>
 	/* <![CDATA[ */
 		jQuery('#o_preview_bc_details').on('hide.bs.collapse', function () {
 				jQuery('#collapseToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/portfolio/_content/assessment_infos.html b/src/main/java/org/olat/course/nodes/portfolio/_content/assessment_infos.html
index 6aa57e27726..4c531a984b5 100644
--- a/src/main/java/org/olat/course/nodes/portfolio/_content/assessment_infos.html
+++ b/src/main/java/org/olat/course/nodes/portfolio/_content/assessment_infos.html
@@ -74,8 +74,7 @@
   	</div>
 	<div id="collapseComment" class="panel-collapse collapse #if($r.isTrue($incomment)) in #end"><div class="panel-body">$comment</div></div>
 </div>
-<script type="text/javascript">
-	/* <![CDATA[ */
+<script>
 		jQuery('#collapseComment').on('hide.bs.collapse', function () {
 			jQuery('#collapseCommentToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 			$f.backgroundCommand("hide","panel","comment")
@@ -84,7 +83,6 @@
 			jQuery('#collapseCommentToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
 			$f.backgroundCommand("show","panel","comment")
 		})
-	/* ]]> */
 </script>
 #end
 
@@ -104,8 +102,7 @@
 		</ul>
  		</div></div>
 </div>
-<script type="text/javascript">
-	/* <![CDATA[ */
+<script>
 		jQuery('#collapseAssessmentDocuments').on('hide.bs.collapse', function () {
 			jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 			$f.backgroundCommand("hide","panel","assessmentDocuments")
@@ -114,7 +111,6 @@
 			jQuery('#collapseAssessmentDocumentsToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
 			$f.backgroundCommand("show","panel","assessmentDocuments")
 		})
-	/* ]]> */
 </script>
 #end
 
diff --git a/src/main/java/org/olat/course/nodes/projectbroker/doc-files/howTos.html b/src/main/java/org/olat/course/nodes/projectbroker/doc-files/howTos.html
index a3deaa8cda1..0697e1ea57c 100644
--- a/src/main/java/org/olat/course/nodes/projectbroker/doc-files/howTos.html
+++ b/src/main/java/org/olat/course/nodes/projectbroker/doc-files/howTos.html
@@ -5,7 +5,7 @@
     <meta http-equiv="Content-Type"
           content="text/html;charset=utf-8" />
     <title>OLAT Framework - framework</title>
-    <style type="text/css" media="screen"> 
+    <style media="screen"> 
         body {
             font: 90% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
             background-color: White;
diff --git a/src/main/java/org/olat/course/nodes/scorm/_content/run.html b/src/main/java/org/olat/course/nodes/scorm/_content/run.html
index d215e20c17f..7201295bbb4 100644
--- a/src/main/java/org/olat/course/nodes/scorm/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/scorm/_content/run.html
@@ -60,7 +60,7 @@
 				$comment
 	  		</div>
 		</div></div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#collapseComment').on('hide.bs.collapse', function () {
 						jQuery('#collapseCommentToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/course/nodes/st/_content/run.html b/src/main/java/org/olat/course/nodes/st/_content/run.html
index 4e219db2477..c79bacb3b4d 100644
--- a/src/main/java/org/olat/course/nodes/st/_content/run.html
+++ b/src/main/java/org/olat/course/nodes/st/_content/run.html
@@ -66,7 +66,7 @@
 	</div>
 #end
 
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 jQuery(function() {
 	## Add event JS event listeners for click and keydown events on all the gotonodes links to jump to top
diff --git a/src/main/java/org/olat/course/run/_content/index.html b/src/main/java/org/olat/course/run/_content/index.html
index 79d5a471184..9d49a4fb0dd 100644
--- a/src/main/java/org/olat/course/run/_content/index.html
+++ b/src/main/java/org/olat/course/run/_content/index.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 o_info.course_id="$courserepokey";
 ## o_activateCourseNode is called from functions.js gotonode() method and implements 
diff --git a/src/main/java/org/olat/doc-files/howTos.html b/src/main/java/org/olat/doc-files/howTos.html
index 9f847b7dca0..a7e0e875277 100644
--- a/src/main/java/org/olat/doc-files/howTos.html
+++ b/src/main/java/org/olat/doc-files/howTos.html
@@ -5,7 +5,7 @@
     <meta http-equiv="Content-Type"
           content="text/html;charset=utf-8" />
     <title>OLAT Framework - framework</title>
-    <style type="text/css" media="screen"> 
+    <style media="screen"> 
         body {
             font: 90% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
             background-color: White;
diff --git a/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html b/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html
index 527c7f451b5..123a8db7c64 100644
--- a/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html
+++ b/src/main/java/org/olat/group/ui/main/_content/accept_reservations.html
@@ -46,8 +46,7 @@
 		</div>
 	</div>
 
-	<script type="text/javascript">
-	/* <![CDATA[ */ 
+	<script>
 		jQuery(function() {  
 			jQuery('#o_reservation_details_show_$id').click(function() {
 				jQuery('#o_reservation_details_$id').slideDown(300, function() {
@@ -62,7 +61,6 @@
 				});
 			});
 		});
-	/* ]]> */
 	</script>
 #end
 
diff --git a/src/main/java/org/olat/gui/demo/guidemo/_content/calloutWindow.html b/src/main/java/org/olat/gui/demo/guidemo/_content/calloutWindow.html
index 322a6529ce0..5e8ddaf12ea 100644
--- a/src/main/java/org/olat/gui/demo/guidemo/_content/calloutWindow.html
+++ b/src/main/java/org/olat/gui/demo/guidemo/_content/calloutWindow.html
@@ -25,7 +25,7 @@ $r.render("sourceview")
 	CLICK ME: I'm a custom callout trigger that is not even a link! Fancy stuff..
 </div>
 
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery(function() {
 	## Add click listener to trigger 3 via JavaScript, fire event on 
diff --git a/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-icons.html b/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-icons.html
index 806f4a49e68..f329ed585b0 100644
--- a/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-icons.html
+++ b/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-icons.html
@@ -1,4 +1,4 @@
-<style type="text/css">
+<style>
 h3 {
 	margin-bottom: 5px; margin-top: 12px;
 }
diff --git a/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-rest.html b/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-rest.html
index 42bf309b444..b1962e9ff79 100644
--- a/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-rest.html
+++ b/src/main/java/org/olat/gui/demo/guidemo/_content/guidemo-rest.html
@@ -38,7 +38,7 @@
 	<div id="o_guidemo_courses">loading...</div>
 	
 	
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 	
 	/* OpenOLAT REST API URL for this server */
diff --git a/src/main/java/org/olat/ims/cp/ui/_content/treeView.html b/src/main/java/org/olat/ims/cp/ui/_content/treeView.html
index 9aca9180c76..802d3a178e5 100644
--- a/src/main/java/org/olat/ims/cp/ui/_content/treeView.html
+++ b/src/main/java/org/olat/ims/cp/ui/_content/treeView.html
@@ -3,8 +3,7 @@
 		$r.render("cptreecontroller.tree")
 	</div>
 </div>
-<script type="text/javascript">
-/* <![CDATA[ */
+<script>
 	function CPEditorBeforeTreeNodeClick(event) {
 		if(o_info.linkbusy) {
 			return false;
@@ -15,5 +14,4 @@
 		}
 		return false;
 	} 
-/* ]]> */
 </script>
\ No newline at end of file
diff --git a/src/main/java/org/olat/ims/lti/ui/TalkBackMapper.java b/src/main/java/org/olat/ims/lti/ui/TalkBackMapper.java
index 692a52736c4..0fa0b17a49a 100644
--- a/src/main/java/org/olat/ims/lti/ui/TalkBackMapper.java
+++ b/src/main/java/org/olat/ims/lti/ui/TalkBackMapper.java
@@ -58,7 +58,7 @@ public class TalkBackMapper implements Mapper, Serializable {
 		StringMediaResource mediares = new StringMediaResource();
 		StringBuilder sb = new StringBuilder();
 		sb.append("<html><head>")
-			.append("\n<link rel=\"stylesheet\" type=\"text/css\" id=\"ocontentcss\" href=\"").append(themeBaseUri).append("content.css\" />\n")
+			.append("\n<link rel=\"stylesheet\" id=\"ocontentcss\" href=\"").append(themeBaseUri).append("content.css\" />\n")
 			.append("<title>").append(trans.translate("talkback.title")).append("</title></head><body>")
 			.append("<div class='o_lti_talkback'>")
 			.append("<h1>").append(trans.translate("talkback.title")).append("</h1>")
diff --git a/src/main/java/org/olat/ims/qti/editor/_content/tab_assess.html b/src/main/java/org/olat/ims/qti/editor/_content/tab_assess.html
index 820dd701891..1f1fb5b858b 100644
--- a/src/main/java/org/olat/ims/qti/editor/_content/tab_assess.html
+++ b/src/main/java/org/olat/ims/qti/editor/_content/tab_assess.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 	function hideSwitches() {
 		document.getElementById('hswitch').style.display = 'none';
 		document.getElementById('sswitch').style.display = 'none';
@@ -277,9 +277,9 @@
 		</div>
 	#end
 	#if ($assessment.isInheritControls() && !$isRestrictedEdit)
-		<script type="text/javascript">showSwitches();</script>
+		<script>showSwitches();</script>
 	#else
-		<script type="text/javascript">hideSwitches();</script>
+		<script>hideSwitches();</script>
 	#end
 #end 
 
diff --git a/src/main/java/org/olat/ims/qti/editor/_content/tab_itemPreview.html b/src/main/java/org/olat/ims/qti/editor/_content/tab_itemPreview.html
index d3d4f74f0b6..bbedf9958f9 100644
--- a/src/main/java/org/olat/ims/qti/editor/_content/tab_itemPreview.html
+++ b/src/main/java/org/olat/ims/qti/editor/_content/tab_itemPreview.html
@@ -7,7 +7,7 @@
 </fieldset>
 
 ## remove listeners doing dirty marking, not needed in preview
-<script type="text/javascript">
+<script>
 	var f,i;
 
 	f = document.getElementById('ofo_iq_item').getElementsByTagName('input');
diff --git a/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html b/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html
index 58e592975db..b7397a1a18f 100644
--- a/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html
+++ b/src/main/java/org/olat/ims/qti/export/_content/optionschoose.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 function o_toggle_optionchoose(n) {
 var boxes = $('o_optionchoose_form').getElementsByTagName("input");
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_average_score_per_item.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_average_score_per_item.html
index c8309dcfaaa..6097e76d27f 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_average_score_per_item.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_average_score_per_item.html
@@ -1,5 +1,5 @@
 <div id="$r.getId('d3div')"><div id="$r.getId('d3holder')" class='d3chart' style='width:90%;'></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#$r.getId("d3holder")').qtiStatistics('averageScorePerItem', {
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item.html
index 7196d2ec7a1..6446ef67b2c 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item.html
@@ -1,5 +1,5 @@
 <div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='width:90%;height:300px'></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#$r.getId("d3holder")').qtiStatistics('$series.chartType', {
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item_overview.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item_overview.html
index 104f65acfa5..ba99124fbb4 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item_overview.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_item_overview.html
@@ -3,7 +3,7 @@
 	<div class="o_qti_statistics_question">$question</div>
 	
 	<div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='width:90%;'></div>
-	<script type='text/javascript'>
+	<script>
 	/* <![CDATA[ */
 	jQuery(function () {
 		jQuery('#$r.getId("d3holder")').qtiStatistics('$series.chartType', {
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_right_answer_per_item.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_right_answer_per_item.html
index 349f6f4b29a..445b32167ee 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_right_answer_per_item.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/hbar_right_answer_per_item.html
@@ -1,5 +1,5 @@
 <div id="$r.getId('d3div')"><div id="$r.getId('d3holder')" class='d3chart' style='width:90%;'></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#$r.getId("d3holder")').qtiStatistics('rightAnswerPerItem', {
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_duration.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_duration.html
index 35c29532a9a..ebbef44b370 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_duration.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_duration.html
@@ -1,7 +1,7 @@
 <div class="o_print_break_avoid">
 	<h4>$r.translate("chart.duration.histogramm")</h4>
 	<div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='width:90%;height:300px'></div>
-	<script type='text/javascript'>
+	<script>
 	/* <![CDATA[ */
 	jQuery(function () {
 		jQuery('#$r.getId("d3holder")').qtiStatistics('histogramDuration', {
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_score.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_score.html
index ae649ab3882..39947def63c 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_score.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/histogram_score.html
@@ -1,7 +1,7 @@
 <div class="o_print_break_avoid">
 	<h4>$r.translate("chart.score.histogramm")</h4>
 	<div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='width:90%;height:300px'></div>
-	<script type='text/javascript'>
+	<script>
 	/* <![CDATA[ */
 	jQuery(function () {
 		jQuery('#$r.getId("d3holder")').qtiStatistics('histogramScore', {
diff --git a/src/main/java/org/olat/ims/qti/statistics/ui/_content/print.html b/src/main/java/org/olat/ims/qti/statistics/ui/_content/print.html
index 7d370a0264b..f8349be3873 100644
--- a/src/main/java/org/olat/ims/qti/statistics/ui/_content/print.html
+++ b/src/main/java/org/olat/ims/qti/statistics/ui/_content/print.html
@@ -7,7 +7,7 @@
 	
 	</div>
 #end
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
     ## Execute deferred. Gives browser the time to finish the page rendering first before executing the print dialog. 
 	jQuery(function() {window.print();});
diff --git a/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html b/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html
index f626b4f4450..c069157744e 100644
--- a/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html
+++ b/src/main/java/org/olat/ims/qti21/resultexport/_content/qti21results.html
@@ -4,24 +4,24 @@
 <head>
 	<title>$rootTitle</title>	
 	<link rel='stylesheet' href='../../../css/offline/qti/theme.css' />
-	<script type="text/javascript" src='../../../js/jquery/jquery-3.3.1.min.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/maphilight/jquery.maphilight.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.associate.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.gapMatch.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.graphicAssociate.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.graphicGap.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.graphicOrder.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.hotspot.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.hotspot.responsive.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.match.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.match_dnd.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.order.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.positionObject.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.qtiTimer.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.selectPoint.js'></script>
-	<script type="text/javascript" src='../../../js/jquery/qti/jquery.slider.js'></script>
+	<script src='../../../js/jquery/jquery-3.3.1.min.js'></script>
+	<script src='../../../js/jquery/maphilight/jquery.maphilight.js'></script>
+	<script src='../../../js/jquery/qti/jquery.associate.js'></script>
+	<script src='../../../js/jquery/qti/jquery.gapMatch.js'></script>
+	<script src='../../../js/jquery/qti/jquery.graphicAssociate.js'></script>
+	<script src='../../../js/jquery/qti/jquery.graphicGap.js'></script>
+	<script src='../../../js/jquery/qti/jquery.graphicOrder.js'></script>
+	<script src='../../../js/jquery/qti/jquery.hotspot.js'></script>
+	<script src='../../../js/jquery/qti/jquery.hotspot.responsive.js'></script>
+	<script src='../../../js/jquery/qti/jquery.match.js'></script>
+	<script src='../../../js/jquery/qti/jquery.match_dnd.js'></script>
+	<script src='../../../js/jquery/qti/jquery.order.js'></script>
+	<script src='../../../js/jquery/qti/jquery.positionObject.js'></script>
+	<script src='../../../js/jquery/qti/jquery.qtiTimer.js'></script>
+	<script src='../../../js/jquery/qti/jquery.selectPoint.js'></script>
+	<script src='../../../js/jquery/qti/jquery.slider.js'></script>
 	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
-	<script type="text/javascript">
+	<script>
 /* <![CDATA[ */ 
 function setFlexiFormDirtyByListener(e){
 	//
diff --git a/src/main/java/org/olat/ims/qti21/resultexport/_content/qtiListing.html b/src/main/java/org/olat/ims/qti21/resultexport/_content/qtiListing.html
index e9f096fef40..9ebd171ad18 100644
--- a/src/main/java/org/olat/ims/qti21/resultexport/_content/qtiListing.html
+++ b/src/main/java/org/olat/ims/qti21/resultexport/_content/qtiListing.html
@@ -4,7 +4,7 @@
 	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
 	<link rel="stylesheet" href="../../css/offline/qti/theme.css" />
 	<title>$title</title>
-	<script type="text/javascript" src="../../js/jquery/jquery-3.3.1.min.js" ></script>
+	<script src="../../js/jquery/jquery-3.3.1.min.js" ></script>
 	<script >
 	$.noConflict();
 	jQuery(document).ready(function(){
diff --git a/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html b/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html
index 1961d72a932..d6a48afa3b5 100644
--- a/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html
+++ b/src/main/java/org/olat/ims/qti21/ui/_content/assessment_results.html
@@ -238,12 +238,10 @@
 	</div></div> ## END o_block_centered_wrapper
 	</div> ## END right column / o_qti_metainfo_visual
 			
-	<script type="text/javascript">
-	/* <![CDATA[ */
+	<script>
 	setTimeout(function() {
 		jQuery("#o_performance_summary_visual").attr("data-progress","${testResults.scorePercent}");
 	},100);
-	/* ]]> */
 	</script>
 	#end
 	
@@ -303,12 +301,10 @@
 			</div> ## END of radial-progress
 			
 			## Animate radial score progress via JS
-			<script type="text/javascript">
-			/* <![CDATA[ */
+			<script>
 			setTimeout(function() {
 				jQuery("#${foreach.count}").attr("data-progress","${itemResult.scorePercent}");
 			},100);
-			/* ]]> */
 			</script>			
 		</div>  ## END of o_performance_summary
 		#end
@@ -565,8 +561,7 @@
 #end  ## END of #if($options.isQuestionSummary() || $options.isQuestions() || $options.isUserSolutions() || $options.isCorrectSolutions())
 
 #if($printCommand)
-<script type="text/javascript">
-/* <![CDATA[ */ 
+<script>
 	// execute after radial score rendering
 	jQuery(function() {
 		setTimeout(function() {
@@ -574,7 +569,6 @@
 			window.print();
 		},1500);
 	});
-/* ]]> */
 </script>
 #end
 </div> ## END of o_assessment_test_results
diff --git a/src/main/java/org/olat/ims/qti21/ui/_content/at_run.html b/src/main/java/org/olat/ims/qti21/ui/_content/at_run.html
index 9034d53c4f0..fae24c942c7 100644
--- a/src/main/java/org/olat/ims/qti21/ui/_content/at_run.html
+++ b/src/main/java/org/olat/ims/qti21/ui/_content/at_run.html
@@ -88,7 +88,7 @@
 		</div>
 	#end
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery().ready(function() {
 	// Main vertical splitter, anchored to the browser window
diff --git a/src/main/java/org/olat/ims/qti21/ui/_content/suspended.html b/src/main/java/org/olat/ims/qti21/ui/_content/suspended.html
index bcd24f92b66..04d63b4fdfd 100644
--- a/src/main/java/org/olat/ims/qti21/ui/_content/suspended.html
+++ b/src/main/java/org/olat/ims/qti21/ui/_content/suspended.html
@@ -1,7 +1,7 @@
 <div id="o_qti_container">
 	<div class="o_important">$r.translate("assessment.test.suspended")</div>
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery(function() {
 	try {
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java
index 1c655c66972..c594c7d85a3 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java
+++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentObjectComponentRenderer.java
@@ -771,8 +771,8 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent
 			//this is a OpenOLAT movie and need to be converted
 			/*
 			<span id="olatFlashMovieViewer213060" class="olatFlashMovieViewer" style="display:block;border:solid 1px #000; width:320px; height:240px;">
-			  <script src="/raw/fx-111111x11/movie/player.js" type="text/javascript"></script>
-			  <script type="text/javascript" defer="defer">// <![CDATA[
+			  <script src="/raw/fx-111111x11/movie/player.js"></script>
+			  <script defer="defer">// <![CDATA[
 			    BPlayer.insertPlayer("demo-video.mp4","olatFlashMovieViewer213060",320,240,0,0,"video",undefined,false,false,true,undefined);
 			   // ]]></script>
 			</span>
@@ -813,10 +813,10 @@ public abstract class AssessmentObjectComponentRenderer extends DefaultComponent
 			sb.append("<span id=\"").append(uniqueId).append("\" class=\"olatFlashMovieViewer\" style=\"display:block;border:solid 1px #000; width:").append(width).append("px; height:").append(height).append("px;\">\n")
 			  .append(" <script src=\"");
 			Renderer.renderStaticURI(sb, "movie/player.js");
-			sb.append("\" type=\"text/javascript\"></script>\n")
-			  .append(" <script type=\"text/javascript\" defer=\"defer\">// <![CDATA[\n")
+			sb.append("\"></script>\n")
+			  .append(" <script defer=\"defer\">")
 			  .append("  BPlayer.insertPlayer(").append(dataMovie).append(");\n")
-			  .append(" // ]]></script>\n")
+			  .append(" </script>\n")
 			  .append("</span>\n");
 		} else {
 			renderStartHtmlTag(sb, component, resolvedAssessmentItem, object, null);
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentTestComponentRenderer.java b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentTestComponentRenderer.java
index cfe52478664..b12708f61d5 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/AssessmentTestComponentRenderer.java
+++ b/src/main/java/org/olat/ims/qti21/ui/components/AssessmentTestComponentRenderer.java
@@ -385,7 +385,7 @@ public class AssessmentTestComponentRenderer extends AssessmentObjectComponentRe
 		  .append("</span></a>")
 		  .append("</div></div>");
 		// script to show/hide the rubrics with the translated linked
-		sb.append("<script type=\"text/javascript\">\n")
+		sb.append("<script>\n")
 		  .append("/* <![CDATA[ */ \n")
 		  .append("jQuery(function() {\n")
 		  .append(" jQuery('#").append(linkKey).append(", #h").append(linkKey).append("').on('click', function(linkIndex, linkEl) {\n")
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/associateInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/associateInteraction.html
index dd546cb1210..1ab76490a6b 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/associateInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/associateInteraction.html
@@ -40,7 +40,7 @@
 			<div style="clear:both; "></div>
 		</div>
 		
-		<script type="text/javascript">
+		<script>
 		jQuery(function() {
 			jQuery('#${containerId}').associateInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/choiceInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/choiceInteraction.html
index 136d29bb872..2867ba6e8b9 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/choiceInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/choiceInteraction.html
@@ -75,7 +75,7 @@
 #end
 </div>
 #if(!$r.isSingleChoice($interaction) && $r.isItemSessionOpen())
-<script type='text/javascript'>
+<script>
 	jQuery(function() {
 		jQuery('#qti_container_${responseIdentifier}').choiceInteraction({
 			responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html
index 5f0cd7ea634..340aa03ae26 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/drawingInteraction.html
@@ -52,7 +52,7 @@
 	<div id="sketch_${responseIdentifier}" class="sketch" style="border:1px solid black; width:${widthWithBorder}px; height:${heightWithBorder}px;" draggable="false" ondragstart="return false;">
 		<canvas id="paint_${responseIdentifier}" width="${interaction.object.width}" height="${interaction.object.height}" style="background:url('${r.convertLinkFull($interaction.object.data)}') !important;" draggable="false" ondragstart="return false;"></canvas>
 	</div>
-	<script type='text/javascript'>
+	<script>
 	jQuery(function() {
 		var itemOpen = $isItemSessionOpen; 
 		if(itemOpen) {
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/gapMatchInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/gapMatchInteraction.html
index f7561ebec08..6a5e79b2698 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/gapMatchInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/gapMatchInteraction.html
@@ -36,7 +36,7 @@
 		</tr>
 		#end
 	</table>
-	<script type='text/javascript'>
+	<script>
 	jQuery(function() {
 		jQuery('#qti_container_${responseIdentifier}').gapMatchInteraction({
 			responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicAssociateInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicAssociateInteraction.html
index 1b680a2cb5b..c93aab0b10f 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicAssociateInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicAssociateInteraction.html
@@ -25,7 +25,7 @@
           	#end
           	</map>
 		</div>
-		<script type="text/javascript">
+		<script>
 		jQuery(function() {
 			jQuery('#${containerId}').graphicAssociateInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html
index 460754a9dda..4e64ac51a56 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicGapMatchInteraction.html
@@ -32,7 +32,7 @@
             	<div id="ac_${responseIdentifier}_${gapImg.identifier}" data-qti-id="${gapImg.identifier}" class="gap_item o_gap_item" style="float:left; width:${gapImg.object.width}px; height:${gapImg.object.height}px; background-image:url('${r.convertLinkFull($gapImg.object.data)}');">&nbsp;</div>
 			#end
 		</div>
-		<script type="text/javascript">
+		<script>
 		jQuery(function() {
 			var map = jQuery('#${containerId}_img').maphilight({
 				fillColor: '888888',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicOrderInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicOrderInteraction.html
index d509387d481..373a3ad4f7b 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicOrderInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/graphicOrderInteraction.html
@@ -23,7 +23,7 @@
 			$r.appendFlexiFormDirtyForClick("ac_${responseIdentifier}_${hotspotChoice.identifier}")
 		#end
 		</map>
-		<script type="text/javascript">
+		<script>
 		jQuery(function() {
 			jQuery('#${containerId}').graphicOrderInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/hotspotInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/hotspotInteraction.html
index d9ceebe5c20..30ae6976ac2 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/hotspotInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/hotspotInteraction.html
@@ -24,7 +24,7 @@
 		#end
 		</map>
 	</div>
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 	var maphilightSettings;
 	#if($r.hasCssClass($interaction, "hotspot-light"))
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/hottextInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/hottextInteraction.html
index 016df04c90f..4a66cc721de 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/hottextInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/hottextInteraction.html
@@ -27,7 +27,7 @@
 	$r.renderBlockStatics($interaction.getBlockStatics())
 </div>
 #if(!$r.isSingleChoice($interaction) && $r.isItemSessionOpen())
-<script type='text/javascript'>
+<script>
 	jQuery(function() {
 		jQuery('#qti_container_${responseIdentifier}').choiceInteraction({
 			responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction.html
index d2e1ebe15b4..ca4126b07dd 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction.html
@@ -39,7 +39,7 @@
 		</tbody>
 	</table>
 	#if($r.isItemSessionOpen())
-        <script type='text/javascript'>
+        <script>
 		jQuery(function() {
 			jQuery('#qti_container_${responseIdentifier}').matchInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_dnd.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_dnd.html
index e452477c293..b14ef69cdf8 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_dnd.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_dnd.html
@@ -84,7 +84,7 @@
 			</ul>
 		#end
 	</div>
-	<script type='text/javascript'>
+	<script>
 	jQuery(function() {
 		jQuery('#qti_container_${responseIdentifier}').matchInteractionDnd({
 			responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_kprim.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_kprim.html
index 6519d844abe..c3049ab98f3 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_kprim.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_kprim.html
@@ -51,7 +51,7 @@
 		</tbody>
 	</table>
 	#if($r.isItemSessionOpen())
-        <script type='text/javascript'>
+        <script>
 		jQuery(function() {
 			jQuery('#qti_container_${responseIdentifier}').matchInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_truefalse.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_truefalse.html
index ccc30cc0d44..ce7b6d6456e 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_truefalse.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/matchInteraction_truefalse.html
@@ -39,7 +39,7 @@
 		</tbody>
 	</table>
 	#if($r.isItemSessionOpen())
-        <script type='text/javascript'>
+        <script>
 		jQuery(function() {
 			jQuery('#qti_container_${responseIdentifier}').matchInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/mathEntryInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/mathEntryInteraction.html
index fffe3554a72..be9d4bff810 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/mathEntryInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/mathEntryInteraction.html
@@ -22,7 +22,7 @@
           <math xmlns="http://www.w3.org/1998/Math/MathML"></math>
         </div>
 	</div>
-	<script type="text/javascript">
+	<script>
 	jQuery(function() {
 		//because we use ajax to render the page
 		var math = document.getElementById("qtiworks_id_mathEntryPreview_${responseIdentifier}");
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/mediaInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/mediaInteraction.html
index ebd22bf5ae2..c4fffda54fd 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/mediaInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/mediaInteraction.html
@@ -5,7 +5,7 @@
 	<div class="prompt">$r.renderPrompt($interaction.getPrompt())</div>
 	#end
 	<p><span id="olatFlashMovieViewer_${responseIdentifier}" class="olatFlashMovieViewer" style="display:block;border:solid 1px #000; width:${interaction.object.width}px; height:${interaction.object.height}px;">
-		<script type="text/javascript" defer="defer">
+		<script defer="defer">
 		BPlayer.insertPlayer("${r.convertLinkAbsolut($interaction.object.data)}","olatFlashMovieViewer_${responseIdentifier}",${interaction.object.width},${interaction.object.height},0,0,"video",undefined,("${interaction.autostart}" == "true"),("${interaction.loop}" == "true"),true,undefined);
 		</script>
 	</span></p>
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/positionObjectStage.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/positionObjectStage.html
index 0e5d5b0be33..3c6904509a4 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/positionObjectStage.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/positionObjectStage.html
@@ -27,7 +27,7 @@
 			#set($maxChoices = $r.maxToList($interaction.maxChoices))
 			#set($responseValue = $r.getResponseValue($interaction.responseIdentifier))
 
-	 		<script type="text/javascript">
+	 		<script>
 			jQuery(function() {
 				jQuery('#${containerId}').positionObjectStage({
 					responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/selectPointInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/selectPointInteraction.html
index 50f24bdc700..58a9f0c725e 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/selectPointInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/selectPointInteraction.html
@@ -14,7 +14,7 @@
 	
 	<div id="${containerId}" class="appletContainer" data-openolat="">
 		<canvas id="${containerId}_canvas" width="${interaction.object.width}" height="${interaction.object.height}" style="background-image:url('${r.convertLink($interaction.object.data)}');"></canvas>
-		<script type="text/javascript">
+		<script>
 		jQuery(function() {
 			jQuery('#${containerId}').selectPointInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/components/_content/sliderInteraction.html b/src/main/java/org/olat/ims/qti21/ui/components/_content/sliderInteraction.html
index 1d63dfb62fc..45c26d5b88a 100644
--- a/src/main/java/org/olat/ims/qti21/ui/components/_content/sliderInteraction.html
+++ b/src/main/java/org/olat/ims/qti21/ui/components/_content/sliderInteraction.html
@@ -28,7 +28,7 @@
             </div>
 		#end
 		<input type="hidden" name="qtiworks_response_${responseIdentifier}" value="$value"/>
-        <script type="text/javascript">
+        <script>
 		jQuery(function() {
 			jQuery('#qti_slider_${responseIdentifier}').sliderInteraction({
 				responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspot_choices_score.html b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspot_choices_score.html
index 92166d3ceb2..b4d0d6849ab 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspot_choices_score.html
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspot_choices_score.html
@@ -25,7 +25,7 @@
 	<input type="hidden" id="${hotspot.identifier}_coords" name="${hotspot.identifier}_coords" value="${hotspot.coords}" />
 #end
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery(function() {
 	var board = jQuery("#o_qti_hotspots_view").drawing({ resize: false, drag: false });
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspots.html b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspots.html
index ca718b5d0f4..7b7b0b21318 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspots.html
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/hotspots.html
@@ -7,7 +7,7 @@
 	<input type="hidden" id="${hotspot.identifier}_coords" name="${hotspot.identifier}_coords" value="${hotspot.coords}" />
 #end
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery(function() {
 	var board = jQuery("#o_qti_hotspots_edit").drawing({ resize: !${restrictedEdit}, drag: !${restrictedEdit} });
diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/match_choices.html b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/match_choices.html
index 35d81f5086e..9e32e36148b 100644
--- a/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/match_choices.html
+++ b/src/main/java/org/olat/ims/qti21/ui/editor/interactions/_content/match_choices.html
@@ -59,7 +59,7 @@
 	</tbody>
 </table>
 #if(!$restrictedEdit)
-<script type='text/javascript'>
+<script>
 jQuery(function() {
 	jQuery('#qti_container_${responseIdentifier}').matchInteraction({
 		responseIdentifier: '$responseIdentifier',
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_average_score_per_item.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_average_score_per_item.html
index faa799bf071..0066a3e719e 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_average_score_per_item.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_average_score_per_item.html
@@ -1,5 +1,5 @@
 <div id="$r.getId('d3div')"><div id="$r.getId('d3holder')" class='d3chart' style=''></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#$r.getId("d3holder")').qtiStatistics('averageScorePerItem', {
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_right_answer_per_item.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_right_answer_per_item.html
index d8da820ee48..a90af765081 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_right_answer_per_item.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/hbar_right_answer_per_item.html
@@ -1,5 +1,5 @@
 <div id="$r.getId('d3div')"><div id="$r.getId('d3holder')" class='d3chart' style=''></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#$r.getId("d3holder")').qtiStatistics('rightAnswerPerItem', {
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_duration.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_duration.html
index 4c9e674201e..49074dc063f 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_duration.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_duration.html
@@ -1,7 +1,7 @@
 <div class="o_print_break_avoid">
 	<h4>$r.translate("chart.duration.histogramm")</h4>
 	<div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='height:300px'></div>
-	<script type='text/javascript'>
+	<script>
 	/* <![CDATA[ */
 	jQuery(function () {
 		jQuery('#$r.getId("d3holder")').qtiStatistics('histogramDuration', {
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_score.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_score.html
index 70be4a50667..f527c2a2645 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_score.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/histogram_score.html
@@ -1,7 +1,7 @@
 <div class="o_print_break_avoid">
 	<h4>$r.translate("chart.score.histogramm")</h4>
 	<div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='min-height:300px'></div>
-	<script type='text/javascript'>
+	<script>
 	/* <![CDATA[ */
 	jQuery(function () {
 		jQuery('#$r.getId("d3holder")').qtiStatistics('histogramScore', {
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html
index b165285aa18..85961507e4a 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/_content/print.html
@@ -7,7 +7,7 @@
 	$r.render($pageName)
 	</div>
 #end
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
     ## Execute deferred. Gives browser the time to finish the page rendering first before executing the print dialog. 
 	jQuery(function() {
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hbar_item.html b/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hbar_item.html
index 05970634127..bf34fa11061 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hbar_item.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hbar_item.html
@@ -1,5 +1,5 @@
 <div id="$r.getId('d3div')"><div id='$r.getId("d3holder")' class='d3chart' style='min-height:300px'></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 jQuery(function () {
 	jQuery('#$r.getId("d3holder")').qtiStatistics('$series.chartType', {
diff --git a/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hotspot_item.html b/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hotspot_item.html
index eea43545139..a87a5ae3330 100644
--- a/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hotspot_item.html
+++ b/src/main/java/org/olat/ims/qti21/ui/statistics/interactions/_content/hotspot_item.html
@@ -1,6 +1,6 @@
 <div id="$r.getId('d3mapdiv')">
 	<div id='$r.getId("d3mapholder")' class="d3chart" style="position:relative; width:${width}px; height:${height}px; background-color:purple; #if($filename && !${filename.isEmpty()}) background-image: url('$mapperUri/$filename'); #end"></div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 ## data: [['1','CIRCLE',[297,75,44],3],['2','CIRCLE',[218,212,25],1],['3','RECT',[51,53,164,123],0]]
 jQuery(function () {
diff --git a/src/main/java/org/olat/ims/resources/xsl/results2html_generic.xsl b/src/main/java/org/olat/ims/resources/xsl/results2html_generic.xsl
index 65e3480c79a..2b94774b61a 100644
--- a/src/main/java/org/olat/ims/resources/xsl/results2html_generic.xsl
+++ b/src/main/java/org/olat/ims/resources/xsl/results2html_generic.xsl
@@ -35,7 +35,7 @@
 	<xsl:output method="html" indent="yes" encoding="iso-8859-1" standalone="yes"/>
 
 	<xsl:template match="/">
-		<style type="text/css"><![CDATA[
+		<style><![CDATA[
 <!--
 .o_disabled_input {
 padding: 0px;
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/chat.html b/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
index ba4ac8cad4a..e5d031dd595 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chat.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 	/* <![CDATA[ */ 
 function resize_${panelName}() {	
 	var win = jQuery('#${panelName}');
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
index d8475285657..c7ba6488408 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/chatMsgField.html
@@ -43,11 +43,11 @@
 	#end
 </div>
 #if($focus)
-	<script type="text/javascript">jQuery(function(){try{focus_${panelName}();}catch(e){ if(window.console) console.log(e) }});</script>
+	<script>jQuery(function(){try{focus_${panelName}();}catch(e){ if(window.console) console.log(e) }});</script>
 #else
-	<script type="text/javascript">jQuery(function(){try{tweak_${panelName}();}catch(e){ if(window.console) console.log(e) }});</script>
+	<script>jQuery(function(){try{tweak_${panelName}();}catch(e){ if(window.console) console.log(e) }});</script>
 #end
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 	//setTimeout used because otherwise it would not work the first time the chatwindow is displayed
 	setTimeout(function() {
diff --git a/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html b/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
index 339a9908078..79f62c8f31f 100644
--- a/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
+++ b/src/main/java/org/olat/instantMessaging/ui/_content/newMsgIcon.html
@@ -1,7 +1,7 @@
 $r.render("chats")
 #if($iconsHolder && $iconsHolder.size() > 0)
 <div id="o_im_message">
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 		document.title = "$r.translate('im.new.message.short')";
 	/* ]]> */
diff --git a/src/main/java/org/olat/login/_content/login.html b/src/main/java/org/olat/login/_content/login.html
index 563a7300c09..78c71893048 100644
--- a/src/main/java/org/olat/login/_content/login.html
+++ b/src/main/java/org/olat/login/_content/login.html
@@ -65,10 +65,7 @@
 	#end
 
 </div>
-
-
-<script type="text/javascript">
-/* <![CDATA[ */ 
+<script>
 if ((window.self != window.parent) && window.parent.OPOL) {
 	// Page is loaded in an iframe within OpenOLAT because a session timeout occurred or 
 	// system has been restartet in the meantime. 
@@ -78,5 +75,4 @@ if ((window.self != window.parent) && window.parent.OPOL) {
 	window.parent.o_afterserver();
 	window.parent.showMessageBox('error', title, message);
 }
-/* ]]> */
 </script>
diff --git a/src/main/java/org/olat/login/oauth/ui/_content/js_redirect.html b/src/main/java/org/olat/login/oauth/ui/_content/js_redirect.html
index f4f4658427c..eae04b7bd57 100644
--- a/src/main/java/org/olat/login/oauth/ui/_content/js_redirect.html
+++ b/src/main/java/org/olat/login/oauth/ui/_content/js_redirect.html
@@ -6,7 +6,7 @@
 	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
 	<link rel="icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
 	<link rel="shortcut icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
-	<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" type="text/css" />
+	<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" />
 	<title>OpenID Connect</title>
 	<script src='$r.staticLink("js/jquery/jquery-3.3.1.min.js")'></script>
 	<script>
diff --git a/src/main/java/org/olat/modules/cp/CPPrintMapper.java b/src/main/java/org/olat/modules/cp/CPPrintMapper.java
index 246bdfc0c44..48ef5ad1681 100644
--- a/src/main/java/org/olat/modules/cp/CPPrintMapper.java
+++ b/src/main/java/org/olat/modules/cp/CPPrintMapper.java
@@ -161,7 +161,7 @@ public class CPPrintMapper implements Mapper {
 			StaticMediaDispatcher.renderStaticURI(sb, "js/jquery/jquery-3.3.1.min.js");
 			sb.append("\")'></script>");
 			output.append(sb.toString());
-			output.append("<link href=\"").append(themeBaseUri).append("all/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n");
+			output.append("<link href=\"").append(themeBaseUri).append("all/content.css\" rel=\"stylesheet\" />\n");
 		} catch(IOException e) {
 			log.error("", e);
 		}
diff --git a/src/main/java/org/olat/modules/cp/_content/cpofflinereadable.html b/src/main/java/org/olat/modules/cp/_content/cpofflinereadable.html
index 196879dc897..899a1dd2eb7 100644
--- a/src/main/java/org/olat/modules/cp/_content/cpofflinereadable.html
+++ b/src/main/java/org/olat/modules/cp/_content/cpofflinereadable.html
@@ -5,7 +5,7 @@
 	<link rel="icon" href="${cpoff}/favicon.ico" type="image/x-icon" / >
 	<!-- http://mattkruse.com/  -->
 	<link rel="stylesheet" href="${cpoff}/mktree.css" />
-	<script src="${cpoff}/mktree.js" type="text/javascript"></script>
+	<script src="${cpoff}/mktree.js"></script>
 	<title>$rootTitle</title>
 </head>
 <body>
diff --git a/src/main/java/org/olat/modules/fo/ui/_content/threadview.html b/src/main/java/org/olat/modules/fo/ui/_content/threadview.html
index d2be910974c..75db1e12db6 100644
--- a/src/main/java/org/olat/modules/fo/ui/_content/threadview.html
+++ b/src/main/java/org/olat/modules/fo/ui/_content/threadview.html
@@ -189,14 +189,14 @@
 
 #if($mode == "one")
 	$r.render("singleThreadTable")
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 			o_scrollToElement('#o_top');
 	/* ]]> */
 	</script> 
 #end
 #if(${goToMessage.isTrue()})
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 	    o_scrollToElement('#o_forum_message_$goToMessageId');
 	/* ]]> */
diff --git a/src/main/java/org/olat/modules/forms/ui/_content/report_print.html b/src/main/java/org/olat/modules/forms/ui/_content/report_print.html
index d5f1b7c51be..c199782685e 100644
--- a/src/main/java/org/olat/modules/forms/ui/_content/report_print.html
+++ b/src/main/java/org/olat/modules/forms/ui/_content/report_print.html
@@ -24,7 +24,7 @@
 		#end
 	</div>
 </div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 	jQuery(function() {
 		var bgImg = jQuery("#o_print_brand .o_navbar-brand");
diff --git a/src/main/java/org/olat/modules/forms/ui/component/ResponsiveBarChartRenderer.java b/src/main/java/org/olat/modules/forms/ui/component/ResponsiveBarChartRenderer.java
index 818de9d5cae..39cead1cbfc 100644
--- a/src/main/java/org/olat/modules/forms/ui/component/ResponsiveBarChartRenderer.java
+++ b/src/main/java/org/olat/modules/forms/ui/component/ResponsiveBarChartRenderer.java
@@ -57,7 +57,7 @@ public class ResponsiveBarChartRenderer extends DefaultComponentRenderer {
 		String cmpId = chartCmp.getDispatchID();
 		
 		sb.append("<div id='d").append(cmpId).append("d3holder' class='d3chart'></div>")
-		  .append("<script type='text/javascript'>")
+		  .append("<script>")
 		  .append("/* <![CDATA[ */ ")
 		  .append("jQuery(function () {")
 		  .append("var placeholderheight = 300;")
diff --git a/src/main/java/org/olat/modules/forms/ui/component/SliderOverviewRenderer.java b/src/main/java/org/olat/modules/forms/ui/component/SliderOverviewRenderer.java
index 1e423f5a488..5bb7f8be762 100644
--- a/src/main/java/org/olat/modules/forms/ui/component/SliderOverviewRenderer.java
+++ b/src/main/java/org/olat/modules/forms/ui/component/SliderOverviewRenderer.java
@@ -83,7 +83,7 @@ public class SliderOverviewRenderer extends DefaultComponentRenderer {
 		}
 		sb.append("</div>");
 		
-		sb.append("<script type='text/javascript'>\n")
+		sb.append("<script>\n")
 		  .append("/* <![CDATA[ */ \n")
 		  .append("jQuery(function() {\n")
 		  .append(" var render = function() {\n")
diff --git a/src/main/java/org/olat/modules/iq/IQDisplayController.java b/src/main/java/org/olat/modules/iq/IQDisplayController.java
index 9c58a124c71..8ced7a98b24 100644
--- a/src/main/java/org/olat/modules/iq/IQDisplayController.java
+++ b/src/main/java/org/olat/modules/iq/IQDisplayController.java
@@ -212,10 +212,10 @@ public class IQDisplayController extends DefaultController implements GenericEve
 		if (autcompResolver != null && autcompResolver.hasAutocompleteFiles()) {
 			// Add Autocomplte JS and CSS file to header
 			StringBuilder sb = new StringBuilder();
-			// must be like <script type="text/javascript" src="/olat/secstatic/qti/74579818809617/_unzipped_/fibautocompl.js"></script>
-			sb.append("<script type=\"text/javascript\" src=\"").append(autcompResolver.getStaticsBaseURI()).append("/").append(ImsRepositoryResolver.QTI_FIB_AUTOCOMPLETE_JS_FILE).append("\"></script>\n");
-			// must be like <link rel="StyleSheet" href="/olat/secstatic/qti/74579818809617/_unzipped_/fibautocompl.css" type="text/css" media="screen, print">
-			sb.append("<link rel=\"StyleSheet\" href=\"").append(autcompResolver.getStaticsBaseURI()).append("/").append(ImsRepositoryResolver.QTI_FIB_AUTOCOMPLETE_CSS_FILE).append("\" type=\"text/css\" media=\"screen\" >\n");
+			// must be like <script src="/olat/secstatic/qti/74579818809617/_unzipped_/fibautocompl.js"></script>
+			sb.append("<script src=\"").append(autcompResolver.getStaticsBaseURI()).append("/").append(ImsRepositoryResolver.QTI_FIB_AUTOCOMPLETE_JS_FILE).append("\"></script>\n");
+			// must be like <link rel="StyleSheet" href="/olat/secstatic/qti/74579818809617/_unzipped_/fibautocompl.css" media="screen, print">
+			sb.append("<link rel=\"StyleSheet\" href=\"").append(autcompResolver.getStaticsBaseURI()).append("/").append(ImsRepositoryResolver.QTI_FIB_AUTOCOMPLETE_CSS_FILE).append("\" media=\"screen\" >\n");
 			JSAndCSSComponent autoCompleteJsCss = new JSAndCSSComponent("auto_complete_js_css", this.getClass(), true, sb.toString());
 			myContent.put("autoCompleteJsCss", autoCompleteJsCss);
 		}
diff --git a/src/main/java/org/olat/modules/iq/_content/qti.html b/src/main/java/org/olat/modules/iq/_content/qti.html
index dcca8e94568..34038309fa4 100644
--- a/src/main/java/org/olat/modules/iq/_content/qti.html
+++ b/src/main/java/org/olat/modules/iq/_content/qti.html
@@ -1,4 +1,4 @@
-<script type="text/javascript">
+<script>
 ## little hack to allow next clicks after clicking cancel on the js confirm dialog.
 ## Should be properly done by olat modal dialog and get rid of js dialogs: gs
 function confirmSubmit() {
@@ -166,7 +166,7 @@ function confirmSuspend() {
 </div>
 
 #if($qtistatus.hasAssessTimeLimit() || $qtistatus.hasItemTimeLimit())
-<script type="text/javascript" defer="defer">
+<script defer="defer">
 /* <![CDATA[ */ 
 jQuery(function() {
 	
@@ -279,7 +279,7 @@ try {
 </script>
 #end
 
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
              
 function mark (it, title, title_marked) {
diff --git a/src/main/java/org/olat/modules/iq/_content/result.html b/src/main/java/org/olat/modules/iq/_content/result.html
index c46479de593..75b216f7693 100644
--- a/src/main/java/org/olat/modules/iq/_content/result.html
+++ b/src/main/java/org/olat/modules/iq/_content/result.html
@@ -58,7 +58,7 @@
 		</div>
 	</div>
 </div>
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 function mark (it) {
 	// do nothing
diff --git a/src/main/java/org/olat/modules/lecture/ui/_content/participant_blocks.html b/src/main/java/org/olat/modules/lecture/ui/_content/participant_blocks.html
index 7347a0f210a..5921ffe78fb 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_content/participant_blocks.html
+++ b/src/main/java/org/olat/modules/lecture/ui/_content/participant_blocks.html
@@ -3,7 +3,7 @@
 #if($r.isNotNull($withPrint) && $withPrint)
 	<div class="o_button_group o_button_group_right">
 		$r.render("open.course")
-		<script type="text/javascript">
+		<script>
 /* <![CDATA[ */ 
 function print() {
 	try {
diff --git a/src/main/java/org/olat/modules/lecture/ui/_content/participant_list_overview.html b/src/main/java/org/olat/modules/lecture/ui/_content/participant_list_overview.html
index ce3a33928e3..77ba0e42111 100644
--- a/src/main/java/org/olat/modules/lecture/ui/_content/participant_list_overview.html
+++ b/src/main/java/org/olat/modules/lecture/ui/_content/participant_list_overview.html
@@ -1,6 +1,6 @@
 <div class="o_button_group o_button_group_right">
 #if($r.isNotNull($withPrint) && $withPrint)
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 function print() {
 	try {
@@ -20,7 +20,7 @@ function print() {
 $r.render("table")
 </div>
 #if($r.isTrue($printCommand))
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */ 
 	// execute after radial score rendering
 	setTimeout(function() {
diff --git a/src/main/java/org/olat/modules/library/ui/_content/catalog.html b/src/main/java/org/olat/modules/library/ui/_content/catalog.html
index 3e61159b053..f057ec41408 100644
--- a/src/main/java/org/olat/modules/library/ui/_content/catalog.html
+++ b/src/main/java/org/olat/modules/library/ui/_content/catalog.html
@@ -78,7 +78,7 @@
 #if ($r.available("autoDownloadComp"))
 	$r.render("autoDownloadComp")
 #end
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 function toggleMeta(itemId) {
 	jQuery('#' + itemId + " .o_library_more").each(function(index, el) {
diff --git a/src/main/java/org/olat/modules/portfolio/ui/_content/assessment_infos.html b/src/main/java/org/olat/modules/portfolio/ui/_content/assessment_infos.html
index e4155ebeadd..ebcf8e4f348 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/_content/assessment_infos.html
+++ b/src/main/java/org/olat/modules/portfolio/ui/_content/assessment_infos.html
@@ -35,14 +35,12 @@
   	</div>
 	<div id="collapseComment" class="panel-collapse collapse in"><div class="panel-body">$comment</div></div>
 </div>
-<script type="text/javascript">
-	/* <![CDATA[ */
+<script>
 		jQuery('#collapseComment').on('hide.bs.collapse', function () {
 				jQuery('#collapseCommentToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
 		})
 		jQuery('#collapseComment').on('show.bs.collapse', function () {
 				jQuery('#collapseCommentToggler').removeClass('o_icon_open_togglebox').addClass('o_icon_close_togglebox');
 		})
-	/* ]]> */
 </script>
 #end
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/portfolio/ui/_content/binder_one_page.html b/src/main/java/org/olat/modules/portfolio/ui/_content/binder_one_page.html
index c649007b582..faa1d477c9b 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/_content/binder_one_page.html
+++ b/src/main/java/org/olat/modules/portfolio/ui/_content/binder_one_page.html
@@ -13,11 +13,9 @@
 	$r.render($component)
 #end
 #if($r.isTrue($print))
-<script type='text/javascript'>
-/* <![CDATA[ */
+<script>
     ## Execute deferred. Gives browser the time to finish the page rendering first before executing the print dialog. 
 	jQuery(function() {window.print();});
-/* ]]> */
 </script>
 #end
 </div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/portfolio/ui/component/TimelineComponentRenderer.java b/src/main/java/org/olat/modules/portfolio/ui/component/TimelineComponentRenderer.java
index 5df3a90730c..52b6845c094 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/component/TimelineComponentRenderer.java
+++ b/src/main/java/org/olat/modules/portfolio/ui/component/TimelineComponentRenderer.java
@@ -44,7 +44,7 @@ public class TimelineComponentRenderer extends DefaultComponentRenderer {
 		TimelineComponent cmp = (TimelineComponent)source;
 		String dispatchId = cmp.getDispatchID();
 		sb.append("<div id='timeline_").append(dispatchId).append("'></div>");
-		sb.append("<script type='text/javascript'>\n")
+		sb.append("<script>\n")
 		  .append("/* <![CDATA[ */ \n")
 		  .append("jQuery(function() {\n")
 		  .append("	jQuery('#timeline_").append(dispatchId).append("').timeline({")
diff --git a/src/main/java/org/olat/modules/portfolio/ui/export/_content/export.html b/src/main/java/org/olat/modules/portfolio/ui/export/_content/export.html
index c5a21b8cb26..98c8575e611 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/export/_content/export.html
+++ b/src/main/java/org/olat/modules/portfolio/ui/export/_content/export.html
@@ -5,13 +5,13 @@
 	<link rel='stylesheet' href='$r.themeFullLink()' />
 	<link rel='stylesheet' href='$r.staticFullLink("js/jquery/sliderpips/jquery-ui-slider-pips.css")' />
 	<link rel='stylesheet' href='$r.staticFullLink("js/jquery/ui/jquery-ui-1.11.4.custom.min.css")' />
-	<script type="text/javascript" src='$r.staticFullLink("js/jquery/jquery-3.3.1.min.js")'></script>
-	<script type="text/javascript" src='$r.staticFullLink("js/d3/d3.min.js")'></script>
-	<script type="text/javascript" src='$r.staticFullLink("js/jquery/ui/jquery-ui-1.11.4.custom.qti.min.js")'></script>
-	<script type="text/javascript" src='$r.staticFullLink("js/jquery/sliderpips/jquery-ui-slider-pips.js")'></script>
-	<script type="text/javascript" src='$r.staticFullLink("js/jquery/openolat/jquery.statistics.radarchart.js")'></script>
+	<script src='$r.staticFullLink("js/jquery/jquery-3.3.1.min.js")'></script>
+	<script src='$r.staticFullLink("js/d3/d3.min.js")'></script>
+	<script src='$r.staticFullLink("js/jquery/ui/jquery-ui-1.11.4.custom.qti.min.js")'></script>
+	<script src='$r.staticFullLink("js/jquery/sliderpips/jquery-ui-slider-pips.js")'></script>
+	<script src='$r.staticFullLink("js/jquery/openolat/jquery.statistics.radarchart.js")'></script>
 	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
-	<script type="text/javascript">
+	<script>
 /* <![CDATA[ */ 
 function setFlexiFormDirtyByListener(e){
 	//
diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html b/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html
index fa93cee5fb1..511bd2a9d88 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/_content/item_metadatas.html
@@ -13,7 +13,7 @@
 				$r.render("details_general")
 			</div>
 		</div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#general').on('hide.bs.collapse', function () {
 					jQuery('#collapseGeneralToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -39,7 +39,7 @@
 				$r.render("details_question")
 			</div>
 		</div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#question').on('hide.bs.collapse', function () {
 					jQuery('#collapseQuestionToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -65,7 +65,7 @@
 				$r.render("details_rights")
 			</div>
 		</div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#rights').on('hide.bs.collapse', function () {
 					jQuery('#collapseRightsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -91,7 +91,7 @@
 				$r.render("details_technical")
 			</div>
 		</div>
-		<script type="text/javascript">
+		<script>
 			/* <![CDATA[ */
 				jQuery('#technical').on('hide.bs.collapse', function () {
 					jQuery('#collapseTechnicalToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -118,7 +118,7 @@
 					$r.render("details_ratings")
 				</div>
 			</div>
-			<script type="text/javascript">
+			<script>
 				/* <![CDATA[ */
 					jQuery('#ratings').on('hide.bs.collapse', function () {
 						jQuery('#collapsRatingsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -146,7 +146,7 @@
 					$r.render("details_pools")
 				</div>
 			</div>
-			<script type="text/javascript">
+			<script>
 				/* <![CDATA[ */
 					jQuery('#pools').on('hide.bs.collapse', function () {
 						jQuery('#collapsePoolsToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -174,7 +174,7 @@
 					$r.render("details_shares")
 				</div>
 			</div>
-			<script type="text/javascript">
+			<script>
 				/* <![CDATA[ */
 					jQuery('#shares').on('hide.bs.collapse', function () {
 						jQuery('#collapseSharesToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/modules/quality/analysis/ui/_content/filtered_print.html b/src/main/java/org/olat/modules/quality/analysis/ui/_content/filtered_print.html
index ce4fbb2accf..7bc8b5dab07 100644
--- a/src/main/java/org/olat/modules/quality/analysis/ui/_content/filtered_print.html
+++ b/src/main/java/org/olat/modules/quality/analysis/ui/_content/filtered_print.html
@@ -8,7 +8,7 @@
 		$r.render("legendFilters")
 	</div>
 </div>
-<script type='text/javascript'>
+<script>
 /* <![CDATA[ */
 	jQuery(function() {
 		var bgImg = jQuery("#o_print_brand .o_navbar-brand");
diff --git a/src/main/java/org/olat/modules/scorm/_content/display.html b/src/main/java/org/olat/modules/scorm/_content/display.html
index b64b97bd589..f0c5af3aeb2 100644
--- a/src/main/java/org/olat/modules/scorm/_content/display.html
+++ b/src/main/java/org/olat/modules/scorm/_content/display.html
@@ -2,13 +2,13 @@
 	## on Mozilla the return value from the scorm RTE engine gets written into this dvi element
 	<div id="apiReturnHandler" style="position:absolute; top: 0; left: -1000px; visibility:hidden;"></div>
 	## load SCORM API functions and XmlRequestObject stuff
-	<script type="text/javascript">
+	<script>
 		var olatCommandUri = "$scormCallbackUri";
 		var frameId = "$frameId";
 		var blancURL = "$r.staticLink("blanc.html")";
 		var lastRequest = new Date().getTime();
 	</script>
-	<script type="text/javascript">
+	<script>
 		var jsHttpRequest = new scormApiRequest(olatCommandUri);
 		//todo:gs:c On some sco's the first attempt to call the RTE fails, sending a dummy call is a workaroud for this
 		passApiCall("initcall","empty","empty");
diff --git a/src/main/java/org/olat/modules/tu/_content/iframe_index.html b/src/main/java/org/olat/modules/tu/_content/iframe_index.html
index d4b118132e8..390a68cdb89 100644
--- a/src/main/java/org/olat/modules/tu/_content/iframe_index.html
+++ b/src/main/java/org/olat/modules/tu/_content/iframe_index.html
@@ -2,7 +2,7 @@
 	<iframe name="$frameId" id="$frameId" src="$url" frameborder="0" title="$r.translateInAttribute("iframe.content")"></iframe>
 </div>
 
-<script type="text/javascript">	
+<script>	
 	/* <![CDATA[ */
 	## no window.onresize due to IE bug which triggers recurstion: http://snook.ca/archives/javascript/ie6_fires_onresize/
 	jQuery(function() {b_resizeIframeToMainMaxHeight("$frameId");});		
diff --git a/src/main/java/org/olat/modules/video/ui/_content/video_preview.html b/src/main/java/org/olat/modules/video/ui/_content/video_preview.html
index 81f73bfb20f..83cb4d00c03 100644
--- a/src/main/java/org/olat/modules/video/ui/_content/video_preview.html
+++ b/src/main/java/org/olat/modules/video/ui/_content/video_preview.html
@@ -4,8 +4,7 @@
 	    	<source type="video/mp4" src="$mediaUrl/$filename" />
 		</video>
 
-		<script type="text/javascript">
-		// <![CDATA[
+		<script>
 		## using jQuery
 		var mediaElementBaseUrl = BPlayer._mediaElementBaseUrl();
 		jQuery('#$r.getId("o_vid")').mediaelementplayer({
@@ -22,7 +21,6 @@
 			## Special here is tracks and sourcechooser which are not available in player.js
 			features: ['playpause','current','volume','progress','duration','fullscreen']
 		});
-		// ]]>
 		</script>
 	</div>
 </div>
\ No newline at end of file
diff --git a/src/main/java/org/olat/modules/webFeed/ui/blog/_content/post.html b/src/main/java/org/olat/modules/webFeed/ui/blog/_content/post.html
index f09cee3cd0c..5b69883e9f0 100644
--- a/src/main/java/org/olat/modules/webFeed/ui/blog/_content/post.html
+++ b/src/main/java/org/olat/modules/webFeed/ui/blog/_content/post.html
@@ -32,7 +32,7 @@
 			#if ($!item.getEnclosure())								
 			<div class="o_block_large_top o_enclosure">
 				<div id="o_podcast_${podId}_episode" class="o_podcast_$!helper.getMediaType($item.getEnclosure())"></div>
-				<script type="text/javascript">
+				<script>
 				/* <![CDATA[ */
 				#if ($!helper.getMediaType($item.getEnclosure()) == "video")
 					BPlayer.insertPlayer("$!helper.getMediaUrl($item)","o_podcast_${podId}_episode",$!helper.getWidth($item),$!helper.getHeight($item),false,null,"video",undefined,false,false,true);
diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episode.html b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episode.html
index e9cde8e88a1..01a400eee0c 100644
--- a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episode.html
+++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episode.html
@@ -48,7 +48,7 @@
 					</a>
 				</div>
 
-				<script type="text/javascript">
+				<script>
 				/* <![CDATA[ */
 				#if ($!helper.getMediaType($item.getEnclosure()) == "video")
 					BPlayer.insertPlayer("$!helper.getMediaUrl($item)","o_podcast_${podId}_episode",$!helper.getWidth($item),$!helper.getHeight($item),false,null,"video",undefined,false,false,true);
diff --git a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html
index 5684e9d416f..fd0f290b14d 100644
--- a/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html
+++ b/src/main/java/org/olat/modules/webFeed/ui/podcast/_content/episodes.html
@@ -76,7 +76,7 @@
 						</a>
 					</div>
 
-					<script type="text/javascript">
+					<script>
 					/* <![CDATA[ */
 					#if ($!helper.getMediaType($episode.getEnclosure()) == "video")
 						BPlayer.insertPlayer("$!helper.getMediaUrl($episode)","o_podcast_${podId}_episode",$!helper.getWidth($episode),$!helper.getHeight($episode),false,null,"video",undefined,false,false,true);
diff --git a/src/main/java/org/olat/modules/wiki/WikiToCPExport.java b/src/main/java/org/olat/modules/wiki/WikiToCPExport.java
index 436296a5381..368020e5160 100644
--- a/src/main/java/org/olat/modules/wiki/WikiToCPExport.java
+++ b/src/main/java/org/olat/modules/wiki/WikiToCPExport.java
@@ -287,11 +287,11 @@ public class WikiToCPExport {
 		sb.append("<html>");
 		sb.append("<head>\n");
 		sb.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n");
-		sb.append("<style type=\"text/css\">img {float:right;padding:10px;}</style>\n");
-		//sb.append("<script type=\"text/javascript\" src=\"cp_offline_menu_mat/jsMath/easy/load.js\"></script>\n");
-		sb.append("<script type=\"text/javascript\" src=\"cp_offline_menu_mat/wiki.js\"></script>\n");
-		sb.append("<script type=\"text/javascript\" src=\"mapping.js\"></script>\n");
-		sb.append("<link rel=\"StyleSheet\" href=\"cp_offline_menu_mat/wiki.css\" type=\"text/css\" media=\"screen, print\">\n");
+		sb.append("<style>img {float:right;padding:10px;}</style>\n");
+		//sb.append("<script src=\"cp_offline_menu_mat/jsMath/easy/load.js\"></script>\n");
+		sb.append("<script src=\"cp_offline_menu_mat/wiki.js\"></script>\n");
+		sb.append("<script src=\"mapping.js\"></script>\n");
+		sb.append("<link rel=\"StyleSheet\" href=\"cp_offline_menu_mat/wiki.css\" media=\"screen, print\">\n");
 
 		sb.append("</head>\n");
 		sb.append("<body>\n");
diff --git a/src/main/java/org/olat/modules/wiki/_content/edit.html b/src/main/java/org/olat/modules/wiki/_content/edit.html
index 344b3c597a3..e2931fd612f 100644
--- a/src/main/java/org/olat/modules/wiki/_content/edit.html
+++ b/src/main/java/org/olat/modules/wiki/_content/edit.html
@@ -46,7 +46,7 @@
   					<li><a href="#" onclick="javascript:insertTags('[[',']]','$link')">$link</a></li>
 				#end
   			</ul></div>
-  			<script type='text/javascript'>
+  			<script>
 			/* <![CDATA[ */
 			jQuery(function() { o_popover('wiki-button-link-insert','wiki-list-link-insert'); });
 			/* ]]> */
@@ -61,7 +61,7 @@
   					<li><a href="#" onclick="javascript:insertMediaTag('$r.escapeHtml($file.getName())')">$r.escapeHtml($file.getName())</a></li>
 				#end
   			</ul></div>
-  			<script type='text/javascript'>
+  			<script>
 			/* <![CDATA[ */
 			jQuery(function() { o_popover('wiki-button-media-insert','wiki-list-media-insert'); });
 			/* ]]> */
@@ -78,7 +78,7 @@
 #if (!$r.available("versionDisplay"))
 	## set the form dirty if the user closed the preview button
 	#if($isDirty)
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 	setFormDirty('${editformid}');
 	/* ]]> */
diff --git a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java
index 8d1da905367..7c52378314e 100644
--- a/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java
+++ b/src/main/java/org/olat/modules/wiki/gui/components/wikiToHtml/WikiMarkupRenderer.java
@@ -115,8 +115,8 @@ public class WikiMarkupRenderer extends DefaultComponentRenderer {
 		
 		sb.append("</div>");
 		//set targets of media, image and external links to target "_blank" 
-		sb.append("<script type=\"text/javascript\">/* <![CDATA[ */ ")
+		sb.append("<script>")
 		  .append("changeAnchorTargets('").append(uniqueId).append("','").append(Settings.getServerContextPathURI()).append("');")
-		  .append("/* ]]> */</script>");
+		  .append("</script>");
 	}
 }
diff --git a/src/main/java/org/olat/package.html b/src/main/java/org/olat/package.html
index 148c365adc6..cbc3f5e946a 100644
--- a/src/main/java/org/olat/package.html
+++ b/src/main/java/org/olat/package.html
@@ -10,7 +10,7 @@
 <body>
 
     <!-- Main style sheets for CSS2 capable browsers -->
-    <style type="text/css" media="screen"> 
+    <style media="screen"> 
         /* The basic elements: */
         body {
             font: 69% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
@@ -41,7 +41,7 @@
         }
     </style>
 
-    <style type="text/css" media="all">
+    <style media="all">
         .diagramClearer {
         	clear: left; 
         	line-height: 0; 
@@ -105,7 +105,7 @@
 
     <!-- Internet Explorer CSS Fixes -->
     <!--[if IE]>
-    <style type="text/css" media="all">
+    <style media="all">
         /*
         ** Stylesheet with Internet Explorer-specific workarounds.
         */
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
index ac532181f02..f619833506b 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_de.properties
@@ -506,6 +506,7 @@ rentry.leaving.title=Mitglieder Konfiguration
 rentry.movie=Teaser-Film  (mp4)
 rentry.movie.example=Optimales Seitenverh\u00E4ltnis\: {0}
 rentry.pic=Titelbild (jpg,png,gif)
+rentry.pic.alt=Titelbild
 rentry.pic.example=Beste Resultate mit {0} Pixel Gr\u00F6sse (72dpi)
 rentry.prop=Einstellungen zur Lernressource
 rentry.publish=Ver\u00F6ffentlichung
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
index 8db9751796a..6e1239d8c7e 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_en.properties
@@ -506,6 +506,7 @@ rentry.leaving.title=Membership configuration
 rentry.movie=Teaser movie (mp4)
 rentry.movie.example=Optimal aspect ratio\: {0}
 rentry.pic=Cover image (jpg, png, gif)
+rentry.pic.alt=Cover image
 rentry.pic.example=Best results with {0} pixel size (72dpi) 
 rentry.prop=Settings regarding learning resources
 rentry.publish=Publication
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
index d2fdf976ae8..872bc5fa9f9 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_fr.properties
@@ -504,6 +504,7 @@ rentry.leaving.title=Configuration des membres
 rentry.movie=Teaser (mp4)
 rentry.movie.example=Ratio optimal\: {0}
 rentry.pic=Images de la ressource didactique (jpg,png,gif)
+rentry.pic.alt=Images de la ressource didactique
 rentry.pic.example=Meilleur r\u00E9sultat avec une taille de {0} pixels (72dpi)
 rentry.prop=R\u00E9glages de la ressource didactique
 rentry.publish=Publication
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties
index 6262ee1a3c0..745c7a4e647 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_it.properties
@@ -398,6 +398,7 @@ rentry.leaving.title=Configurazione membri
 rentry.movie=Filmato teaser (mp4)
 rentry.movie.example=Rapporto di aspetto ottimale\: {0}
 rentry.pic=Immagine per la risorsa didattica (jpg, png, gif)
+rentry.pic.alt=Immagine per la risorsa didattica
 rentry.pic.example=Migliore risultato con dimensione {0} pixel (72 dpi)
 rentry.prop=Preferenze per la risorsa didattica
 rentry.publish=Pubblicazione
diff --git a/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties b/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties
index 819d0dab9a6..9c678b2ae56 100644
--- a/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties
+++ b/src/main/java/org/olat/repository/_i18n/LocalStrings_pt_BR.properties
@@ -504,6 +504,7 @@ rentry.leaving.title=Configura\u00E7\u00E3o de filia\u00E7\u00E3o
 rentry.movie=V\u00EDdeo para recurso did\u00E1tico (mp4, flv)
 rentry.movie.example=Resolu\u00E7\u00E3o ideal\: {0}
 rentry.pic=Imagem do recurso did\u00E1tico (jpg, png, gif)
+rentry.pic.alt=Imagem do recurso did\u00E1tico
 rentry.pic.example=Melhores resultados com {0} tamanho do pixel (72dpi)
 rentry.prop=Propriedades de recursos did\u00E1ticos
 rentry.publish=Publica\u00E7\u00E3o
diff --git a/src/main/java/org/olat/repository/ui/_content/web_content.html b/src/main/java/org/olat/repository/ui/_content/web_content.html
index 41eb5a635bb..80750df1e14 100644
--- a/src/main/java/org/olat/repository/ui/_content/web_content.html
+++ b/src/main/java/org/olat/repository/ui/_content/web_content.html
@@ -4,10 +4,8 @@
 	<img src="$mediaUrl/$filename" />
 #elseif($movie)
 	<p><span id="olatFlashMovieViewer1" class="olatFlashMovieViewer" style="display:block;border:solid 1px #000; width:${width}px; height:${height}px;">
-		<script type="text/javascript">
-		// <![CDATA[
+		<script>
 		    BPlayer.insertPlayer('$mediaUrl/$filename','olatFlashMovieViewer1',$width,$height,0,0,'video',undefined,false,true,false);
-		// ]]>
 		</script>
 	</span></p>
 #elseif($r.available("content"))
diff --git a/src/main/java/org/olat/repository/ui/catalog/_content/node.html b/src/main/java/org/olat/repository/ui/catalog/_content/node.html
index 639958eb4e9..34162d3c1c5 100644
--- a/src/main/java/org/olat/repository/ui/catalog/_content/node.html
+++ b/src/main/java/org/olat/repository/ui/catalog/_content/node.html
@@ -86,7 +86,7 @@
 		<h4>$r.translate("cat.externalLink")</h4>
 		#if($extLink)
 			<div class="o_copy_code o_nowrap"><a href="javascript:;" id="o_extlink"><i class="o_icon o_icon-lg o_icon-fw o_icon_qrcode">&nbsp;</i></a><input type="text" value="$extLink" onclick="this.select()"/>
-				<script type="text/javascript">
+				<script>
 				/* <![CDATA[ */
 					jQuery(function() {
 						o_QRCodePopup('o_extlink', '$extLink', 'right');
@@ -97,7 +97,7 @@
 		#end
 		#if($guestExtLink)
 			<div class="o_copy_code o_nowrap"><a href="javascript:;" id="o_guestextlink"><i class="o_icon o_icon-lg o_icon-fw o_icon_qrcode">&nbsp;</i></a><input type="text" value="$guestExtLink" onclick="this.select()"/>
-				<script type="text/javascript">
+				<script>
 				/* <![CDATA[ */
 					jQuery(function() {
 						o_QRCodePopup('o_guestextlink', '$guestExtLink', 'right');
diff --git a/src/main/java/org/olat/repository/ui/list/_content/details.html b/src/main/java/org/olat/repository/ui/list/_content/details.html
index 5f51a034ea2..3ea6f04ed44 100644
--- a/src/main/java/org/olat/repository/ui/list/_content/details.html
+++ b/src/main/java/org/olat/repository/ui/list/_content/details.html
@@ -199,7 +199,7 @@
 				<div class="o_copy_code o_nowrap">
 					<a href="javascript:;" id="o_extlink"><i class="o_icon o_icon-lg o_icon-fw o_icon_qrcode">&nbsp;</i></a>
 					<input type="text" value="$extlink" onclick="this.select()"/>
-					<script type="text/javascript">
+					<script>
 					/* <![CDATA[ */
 						jQuery(function() {
 							o_QRCodePopup('o_extlink', '$extlink', 'right');
@@ -211,7 +211,7 @@
 				<div class="o_copy_code o_nowrap">
 					<a href="javascript:;" id="o_extlink2"><i class="o_icon o_icon-lg o_icon-fw o_icon_qrcode">&nbsp;</i></a>
 					<input type="text" value="${extlink}?guest=true&amp;lang=$r.getLanguageCode()" onclick="this.select()"/>					
-					<script type="text/javascript">
+					<script>
 					/* <![CDATA[ */
 						jQuery(function() {
 							o_QRCodePopup('o_extlink2', '${extlink}?guest=true&amp;lang=$r.getLanguageCode()', 'right');
@@ -279,7 +279,7 @@
 					</tbody></table>
 				</div>
 			</div>
-			<script type="text/javascript">
+			<script>
 				/* <![CDATA[ */
 					jQuery('#collapseInfo').on('hide.bs.collapse', function () {
 							jQuery('#collapseInfoToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -327,7 +327,7 @@
 					</tbody></table>
 				</div>
 			</div>
-			<script type="text/javascript">
+			<script>
 				/* <![CDATA[ */
 					jQuery('#collapseUsage').on('hide.bs.collapse', function () {
 							jQuery('#collapseUsageToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
@@ -360,7 +360,7 @@
 					</div>
 				</div>
 			</div>
-			<script type="text/javascript">
+			<script>
 				/* <![CDATA[ */
 					jQuery('#collapseManaged').on('hide.bs.collapse', function () {
 							jQuery('#collapseManagedToggler').removeClass('o_icon_close_togglebox').addClass('o_icon_open_togglebox');
diff --git a/src/main/java/org/olat/repository/ui/list/_content/row_1.html b/src/main/java/org/olat/repository/ui/list/_content/row_1.html
index 2483bd5ec9a..418ab34578f 100644
--- a/src/main/java/org/olat/repository/ui/list/_content/row_1.html
+++ b/src/main/java/org/olat/repository/ui/list/_content/row_1.html
@@ -2,7 +2,7 @@
 	<div class="o_visual">
 		<a href="javascript:${f.ffXHREvent("select_row","$row.key")}">
 		#if($row.isThumbnailAvailable())
-			<img src="${row.getThumbnailRelPath()}" />
+			<img src="${row.getThumbnailRelPath()}" alt="$r.translate("rentry.pic.alt")" />
 		#else
 			<div class="o_visual_not_available"></div>
 		#end
diff --git a/src/main/java/org/olat/restapi/api/_content/application.html b/src/main/java/org/olat/restapi/api/_content/application.html
index 15afab5551c..0eddceba01d 100644
--- a/src/main/java/org/olat/restapi/api/_content/application.html
+++ b/src/main/java/org/olat/restapi/api/_content/application.html
@@ -2,7 +2,7 @@
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
-      <title>Documentation of OpenOLAT REST API</title><style type="text/css">
+      <title>Documentation of OpenOLAT REST API</title><style>
                     body {
                         font-family: sans-serif;
                         font-size: 0.85em;
diff --git a/src/main/java/org/olat/restapi/support/wadl_documentation.xsl b/src/main/java/org/olat/restapi/support/wadl_documentation.xsl
index 3e53001d615..8d952aa0618 100644
--- a/src/main/java/org/olat/restapi/support/wadl_documentation.xsl
+++ b/src/main/java/org/olat/restapi/support/wadl_documentation.xsl
@@ -215,7 +215,7 @@
                         <xsl:otherwise>My Web Application</xsl:otherwise>
                     </xsl:choose>                 
                 </title>
-                <style type="text/css">
+                <style>
                     body {
                         font-family: sans-serif;
                         font-size: 0.85em;
diff --git a/src/main/java/org/olat/search/ui/_content/searchInput.html b/src/main/java/org/olat/search/ui/_content/searchInput.html
index e12d7817656..252258562eb 100644
--- a/src/main/java/org/olat/search/ui/_content/searchInput.html
+++ b/src/main/java/org/olat/search/ui/_content/searchInput.html
@@ -15,7 +15,7 @@
 		#end
 	</div></div>
 	## toggle the form on/off on click to the form title
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 		jQuery(function() {
 			jQuery('#o_search_form_toggler').click(function() {
diff --git a/src/main/java/org/olat/search/ui/_content/search_tool.html b/src/main/java/org/olat/search/ui/_content/search_tool.html
index 8981e006716..cfb60e8eb27 100644
--- a/src/main/java/org/olat/search/ui/_content/search_tool.html
+++ b/src/main/java/org/olat/search/ui/_content/search_tool.html
@@ -8,7 +8,7 @@
 	</li>
 </ul>
 ## focus search input field whenever search is displayed
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 jQuery('#o_search_tool_toggler').click(function () {
 	setTimeout(function() {
diff --git a/src/main/java/org/olat/shibboleth/_content/message.html b/src/main/java/org/olat/shibboleth/_content/message.html
index e413131c13b..456d30851e5 100644
--- a/src/main/java/org/olat/shibboleth/_content/message.html
+++ b/src/main/java/org/olat/shibboleth/_content/message.html
@@ -13,7 +13,7 @@
 <meta name="dcterms.rights" content="http://www.openolat.org" />
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 ## <!-- IE cache -->
-<script type="text/javascript">
+<script>
 #if($enforceTopFrame)
 if (top!=self){top.location=self.location+"?o_winrndo=1";}
 #end
@@ -22,7 +22,7 @@ var o_info = new Object();
 ## CSS theme inclusion: first the standard css and second the IE bugfixes
 <link rel="icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
 <link rel="shortcut icon" href="${theme.getBaseURI()}favicon.ico" type="image/x-icon" /> 
-<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" type="text/css" />
+<link id="o_theme_css" href="${theme.getBaseURI()}theme.css" rel="stylesheet" />
 <title>$r.translate("error.shibboleth.head")</title>
 </head>
 <body>
diff --git a/src/main/java/org/olat/shibboleth/_content/shibbolethlogin.html b/src/main/java/org/olat/shibboleth/_content/shibbolethlogin.html
index 62d61ae187d..ab63eb02215 100644
--- a/src/main/java/org/olat/shibboleth/_content/shibbolethlogin.html
+++ b/src/main/java/org/olat/shibboleth/_content/shibbolethlogin.html
@@ -5,7 +5,7 @@
 			$r.translate("wayf.intro")
 		</p>		
 		<!-- EMBEDDED-WAYF-START -->
-<script type="text/javascript"><!--
+<script><!--
 // To use this JavaScript, please access:
 // https://wayf.switch.ch/SWITCHaai/WAYF/embedded-wayf.js/snippet.html
 // and copy/paste the resulting HTML snippet to an unprotected web page that 
@@ -180,7 +180,7 @@ function o_overrideShibSubmitButtonStyle() {
 
 </script>
 
-<script type="text/javascript" src="https://wayf.switch.ch/SWITCHaai/WAYF/embedded-wayf.js" onload="o_overrideShibSubmitButtonStyle();"></script>
+<script src="https://wayf.switch.ch/SWITCHaai/WAYF/embedded-wayf.js" onload="o_overrideShibSubmitButtonStyle();"></script>
 
 
 <noscript>
diff --git a/src/main/java/org/olat/social/shareLink/_content/shareLink.html b/src/main/java/org/olat/social/shareLink/_content/shareLink.html
index 28845491e43..83638e02bee 100644
--- a/src/main/java/org/olat/social/shareLink/_content/shareLink.html
+++ b/src/main/java/org/olat/social/shareLink/_content/shareLink.html
@@ -1,5 +1,5 @@
 ## some common JS helper methods
-<script type="text/javascript">
+<script>
 /* <![CDATA[ */
 	## Helper methods for buttons below
 	function o_shareSocialUrl() {
@@ -53,7 +53,7 @@
 		#end
 	#end
 	</div></div>
-	<script type="text/javascript">
+	<script>
 	/* <![CDATA[ */
 		jQuery(function() {
 			o_shareLinkPopup('o_share_social', jQuery('#o_share_social_wrapper').html());
@@ -68,7 +68,7 @@
 		<a id="o_qrcode" href="javascript:;" title="$r.translateInAttribute("share.qrcode")">
 			<i class="o_icon o_icon_qrcode o_icon-lg"></i>
 		</a>
-		<script type="text/javascript">
+		<script>
 		/* <![CDATA[ */
 			jQuery(function() {
 				o_shareLinkPopup('o_link', o_shareCallout);
diff --git a/src/main/java/org/olat/user/_content/homepagedisplay.html b/src/main/java/org/olat/user/_content/homepagedisplay.html
index 3cdc82273ff..fe56566d8f9 100644
--- a/src/main/java/org/olat/user/_content/homepagedisplay.html
+++ b/src/main/java/org/olat/user/_content/homepagedisplay.html
@@ -62,7 +62,7 @@
 	<h5>$r.translate("extlink")</h5>
 	<div class="o_copy_code o_nowrap">
 		<a href="javascript:;" id="o_extlink" data-original-title="" title=""><i class="o_icon o_icon-lg o_icon-fw o_icon_qrcode"> </i></a><input type="text" value="$extLink" onclick="this.select()"/>
-		<script type="text/javascript">
+		<script>
 		/* <![CDATA[ */
 			jQuery(function() {
 				o_QRCodePopup('o_extlink', '$extLink', 'right');
diff --git a/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java b/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java
index e240d279d7e..42bf4ac86d9 100644
--- a/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java
+++ b/src/main/java/org/olat/user/propertyhandlers/SkypePropertyHandler.java
@@ -48,7 +48,7 @@ public class SkypePropertyHandler extends Generic127CharTextPropertyHandler {
 			skypeid = StringHelper.escapeHtml(skypeid);
 			StringBuilder sb = new StringBuilder();
 			sb.append("<div id=\"SkypeButton_Call_").append(skypeid).append("_1\" class=\"o_skype_button\">")
-			  .append("<script type=\"text/javascript\">\n")
+			  .append("<script>\n")
 			  .append("try{ jQuery.getScript('https://secure.skypeassets.com/i/scom/js/skype-uri.js', function() {\n")
 			  .append("Skype.ui({\n")
 			  .append(" \"name\": \"dropdown\",")
diff --git a/src/main/webapp/static/events.html b/src/main/webapp/static/events.html
index c11e99d6f7f..5084a050205 100644
--- a/src/main/webapp/static/events.html
+++ b/src/main/webapp/static/events.html
@@ -5,7 +5,7 @@
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <link rel="icon" href="/favicon.ico" type="image/x-icon">
 <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
-<style type="text/css">
+<style>
 html, body.o_body {
 	color: black;	
 	font-family: Verdana, Tahoma, Arial, Geneva, Helvetica, sans-serif;
diff --git a/src/main/webapp/static/js/functions.js b/src/main/webapp/static/js/functions.js
index b2f810eba6b..3a84bffb0f7 100644
--- a/src/main/webapp/static/js/functions.js
+++ b/src/main/webapp/static/js/functions.js
@@ -131,7 +131,7 @@ var BLoader = {
 					// create the new stylesheet and convince the browser to load the url using @import with protocol 'data'
 					//var styles = '@import url("'+cssURL+'");';
 					//var newSt = new Element('link', {rel : 'stylesheet', id : linkid, href : 'data:text/css,'+escape(styles) });
-					var newSt = jQuery('<link id="' + linkid + '" rel="stylesheet" type="text/css" href="' + cssURL+ '">');
+					var newSt = jQuery('<link id="' + linkid + '" rel="stylesheet" href="' + cssURL+ '">');
 					if (loadAfterTheme) {
 						newSt.insertBefore(jQuery('#o_fontSize_css'));
 					} else {
diff --git a/src/main/webapp/static/js/jquery/qrcodejs/README.md b/src/main/webapp/static/js/jquery/qrcodejs/README.md
index 5e2d2dc6d89..5c62ef8ed39 100644
--- a/src/main/webapp/static/js/jquery/qrcodejs/README.md
+++ b/src/main/webapp/static/js/jquery/qrcodejs/README.md
@@ -5,7 +5,7 @@ QRCode.js has no dependencies.
 ## Basic Usages
 ```
 <div id="qrcode"></div>
-<script type="text/javascript">
+<script>
 new QRCode(document.getElementById("qrcode"), "http://jindo.dev.naver.com/collie");
 </script>
 ```
@@ -14,7 +14,7 @@ or with some options
 
 ```
 <div id="qrcode"></div>
-<script type="text/javascript">
+<script>
 var qrcode = new QRCode(document.getElementById("qrcode"), {
 	text: "http://jindo.dev.naver.com/collie",
 	width: 128,
diff --git a/src/main/webapp/static/js/js.plugins.min.js b/src/main/webapp/static/js/js.plugins.min.js
index ff81396678a..26b0c211031 100644
--- a/src/main/webapp/static/js/js.plugins.min.js
+++ b/src/main/webapp/static/js/js.plugins.min.js
@@ -5,7 +5,7 @@
  * Dual licensed under the MIT or GPL Version 2 licenses.
  *
  */
-jQuery.periodic=function(l,h){if(jQuery.isFunction(l)){h=l;l={}}var c=jQuery.extend({},jQuery.periodic.defaults,{ajax_complete:j,increment:g,reset:f,cancel:i},l);c.cur_period=c.period;c.tid=false;var e="";b();return c;function b(){i();c.tid=setTimeout(function(){h.call(c);g();if(c.tid){b()}},c.cur_period)}function j(n,m){if(m==="success"&&e!==n.responseText){e=n.responseText;f()}}function g(){c.cur_period*=c.decay;if(c.cur_period<c.period){f()}else{if(c.cur_period>c.max_period){c.cur_period=c.max_period;if(c.on_max!==undefined){c.on_max.call(c)}}}}function f(){c.cur_period=c.period;b()}function i(){clearTimeout(c.tid);c.tid=null}function k(){}function a(){}function d(){}};jQuery.periodic.defaults={period:4000,max_period:1800000,decay:1.5,on_max:undefined};var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();(function(b){b.fn.ooTranslator=function(){var d=null;b(document).each(function(){d=b(document).data("_ooTranslator");if(d==undefined){d=new a();b(document).data("_ooTranslator",d)}});return d};function a(){return this}a.prototype={mapperUrl:null,translators:null,initialize:function(d){this.mapperUrl=d;this.translators=new Object()},getTranslator:function(d,f){if(this.translators[d]==null){this.translators[d]=new Object()}if(this.translators[d][f]==null){var e=this.mapperUrl+"/"+d+"/"+f+"/translations.js";jQuery.ajax(e,{async:false,dataType:"json",success:function(g,i,h){jQuery(document).ooTranslator()._createTranslator(g,d,f)}})}return this.translators[d][f]},_createTranslator:function(e,d,f){this.translators[d][f]=new c().initialize(e,d,f)}};function c(){return this}c.prototype={localizationData:null,bundle:null,locale:null,initialize:function(f,d,e){this.bundle=e;this.locale=d;this.localizationData=f;return this},translate:function(d){if(this.localizationData[d]){return this.localizationData[d]}else{return this.bundle+":"+d}}}})(jQuery);+function(b){var a=function(){this.addExtraElements();this.state={busy:false,brandW:0,sitesW:0,sitesDirty:false,sites:{collapsed:this.isSitesCollapsed(),extended:this.isSitesExtended},tabsW:0,tabsDirty:false,tabs:{collapsed:this.isTabsCollapsed(),extended:this.isTabsExtended()},toolsW:0,toolsDirty:false,tools:{collapsed:this.isToolsCollapsed(),extended:this.isToolsExtended()},offCanvasWidth:0,moreW:0};var c=b("#o_offcanvas_right").css("width");if(c){this.state.offCanvasWidth=parseInt(c.replace(/[^\d.]/g,""));this.initListners();this.calculateWidth();this.optimize()}};a.prototype.initListners=function(){b(window).resize(b.proxy(this.onResizeCallback,this));b(document).on("oo.nav.sites.modified",b.proxy(function(){this.state.sitesDirty=true},this));b(document).on("oo.nav.tabs.modified",b.proxy(function(){this.state.tabsDirty=true},this));b(document).on("oo.nav.tools.modified",b.proxy(function(){this.state.toolsDirty=true},this));b(document).on("oo.dom.replacement.after",b.proxy(this.onDOMreplacementCallback,this));b(window).on("orientationchange",b.proxy(this.hideRight,this));b("#o_navbar_right-toggle").on("click",b.proxy(this.toggleRight,this));b("#o_offcanvas_right .o_offcanvas_close").on("click",b.proxy(this.hideRight,this));b("#o_navbar_more").on("shown.bs.dropdown",this.onDropdownShown);b("#o_navbar_more").on("hidden.bs.dropdown",this.onDropdownHidden)};a.prototype.onResizeCallback=function(){if(!this.state.busy){this.state.busy=true;this.calculateWidth();this.optimize();this.state.busy=false}};a.prototype.onPageWidthChangeCallback=function(){if(!this.state.busy){this.state.busy=true;this.cleanupMoreDropdown();this.calculateWidth();this.optimize();this.state.sitesDirty=false;this.state.tabsDirty=false;this.state.toolsDirty=false;this.state.busy=false}};a.prototype.onDOMreplacementCallback=function(){if(!this.state.busy&&(this.state.sitesDirty||this.state.tabsDirty||this.state.toolsDirty)){this.state.busy=true;this.cleanupMoreDropdown();this.calculateWidth();this.optimize();this.state.sitesDirty=false;this.state.tabsDirty=false;this.state.toolsDirty=false;this.state.busy=false}};a.prototype.onDropdownShown=function(c){var f=b("#o_navbar_more .dropdown-menu");if(f.length){var d=f.offset().left;if(d<0){f.removeClass("dropdown-menu-right")}}};a.prototype.onDropdownHidden=function(c){var d=b("#o_navbar_more .dropdown-menu");d.addClass("dropdown-menu-right")};a.prototype.calculateWidth=function(){var c=b("#o_navbar_container .o_navbar-collapse");this.state.navbarW=c.innerWidth();this.state.brandW=b(".o_navbar-brand").outerWidth(true);this.state.sitesW=this.getSites().outerWidth(true);this.state.tabsW=this.getTabs().outerWidth(true);this.state.toolsW=this.getTools().outerWidth(false);var d=b("#o_navbar_more:visible");this.state.moreW=(d.length>0?d.outerWidth(true):0)};a.prototype.getOverflow=function(c){var d=this.state.navbarW;d-=this.state.sitesW;d-=this.state.tabsW;d-=this.state.toolsW;d-=this.state.brandW;d-=this.state.moreW;d-=25;return -d};a.prototype.optimize=function(h){var c=this.getOverflow();var k=this.getSites();var l=this.getTabs();var g=this.getTools();var n=this.getMoreDropdown();var f=this.getOffcanvasRight();this.updateState();while(c>0&&(!this.state.tabs.collapsed||!this.state.sites.collapsed||!this.state.tools.collapsed)){if(!this.state.tabs.collapsed){this.collapse(l,n,"li","o_dropdown_tab")}else{if(!this.state.sites.collapsed){this.collapse(k,n,"li","o_dropdown_site")}else{if(!this.state.tools.collapsed){this.collapse(g,f,".o_navbar_tool:not(#o_navbar_imclient, #o_navbar_search_opener, #o_navbar_my_menu)","o_tool_right")}}}this.calculateWidth();c=this.getOverflow();this.updateState()}while(c<0&&(!this.state.tabs.extended||!this.state.sites.extended||!this.state.tools.extended)){if(!this.state.tools.extended){var m=this.extend(f,g.children("#o_navbar_imclient, #o_navbar_search_opener, #o_navbar_my_menu").first(),".o_tool_right","o_tool_right",true);if(!m){break}}if(!this.state.sites.extended){var j=this.extend(n,k,"li","o_dropdown_site");if(!j){break}}else{if(!this.state.tabs.extended){var d=this.extend(n,l,"li","o_dropdown_tab");if(!d){break}}}this.calculateWidth();c=this.getOverflow();this.updateState()}if(this.state.sites.extended&&this.state.tabs.extended){var i=b("#o_navbar_more");i.css("display","none")}this.checkToolsOrder()};a.prototype.updateState=function(){this.state.sites.collapsed=this.isSitesCollapsed();this.state.sites.extended=this.isSitesExtended();this.state.tabs.collapsed=this.isTabsCollapsed();this.state.tabs.extended=this.isTabsExtended();this.state.tools.collapsed=this.isToolsCollapsed();this.state.tools.extended=this.isToolsExtended()};a.prototype.collapse=function(g,d,c,f){var e=g.find(c);if(e.length){e=e.last()}if(e.length){f&&e.addClass(f);if(d){e.prependTo(d)}}this.updateDropdownToggle(d)};a.prototype.extend=function(g,d,c,i,f){var e=g.find(c);if(e.length){e=e.first()}var j=false;if(e.length){if(d&&d.length){if(f){d.before(e)}else{e.appendTo(d)}this.updateDropdownToggle(g);this.calculateWidth();var h=this.getOverflow();if(h>0){e.prependTo(g)}else{i&&e.removeClass(i);j=true}}}this.updateDropdownToggle(g);return j};a.prototype.updateDropdownToggle=function(c){var d=c.parents(".o_dropdown_toggle");if(!d.length){return}if(c.children().length){d.css("display","block")}else{d.css("display","none")}};a.prototype.addExtraElements=function(){var d=b("#o_navbar_container .o_navbar-collapse");var c=b("#o_navbar_more");if(c.length==0){c=b('<ul id="o_navbar_more" class="nav o_navbar-nav o_dropdown_toggle"><li><a class="dropdown-toggle" data-toggle="dropdown" href="#"">'+o_info.i18n_topnav_more+' <b class="caret"></b></a><ul class="dropdown-menu dropdown-menu-right"></ul></li></ul>');c.appendTo(d)}this.getSites().append('<li class="divider o_dropdown_site"></li>');b("#o_navbar_help .o_icon, #o_navbar_print .o_icon").addClass("o_icon-fw")};a.prototype.cleanupMoreDropdown=function(){if(!this.state.sitesDirty){var f=this.getSites();var d=this.getMoreDropdown().children(".o_dropdown_site");d.appendTo(f)}else{this.getSites().append('<li class="divider o_dropdown_site"></li>')}if(!this.state.tabsDirty){var e=this.getTabs();var c=this.getMoreDropdown().children(".o_dropdown_tab");c.prependTo(e)}this.getMoreDropdown().empty()};a.prototype.checkToolsOrder=function(){var f=this.getTools();var e=f.find("#o_navbar_help");var d=f.find("#o_navbar_print");var c=f.find("#o_navbar_imclient");if(c&&d){c.after(d)}if(c&&e){c.after(e)}};a.prototype.showRight=function(){if(!this.isOffcanvasVisible()&&!this.offcanvasTransitioning){this.offcanvasTransitioning=true;var d=this;var c=b("#o_offcanvas_right");c.show().transition({x:-d.state.offCanvasWidth},function(){b("body").addClass("o_offcanvas_right_visible");var e=b.proxy(d.hideRightOnClick,d);setTimeout(function(){b("html").on("click",e);d.offcanvasTransitioning=false},10)})}};a.prototype.hideRightOnClick=function(c){if("INPUT"!=c.target.nodeName){this.hideRight()}};a.prototype.hideRight=function(){if(this.isOffcanvasVisible()&&!this.offcanvasTransitioning){this.offcanvasTransitioning=true;b("html").off("click",b.proxy(this.hideRight,this));var d=this;var c=b("#o_offcanvas_right");c.transition({x:d.state.offCanvasWidth},function(){c.hide();b("body").removeClass("o_offcanvas_right_visible");d.offcanvasTransitioning=false})}};a.prototype.toggleRight=function(){if(this.isOffcanvasVisible()){this.hideRight()}else{this.showRight()}};a.prototype.isOffcanvasVisible=function(){return b("#o_offcanvas_right:visible").length};a.prototype.getSites=function(){return b("#o_navbar_container .o_navbar_sites")};a.prototype.getTabs=function(){return b("#o_navbar_container .o_navbar_tabs")};a.prototype.getTools=function(){return b("#o_navbar_container #o_navbar_tools_permanent")};a.prototype.getMoreDropdown=function(){return b("#o_navbar_more .dropdown-menu")};a.prototype.getOffcanvasRight=function(){return b("#o_offcanvas_right_container .o_navbar-right")};a.prototype.isSitesCollapsed=function(){return !this.getSites().children("li").not(".divider").length};a.prototype.isSitesExtended=function(){return !this.getMoreDropdown().children(".o_dropdown_site").not(".divider").length};a.prototype.isTabsCollapsed=function(){return !this.getTabs().children("li").length};a.prototype.isTabsExtended=function(){return !this.getMoreDropdown().children(".o_dropdown_tab").length};a.prototype.isToolsCollapsed=function(){return !this.getTools().children(".o_navbar_tool").not("#o_navbar_imclient, #o_navbar_search_opener, #o_navbar_my_menu").length};a.prototype.isToolsExtended=function(){return !this.getOffcanvasRight().children(".o_tool_right").length};b(document).ready(function(){var d=b("#o_navbar_wrapper");if(d){var c=new a();window.OPOL.navbar=c}})}(jQuery);+function(b){b.fn.ooBgCarrousel=function(){return new a()};var a=function(){};a.prototype.initCarrousel=function(g){this.settings=b.extend({query:null,images:[],shuffle:false,shuffleFirst:false,durationshow:5000,durationout:500,durationin:500,easeout:"ease",easein:"ease"},g);this.pos=null;if(this.settings.query==null||this.settings.images.length==0){return}this.initialImage=this.settings.images[0];if(this.settings.shuffle){var f=this.settings.images;for(var d,c,e=f.length;e;d=parseInt(Math.random()*e),c=f[--e],f[e]=f[d],f[d]=c){}}if(this.settings.shuffleFirst){this._replaceImage()}this.rotate()};a.prototype.rotate=function(){setTimeout(b.proxy(this._hideCurrent,this),this.settings.durationshow)};a.prototype._hideCurrent=function(){var c=b(this.settings.query);if(c&&c.length>0){c.transition({opacity:0,duration:this.settings.durationout,easing:this.settings.easeout},b.proxy(this._showNext,this))}};a.prototype._replaceImage=function(d){if(!d){d=b(this.settings.query)}if(d&&d.length>0){this.newImg="";this.oldImg="";if(this.pos==null){this.pos=1;this.oldImg=this.initialImage}else{this.oldImg=this.settings.images[this.pos];this.pos++;if(this.settings.images.length==this.pos){this.pos=0}}this.newImg=this.settings.images[this.pos];var c=d.css("background-image");if(c.indexOf(this.oldImg)==-1){d.transition({opacity:1,duration:0});return}var e=c.replace(this.oldImg,this.newImg);d.css("background-image",e)}};a.prototype._showNext=function(){var c=b(this.settings.query);this._replaceImage(c);c.transition({opacity:1,duration:this.settings.durationin,easing:this.settings.easein},b.proxy(this.rotate,this))}}(jQuery);!function(e){function t(){function t(e){"remove"===e&&this.each(function(e,t){var n=i(t);n&&n.remove()}),this.find("span.mceEditor,div.mceEditor").each(function(e,t){var n=tinymce.get(t.id.replace(/_parent$/,""));n&&n.remove()})}function r(e){var n,r=this;if(null!=e)t.call(r),r.each(function(t,n){var r;(r=tinymce.get(n.id))&&r.setContent(e)});else if(r.length>0&&(n=tinymce.get(r[0].id)))return n.getContent()}function i(e){var t=null;return e&&e.id&&a.tinymce&&(t=tinymce.get(e.id)),t}function o(e){return!!(e&&e.length&&a.tinymce&&e.is(":tinymce"))}var s={};e.each(["text","html","val"],function(t,a){var l=s[a]=e.fn[a],c="text"===a;e.fn[a]=function(t){var a=this;if(!o(a))return l.apply(a,arguments);if(t!==n)return r.call(a.filter(":tinymce"),t),l.apply(a.not(":tinymce"),arguments),a;var s="",u=arguments;return(c?a:a.eq(0)).each(function(t,n){var r=i(n);s+=r?c?r.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):r.getContent({save:!0}):l.apply(e(n),u)}),s}}),e.each(["append","prepend"],function(t,r){var a=s[r]=e.fn[r],l="prepend"===r;e.fn[r]=function(e){var t=this;return o(t)?e!==n?("string"==typeof e&&t.filter(":tinymce").each(function(t,n){var r=i(n);r&&r.setContent(l?e+r.getContent():r.getContent()+e)}),a.apply(t.not(":tinymce"),arguments),t):void 0:a.apply(t,arguments)}}),e.each(["remove","replaceWith","replaceAll","empty"],function(n,r){var i=s[r]=e.fn[r];e.fn[r]=function(){return t.call(this,r),i.apply(this,arguments)}}),s.attr=e.fn.attr,e.fn.attr=function(t,a){var l=this,c=arguments;if(!t||"value"!==t||!o(l))return a!==n?s.attr.apply(l,c):s.attr.apply(l,c);if(a!==n)return r.call(l.filter(":tinymce"),a),s.attr.apply(l.not(":tinymce"),c),l;var u=l[0],d=i(u);return d?d.getContent({save:!0}):s.attr.apply(e(u),c)}}var n,r,i,o=[],a=window;e.fn.tinymce=function(n){function s(){var r=[],o=0;i||(t(),i=!0),d.each(function(e,t){var i,a=t.id,s=n.oninit;a||(t.id=a=tinymce.DOM.uniqueId()),tinymce.get(a)||(i=new tinymce.Editor(a,n,tinymce.EditorManager),r.push(i),i.on("init",function(){var e,t=s;d.css("visibility",""),s&&++o==r.length&&("string"==typeof t&&(e=t.indexOf(".")===-1?null:tinymce.resolve(t.replace(/\.\w+$/,"")),t=tinymce.resolve(t)),t.apply(e||tinymce,r))}))}),e.each(r,function(e,t){t.render()})}var l,c,u,d=this,f="";if(!d.length)return d;if(!n)return window.tinymce?tinymce.get(d[0].id):null;if(d.css("visibility","hidden"),a.tinymce||r||!(l=n.script_url))1===r?o.push(s):s();else{r=1,c=l.substring(0,l.lastIndexOf("/")),l.indexOf(".min")!=-1&&(f=".min"),a.tinymce=a.tinyMCEPreInit||{base:c,suffix:f},l.indexOf("gzip")!=-1&&(u=n.language||"en",l=l+(/\?/.test(l)?"&":"?")+"js=true&core=true&suffix="+escape(f)+"&themes="+escape(n.theme||"modern")+"&plugins="+escape(n.plugins||"")+"&languages="+(u||""),a.tinyMCE_GZ||(a.tinyMCE_GZ={start:function(){function t(e){tinymce.ScriptLoader.markDone(tinymce.baseURI.toAbsolute(e))}t("langs/"+u+".js"),t("themes/"+n.theme+"/theme"+f+".js"),t("themes/"+n.theme+"/langs/"+u+".js"),e.each(n.plugins.split(","),function(e,n){n&&(t("plugins/"+n+"/plugin"+f+".js"),t("plugins/"+n+"/langs/"+u+".js"))})},end:function(){}}));var p=document.createElement("script");p.type="text/javascript",p.onload=p.onreadystatechange=function(t){t=t||window.event,2===r||"load"!=t.type&&!/complete|loaded/.test(p.readyState)||(tinymce.dom.Event.domLoaded=1,r=2,n.script_loaded&&n.script_loaded(),s(),e.each(o,function(e,t){t()}))},p.src=l,document.body.appendChild(p)}return d},e.extend(e.expr[":"],{tinymce:function(e){var t;return!!(e.id&&"tinymce"in window&&(t=tinymce.get(e.id),t&&t.editorManager===tinymce))}})}(jQuery);OPOL={};var o2c=0;var o3c=new Array();o_info.guibusy=false;o_info.linkbusy=false;o_info.scrolling=false;o_info.debug=true;o_info.drakes=new Array();var BLoader={_ajaxLoadedJS:new Array(),_isAlreadyLoadedJS:function(b){var a=true;jQuery("head script[src]").each(function(d,c){if(jQuery(c).attr("src").indexOf(b)!=-1){a=false}});if(jQuery.inArray(b,this._ajaxLoadedJS)!=-1){a=false}return !a},loadJS:function(b,c,a){if(!this._isAlreadyLoadedJS(b)){if(o_info.debug){o_log("BLoader::loadJS: loading ajax::"+a+" url::"+b)}if(a){jQuery.ajax(b,{async:false,dataType:"script",cache:true,success:function(d,f,e){}});this._ajaxLoadedJS.push(b)}else{jQuery.getScript(b)}if(o_info.debug){o_log("BLoader::loadJS: loading DONE url::"+b)}}else{if(o_info.debug){o_log("BLoader::loadJS: already loaded url::"+b)}}},executeGlobalJS:function(jsString,contextDesc){try{if(window.execScript){window.execScript(jsString)}else{window.eval(jsString)}}catch(e){if(window.console){console.log(contextDesc,"cannot execute js",jsString)}if(o_info.debug){o_logerr("BLoader::executeGlobalJS: Error when executing JS code in contextDesc::"+contextDesc+' error::"'+showerror(e)+" for: "+escape(jsString))}if(window.location.href.indexOf("o_winrndo")!=-1){window.location.reload()}else{window.location.href=window.location.href+(window.location.href.indexOf("?")!=-1?"&":"?")+"o_winrndo=1"}}},loadCSS:function(b,o,q){var r=window.document;try{if(r.createStyleSheet){var g=r.styleSheets;var d=0;var p=0;for(i=0;i<g.length;i++){var m=g[i];var f=m.href;if(f==b){d++;if(m.disabled){m.disabled=false;return}else{if(o_info.debug){o_logwarn("BLoader::loadCSS: style: "+b+" already in document and not disabled! (duplicate add)")}return}}if(m.id=="o_theme_css"){p=i}}if(d>1&&o_info.debug){o_logwarn("BLoader::loadCSS: apply styles: num of stylesheets found was not 0 or 1:"+d)}if(q){p=g.length}r.createStyleSheet(b,p)}else{var c=jQuery("#"+o);if(c&&c.length>0){if(o_info.debug){o_logwarn("BLoader::loadCSS: stylesheet already found in doc when trying to add:"+b+", with id "+o)}}else{var a=jQuery('<link id="'+o+'" rel="stylesheet" type="text/css" href="'+b+'">');if(q){a.insertBefore(jQuery("#o_fontSize_css"))}else{a.insertBefore(jQuery("#o_theme_css"))}}}}catch(n){if(window.console){console.log(n)}if(o_info.debug){o_logerr("BLoader::loadCSS: Error when loading CSS from URL::"+b)}}},unLoadCSS:function(a,n){var o=window.document;try{if(o.createStyleSheet){var f=o.styleSheets;var d=0;var p=a;var b=window.location.href.substring(0,window.location.href.indexOf("/",8));if(a.indexOf(b)==0){p=a.substring(b.length)}for(i=0;i<f.length;i++){var g=f[i].href;if(g==a||g==p){d++;if(!f[i].disabled){f[i].disabled=true}else{if(o_info.debug){o_logwarn("stylesheet: when removing: matching url, but already disabled! url:"+g)}}}}if(d!=1&&o_info.debug){o_logwarn("stylesheet: when removeing: num of stylesheets found was not 1:"+d)}}else{var c=jQuery("#"+n);if(c){c.href="";c.remove();c=null;return}else{if(o_info.debug){o_logwarn("no link with id found to remove, id:"+n+", url "+a)}}}}catch(m){if(o_info.debug){o_logerr("BLoader::unLoadCSS: Error when unloading CSS from URL::"+a)}}}};var BFormatter={formatLatexFormulas:function(b){try{if(typeof MathJax==="undefined"){o_mathjax()}else{if(MathJax&&MathJax.isReady){jQuery(function(){MathJax.Hub.Queue(function(){if(jQuery("#"+b+" .MathJax").length==0){MathJax.Hub.Typeset(b)}})})}else{setTimeout(function(){BFormatter.formatLatexFormulas(b)},100)}}}catch(a){if(window.console){console.log("error in BFormatter.formatLatexFormulas: ",a)}}},alignTableColumns:function(a){try{var b=new Array();jQuery(a).each(function(){for(j=0;j<jQuery(this)[0].rows[0].cells.length;j++){var d=jQuery(this)[0].rows[0].cells[j];if(!b[j]||b[j]<d.clientWidth){b[j]=d.clientWidth}}});jQuery(a).each(function(){for(j=0;j<jQuery(this)[0].rows[0].cells.length;j++){jQuery(this)[0].rows[0].cells[j].style.width=b[j]+"px"}})}catch(c){if(window.console){console.log("error in BFormatter.alignTableColumns: ",c)}}}};function o_init(){try{o_getMainWin().o_afterserver();if(window.location.href&&window.location.href!=null&&window.location.href.indexOf("%3A")<0){var a=window.location.href;if(a!=null&&!(a.lastIndexOf("http",0)===0)&&!(a.lastIndexOf("https",0)===0)){a=o_info.serverUri+a}o_info.businessPath=a;if(!(typeof o_shareActiveSocialUrl==="undefined")){o_shareActiveSocialUrl()}}}catch(b){if(o_info.debug){o_log("error in o_init: "+showerror(b))}}}function o_initEmPxFactor(){o_info.emPxFactor=jQuery("#o_width_1em").width();if(o_info.emPxFactor==0||o_info.emPxFactor=="undefined"){o_info.emPxFactor=12}}function o_getMainWin(){try{if(window.OPOL){return window}else{if(window.opener&&window.opener.OPOL){return window.opener}}}catch(a){if(o_info.debug){o_logerr('Exception while getting main window. rror::"'+showerror(a))}if(window.console){console.log('Exception while getting main window. rror::"'+showerror(a),"functions.js");console.log(a)}}throw"Can not find main OpenOLAT window"}function o_beforeserver(){o_info.linkbusy=true;showAjaxBusy();if(window.suppressOlatOnUnloadOnce){window.suppressOlatOnUnloadOnce=false}else{if(window.olatonunload){olatonunload()}}}function o_afterserver(){o2c=0;o_info.linkbusy=false;removeAjaxBusy()}function o2cl(){try{if(o_info.linkbusy){return false}else{var b=(o2c==0||confirm(o_info.dirty_form));if(b){o_beforeserver()}return b}}catch(a){if(window.console){console.log(a)}return false}}function o2cl_dirtyCheckOnly(){try{if(o_info.linkbusy){return false}else{return(o2c==0||confirm(o_info.dirty_form))}}catch(a){if(window.console){console.log(a)}return false}}function o2cl_noDirtyCheck(){if(o_info.linkbusy){return false}else{o_beforeserver();return true}}function o3cl(d){if(o_info.linkbusy){return false}else{var b=o3c1.indexOf(d)>-1;var a=(b&&o3c1.length>1)||o3c1.length>0;var c=(!a||confirm(o_info.dirty_form));if(c){o_beforeserver()}return c}}function o_onc(a){var b=a.responseText;BLoader.executeGlobalJS("o_info.last_o_onc="+b+";","o_onc");o_ainvoke(o_info.last_o_onc,false)}function o_allowNextClick(){o_info.linkbusy=false;removeAjaxBusy()}function removeBusyAfterDownload(c,b,a){o2c=0;o_afterserver()}Array.prototype.search=function(c,d){var a=this.length;for(var b=0;b<a;b++){if(this[b].constructor==Array){if(this[b].search(c,d)){return true;break}}else{if(d){if(this[b].indexOf(c)!=-1){return true;break}}else{if(this[b]==c){return true;break}}}}return false};if(!Function.prototype.curry){Function.prototype.curry=function(){if(arguments.length<1){return this}var a=this;var b=Array.prototype.slice.call(arguments);return function(){return a.apply(this,b.concat(Array.prototype.slice.call(arguments)))}}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c){if(this==null){throw new TypeError()}var d=Object(this);var a=d.length>>>0;if(a===0){return -1}var e=0;if(arguments.length>1){e=Number(arguments[1]);if(e!=e){e=0}else{if(e!=0&&e!=Infinity&&e!=-Infinity){e=(e>0||-1)*Math.floor(Math.abs(e))}}}if(e>=a){return -1}var b=e>=0?e:Math.max(a-Math.abs(e),0);for(;b<a;b++){if(b in d&&d[b]===c){return b}}return -1}}var b_onDomReplacementFinished_callbacks=new Array();function b_AddOnDomReplacementFinishedCallback(a){b_onDomReplacementFinished_callbacks.push(a)}var b_changedDomEl=new Array();function b_AddOnDomReplacementFinishedUniqueCallback(a){if(a.constructor==Array){if(b_onDomReplacementFinished_callbacks.search(a[0])){return}}b_AddOnDomReplacementFinishedCallback(a)}var o_debug_trid=0;function o_ainvoke(S){if(S==undefined){return}o_info.inainvoke=true;var L=S.cmdcnt;if(L>0){jQuery(document).trigger("oo.dom.replacement.before");b_changedDomEl=new Array();if(o_info.debug){o_debug_trid++}var C=S.cmds;for(var Y=0;Y<L;Y++){var M=C[Y];var E=M.cmd;var W=M.cda;var Z=M.w;var d=this.window;var N;if(d){switch(E){case 1:var R=W.e;BLoader.executeGlobalJS(R,"o_ainvoker::jsexec");if(o_info.debug){o_log("c1: execute jscode: "+R)}case 2:var x=W.cc;var I=W.cps;for(var V=0;V<x;V++){var n=I[V];var m=n.cid;var U=n.cidvis;var K=n.cw;var B=n.hfrag;var T=n.jsol;var h=n.hdr;if(o_info.debug){o_log("c2: redraw: "+n.cname+" ("+m+") "+n.hfragsize+" bytes, listener(s): "+n.clisteners)}var ab=h+"\n\n"+B;var X=false;var H="o_c"+m;var F=jQuery("#"+H);if(F==null||F.length==0){H="o_fi"+m;F=jQuery("#"+H);X=true}if(F!=null){var A=jQuery("div.o_richtext_mce textarea",F);for(var Q=0;Q<A.length;Q++){try{var a=jQuery(A.get(Q)).attr("id");if(typeof top.tinymce!=undefined){top.tinymce.remove("#"+a)}}catch(ae){if(window.console){console.log(ae)}}}var c=jQuery("body>div.tooltip.in");for(var P=0;P<c.length;P++){try{jQuery(c.get(P)).remove()}catch(ae){if(window.console){console.log(ae)}}}var z=jQuery("body>div.ui-tooltip");for(var O=0;O<z.length;O++){try{jQuery(z.get(O)).remove()}catch(ae){if(window.console){console.log(ae)}}}if(U){F.css("display","")}else{F.css("display","none")}if(X||!K){F.replaceWith(ab)}else{try{F.empty().html(ab);if(ab.length>0&&F.get(0).innerHTML==""){F.get(0).innerHTML=ab}}catch(ae){if(window.console){console.log(ae)}if(window.console){console.log("Fragment",ab)}}b_changedDomEl.push(H)}F=null;checkDrakes();if(T!=""){BLoader.executeGlobalJS(T,"o_ainvoker::jsol")}}}break;case 3:d.o2c=0;var ac=W.rurl;d.o_afterserver();d.document.location.replace(ac);break;case 5:d.o2c=0;var ac=W.rurl;d.o_afterserver();d.document.location.replace(ac);break;case 6:d.o2c=0;d.o_afterserver();break;case 7:var p=d.document.location;var D=p.protocol+"//"+p.hostname;if(p.port!=""){D+=":"+p.port}var y=W.cssrm;for(V=0;V<y.length;V++){var G=y[V];var J=G.id;var g=D+G.url;BLoader.unLoadCSS(g,J);if(o_info.debug){o_log("c7: rm css: id:"+J+" ,url:'"+g+"'")}}var aa=W.cssadd;for(k=0;k<aa.length;k++){var G=aa[k];var J=G.id;var g=D+G.url;var o=G.pt;BLoader.loadCSS(g,J,o);if(o_info.debug){o_log("c7: add css: id:"+J+" ,url:'"+g+"'")}}var q=W.jsadd;for(l=0;l<q.length;l++){var G=q[l];var ad=G.before;if(jQuery.type(ad)==="string"){BLoader.executeGlobalJS(ad,"o_ainvoker::preJsAdd")}var g=G.url;var s=G.enc;if(jQuery.type(g)==="string"){BLoader.loadJS(g,s,true)}if(o_info.debug){o_log("c7: add js: "+g)}}break;default:if(o_info.debug){o_log("?: unknown command "+E)}break}}else{if(o_info.debug){o_log("could not find window??")}}}var b=b_onDomReplacementFinished_callbacks.length;for(mycounter=0;b>mycounter;mycounter++){if(mycounter>50){break}var w=b_onDomReplacementFinished_callbacks.shift();if(typeof w.length==="number"){if(w[0]=="glosshighlighter"){var f=w[1];w=f}}w()}jQuery(document).trigger("oo.dom.replacement.after")}o_info.inainvoke=false}function clearAfterAjaxIframeCall(){if(o_info.linkbusy){o_afterserver()}}function showAjaxBusy(){setTimeout(function(){if(o_info.linkbusy){try{if(jQuery("#o_ajax_busy_backdrop").length==0){jQuery("#o_body").addClass("o_ajax_busy");jQuery("#o_ajax_busy").modal({show:true,backdrop:"static",keyboard:"false"});jQuery("#o_ajax_busy").after('<div id="o_ajax_busy_backdrop" class="modal-backdrop in"></div>');jQuery("#o_ajax_busy>.modal-backdrop").remove();jQuery("#o_ajax_busy_backdrop").css({"z-index":1200})}}catch(a){if(window.console){console.log(a)}}}},700)}function removeAjaxBusy(){try{jQuery("#o_body").removeClass("o_ajax_busy");jQuery("#o_ajax_busy_backdrop").remove();jQuery("#o_ajax_busy").modal("hide")}catch(a){if(window.console){console.log(a)}}}function setFormDirty(c){o2c=1;var a=document.getElementById(c);if(a!=null){var b=a.olat_fosm_0;if(b==null){b=a.olat_fosm}if(b){b.className="btn o_button_dirty"}}}function contextHelpWindow(a){helpWindow=window.open(a,"HelpWindow","height=760, width=940, left=0, top=0, location=no, menubar=no, resizable=yes, scrollbars=yes, toolbar=no");helpWindow.focus()}function o_openPopUp(b,d,c,a,f){attributes="height="+a+", width="+c+", resizable=yes, scrollbars=yes, left=100, top=100, ";if(f){attributes+="location=yes, menubar=yes, status=yes, toolbar=yes"}else{attributes+="location=no, menubar=no, status=no, toolbar=no"}var h;try{h=window.open(b,d,attributes)}catch(g){h=window.open(b,"OpenOLAT",attributes)}h.focus();if(o_info.linkbusy){o_afterserver()}}function o_openTab(a){var b=window.open(a,"_blank");b.focus();if(o_info.linkbusy){o_afterserver()}}function b_handleFileUploadFormChange(m,b,g){m.setCustomValidity("");if(m.hasAttribute("data-max-size")){var p=m.getAttribute("data-max-size");if(p){var d=formInputFileSize(m);if(d>p){var q=jQuery(document).ooTranslator().getTranslator(o_info.locale,"org.olat.modules.forms.ui");var h=q.translate("file.upload.error.limit.exeeded");var o=q.translate("file.upload.limit");var n;if(p<250*1024){n=(p/1024).toFixed(1)+" KB"}else{if(p<250*1024*1024){n=(p/1024/1024).toFixed(1)+" MB"}else{n=(p/1024/1024/1024).toFixed(1)+" GB"}}m.setCustomValidity(h+" ("+o+": "+n+")")}}}var f=m.value;var e=f.lastIndexOf("/");if(e!=-1){f=f.substring(e+1)}e=f.lastIndexOf("\\");if(e!=-1){f=f.substring(e+1)}b.value=f;if(g){g.className="o_button_dirty"}var a=m.form.elements;for(i=0;i<a.length;i++){var c=a[i];if(c.name==b.name&&i+1<a.length){a[i+1].focus()}}}function formInputFileSize(c){try{if(!window.FileReader){return -1}if(!c||!c.files){return -1}var a=c.files[0];if(!a){return -1}return a.size}catch(b){o_logerr("form input file size check failed: "+b)}return -1}function gotonode(a){try{if(typeof o_activateCourseNode!="undefined"){o_activateCourseNode(a)}else{if(opener&&typeof opener.o_activateCourseNode!="undefined"){opener.o_activateCourseNode(a)}}}catch(b){alert("Goto node error:"+b)}}function o_viewportHeight(){var a=jQuery(document).height();if(a>0){return a}else{return 600}}OPOL.getMainColumnsMaxHeight=function(){var m=0,f=0,a=0,c=0,h=0,b,g=jQuery("#o_main_left_content"),e=jQuery("#o_main_right_content"),d=jQuery("#o_main_center_content");if(g!="undefined"&&g!=null){m=g.outerHeight(true)}if(e!="undefined"&&e!=null){f=e.outerHeight(true)}if(d!="undefined"&&d!=null){a=d.outerHeight(true)}c=(m>f?m:f);c=(c>a?c:a);if(c>0){return c}b=jQuery("#o_main");if(b!="undefined"&&b!=null){h=b.height()}if(b>0){return b}return o_viewportHeight()};OPOL.adjustHeight=function(){try{var a=jQuery("#o_main_left_content");var m=a.length==0?0:a.outerHeight(true);var h=jQuery("#o_main_right_content");var f=h.length==0?0:h.outerHeight(true);var b=jQuery("#o_main_center_content");var d=b.length==0?0:b.outerHeight(true);var c=Math.max(m,f,d);if(a.length>0){jQuery("#o_main_left").css({"min-height":c+"px"})}if(h.length>0){jQuery("#o_main_right").css({"min-height":c+"px"})}if(b.length>0){jQuery("#o_main_center").css({"min-height":c+"px"})}}catch(g){if(window.console){console.log(g)}}};OPOL.setContainerFullWidth=function(a){if(a){jQuery("body").addClass("o_width_full")}else{jQuery("body").removeClass("o_width_full")}jQuery.proxy(OPOL.navbar.onPageWidthChangeCallback,OPOL.navbar)()};jQuery(window).resize(function(){clearTimeout(o_info.resizeId);o_info.resizeId=setTimeout(function(){jQuery(document).trigger("oo.window.resize.after")},500)});jQuery(document).on("oo.window.resize.after",OPOL.adjustHeight);jQuery(document).on("oo.dom.replacement.after",OPOL.adjustHeight);jQuery().ready(OPOL.adjustHeight);function o_scrollToElement(a){try{o_info.scrolling=true;jQuery("html, body").animate({scrollTop:jQuery(a).offset().top},333,function(d,c){o_info.scrolling=false})}catch(b){}}function o_popover(c,b,a){if(typeof(a)==="undefined"){a="bottom"}jQuery("#"+c).popover({placement:a,html:true,trigger:"click",container:"body",content:function(){return jQuery("#"+b).clone().html()}}).on("shown.bs.popover",function(){var d=function(f){jQuery("#"+c).popover("hide");jQuery("body").unbind("click",d)};setTimeout(function(){jQuery("body").on("click",d)},5)})}function o_popoverWithTitle(e,d,c,b){if(typeof(b)==="undefined"){b="bottom"}var a=jQuery("#"+e).popover({placement:b,html:true,title:c,trigger:"click",container:"body",content:function(){return jQuery("#"+d).clone().html()}});a.on("shown.bs.popover",function(){var f=function(g){jQuery("#"+e).popover("hide");jQuery("body").unbind("click",f)};setTimeout(function(){jQuery("body").on("click",f)},5)});return a}function o_shareLinkPopup(d,c,b){if(typeof(b)==="undefined"){b="top"}var a=jQuery("#"+d);a.popover({placement:b,html:true,trigger:"click",container:"body",content:c}).on("shown.bs.popover",function(){var e=function(f){if(jQuery(f.target).data("toggle")!=="popover"&&jQuery(f.target).parents(".popover.in").length===0){jQuery("#"+d).popover("hide");jQuery("body").unbind("click",e)}};setTimeout(function(){jQuery("body").on("click",e)},5)});a.attr("title",a.attr("data-original-title"))}function o_QRCodePopup(d,c,b){if(typeof(b)==="undefined"){b="top"}var a=jQuery("#"+d);a.popover({placement:b,html:true,trigger:"click",container:"body",content:'<div id="'+d+'_pop" class="o_qrcode"></div>'}).on("shown.bs.popover",function(){o_info.qr=o_QRCode(d+"_pop",(jQuery.isFunction(c)?c():c));var e=function(f){if(jQuery(f.target).data("toggle")!=="popover"&&jQuery(f.target).parents(".popover.in").length===0){jQuery("#"+d).popover("hide");jQuery("body").unbind("click",e)}};setTimeout(function(){jQuery("body").on("click",e)},5)}).on("hidden.bs.popover",function(){try{o_info.qr.clear();delete o_info.qr}catch(f){}});a.attr("title",a.attr("data-original-title"))}function o_QRCode(c,b){try{BLoader.loadJS(o_info.o_baseURI+"/js/jquery/qrcodejs/qrcode.min.js","utf8",true);return new QRCode(document.getElementById(c),b)}catch(a){return null}}function b_resizeIframeToMainMaxHeight(e){var d=jQuery("#"+e);if(d!="undefined"&&d!=null){var c=OPOL.getMainColumnsMaxHeight()-110;var b=o_viewportHeight()-100;b=b-d.offset().top;var a=(b>c?b:c);d.height(a)}}var o_debu_oldcn,o_debu_oldtt;function o_debu_show(b,a){if(o_debu_oldcn){o_debu_hide(o_debu_oldcn,o_debu_oldtt)}jQuery(b).addClass("o_dev_m");jQuery(a).show();o_debu_oldtt=a;o_debu_oldcn=b}function o_debu_hide(b,a){jQuery(a).hide();jQuery(b).removeClass("o_dev_m")}function o_dbg_mark(a){var b=jQuery("#"+a);if(b){b.css("background-color","#FCFCB8");b.css("border","3px solid #00F")}}function o_dbg_unmark(a){var b=jQuery("#"+a);if(b){b.css("border","");b.css("background-color","")}}function o_clearConsole(){o_log_all="";o_log(null)}var o_log_all="";function o_log(b){if(b){o_log_all="\n"+o_debug_trid+"> "+b+o_log_all;o_log_all=o_log_all.substr(0,4000)}var a=jQuery("#o_debug_cons");if(a){if(o_log_all.length==4000){o_log_all=o_log_all+"\n... (stripped: to long)... "}a.value=o_log_all}if(!jQuery.type(window.console)==="undefined"){window.console.log(b)}}function o_logerr(a){o_log("ERROR:"+a)}function o_logwarn(a){o_log("WARN:"+a)}function showerror(c){var a="";for(var b in c){a+=b+": "+c[b]+"\n"}return"error detail:\n"+a}function o_ffEvent(g,f,d,o,p){var h,m,b,a;h=document.getElementById(f);m=h.value;h.value=d;b=document.getElementById(o);a=b.value;b.value=p;var c=jQuery("#"+g);var e=true;jQuery("#"+g+" input[type=file]").filter(function(q,r){return !r.checkValidity()}).each(function(q,s){var t=s.getAttribute("id")+"_validation_error";var r=document.getElementById(t);if(!r){r=document.createElement("div");r.setAttribute("class","o_error");r.setAttribute("id",t);s.parentNode.parentNode.appendChild(r)}r.innerHTML=s.validationMessage;e=false});if(e){var n=c.attr("enctype");if(n&&n.indexOf("multipart")==0){o_XHRSubmitMultipart(g)}else{if(document.forms[g].onsubmit()){document.forms[g].submit()}}}h.value=m;b.value=a}function o_IQEvent(a){if(document.forms[a].onsubmit()){document.forms[a].submit()}}function o_TableMultiActionEvent(a,c){var b=jQuery("#o_mai_"+a);b.val(c);if(document.forms[a].onsubmit()){document.forms[a].submit()}b.val("")}function o_XHRSubmit(h){if(o_info.linkbusy){return false}o_beforeserver();var o=true;var a=jQuery("#"+h);var n=a.attr("enctype");if(n&&n.indexOf("multipart")==0){var g="openolat-submit-"+(""+Math.random()).substr(2);var d=o_createIFrame(g);document.body.appendChild(d);a.attr("target",d.name);return true}else{var f=a.serializeArray();if(arguments.length>1){var m=arguments.length;for(var e=1;e<m;e=e+2){if(m>e+1){var c=new Object();c.name=arguments[e];c.value=arguments[e+1];f[f.length]=c}}}var b=a.attr("action");jQuery.ajax(b,{type:"POST",data:f,cache:false,dataType:"json",success:function(s,v,r){try{o_ainvoke(s);if(o){var p=s.businessPath;var q=s.documentTitle;var u=s.historyPointId;if(p){o_pushState(u,q,p)}}}catch(t){if(window.console){console.log(t)}}finally{o_afterserver()}},error:o_onXHRError});return false}}function o_XHRSubmitMultipart(a){var c=jQuery("#"+a);var d="openolat-submit-"+(""+Math.random()).substr(2);var b=o_createIFrame(d);document.body.appendChild(b);c.attr("target",b.name);c.submit();c.attr("target","")}function o_createIFrame(b){var a=jQuery('<iframe name="'+b+'" id="'+b+'" src="about:blank" style="position: absolute; top: -9999px; left: -9999px;"></iframe>');return a[0]}function o_removeIframe(a){jQuery("#"+a).remove()}function o_showFormDirtyDialog(a){o_scrollToElement("#o_top");jQuery("#o_form_dirty_message").modal("show");jQuery("#o_form_dirty_message .o_form_dirty_ignore").on("click",function(){jQuery("#o_form_dirty_message").modal("hide");jQuery("#o_form_dirty_message .o_form_dirty_ignore").off();a()});return false}function o_ffXHREvent(h,e,s,g,p,t,f,m){if(t&&o2c==1){var d=Array.prototype.slice.call(arguments);d[5]=false;var u=function(){o_ffXHREvent.apply(window,d)};return o_showFormDirtyDialog(u)}else{if(!o2cl_noDirtyCheck()){return false}}o_beforeserver();var v=new Object();if(m){var b=jQuery("#"+h);var q=b.serializeArray();var o=q.length;for(var r=0;r<o;r++){var n=q[r];if(n.name!="dispatchuri"&&n.name!="dispatchevent"){v[n.name]=n.value}}}v.dispatchuri=s;v.dispatchevent=p;if(arguments.length>8){var a=arguments.length;for(var r=8;r<a;r=r+2){if(a>r+1){v[arguments[r]]=arguments[r+1]}}}var c=jQuery("#"+h).attr("action");jQuery.ajax(c,{type:"POST",data:v,cache:false,dataType:"json",success:function(z,C,y){try{o_ainvoke(z);if(f){var w=z.businessPath;var x=z.documentTitle;var B=z.historyPointId;if(w){o_pushState(B,x,w)}}}catch(A){if(window.console){console.log(A)}}finally{o_afterserver()}},error:o_onXHRError})}function o_ffXHRNFEvent(f,e,a,h,m){var c=new Object();c.dispatchuri=a;c.dispatchevent=m;if(arguments.length>5){var g=arguments.length;for(var d=5;d<g;d=d+2){if(g>d+1){c[arguments[d]]=arguments[d+1]}}}var b=jQuery("#"+f).attr("action");jQuery.ajax(b,{type:"POST",data:c,cache:false,dataType:"json",success:function(o,p,n){}})}function o_XHRWikiEvent(b){var a=jQuery(b).attr("href");if(a.indexOf(o_info.serverUri)==0){a=a.substring(o_info.serverUri.length,a.length)}o_XHREvent(a,false,true);return false}function o_XHREvent(h,f,c){if(f&&o2c==1){var b=Array.prototype.slice.call(arguments);b[1]=false;var a=function(){o_XHREvent.apply(window,b)};return o_showFormDirtyDialog(a)}else{if(!o2cl_noDirtyCheck()){return false}}o_beforeserver();var e=new Object();if(arguments.length>3){var g=arguments.length;for(var d=3;d<g;d=d+2){if(g>d+1){e[arguments[d]]=arguments[d+1]}}}jQuery.ajax(h,{type:"POST",data:e,cache:false,dataType:"json",success:function(p,s,o){try{if(c){try{var m=p.businessPath;var n=p.documentTitle;var r=p.historyPointId;if(m){o_pushState(r,n,m)}}catch(q){if(window.console){console.log(q)}}}o_ainvoke(p)}catch(q){if(window.console){console.log(q)}}finally{o_afterserver()}},error:o_onXHRError});return false}function o_XHRNFEvent(d){var b=new Object();if(arguments.length>1){var c=arguments.length;for(var a=1;a<c;a=a+2){if(c>a+1){b[arguments[a]]=arguments[a+1]}}}jQuery.ajax(d,{type:"POST",data:b,cache:false,dataType:"json",success:function(f,g,e){},error:o_onXHRError})}function o_onXHRError(a,d,b){o_afterserver();if(401==a.status){var c=o_info.oo_noresponse.replace("reload.html",window.document.location.href);showMessageBox("error",o_info.oo_noresponse_title,c,undefined)}else{if(window.console){console.log("Error status 2",d,b,a.responseText);console.log(a)}}}function o_pushState(d,f,a){try{var b=new Object();b.businessPath=a;b.historyPointId=d;if(a!=null&&!(a.lastIndexOf("http",0)===0)&&!(a.lastIndexOf("https",0)===0)){a=o_info.serverUri+a}o_info.businessPath=a;if(!(typeof o_shareActiveSocialUrl==="undefined")){o_shareActiveSocialUrl()}if(window.history&&!(typeof window.history==="undefined")&&window.history.pushState){window.history.pushState(b,f,a)}else{window.location.hash=d}}catch(c){if(window.console){console.log(c,a)}}}function o_toggleMark(a){var b=jQuery("i",a).attr("class");if(b.indexOf("o_icon_bookmark_add")>=0){jQuery("i",a).removeClass("o_icon_bookmark_add").addClass("o_icon_bookmark")}else{jQuery("i",a).removeClass("o_icon_bookmark").addClass("o_icon_bookmark_add")}}function registerDrake(a){o_info.drakes.push(a);return a}function destroyDrakes(){if(o_info.drakes!=="undefined"&&o_info.drakes!=null&&o_info.drakes.length>0){for(var a=o_info.drakes.length;a-->0;){try{o_info.drakes[a].destroy()}catch(b){if(window.console){console.log(b)}}o_info.drakes.pop()}}}function checkDrakes(){if(o_info.drakes!=="undefined"&&o_info.drakes!=null&&o_info.drakes.length>0){if(jQuery(".o_drake").length==0){destroyDrakes()}}}function o_normalizeFilename(b){b=b.replace(/\s/g,"_");var f=["/",",",":","(",")"];for(var c=f.length;c-->0;){b=b.split(f[c]).join("_")}var a=["\u00C4","\u00D6","\u00DC","\u00E4","\u00F6","\u00E6","\u00FC","\u00DF","\u00F8","\u2205"],d=["Ae","Oe","Ue","ae","oe","ae","ue","ss","o","o"];for(var c=a.length;c-->0;){b=b.split(a[c]).join(d[c])}try{b=b.normalize("NFKD");b=b.replace("/p{InCombiningDiacriticalMarks}+/g","");b=b.replace("/W+/g","")}catch(g){if(window.console){console.log(g)}}return b}function setFlexiFormDirtyByListener(a){setFlexiFormDirty(a.data.formId,a.data.hideMessage)}function setFlexiFormDirty(b,c){var a=o3c.indexOf(b)>-1;if(!a){o3c.push(b)}jQuery("#"+b).each(function(){var d=jQuery(this).data("FlexiSubmit");if(d!=null){jQuery("#"+d).addClass("btn o_button_dirty");o2c=(c?0:1)}})}function o_ffRegisterSubmit(b,a){jQuery("#"+b).data("FlexiSubmit",a)}function dismissInfoBox(a){javascript:jQuery("#"+a).remove();return true}function showInfoBox(g,d){var c=Math.floor(Math.random()*65536).toString(16);var f='<div id="'+c+'" class="o_alert_info"><div class="alert alert-info clearfix o_sel_info_message"><a class="o_alert_close o_sel_info_close" href="javascript:;" onclick="dismissInfoBox(\''+c+'\')"><i class="o_icon o_icon_close"> </i></a><h3><i class="o_icon o_icon_info"> </i> '+g+"</h3><p>"+d+"</p></div></div>";var a=jQuery("#o_messages").prepend(f);var e=(d.length>150)?8000:((d.length>70)?6000:4000);var b=function(){jQuery("#"+c).transition({top:"-100%"},333,function(){jQuery("#"+c).remove()})};o_info.scrolling=true;jQuery("#"+c).show().transition({top:0},333);jQuery("#"+c).click(function(h){b()});o_scrollToElement("#o_top");g=null;d=null;a=null;setTimeout(function(){try{b()}catch(h){}},e)}function showMessageBox(b,f,d,a){if(b=="info"){showInfoBox(f,d);return null}else{var c='<div id="myFunctionalModal" class="modal fade" role="dialog"><div class="modal-dialog"><div class="modal-content">';c+='<div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>';c+='<h4 class="modal-title">'+f+"</h4></div>";c+='<div class="modal-body alert ';if("warn"==b){c+="alert-warning"}else{if("error"==b){c+="alert-danger"}else{c+="alert-info"}}c+='"><p>'+d+"</p></div></div></div></div>";jQuery("#myFunctionalModal").remove();jQuery("body").append(c);var e=jQuery("#myFunctionalModal").modal("show").on("hidden.bs.modal",function(g){jQuery("#myFunctionalModal").remove()});o_scrollToElement("#o_top");return e}}function o_table_toggleCheck(d,c){var a=document.forms[d].elements.tb_ms;len=a.length;if(typeof(len)=="undefined"){a.checked=c}else{var b;for(b=0;b<len;b++){a[b].checked=c}}}function onTreeStartDrag(a,b){jQuery(a.target).addClass("o_dnd_proxy")}function onTreeStopDrag(a,b){jQuery(a.target).removeClass("o_dnd_proxy")}function onTreeDrop(g,h){var a=jQuery(h.draggable[0]);var f=jQuery(this);f.css({position:"",width:""});var c=f.droppable("option","endUrl");if(c.lastIndexOf("/")==(c.length-1)){c=c.substring(0,c.length-1)}var e=a.attr("id");var b=e.substring(2,e.length);c+="%3Atnidle%3A"+b;var d=f.attr("id");if(d.indexOf("ds")==0){c+="%3Asne%3Ayes"}else{if(d.indexOf("dt")==0){c+="%3Asne%3Aend"}}jQuery(".ui-droppable").each(function(m,n){jQuery(n).droppable("disable")});o_XHREvent(c+"/",false,false)}function treeAcceptDrop(a){return true}function treeAcceptDrop_notWithChildren(a){var c=false;var b=jQuery(a);var e=b.attr("id");if(e!=undefined&&(e.indexOf("dd")==0||e.indexOf("ds")==0||e.indexOf("dt")==0||e.indexOf("da")==0||e.indexOf("row")==0)){var g=jQuery(this);var m=g.attr("id");var d=e.substring(2,e.length);var f=m.substring(2,m.length);if(d!=f){var h=jQuery("#dd"+d).parents("li");if(h.length>0&&jQuery(h.get(0)).find("#dd"+f).length==0){c=true}}}return c}function treeAcceptDrop_portfolio(b){var d=false;var c=jQuery(b);var f=c.attr("id");if(treeNode_isDragNode(f)){var h=jQuery(this);var o=h.attr("id");var e=f.substring(2,f.length);var g=o.substring(2,o.length);var n=f.indexOf("ds")==0||f.indexOf("dt")==0;if(e!=g){var m=treeNode_portfolioType(c);var a=treeNode_portfolioType(h);if(m=="artefact"){if(a=="page"||a=="struct"||a=="artefact"){d=true}}else{if(m=="struct"){if(a=="page"||a=="struct"){d=true}}else{if(m=="page"){if(a=="map"||a=="page"){d=true}}}}}}return d}function treeNode_portfolioType(e){var c=jQuery(e.get(0));var d=treeNode_portfolioTypes(c);if(d==null){var a=c.parent("a");if(a.length>0){d=treeNode_portfolioTypes(jQuery(a.get(0)))}else{if(c.attr("id").indexOf("ds")==0){var b=c.prev("div");if(b.length>0){d=treeNode_portfolioTypes(b)}}else{if(c.attr("id").indexOf("dt")==0){var b=c.next("div");if(b.length>0){d=treeNode_portfolioTypes(b)}}}}}return d}function treeNode_portfolioTypes(a){if(a.find===undefined){return null}else{if(a.find(".o_ep_icon_struct").length>0||a.hasClass("o_ep_icon_struct")){return"struct"}else{if(a.find(".o_ep_icon_page").length>0||a.hasClass("o_ep_icon_page")){return"page"}else{if(a.find(".o_ep_icon_map").length>0||a.hasClass("o_ep_icon_map")){return"map"}else{if(a.find(".o_ep_artefact").length>0||a.hasClass("o_ep_artefact")){return"artefact"}}}}}return null}function treeNode_isDragNode(a){if(a!=undefined&&(a.indexOf("dd")==0||a.indexOf("ds")==0||a.indexOf("dt")==0||a.indexOf("da")==0||a.indexOf("row")==0)){return true}return false}function o_choice_toggleCheck(c,b){var d=document.forms[c].elements;len=d.length;if(typeof(len)=="undefined"){d.checked=b}else{var a;for(a=0;a<len;a++){if(d[a].type=="checkbox"&&d[a].getAttribute("class")=="o_checkbox"){d[a].checked=b}}}}function b_briefcase_isChecked(c,e){var b;var a=document.getElementById(c);var d=0;for(b=0;a.elements[b];b++){if(a.elements[b].type=="checkbox"&&a.elements[b].name=="paths"&&a.elements[b].checked){d++}}if(d<1){alert(e);return false}return true}function b_briefcase_toggleCheck(d,c){var a=document.getElementById(d);len=a.elements.length;var b;for(b=0;b<len;b++){if(a.elements[b].name=="paths"){a.elements[b].checked=c}}}function o_doPrint(){var d=jQuery("div.o_iframedisplay iframe");if(d.length>0){try{var a=d[0];frames[a.name].focus();frames[a.name].print();return}catch(c){for(i=0;frames.length>i;i++){a=frames[i];if(a.name=="oaa0"){continue}var b=document.getElementsByName(a.name)[0];if(b&&b.getAttribute("class")=="ext-shim"){continue}if(a.name!=""){try{frames[a.name].focus();frames[a.name].print()}catch(c){window.print()}return}}window.print()}}else{window.print()}}function b_attach_i18n_inline_editing(){jQuery("span.o_translation_i18nitem").hover(function(){jQuery(this.firstChild).show()},function(){jQuery("a.o_translation_i18nitem_launcher").hide()});jQuery("a.o_translation_i18nitem_launcher").hover(function(){var a=jQuery(this).parent("span.o_translation_i18nitem");a.effect("highlight")});b_AddOnDomReplacementFinishedCallback(b_attach_i18n_inline_editing)}function b_hideExtMessageBox(){}var BDebugger={_lastDOMCount:0,_lastObjCount:0,_knownGlobalOLATObjects:["o_afterserver","o_onc","o_getMainWin","o_ainvoke","o_info","o_beforeserver","o_ffEvent","o_openPopUp","o_debu_show","o_logwarn","o_dbg_unmark","o_ffRegisterSubmit","o_clearConsole","o_init","o_log","o_allowNextClick","o_dbg_mark","o_debu_hide","o_logerr","o_debu_oldcn","o_debu_oldtt","o_debug_trid","o_log_all"],_countDOMElements:function(){return document.getElementsByTagName("*").length},_countGlobalObjects:function(){var a=0;for(prop in window){a++}return a},logDOMCount:function(){var b=BDebugger;var a=b._countDOMElements();var c=a-b._lastDOMCount;console.log((c>0?"+":"")+c+" \t"+a+" \tDOM element count after DOM replacement");b._lastDOMCount=a;a=null},logGlobalObjCount:function(){var b=BDebugger;var a=b._countGlobalObjects();var c=a-b._lastObjCount;console.log((c>0?"+":"")+c+" \t"+a+" \tGlobal object count after DOM replacement");b._lastObjCount=a;a=null},logGlobalOLATObjects:function(){var b=BDebugger;var a=new Array();for(prop in window){if(prop.indexOf("o_")==0&&b._knownGlobalOLATObjects.indexOf(prop)==-1){a.push(prop)}}if(a.length>0){console.log(a.length+" global OLAT objects found:");a.each(function(c){console.log("\t"+typeof window[c]+" \t"+c)})}}};var OOEdusharing={start:function(){if(o_info.edusharing_enabled){OOEdusharing.render();jQuery(document).on("oo.dom.replacement.after",OOEdusharing.render);OOEdusharing.enableMetadataToggler()}},replaceWithSpinner:function(d,c,a){var b="<div style='";if(c>0){b+="width:"+c+"px;"}if(a>0){b+="height:"+a+"px;"}b+="'>";b+="<div class='edusharing_spinner_inner'><div class='edusharing_spinner1'></div></div>";b+="<div class='edusharing_spinner_inner'><div class='edusharing_spinner2'></div></div>";b+="<div class='edusharing_spinner_inner'><div class='edusharing_spinner3'></div></div>";b+="</div>";var e=jQuery(b);d.before(e);d.remove();return e},replaceGoTo:function(c,b){var a=o_info.uriprefix.replace("auth","edusharing")+"goto?identifier="+b;c=c.replace("{{{LMS_INLINE_HELPER_SCRIPT}}}",a);return c},replaceWithRendered:function(e,m,c,o,d,f,g,n){var b=o_info.uriprefix.replace("auth","edusharing")+"render?identifier="+m;if(c>0){b=b+"&width="+c}if(o){b=b+"&height="+o}var h="<div class='o_edusharing_container";if(typeof d!="undefined"){h+=" "+d}if(n){h+=" o_in_iframe"}if("hide"===f){h+=" o_hide_license"}if("hide"===g){h+=" o_hide_infos"}h+="'>";h+="</div>";var a=jQuery(h);jQuery.ajax({type:"GET",url:b,dataType:"html",success:function(r){var q=OOEdusharing.replaceGoTo(r,m);var p=a.append(q);e.replaceWith(p)},error:function(p,r,q){e.replaceWith("<div class='o_warning'>edu-sharing not available</div>")}})},replace:function(c,g){var f=c.data("es_identifier");var a=c.attr("width");var m=c.attr("height");var b=c.attr("class");var d=c.data("es_show_license");var e=c.data("es_show_infos");var h=OOEdusharing.replaceWithSpinner(c,a,m);OOEdusharing.replaceWithRendered(h,f,a,m,b,d,e,g)},render:function(){var a=jQuery("[data-es_identifier]");if(a.length>0){a.each(function(){var c=jQuery(this);OOEdusharing.replace(c,false)})}var b=jQuery(".o_iframe_rel");if(b.length>0){b.each(function(){var c=jQuery(this);c.on("load",function(){c.contents().on("click",OOEdusharing.toggleMetadata);var d=c.contents().find("[data-es_identifier]");if(d.length>0){d.each(function(){var e=jQuery(this);OOEdusharing.replace(e,true)})}})})}},toggleMetadata:function(a){if(jQuery(a.target).closest(".edusharing_metadata").length){}else{if(jQuery(a.target).closest(".edusharing_metadata_toggle_button").length){jQuery(".edusharing_metadata").hide();toggle_button=jQuery(a.target);metadata=toggle_button.parent().find(".edusharing_metadata");if(metadata.hasClass("open")){metadata.toggleClass("open");metadata.hide()}else{jQuery(".edusharing_metadata").removeClass("open");metadata.toggleClass("open");metadata.show()}}else{jQuery(".edusharing_metadata").hide();jQuery(".edusharing_metadata").removeClass("open")}}},enableMetadataToggler:function(){jQuery(document).click(OOEdusharing.toggleMetadata)}};jQuery(document).ready(function(){OOEdusharing.start()});/*!
+jQuery.periodic=function(l,h){if(jQuery.isFunction(l)){h=l;l={}}var c=jQuery.extend({},jQuery.periodic.defaults,{ajax_complete:j,increment:g,reset:f,cancel:i},l);c.cur_period=c.period;c.tid=false;var e="";b();return c;function b(){i();c.tid=setTimeout(function(){h.call(c);g();if(c.tid){b()}},c.cur_period)}function j(n,m){if(m==="success"&&e!==n.responseText){e=n.responseText;f()}}function g(){c.cur_period*=c.decay;if(c.cur_period<c.period){f()}else{if(c.cur_period>c.max_period){c.cur_period=c.max_period;if(c.on_max!==undefined){c.on_max.call(c)}}}}function f(){c.cur_period=c.period;b()}function i(){clearTimeout(c.tid);c.tid=null}function k(){}function a(){}function d(){}};jQuery.periodic.defaults={period:4000,max_period:1800000,decay:1.5,on_max:undefined};var Hashtable=(function(){var p="function";var n=(typeof Array.prototype.splice==p)?function(s,r){s.splice(r,1)}:function(u,t){var s,v,r;if(t===u.length-1){u.length=t}else{s=u.slice(t+1);u.length=t;for(v=0,r=s.length;v<r;++v){u[t+v]=s[v]}}};function a(t){var r;if(typeof t=="string"){return t}else{if(typeof t.hashCode==p){r=t.hashCode();return(typeof r=="string")?r:a(r)}else{if(typeof t.toString==p){return t.toString()}else{try{return String(t)}catch(s){return Object.prototype.toString.call(t)}}}}}function g(r,s){return r.equals(s)}function e(r,s){return(typeof s.equals==p)?s.equals(r):(r===s)}function c(r){return function(s){if(s===null){throw new Error("null is not a valid "+r)}else{if(typeof s=="undefined"){throw new Error(r+" must not be undefined")}}}}var q=c("key"),l=c("value");function d(u,s,t,r){this[0]=u;this.entries=[];this.addEntry(s,t);if(r!==null){this.getEqualityFunction=function(){return r}}}var h=0,j=1,f=2;function o(r){return function(t){var s=this.entries.length,v,u=this.getEqualityFunction(t);while(s--){v=this.entries[s];if(u(t,v[0])){switch(r){case h:return true;case j:return v;case f:return[s,v[1]]}}}return false}}function k(r){return function(u){var v=u.length;for(var t=0,s=this.entries.length;t<s;++t){u[v+t]=this.entries[t][r]}}}d.prototype={getEqualityFunction:function(r){return(typeof r.equals==p)?g:e},getEntryForKey:o(j),getEntryAndIndexForKey:o(f),removeEntryForKey:function(s){var r=this.getEntryAndIndexForKey(s);if(r){n(this.entries,r[0]);return r[1]}return null},addEntry:function(r,s){this.entries[this.entries.length]=[r,s]},keys:k(0),values:k(1),getEntries:function(s){var u=s.length;for(var t=0,r=this.entries.length;t<r;++t){s[u+t]=this.entries[t].slice(0)}},containsKey:o(h),containsValue:function(s){var r=this.entries.length;while(r--){if(s===this.entries[r][1]){return true}}return false}};function m(s,t){var r=s.length,u;while(r--){u=s[r];if(t===u[0]){return r}}return null}function i(r,s){var t=r[s];return(t&&(t instanceof d))?t:null}function b(t,r){var w=this;var v=[];var u={};var x=(typeof t==p)?t:a;var s=(typeof r==p)?r:null;this.put=function(B,C){q(B);l(C);var D=x(B),E,A,z=null;E=i(u,D);if(E){A=E.getEntryForKey(B);if(A){z=A[1];A[1]=C}else{E.addEntry(B,C)}}else{E=new d(D,B,C,s);v[v.length]=E;u[D]=E}return z};this.get=function(A){q(A);var B=x(A);var C=i(u,B);if(C){var z=C.getEntryForKey(A);if(z){return z[1]}}return null};this.containsKey=function(A){q(A);var z=x(A);var B=i(u,z);return B?B.containsKey(A):false};this.containsValue=function(A){l(A);var z=v.length;while(z--){if(v[z].containsValue(A)){return true}}return false};this.clear=function(){v.length=0;u={}};this.isEmpty=function(){return !v.length};var y=function(z){return function(){var A=[],B=v.length;while(B--){v[B][z](A)}return A}};this.keys=y("keys");this.values=y("values");this.entries=y("getEntries");this.remove=function(B){q(B);var C=x(B),z,A=null;var D=i(u,C);if(D){A=D.removeEntryForKey(B);if(A!==null){if(!D.entries.length){z=m(v,C);n(v,z);delete u[C]}}}return A};this.size=function(){var A=0,z=v.length;while(z--){A+=v[z].entries.length}return A};this.each=function(C){var z=w.entries(),A=z.length,B;while(A--){B=z[A];C(B[0],B[1])}};this.putAll=function(H,C){var B=H.entries();var E,F,D,z,A=B.length;var G=(typeof C==p);while(A--){E=B[A];F=E[0];D=E[1];if(G&&(z=w.get(F))){D=C(F,z,D)}w.put(F,D)}};this.clone=function(){var z=new b(t,r);z.putAll(w);return z}}return b})();(function(b){b.fn.ooTranslator=function(){var d=null;b(document).each(function(){d=b(document).data("_ooTranslator");if(d==undefined){d=new a();b(document).data("_ooTranslator",d)}});return d};function a(){return this}a.prototype={mapperUrl:null,translators:null,initialize:function(d){this.mapperUrl=d;this.translators=new Object()},getTranslator:function(d,f){if(this.translators[d]==null){this.translators[d]=new Object()}if(this.translators[d][f]==null){var e=this.mapperUrl+"/"+d+"/"+f+"/translations.js";jQuery.ajax(e,{async:false,dataType:"json",success:function(g,i,h){jQuery(document).ooTranslator()._createTranslator(g,d,f)}})}return this.translators[d][f]},_createTranslator:function(e,d,f){this.translators[d][f]=new c().initialize(e,d,f)}};function c(){return this}c.prototype={localizationData:null,bundle:null,locale:null,initialize:function(f,d,e){this.bundle=e;this.locale=d;this.localizationData=f;return this},translate:function(d){if(this.localizationData[d]){return this.localizationData[d]}else{return this.bundle+":"+d}}}})(jQuery);+function(b){var a=function(){this.addExtraElements();this.state={busy:false,brandW:0,sitesW:0,sitesDirty:false,sites:{collapsed:this.isSitesCollapsed(),extended:this.isSitesExtended},tabsW:0,tabsDirty:false,tabs:{collapsed:this.isTabsCollapsed(),extended:this.isTabsExtended()},toolsW:0,toolsDirty:false,tools:{collapsed:this.isToolsCollapsed(),extended:this.isToolsExtended()},offCanvasWidth:0,moreW:0};var c=b("#o_offcanvas_right").css("width");if(c){this.state.offCanvasWidth=parseInt(c.replace(/[^\d.]/g,""));this.initListners();this.calculateWidth();this.optimize()}};a.prototype.initListners=function(){b(window).resize(b.proxy(this.onResizeCallback,this));b(document).on("oo.nav.sites.modified",b.proxy(function(){this.state.sitesDirty=true},this));b(document).on("oo.nav.tabs.modified",b.proxy(function(){this.state.tabsDirty=true},this));b(document).on("oo.nav.tools.modified",b.proxy(function(){this.state.toolsDirty=true},this));b(document).on("oo.dom.replacement.after",b.proxy(this.onDOMreplacementCallback,this));b(window).on("orientationchange",b.proxy(this.hideRight,this));b("#o_navbar_right-toggle").on("click",b.proxy(this.toggleRight,this));b("#o_offcanvas_right .o_offcanvas_close").on("click",b.proxy(this.hideRight,this));b("#o_navbar_more").on("shown.bs.dropdown",this.onDropdownShown);b("#o_navbar_more").on("hidden.bs.dropdown",this.onDropdownHidden)};a.prototype.onResizeCallback=function(){if(!this.state.busy){this.state.busy=true;this.calculateWidth();this.optimize();this.state.busy=false}};a.prototype.onPageWidthChangeCallback=function(){if(!this.state.busy){this.state.busy=true;this.cleanupMoreDropdown();this.calculateWidth();this.optimize();this.state.sitesDirty=false;this.state.tabsDirty=false;this.state.toolsDirty=false;this.state.busy=false}};a.prototype.onDOMreplacementCallback=function(){if(!this.state.busy&&(this.state.sitesDirty||this.state.tabsDirty||this.state.toolsDirty)){this.state.busy=true;this.cleanupMoreDropdown();this.calculateWidth();this.optimize();this.state.sitesDirty=false;this.state.tabsDirty=false;this.state.toolsDirty=false;this.state.busy=false}};a.prototype.onDropdownShown=function(c){var f=b("#o_navbar_more .dropdown-menu");if(f.length){var d=f.offset().left;if(d<0){f.removeClass("dropdown-menu-right")}}};a.prototype.onDropdownHidden=function(c){var d=b("#o_navbar_more .dropdown-menu");d.addClass("dropdown-menu-right")};a.prototype.calculateWidth=function(){var c=b("#o_navbar_container .o_navbar-collapse");this.state.navbarW=c.innerWidth();this.state.brandW=b(".o_navbar-brand").outerWidth(true);this.state.sitesW=this.getSites().outerWidth(true);this.state.tabsW=this.getTabs().outerWidth(true);this.state.toolsW=this.getTools().outerWidth(false);var d=b("#o_navbar_more:visible");this.state.moreW=(d.length>0?d.outerWidth(true):0)};a.prototype.getOverflow=function(c){var d=this.state.navbarW;d-=this.state.sitesW;d-=this.state.tabsW;d-=this.state.toolsW;d-=this.state.brandW;d-=this.state.moreW;d-=25;return -d};a.prototype.optimize=function(h){var c=this.getOverflow();var k=this.getSites();var l=this.getTabs();var g=this.getTools();var n=this.getMoreDropdown();var f=this.getOffcanvasRight();this.updateState();while(c>0&&(!this.state.tabs.collapsed||!this.state.sites.collapsed||!this.state.tools.collapsed)){if(!this.state.tabs.collapsed){this.collapse(l,n,"li","o_dropdown_tab")}else{if(!this.state.sites.collapsed){this.collapse(k,n,"li","o_dropdown_site")}else{if(!this.state.tools.collapsed){this.collapse(g,f,".o_navbar_tool:not(#o_navbar_imclient, #o_navbar_search_opener, #o_navbar_my_menu)","o_tool_right")}}}this.calculateWidth();c=this.getOverflow();this.updateState()}while(c<0&&(!this.state.tabs.extended||!this.state.sites.extended||!this.state.tools.extended)){if(!this.state.tools.extended){var m=this.extend(f,g.children("#o_navbar_imclient, #o_navbar_search_opener, #o_navbar_my_menu").first(),".o_tool_right","o_tool_right",true);if(!m){break}}if(!this.state.sites.extended){var j=this.extend(n,k,"li","o_dropdown_site");if(!j){break}}else{if(!this.state.tabs.extended){var d=this.extend(n,l,"li","o_dropdown_tab");if(!d){break}}}this.calculateWidth();c=this.getOverflow();this.updateState()}if(this.state.sites.extended&&this.state.tabs.extended){var i=b("#o_navbar_more");i.css("display","none")}this.checkToolsOrder()};a.prototype.updateState=function(){this.state.sites.collapsed=this.isSitesCollapsed();this.state.sites.extended=this.isSitesExtended();this.state.tabs.collapsed=this.isTabsCollapsed();this.state.tabs.extended=this.isTabsExtended();this.state.tools.collapsed=this.isToolsCollapsed();this.state.tools.extended=this.isToolsExtended()};a.prototype.collapse=function(g,d,c,f){var e=g.find(c);if(e.length){e=e.last()}if(e.length){f&&e.addClass(f);if(d){e.prependTo(d)}}this.updateDropdownToggle(d)};a.prototype.extend=function(g,d,c,i,f){var e=g.find(c);if(e.length){e=e.first()}var j=false;if(e.length){if(d&&d.length){if(f){d.before(e)}else{e.appendTo(d)}this.updateDropdownToggle(g);this.calculateWidth();var h=this.getOverflow();if(h>0){e.prependTo(g)}else{i&&e.removeClass(i);j=true}}}this.updateDropdownToggle(g);return j};a.prototype.updateDropdownToggle=function(c){var d=c.parents(".o_dropdown_toggle");if(!d.length){return}if(c.children().length){d.css("display","block")}else{d.css("display","none")}};a.prototype.addExtraElements=function(){var d=b("#o_navbar_container .o_navbar-collapse");var c=b("#o_navbar_more");if(c.length==0){c=b('<ul id="o_navbar_more" class="nav o_navbar-nav o_dropdown_toggle"><li><a class="dropdown-toggle" data-toggle="dropdown" href="#"">'+o_info.i18n_topnav_more+' <b class="caret"></b></a><ul class="dropdown-menu dropdown-menu-right"></ul></li></ul>');c.appendTo(d)}this.getSites().append('<li class="divider o_dropdown_site"></li>');b("#o_navbar_help .o_icon, #o_navbar_print .o_icon").addClass("o_icon-fw")};a.prototype.cleanupMoreDropdown=function(){if(!this.state.sitesDirty){var f=this.getSites();var d=this.getMoreDropdown().children(".o_dropdown_site");d.appendTo(f)}else{this.getSites().append('<li class="divider o_dropdown_site"></li>')}if(!this.state.tabsDirty){var e=this.getTabs();var c=this.getMoreDropdown().children(".o_dropdown_tab");c.prependTo(e)}this.getMoreDropdown().empty()};a.prototype.checkToolsOrder=function(){var f=this.getTools();var e=f.find("#o_navbar_help");var d=f.find("#o_navbar_print");var c=f.find("#o_navbar_imclient");if(c&&d){c.after(d)}if(c&&e){c.after(e)}};a.prototype.showRight=function(){if(!this.isOffcanvasVisible()&&!this.offcanvasTransitioning){this.offcanvasTransitioning=true;var d=this;var c=b("#o_offcanvas_right");c.show().transition({x:-d.state.offCanvasWidth},function(){b("body").addClass("o_offcanvas_right_visible");var e=b.proxy(d.hideRightOnClick,d);setTimeout(function(){b("html").on("click",e);d.offcanvasTransitioning=false},10)})}};a.prototype.hideRightOnClick=function(c){if("INPUT"!=c.target.nodeName){this.hideRight()}};a.prototype.hideRight=function(){if(this.isOffcanvasVisible()&&!this.offcanvasTransitioning){this.offcanvasTransitioning=true;b("html").off("click",b.proxy(this.hideRight,this));var d=this;var c=b("#o_offcanvas_right");c.transition({x:d.state.offCanvasWidth},function(){c.hide();b("body").removeClass("o_offcanvas_right_visible");d.offcanvasTransitioning=false})}};a.prototype.toggleRight=function(){if(this.isOffcanvasVisible()){this.hideRight()}else{this.showRight()}};a.prototype.isOffcanvasVisible=function(){return b("#o_offcanvas_right:visible").length};a.prototype.getSites=function(){return b("#o_navbar_container .o_navbar_sites")};a.prototype.getTabs=function(){return b("#o_navbar_container .o_navbar_tabs")};a.prototype.getTools=function(){return b("#o_navbar_container #o_navbar_tools_permanent")};a.prototype.getMoreDropdown=function(){return b("#o_navbar_more .dropdown-menu")};a.prototype.getOffcanvasRight=function(){return b("#o_offcanvas_right_container .o_navbar-right")};a.prototype.isSitesCollapsed=function(){return !this.getSites().children("li").not(".divider").length};a.prototype.isSitesExtended=function(){return !this.getMoreDropdown().children(".o_dropdown_site").not(".divider").length};a.prototype.isTabsCollapsed=function(){return !this.getTabs().children("li").length};a.prototype.isTabsExtended=function(){return !this.getMoreDropdown().children(".o_dropdown_tab").length};a.prototype.isToolsCollapsed=function(){return !this.getTools().children(".o_navbar_tool").not("#o_navbar_imclient, #o_navbar_search_opener, #o_navbar_my_menu").length};a.prototype.isToolsExtended=function(){return !this.getOffcanvasRight().children(".o_tool_right").length};b(document).ready(function(){var d=b("#o_navbar_wrapper");if(d){var c=new a();window.OPOL.navbar=c}})}(jQuery);+function(b){b.fn.ooBgCarrousel=function(){return new a()};var a=function(){};a.prototype.initCarrousel=function(g){this.settings=b.extend({query:null,images:[],shuffle:false,shuffleFirst:false,durationshow:5000,durationout:500,durationin:500,easeout:"ease",easein:"ease"},g);this.pos=null;if(this.settings.query==null||this.settings.images.length==0){return}this.initialImage=this.settings.images[0];if(this.settings.shuffle){var f=this.settings.images;for(var d,c,e=f.length;e;d=parseInt(Math.random()*e),c=f[--e],f[e]=f[d],f[d]=c){}}if(this.settings.shuffleFirst){this._replaceImage()}this.rotate()};a.prototype.rotate=function(){setTimeout(b.proxy(this._hideCurrent,this),this.settings.durationshow)};a.prototype._hideCurrent=function(){var c=b(this.settings.query);if(c&&c.length>0){c.transition({opacity:0,duration:this.settings.durationout,easing:this.settings.easeout},b.proxy(this._showNext,this))}};a.prototype._replaceImage=function(d){if(!d){d=b(this.settings.query)}if(d&&d.length>0){this.newImg="";this.oldImg="";if(this.pos==null){this.pos=1;this.oldImg=this.initialImage}else{this.oldImg=this.settings.images[this.pos];this.pos++;if(this.settings.images.length==this.pos){this.pos=0}}this.newImg=this.settings.images[this.pos];var c=d.css("background-image");if(c.indexOf(this.oldImg)==-1){d.transition({opacity:1,duration:0});return}var e=c.replace(this.oldImg,this.newImg);d.css("background-image",e)}};a.prototype._showNext=function(){var c=b(this.settings.query);this._replaceImage(c);c.transition({opacity:1,duration:this.settings.durationin,easing:this.settings.easein},b.proxy(this.rotate,this))}}(jQuery);!function(e){function t(){function t(e){"remove"===e&&this.each(function(e,t){var n=i(t);n&&n.remove()}),this.find("span.mceEditor,div.mceEditor").each(function(e,t){var n=tinymce.get(t.id.replace(/_parent$/,""));n&&n.remove()})}function r(e){var n,r=this;if(null!=e)t.call(r),r.each(function(t,n){var r;(r=tinymce.get(n.id))&&r.setContent(e)});else if(r.length>0&&(n=tinymce.get(r[0].id)))return n.getContent()}function i(e){var t=null;return e&&e.id&&a.tinymce&&(t=tinymce.get(e.id)),t}function o(e){return!!(e&&e.length&&a.tinymce&&e.is(":tinymce"))}var s={};e.each(["text","html","val"],function(t,a){var l=s[a]=e.fn[a],c="text"===a;e.fn[a]=function(t){var a=this;if(!o(a))return l.apply(a,arguments);if(t!==n)return r.call(a.filter(":tinymce"),t),l.apply(a.not(":tinymce"),arguments),a;var s="",u=arguments;return(c?a:a.eq(0)).each(function(t,n){var r=i(n);s+=r?c?r.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):r.getContent({save:!0}):l.apply(e(n),u)}),s}}),e.each(["append","prepend"],function(t,r){var a=s[r]=e.fn[r],l="prepend"===r;e.fn[r]=function(e){var t=this;return o(t)?e!==n?("string"==typeof e&&t.filter(":tinymce").each(function(t,n){var r=i(n);r&&r.setContent(l?e+r.getContent():r.getContent()+e)}),a.apply(t.not(":tinymce"),arguments),t):void 0:a.apply(t,arguments)}}),e.each(["remove","replaceWith","replaceAll","empty"],function(n,r){var i=s[r]=e.fn[r];e.fn[r]=function(){return t.call(this,r),i.apply(this,arguments)}}),s.attr=e.fn.attr,e.fn.attr=function(t,a){var l=this,c=arguments;if(!t||"value"!==t||!o(l))return a!==n?s.attr.apply(l,c):s.attr.apply(l,c);if(a!==n)return r.call(l.filter(":tinymce"),a),s.attr.apply(l.not(":tinymce"),c),l;var u=l[0],d=i(u);return d?d.getContent({save:!0}):s.attr.apply(e(u),c)}}var n,r,i,o=[],a=window;e.fn.tinymce=function(n){function s(){var r=[],o=0;i||(t(),i=!0),d.each(function(e,t){var i,a=t.id,s=n.oninit;a||(t.id=a=tinymce.DOM.uniqueId()),tinymce.get(a)||(i=new tinymce.Editor(a,n,tinymce.EditorManager),r.push(i),i.on("init",function(){var e,t=s;d.css("visibility",""),s&&++o==r.length&&("string"==typeof t&&(e=t.indexOf(".")===-1?null:tinymce.resolve(t.replace(/\.\w+$/,"")),t=tinymce.resolve(t)),t.apply(e||tinymce,r))}))}),e.each(r,function(e,t){t.render()})}var l,c,u,d=this,f="";if(!d.length)return d;if(!n)return window.tinymce?tinymce.get(d[0].id):null;if(d.css("visibility","hidden"),a.tinymce||r||!(l=n.script_url))1===r?o.push(s):s();else{r=1,c=l.substring(0,l.lastIndexOf("/")),l.indexOf(".min")!=-1&&(f=".min"),a.tinymce=a.tinyMCEPreInit||{base:c,suffix:f},l.indexOf("gzip")!=-1&&(u=n.language||"en",l=l+(/\?/.test(l)?"&":"?")+"js=true&core=true&suffix="+escape(f)+"&themes="+escape(n.theme||"modern")+"&plugins="+escape(n.plugins||"")+"&languages="+(u||""),a.tinyMCE_GZ||(a.tinyMCE_GZ={start:function(){function t(e){tinymce.ScriptLoader.markDone(tinymce.baseURI.toAbsolute(e))}t("langs/"+u+".js"),t("themes/"+n.theme+"/theme"+f+".js"),t("themes/"+n.theme+"/langs/"+u+".js"),e.each(n.plugins.split(","),function(e,n){n&&(t("plugins/"+n+"/plugin"+f+".js"),t("plugins/"+n+"/langs/"+u+".js"))})},end:function(){}}));var p=document.createElement("script");p.type="text/javascript",p.onload=p.onreadystatechange=function(t){t=t||window.event,2===r||"load"!=t.type&&!/complete|loaded/.test(p.readyState)||(tinymce.dom.Event.domLoaded=1,r=2,n.script_loaded&&n.script_loaded(),s(),e.each(o,function(e,t){t()}))},p.src=l,document.body.appendChild(p)}return d},e.extend(e.expr[":"],{tinymce:function(e){var t;return!!(e.id&&"tinymce"in window&&(t=tinymce.get(e.id),t&&t.editorManager===tinymce))}})}(jQuery);OPOL={};var o2c=0;var o3c=new Array();o_info.guibusy=false;o_info.linkbusy=false;o_info.scrolling=false;o_info.debug=true;o_info.drakes=new Array();var BLoader={_ajaxLoadedJS:new Array(),_isAlreadyLoadedJS:function(b){var a=true;jQuery("head script[src]").each(function(d,c){if(jQuery(c).attr("src").indexOf(b)!=-1){a=false}});if(jQuery.inArray(b,this._ajaxLoadedJS)!=-1){a=false}return !a},loadJS:function(b,c,a){if(!this._isAlreadyLoadedJS(b)){if(o_info.debug){o_log("BLoader::loadJS: loading ajax::"+a+" url::"+b)}if(a){jQuery.ajax(b,{async:false,dataType:"script",cache:true,success:function(d,f,e){}});this._ajaxLoadedJS.push(b)}else{jQuery.getScript(b)}if(o_info.debug){o_log("BLoader::loadJS: loading DONE url::"+b)}}else{if(o_info.debug){o_log("BLoader::loadJS: already loaded url::"+b)}}},executeGlobalJS:function(jsString,contextDesc){try{if(window.execScript){window.execScript(jsString)}else{window.eval(jsString)}}catch(e){if(window.console){console.log(contextDesc,"cannot execute js",jsString)}if(o_info.debug){o_logerr("BLoader::executeGlobalJS: Error when executing JS code in contextDesc::"+contextDesc+' error::"'+showerror(e)+" for: "+escape(jsString))}if(window.location.href.indexOf("o_winrndo")!=-1){window.location.reload()}else{window.location.href=window.location.href+(window.location.href.indexOf("?")!=-1?"&":"?")+"o_winrndo=1"}}},loadCSS:function(b,o,q){var r=window.document;try{if(r.createStyleSheet){var g=r.styleSheets;var d=0;var p=0;for(i=0;i<g.length;i++){var m=g[i];var f=m.href;if(f==b){d++;if(m.disabled){m.disabled=false;return}else{if(o_info.debug){o_logwarn("BLoader::loadCSS: style: "+b+" already in document and not disabled! (duplicate add)")}return}}if(m.id=="o_theme_css"){p=i}}if(d>1&&o_info.debug){o_logwarn("BLoader::loadCSS: apply styles: num of stylesheets found was not 0 or 1:"+d)}if(q){p=g.length}r.createStyleSheet(b,p)}else{var c=jQuery("#"+o);if(c&&c.length>0){if(o_info.debug){o_logwarn("BLoader::loadCSS: stylesheet already found in doc when trying to add:"+b+", with id "+o)}}else{var a=jQuery('<link id="'+o+'" rel="stylesheet" href="'+b+'">');if(q){a.insertBefore(jQuery("#o_fontSize_css"))}else{a.insertBefore(jQuery("#o_theme_css"))}}}}catch(n){if(window.console){console.log(n)}if(o_info.debug){o_logerr("BLoader::loadCSS: Error when loading CSS from URL::"+b)}}},unLoadCSS:function(a,n){var o=window.document;try{if(o.createStyleSheet){var f=o.styleSheets;var d=0;var p=a;var b=window.location.href.substring(0,window.location.href.indexOf("/",8));if(a.indexOf(b)==0){p=a.substring(b.length)}for(i=0;i<f.length;i++){var g=f[i].href;if(g==a||g==p){d++;if(!f[i].disabled){f[i].disabled=true}else{if(o_info.debug){o_logwarn("stylesheet: when removing: matching url, but already disabled! url:"+g)}}}}if(d!=1&&o_info.debug){o_logwarn("stylesheet: when removeing: num of stylesheets found was not 1:"+d)}}else{var c=jQuery("#"+n);if(c){c.href="";c.remove();c=null;return}else{if(o_info.debug){o_logwarn("no link with id found to remove, id:"+n+", url "+a)}}}}catch(m){if(o_info.debug){o_logerr("BLoader::unLoadCSS: Error when unloading CSS from URL::"+a)}}}};var BFormatter={formatLatexFormulas:function(b){try{if(typeof MathJax==="undefined"){o_mathjax()}else{if(MathJax&&MathJax.isReady){jQuery(function(){MathJax.Hub.Queue(function(){if(jQuery("#"+b+" .MathJax").length==0){MathJax.Hub.Typeset(b)}})})}else{setTimeout(function(){BFormatter.formatLatexFormulas(b)},100)}}}catch(a){if(window.console){console.log("error in BFormatter.formatLatexFormulas: ",a)}}},alignTableColumns:function(a){try{var b=new Array();jQuery(a).each(function(){for(j=0;j<jQuery(this)[0].rows[0].cells.length;j++){var d=jQuery(this)[0].rows[0].cells[j];if(!b[j]||b[j]<d.clientWidth){b[j]=d.clientWidth}}});jQuery(a).each(function(){for(j=0;j<jQuery(this)[0].rows[0].cells.length;j++){jQuery(this)[0].rows[0].cells[j].style.width=b[j]+"px"}})}catch(c){if(window.console){console.log("error in BFormatter.alignTableColumns: ",c)}}}};function o_init(){try{o_getMainWin().o_afterserver();if(window.location.href&&window.location.href!=null&&window.location.href.indexOf("%3A")<0){var a=window.location.href;if(a!=null&&!(a.lastIndexOf("http",0)===0)&&!(a.lastIndexOf("https",0)===0)){a=o_info.serverUri+a}o_info.businessPath=a;if(!(typeof o_shareActiveSocialUrl==="undefined")){o_shareActiveSocialUrl()}}}catch(b){if(o_info.debug){o_log("error in o_init: "+showerror(b))}}}function o_initEmPxFactor(){o_info.emPxFactor=jQuery("#o_width_1em").width();if(o_info.emPxFactor==0||o_info.emPxFactor=="undefined"){o_info.emPxFactor=12}}function o_getMainWin(){try{if(window.OPOL){return window}else{if(window.opener&&window.opener.OPOL){return window.opener}}}catch(a){if(o_info.debug){o_logerr('Exception while getting main window. rror::"'+showerror(a))}if(window.console){console.log('Exception while getting main window. rror::"'+showerror(a),"functions.js");console.log(a)}}throw"Can not find main OpenOLAT window"}function o_beforeserver(){o_info.linkbusy=true;showAjaxBusy();if(window.suppressOlatOnUnloadOnce){window.suppressOlatOnUnloadOnce=false}else{if(window.olatonunload){olatonunload()}}}function o_afterserver(){o2c=0;o_info.linkbusy=false;removeAjaxBusy()}function o2cl(){try{if(o_info.linkbusy){return false}else{var b=(o2c==0||confirm(o_info.dirty_form));if(b){o_beforeserver()}return b}}catch(a){if(window.console){console.log(a)}return false}}function o2cl_dirtyCheckOnly(){try{if(o_info.linkbusy){return false}else{return(o2c==0||confirm(o_info.dirty_form))}}catch(a){if(window.console){console.log(a)}return false}}function o2cl_noDirtyCheck(){if(o_info.linkbusy){return false}else{o_beforeserver();return true}}function o3cl(d){if(o_info.linkbusy){return false}else{var b=o3c1.indexOf(d)>-1;var a=(b&&o3c1.length>1)||o3c1.length>0;var c=(!a||confirm(o_info.dirty_form));if(c){o_beforeserver()}return c}}function o_onc(a){var b=a.responseText;BLoader.executeGlobalJS("o_info.last_o_onc="+b+";","o_onc");o_ainvoke(o_info.last_o_onc,false)}function o_allowNextClick(){o_info.linkbusy=false;removeAjaxBusy()}function removeBusyAfterDownload(c,b,a){o2c=0;o_afterserver()}Array.prototype.search=function(c,d){var a=this.length;for(var b=0;b<a;b++){if(this[b].constructor==Array){if(this[b].search(c,d)){return true;break}}else{if(d){if(this[b].indexOf(c)!=-1){return true;break}}else{if(this[b]==c){return true;break}}}}return false};if(!Function.prototype.curry){Function.prototype.curry=function(){if(arguments.length<1){return this}var a=this;var b=Array.prototype.slice.call(arguments);return function(){return a.apply(this,b.concat(Array.prototype.slice.call(arguments)))}}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(c){if(this==null){throw new TypeError()}var d=Object(this);var a=d.length>>>0;if(a===0){return -1}var e=0;if(arguments.length>1){e=Number(arguments[1]);if(e!=e){e=0}else{if(e!=0&&e!=Infinity&&e!=-Infinity){e=(e>0||-1)*Math.floor(Math.abs(e))}}}if(e>=a){return -1}var b=e>=0?e:Math.max(a-Math.abs(e),0);for(;b<a;b++){if(b in d&&d[b]===c){return b}}return -1}}var b_onDomReplacementFinished_callbacks=new Array();function b_AddOnDomReplacementFinishedCallback(a){b_onDomReplacementFinished_callbacks.push(a)}var b_changedDomEl=new Array();function b_AddOnDomReplacementFinishedUniqueCallback(a){if(a.constructor==Array){if(b_onDomReplacementFinished_callbacks.search(a[0])){return}}b_AddOnDomReplacementFinishedCallback(a)}var o_debug_trid=0;function o_ainvoke(S){if(S==undefined){return}o_info.inainvoke=true;var L=S.cmdcnt;if(L>0){jQuery(document).trigger("oo.dom.replacement.before");b_changedDomEl=new Array();if(o_info.debug){o_debug_trid++}var C=S.cmds;for(var Y=0;Y<L;Y++){var M=C[Y];var E=M.cmd;var W=M.cda;var Z=M.w;var d=this.window;var N;if(d){switch(E){case 1:var R=W.e;BLoader.executeGlobalJS(R,"o_ainvoker::jsexec");if(o_info.debug){o_log("c1: execute jscode: "+R)}case 2:var x=W.cc;var I=W.cps;for(var V=0;V<x;V++){var n=I[V];var m=n.cid;var U=n.cidvis;var K=n.cw;var B=n.hfrag;var T=n.jsol;var h=n.hdr;if(o_info.debug){o_log("c2: redraw: "+n.cname+" ("+m+") "+n.hfragsize+" bytes, listener(s): "+n.clisteners)}var ab=h+"\n\n"+B;var X=false;var H="o_c"+m;var F=jQuery("#"+H);if(F==null||F.length==0){H="o_fi"+m;F=jQuery("#"+H);X=true}if(F!=null){var A=jQuery("div.o_richtext_mce textarea",F);for(var Q=0;Q<A.length;Q++){try{var a=jQuery(A.get(Q)).attr("id");if(typeof top.tinymce!=undefined){top.tinymce.remove("#"+a)}}catch(ae){if(window.console){console.log(ae)}}}var c=jQuery("body>div.tooltip.in");for(var P=0;P<c.length;P++){try{jQuery(c.get(P)).remove()}catch(ae){if(window.console){console.log(ae)}}}var z=jQuery("body>div.ui-tooltip");for(var O=0;O<z.length;O++){try{jQuery(z.get(O)).remove()}catch(ae){if(window.console){console.log(ae)}}}if(U){F.css("display","")}else{F.css("display","none")}if(X||!K){F.replaceWith(ab)}else{try{F.empty().html(ab);if(ab.length>0&&F.get(0).innerHTML==""){F.get(0).innerHTML=ab}}catch(ae){if(window.console){console.log(ae)}if(window.console){console.log("Fragment",ab)}}b_changedDomEl.push(H)}F=null;checkDrakes();if(T!=""){BLoader.executeGlobalJS(T,"o_ainvoker::jsol")}}}break;case 3:d.o2c=0;var ac=W.rurl;d.o_afterserver();d.document.location.replace(ac);break;case 5:d.o2c=0;var ac=W.rurl;d.o_afterserver();d.document.location.replace(ac);break;case 6:d.o2c=0;d.o_afterserver();break;case 7:var p=d.document.location;var D=p.protocol+"//"+p.hostname;if(p.port!=""){D+=":"+p.port}var y=W.cssrm;for(V=0;V<y.length;V++){var G=y[V];var J=G.id;var g=D+G.url;BLoader.unLoadCSS(g,J);if(o_info.debug){o_log("c7: rm css: id:"+J+" ,url:'"+g+"'")}}var aa=W.cssadd;for(k=0;k<aa.length;k++){var G=aa[k];var J=G.id;var g=D+G.url;var o=G.pt;BLoader.loadCSS(g,J,o);if(o_info.debug){o_log("c7: add css: id:"+J+" ,url:'"+g+"'")}}var q=W.jsadd;for(l=0;l<q.length;l++){var G=q[l];var ad=G.before;if(jQuery.type(ad)==="string"){BLoader.executeGlobalJS(ad,"o_ainvoker::preJsAdd")}var g=G.url;var s=G.enc;if(jQuery.type(g)==="string"){BLoader.loadJS(g,s,true)}if(o_info.debug){o_log("c7: add js: "+g)}}break;default:if(o_info.debug){o_log("?: unknown command "+E)}break}}else{if(o_info.debug){o_log("could not find window??")}}}var b=b_onDomReplacementFinished_callbacks.length;for(mycounter=0;b>mycounter;mycounter++){if(mycounter>50){break}var w=b_onDomReplacementFinished_callbacks.shift();if(typeof w.length==="number"){if(w[0]=="glosshighlighter"){var f=w[1];w=f}}w()}jQuery(document).trigger("oo.dom.replacement.after")}o_info.inainvoke=false}function clearAfterAjaxIframeCall(){if(o_info.linkbusy){o_afterserver()}}function showAjaxBusy(){setTimeout(function(){if(o_info.linkbusy){try{if(jQuery("#o_ajax_busy_backdrop").length==0){jQuery("#o_body").addClass("o_ajax_busy");jQuery("#o_ajax_busy").modal({show:true,backdrop:"static",keyboard:"false"});jQuery("#o_ajax_busy").after('<div id="o_ajax_busy_backdrop" class="modal-backdrop in"></div>');jQuery("#o_ajax_busy>.modal-backdrop").remove();jQuery("#o_ajax_busy_backdrop").css({"z-index":1200})}}catch(a){if(window.console){console.log(a)}}}},700)}function removeAjaxBusy(){try{jQuery("#o_body").removeClass("o_ajax_busy");jQuery("#o_ajax_busy_backdrop").remove();jQuery("#o_ajax_busy").modal("hide")}catch(a){if(window.console){console.log(a)}}}function setFormDirty(c){o2c=1;var a=document.getElementById(c);if(a!=null){var b=a.olat_fosm_0;if(b==null){b=a.olat_fosm}if(b){b.className="btn o_button_dirty"}}}function contextHelpWindow(a){helpWindow=window.open(a,"HelpWindow","height=760, width=940, left=0, top=0, location=no, menubar=no, resizable=yes, scrollbars=yes, toolbar=no");helpWindow.focus()}function o_openPopUp(b,d,c,a,f){attributes="height="+a+", width="+c+", resizable=yes, scrollbars=yes, left=100, top=100, ";if(f){attributes+="location=yes, menubar=yes, status=yes, toolbar=yes"}else{attributes+="location=no, menubar=no, status=no, toolbar=no"}var h;try{h=window.open(b,d,attributes)}catch(g){h=window.open(b,"OpenOLAT",attributes)}h.focus();if(o_info.linkbusy){o_afterserver()}}function o_openTab(a){var b=window.open(a,"_blank");b.focus();if(o_info.linkbusy){o_afterserver()}}function b_handleFileUploadFormChange(m,b,g){m.setCustomValidity("");if(m.hasAttribute("data-max-size")){var p=m.getAttribute("data-max-size");if(p){var d=formInputFileSize(m);if(d>p){var q=jQuery(document).ooTranslator().getTranslator(o_info.locale,"org.olat.modules.forms.ui");var h=q.translate("file.upload.error.limit.exeeded");var o=q.translate("file.upload.limit");var n;if(p<250*1024){n=(p/1024).toFixed(1)+" KB"}else{if(p<250*1024*1024){n=(p/1024/1024).toFixed(1)+" MB"}else{n=(p/1024/1024/1024).toFixed(1)+" GB"}}m.setCustomValidity(h+" ("+o+": "+n+")")}}}var f=m.value;var e=f.lastIndexOf("/");if(e!=-1){f=f.substring(e+1)}e=f.lastIndexOf("\\");if(e!=-1){f=f.substring(e+1)}b.value=f;if(g){g.className="o_button_dirty"}var a=m.form.elements;for(i=0;i<a.length;i++){var c=a[i];if(c.name==b.name&&i+1<a.length){a[i+1].focus()}}}function formInputFileSize(c){try{if(!window.FileReader){return -1}if(!c||!c.files){return -1}var a=c.files[0];if(!a){return -1}return a.size}catch(b){o_logerr("form input file size check failed: "+b)}return -1}function gotonode(a){try{if(typeof o_activateCourseNode!="undefined"){o_activateCourseNode(a)}else{if(opener&&typeof opener.o_activateCourseNode!="undefined"){opener.o_activateCourseNode(a)}}}catch(b){alert("Goto node error:"+b)}}function o_viewportHeight(){var a=jQuery(document).height();if(a>0){return a}else{return 600}}OPOL.getMainColumnsMaxHeight=function(){var m=0,f=0,a=0,c=0,h=0,b,g=jQuery("#o_main_left_content"),e=jQuery("#o_main_right_content"),d=jQuery("#o_main_center_content");if(g!="undefined"&&g!=null){m=g.outerHeight(true)}if(e!="undefined"&&e!=null){f=e.outerHeight(true)}if(d!="undefined"&&d!=null){a=d.outerHeight(true)}c=(m>f?m:f);c=(c>a?c:a);if(c>0){return c}b=jQuery("#o_main");if(b!="undefined"&&b!=null){h=b.height()}if(b>0){return b}return o_viewportHeight()};OPOL.adjustHeight=function(){try{var a=jQuery("#o_main_left_content");var m=a.length==0?0:a.outerHeight(true);var h=jQuery("#o_main_right_content");var f=h.length==0?0:h.outerHeight(true);var b=jQuery("#o_main_center_content");var d=b.length==0?0:b.outerHeight(true);var c=Math.max(m,f,d);if(a.length>0){jQuery("#o_main_left").css({"min-height":c+"px"})}if(h.length>0){jQuery("#o_main_right").css({"min-height":c+"px"})}if(b.length>0){jQuery("#o_main_center").css({"min-height":c+"px"})}}catch(g){if(window.console){console.log(g)}}};OPOL.setContainerFullWidth=function(a){if(a){jQuery("body").addClass("o_width_full")}else{jQuery("body").removeClass("o_width_full")}jQuery.proxy(OPOL.navbar.onPageWidthChangeCallback,OPOL.navbar)()};jQuery(window).resize(function(){clearTimeout(o_info.resizeId);o_info.resizeId=setTimeout(function(){jQuery(document).trigger("oo.window.resize.after")},500)});jQuery(document).on("oo.window.resize.after",OPOL.adjustHeight);jQuery(document).on("oo.dom.replacement.after",OPOL.adjustHeight);jQuery().ready(OPOL.adjustHeight);function o_scrollToElement(a){try{o_info.scrolling=true;jQuery("html, body").animate({scrollTop:jQuery(a).offset().top},333,function(d,c){o_info.scrolling=false})}catch(b){}}function o_popover(c,b,a){if(typeof(a)==="undefined"){a="bottom"}jQuery("#"+c).popover({placement:a,html:true,trigger:"click",container:"body",content:function(){return jQuery("#"+b).clone().html()}}).on("shown.bs.popover",function(){var d=function(f){jQuery("#"+c).popover("hide");jQuery("body").unbind("click",d)};setTimeout(function(){jQuery("body").on("click",d)},5)})}function o_popoverWithTitle(e,d,c,b){if(typeof(b)==="undefined"){b="bottom"}var a=jQuery("#"+e).popover({placement:b,html:true,title:c,trigger:"click",container:"body",content:function(){return jQuery("#"+d).clone().html()}});a.on("shown.bs.popover",function(){var f=function(g){jQuery("#"+e).popover("hide");jQuery("body").unbind("click",f)};setTimeout(function(){jQuery("body").on("click",f)},5)});return a}function o_shareLinkPopup(d,c,b){if(typeof(b)==="undefined"){b="top"}var a=jQuery("#"+d);a.popover({placement:b,html:true,trigger:"click",container:"body",content:c}).on("shown.bs.popover",function(){var e=function(f){if(jQuery(f.target).data("toggle")!=="popover"&&jQuery(f.target).parents(".popover.in").length===0){jQuery("#"+d).popover("hide");jQuery("body").unbind("click",e)}};setTimeout(function(){jQuery("body").on("click",e)},5)});a.attr("title",a.attr("data-original-title"))}function o_QRCodePopup(d,c,b){if(typeof(b)==="undefined"){b="top"}var a=jQuery("#"+d);a.popover({placement:b,html:true,trigger:"click",container:"body",content:'<div id="'+d+'_pop" class="o_qrcode"></div>'}).on("shown.bs.popover",function(){o_info.qr=o_QRCode(d+"_pop",(jQuery.isFunction(c)?c():c));var e=function(f){if(jQuery(f.target).data("toggle")!=="popover"&&jQuery(f.target).parents(".popover.in").length===0){jQuery("#"+d).popover("hide");jQuery("body").unbind("click",e)}};setTimeout(function(){jQuery("body").on("click",e)},5)}).on("hidden.bs.popover",function(){try{o_info.qr.clear();delete o_info.qr}catch(f){}});a.attr("title",a.attr("data-original-title"))}function o_QRCode(c,b){try{BLoader.loadJS(o_info.o_baseURI+"/js/jquery/qrcodejs/qrcode.min.js","utf8",true);return new QRCode(document.getElementById(c),b)}catch(a){return null}}function b_resizeIframeToMainMaxHeight(e){var d=jQuery("#"+e);if(d!="undefined"&&d!=null){var c=OPOL.getMainColumnsMaxHeight()-110;var b=o_viewportHeight()-100;b=b-d.offset().top;var a=(b>c?b:c);d.height(a)}}var o_debu_oldcn,o_debu_oldtt;function o_debu_show(b,a){if(o_debu_oldcn){o_debu_hide(o_debu_oldcn,o_debu_oldtt)}jQuery(b).addClass("o_dev_m");jQuery(a).show();o_debu_oldtt=a;o_debu_oldcn=b}function o_debu_hide(b,a){jQuery(a).hide();jQuery(b).removeClass("o_dev_m")}function o_dbg_mark(a){var b=jQuery("#"+a);if(b){b.css("background-color","#FCFCB8");b.css("border","3px solid #00F")}}function o_dbg_unmark(a){var b=jQuery("#"+a);if(b){b.css("border","");b.css("background-color","")}}function o_clearConsole(){o_log_all="";o_log(null)}var o_log_all="";function o_log(b){if(b){o_log_all="\n"+o_debug_trid+"> "+b+o_log_all;o_log_all=o_log_all.substr(0,4000)}var a=jQuery("#o_debug_cons");if(a){if(o_log_all.length==4000){o_log_all=o_log_all+"\n... (stripped: to long)... "}a.value=o_log_all}if(!jQuery.type(window.console)==="undefined"){window.console.log(b)}}function o_logerr(a){o_log("ERROR:"+a)}function o_logwarn(a){o_log("WARN:"+a)}function showerror(c){var a="";for(var b in c){a+=b+": "+c[b]+"\n"}return"error detail:\n"+a}function o_ffEvent(g,f,d,o,p){var h,m,b,a;h=document.getElementById(f);m=h.value;h.value=d;b=document.getElementById(o);a=b.value;b.value=p;var c=jQuery("#"+g);var e=true;jQuery("#"+g+" input[type=file]").filter(function(q,r){return !r.checkValidity()}).each(function(q,s){var t=s.getAttribute("id")+"_validation_error";var r=document.getElementById(t);if(!r){r=document.createElement("div");r.setAttribute("class","o_error");r.setAttribute("id",t);s.parentNode.parentNode.appendChild(r)}r.innerHTML=s.validationMessage;e=false});if(e){var n=c.attr("enctype");if(n&&n.indexOf("multipart")==0){o_XHRSubmitMultipart(g)}else{if(document.forms[g].onsubmit()){document.forms[g].submit()}}}h.value=m;b.value=a}function o_IQEvent(a){if(document.forms[a].onsubmit()){document.forms[a].submit()}}function o_TableMultiActionEvent(a,c){var b=jQuery("#o_mai_"+a);b.val(c);if(document.forms[a].onsubmit()){document.forms[a].submit()}b.val("")}function o_XHRSubmit(h){if(o_info.linkbusy){return false}o_beforeserver();var o=true;var a=jQuery("#"+h);var n=a.attr("enctype");if(n&&n.indexOf("multipart")==0){var g="openolat-submit-"+(""+Math.random()).substr(2);var d=o_createIFrame(g);document.body.appendChild(d);a.attr("target",d.name);return true}else{var f=a.serializeArray();if(arguments.length>1){var m=arguments.length;for(var e=1;e<m;e=e+2){if(m>e+1){var c=new Object();c.name=arguments[e];c.value=arguments[e+1];f[f.length]=c}}}var b=a.attr("action");jQuery.ajax(b,{type:"POST",data:f,cache:false,dataType:"json",success:function(s,v,r){try{o_ainvoke(s);if(o){var p=s.businessPath;var q=s.documentTitle;var u=s.historyPointId;if(p){o_pushState(u,q,p)}}}catch(t){if(window.console){console.log(t)}}finally{o_afterserver()}},error:o_onXHRError});return false}}function o_XHRSubmitMultipart(a){var c=jQuery("#"+a);var d="openolat-submit-"+(""+Math.random()).substr(2);var b=o_createIFrame(d);document.body.appendChild(b);c.attr("target",b.name);c.submit();c.attr("target","")}function o_createIFrame(b){var a=jQuery('<iframe name="'+b+'" id="'+b+'" src="about:blank" style="position: absolute; top: -9999px; left: -9999px;"></iframe>');return a[0]}function o_removeIframe(a){jQuery("#"+a).remove()}function o_showFormDirtyDialog(a){o_scrollToElement("#o_top");jQuery("#o_form_dirty_message").modal("show");jQuery("#o_form_dirty_message .o_form_dirty_ignore").on("click",function(){jQuery("#o_form_dirty_message").modal("hide");jQuery("#o_form_dirty_message .o_form_dirty_ignore").off();a()});return false}function o_ffXHREvent(h,e,s,g,p,t,f,m){if(t&&o2c==1){var d=Array.prototype.slice.call(arguments);d[5]=false;var u=function(){o_ffXHREvent.apply(window,d)};return o_showFormDirtyDialog(u)}else{if(!o2cl_noDirtyCheck()){return false}}o_beforeserver();var v=new Object();if(m){var b=jQuery("#"+h);var q=b.serializeArray();var o=q.length;for(var r=0;r<o;r++){var n=q[r];if(n.name!="dispatchuri"&&n.name!="dispatchevent"){v[n.name]=n.value}}}v.dispatchuri=s;v.dispatchevent=p;if(arguments.length>8){var a=arguments.length;for(var r=8;r<a;r=r+2){if(a>r+1){v[arguments[r]]=arguments[r+1]}}}var c=jQuery("#"+h).attr("action");jQuery.ajax(c,{type:"POST",data:v,cache:false,dataType:"json",success:function(z,C,y){try{o_ainvoke(z);if(f){var w=z.businessPath;var x=z.documentTitle;var B=z.historyPointId;if(w){o_pushState(B,x,w)}}}catch(A){if(window.console){console.log(A)}}finally{o_afterserver()}},error:o_onXHRError})}function o_ffXHRNFEvent(f,e,a,h,m){var c=new Object();c.dispatchuri=a;c.dispatchevent=m;if(arguments.length>5){var g=arguments.length;for(var d=5;d<g;d=d+2){if(g>d+1){c[arguments[d]]=arguments[d+1]}}}var b=jQuery("#"+f).attr("action");jQuery.ajax(b,{type:"POST",data:c,cache:false,dataType:"json",success:function(o,p,n){}})}function o_XHRWikiEvent(b){var a=jQuery(b).attr("href");if(a.indexOf(o_info.serverUri)==0){a=a.substring(o_info.serverUri.length,a.length)}o_XHREvent(a,false,true);return false}function o_XHREvent(h,f,c){if(f&&o2c==1){var b=Array.prototype.slice.call(arguments);b[1]=false;var a=function(){o_XHREvent.apply(window,b)};return o_showFormDirtyDialog(a)}else{if(!o2cl_noDirtyCheck()){return false}}o_beforeserver();var e=new Object();if(arguments.length>3){var g=arguments.length;for(var d=3;d<g;d=d+2){if(g>d+1){e[arguments[d]]=arguments[d+1]}}}jQuery.ajax(h,{type:"POST",data:e,cache:false,dataType:"json",success:function(p,s,o){try{if(c){try{var m=p.businessPath;var n=p.documentTitle;var r=p.historyPointId;if(m){o_pushState(r,n,m)}}catch(q){if(window.console){console.log(q)}}}o_ainvoke(p)}catch(q){if(window.console){console.log(q)}}finally{o_afterserver()}},error:o_onXHRError});return false}function o_XHRNFEvent(d){var b=new Object();if(arguments.length>1){var c=arguments.length;for(var a=1;a<c;a=a+2){if(c>a+1){b[arguments[a]]=arguments[a+1]}}}jQuery.ajax(d,{type:"POST",data:b,cache:false,dataType:"json",success:function(f,g,e){},error:o_onXHRError})}function o_onXHRError(a,d,b){o_afterserver();if(401==a.status){var c=o_info.oo_noresponse.replace("reload.html",window.document.location.href);showMessageBox("error",o_info.oo_noresponse_title,c,undefined)}else{if(window.console){console.log("Error status 2",d,b,a.responseText);console.log(a)}}}function o_pushState(d,f,a){try{var b=new Object();b.businessPath=a;b.historyPointId=d;if(a!=null&&!(a.lastIndexOf("http",0)===0)&&!(a.lastIndexOf("https",0)===0)){a=o_info.serverUri+a}o_info.businessPath=a;if(!(typeof o_shareActiveSocialUrl==="undefined")){o_shareActiveSocialUrl()}if(window.history&&!(typeof window.history==="undefined")&&window.history.pushState){window.history.pushState(b,f,a)}else{window.location.hash=d}}catch(c){if(window.console){console.log(c,a)}}}function o_toggleMark(a){var b=jQuery("i",a).attr("class");if(b.indexOf("o_icon_bookmark_add")>=0){jQuery("i",a).removeClass("o_icon_bookmark_add").addClass("o_icon_bookmark")}else{jQuery("i",a).removeClass("o_icon_bookmark").addClass("o_icon_bookmark_add")}}function registerDrake(a){o_info.drakes.push(a);return a}function destroyDrakes(){if(o_info.drakes!=="undefined"&&o_info.drakes!=null&&o_info.drakes.length>0){for(var a=o_info.drakes.length;a-->0;){try{o_info.drakes[a].destroy()}catch(b){if(window.console){console.log(b)}}o_info.drakes.pop()}}}function checkDrakes(){if(o_info.drakes!=="undefined"&&o_info.drakes!=null&&o_info.drakes.length>0){if(jQuery(".o_drake").length==0){destroyDrakes()}}}function o_normalizeFilename(b){b=b.replace(/\s/g,"_");var f=["/",",",":","(",")"];for(var c=f.length;c-->0;){b=b.split(f[c]).join("_")}var a=["\u00C4","\u00D6","\u00DC","\u00E4","\u00F6","\u00E6","\u00FC","\u00DF","\u00F8","\u2205"],d=["Ae","Oe","Ue","ae","oe","ae","ue","ss","o","o"];for(var c=a.length;c-->0;){b=b.split(a[c]).join(d[c])}try{b=b.normalize("NFKD");b=b.replace("/p{InCombiningDiacriticalMarks}+/g","");b=b.replace("/W+/g","")}catch(g){if(window.console){console.log(g)}}return b}function setFlexiFormDirtyByListener(a){setFlexiFormDirty(a.data.formId,a.data.hideMessage)}function setFlexiFormDirty(b,c){var a=o3c.indexOf(b)>-1;if(!a){o3c.push(b)}jQuery("#"+b).each(function(){var d=jQuery(this).data("FlexiSubmit");if(d!=null){jQuery("#"+d).addClass("btn o_button_dirty");o2c=(c?0:1)}})}function o_ffRegisterSubmit(b,a){jQuery("#"+b).data("FlexiSubmit",a)}function dismissInfoBox(a){javascript:jQuery("#"+a).remove();return true}function showInfoBox(g,d){var c=Math.floor(Math.random()*65536).toString(16);var f='<div id="'+c+'" class="o_alert_info"><div class="alert alert-info clearfix o_sel_info_message"><a class="o_alert_close o_sel_info_close" href="javascript:;" onclick="dismissInfoBox(\''+c+'\')"><i class="o_icon o_icon_close"> </i></a><h3><i class="o_icon o_icon_info"> </i> '+g+"</h3><p>"+d+"</p></div></div>";var a=jQuery("#o_messages").prepend(f);var e=(d.length>150)?8000:((d.length>70)?6000:4000);var b=function(){jQuery("#"+c).transition({top:"-100%"},333,function(){jQuery("#"+c).remove()})};o_info.scrolling=true;jQuery("#"+c).show().transition({top:0},333);jQuery("#"+c).click(function(h){b()});o_scrollToElement("#o_top");g=null;d=null;a=null;setTimeout(function(){try{b()}catch(h){}},e)}function showMessageBox(b,f,d,a){if(b=="info"){showInfoBox(f,d);return null}else{var c='<div id="myFunctionalModal" class="modal fade" role="dialog"><div class="modal-dialog"><div class="modal-content">';c+='<div class="modal-header"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>';c+='<h4 class="modal-title">'+f+"</h4></div>";c+='<div class="modal-body alert ';if("warn"==b){c+="alert-warning"}else{if("error"==b){c+="alert-danger"}else{c+="alert-info"}}c+='"><p>'+d+"</p></div></div></div></div>";jQuery("#myFunctionalModal").remove();jQuery("body").append(c);var e=jQuery("#myFunctionalModal").modal("show").on("hidden.bs.modal",function(g){jQuery("#myFunctionalModal").remove()});o_scrollToElement("#o_top");return e}}function o_table_toggleCheck(d,c){var a=document.forms[d].elements.tb_ms;len=a.length;if(typeof(len)=="undefined"){a.checked=c}else{var b;for(b=0;b<len;b++){a[b].checked=c}}}function onTreeStartDrag(a,b){jQuery(a.target).addClass("o_dnd_proxy")}function onTreeStopDrag(a,b){jQuery(a.target).removeClass("o_dnd_proxy")}function onTreeDrop(g,h){var a=jQuery(h.draggable[0]);var f=jQuery(this);f.css({position:"",width:""});var c=f.droppable("option","endUrl");if(c.lastIndexOf("/")==(c.length-1)){c=c.substring(0,c.length-1)}var e=a.attr("id");var b=e.substring(2,e.length);c+="%3Atnidle%3A"+b;var d=f.attr("id");if(d.indexOf("ds")==0){c+="%3Asne%3Ayes"}else{if(d.indexOf("dt")==0){c+="%3Asne%3Aend"}}jQuery(".ui-droppable").each(function(m,n){jQuery(n).droppable("disable")});o_XHREvent(c+"/",false,false)}function treeAcceptDrop(a){return true}function treeAcceptDrop_notWithChildren(a){var c=false;var b=jQuery(a);var e=b.attr("id");if(e!=undefined&&(e.indexOf("dd")==0||e.indexOf("ds")==0||e.indexOf("dt")==0||e.indexOf("da")==0||e.indexOf("row")==0)){var g=jQuery(this);var m=g.attr("id");var d=e.substring(2,e.length);var f=m.substring(2,m.length);if(d!=f){var h=jQuery("#dd"+d).parents("li");if(h.length>0&&jQuery(h.get(0)).find("#dd"+f).length==0){c=true}}}return c}function treeAcceptDrop_portfolio(b){var d=false;var c=jQuery(b);var f=c.attr("id");if(treeNode_isDragNode(f)){var h=jQuery(this);var o=h.attr("id");var e=f.substring(2,f.length);var g=o.substring(2,o.length);var n=f.indexOf("ds")==0||f.indexOf("dt")==0;if(e!=g){var m=treeNode_portfolioType(c);var a=treeNode_portfolioType(h);if(m=="artefact"){if(a=="page"||a=="struct"||a=="artefact"){d=true}}else{if(m=="struct"){if(a=="page"||a=="struct"){d=true}}else{if(m=="page"){if(a=="map"||a=="page"){d=true}}}}}}return d}function treeNode_portfolioType(e){var c=jQuery(e.get(0));var d=treeNode_portfolioTypes(c);if(d==null){var a=c.parent("a");if(a.length>0){d=treeNode_portfolioTypes(jQuery(a.get(0)))}else{if(c.attr("id").indexOf("ds")==0){var b=c.prev("div");if(b.length>0){d=treeNode_portfolioTypes(b)}}else{if(c.attr("id").indexOf("dt")==0){var b=c.next("div");if(b.length>0){d=treeNode_portfolioTypes(b)}}}}}return d}function treeNode_portfolioTypes(a){if(a.find===undefined){return null}else{if(a.find(".o_ep_icon_struct").length>0||a.hasClass("o_ep_icon_struct")){return"struct"}else{if(a.find(".o_ep_icon_page").length>0||a.hasClass("o_ep_icon_page")){return"page"}else{if(a.find(".o_ep_icon_map").length>0||a.hasClass("o_ep_icon_map")){return"map"}else{if(a.find(".o_ep_artefact").length>0||a.hasClass("o_ep_artefact")){return"artefact"}}}}}return null}function treeNode_isDragNode(a){if(a!=undefined&&(a.indexOf("dd")==0||a.indexOf("ds")==0||a.indexOf("dt")==0||a.indexOf("da")==0||a.indexOf("row")==0)){return true}return false}function o_choice_toggleCheck(c,b){var d=document.forms[c].elements;len=d.length;if(typeof(len)=="undefined"){d.checked=b}else{var a;for(a=0;a<len;a++){if(d[a].type=="checkbox"&&d[a].getAttribute("class")=="o_checkbox"){d[a].checked=b}}}}function b_briefcase_isChecked(c,e){var b;var a=document.getElementById(c);var d=0;for(b=0;a.elements[b];b++){if(a.elements[b].type=="checkbox"&&a.elements[b].name=="paths"&&a.elements[b].checked){d++}}if(d<1){alert(e);return false}return true}function b_briefcase_toggleCheck(d,c){var a=document.getElementById(d);len=a.elements.length;var b;for(b=0;b<len;b++){if(a.elements[b].name=="paths"){a.elements[b].checked=c}}}function o_doPrint(){var d=jQuery("div.o_iframedisplay iframe");if(d.length>0){try{var a=d[0];frames[a.name].focus();frames[a.name].print();return}catch(c){for(i=0;frames.length>i;i++){a=frames[i];if(a.name=="oaa0"){continue}var b=document.getElementsByName(a.name)[0];if(b&&b.getAttribute("class")=="ext-shim"){continue}if(a.name!=""){try{frames[a.name].focus();frames[a.name].print()}catch(c){window.print()}return}}window.print()}}else{window.print()}}function b_attach_i18n_inline_editing(){jQuery("span.o_translation_i18nitem").hover(function(){jQuery(this.firstChild).show()},function(){jQuery("a.o_translation_i18nitem_launcher").hide()});jQuery("a.o_translation_i18nitem_launcher").hover(function(){var a=jQuery(this).parent("span.o_translation_i18nitem");a.effect("highlight")});b_AddOnDomReplacementFinishedCallback(b_attach_i18n_inline_editing)}function b_hideExtMessageBox(){}var BDebugger={_lastDOMCount:0,_lastObjCount:0,_knownGlobalOLATObjects:["o_afterserver","o_onc","o_getMainWin","o_ainvoke","o_info","o_beforeserver","o_ffEvent","o_openPopUp","o_debu_show","o_logwarn","o_dbg_unmark","o_ffRegisterSubmit","o_clearConsole","o_init","o_log","o_allowNextClick","o_dbg_mark","o_debu_hide","o_logerr","o_debu_oldcn","o_debu_oldtt","o_debug_trid","o_log_all"],_countDOMElements:function(){return document.getElementsByTagName("*").length},_countGlobalObjects:function(){var a=0;for(prop in window){a++}return a},logDOMCount:function(){var b=BDebugger;var a=b._countDOMElements();var c=a-b._lastDOMCount;console.log((c>0?"+":"")+c+" \t"+a+" \tDOM element count after DOM replacement");b._lastDOMCount=a;a=null},logGlobalObjCount:function(){var b=BDebugger;var a=b._countGlobalObjects();var c=a-b._lastObjCount;console.log((c>0?"+":"")+c+" \t"+a+" \tGlobal object count after DOM replacement");b._lastObjCount=a;a=null},logGlobalOLATObjects:function(){var b=BDebugger;var a=new Array();for(prop in window){if(prop.indexOf("o_")==0&&b._knownGlobalOLATObjects.indexOf(prop)==-1){a.push(prop)}}if(a.length>0){console.log(a.length+" global OLAT objects found:");a.each(function(c){console.log("\t"+typeof window[c]+" \t"+c)})}}};var OOEdusharing={start:function(){if(o_info.edusharing_enabled){OOEdusharing.render();jQuery(document).on("oo.dom.replacement.after",OOEdusharing.render);OOEdusharing.enableMetadataToggler()}},replaceWithSpinner:function(d,c,a){var b="<div style='";if(c>0){b+="width:"+c+"px;"}if(a>0){b+="height:"+a+"px;"}b+="'>";b+="<div class='edusharing_spinner_inner'><div class='edusharing_spinner1'></div></div>";b+="<div class='edusharing_spinner_inner'><div class='edusharing_spinner2'></div></div>";b+="<div class='edusharing_spinner_inner'><div class='edusharing_spinner3'></div></div>";b+="</div>";var e=jQuery(b);d.before(e);d.remove();return e},replaceGoTo:function(c,b){var a=o_info.uriprefix.replace("auth","edusharing")+"goto?identifier="+b;c=c.replace("{{{LMS_INLINE_HELPER_SCRIPT}}}",a);return c},replaceWithRendered:function(e,m,c,o,d,f,g,n){var b=o_info.uriprefix.replace("auth","edusharing")+"render?identifier="+m;if(c>0){b=b+"&width="+c}if(o){b=b+"&height="+o}var h="<div class='o_edusharing_container";if(typeof d!="undefined"){h+=" "+d}if(n){h+=" o_in_iframe"}if("hide"===f){h+=" o_hide_license"}if("hide"===g){h+=" o_hide_infos"}h+="'>";h+="</div>";var a=jQuery(h);jQuery.ajax({type:"GET",url:b,dataType:"html",success:function(r){var q=OOEdusharing.replaceGoTo(r,m);var p=a.append(q);e.replaceWith(p)},error:function(p,r,q){e.replaceWith("<div class='o_warning'>edu-sharing not available</div>")}})},replace:function(c,g){var f=c.data("es_identifier");var a=c.attr("width");var m=c.attr("height");var b=c.attr("class");var d=c.data("es_show_license");var e=c.data("es_show_infos");var h=OOEdusharing.replaceWithSpinner(c,a,m);OOEdusharing.replaceWithRendered(h,f,a,m,b,d,e,g)},render:function(){var a=jQuery("[data-es_identifier]");if(a.length>0){a.each(function(){var c=jQuery(this);OOEdusharing.replace(c,false)})}var b=jQuery(".o_iframe_rel");if(b.length>0){b.each(function(){var c=jQuery(this);c.on("load",function(){c.contents().on("click",OOEdusharing.toggleMetadata);var d=c.contents().find("[data-es_identifier]");if(d.length>0){d.each(function(){var e=jQuery(this);OOEdusharing.replace(e,true)})}})})}},toggleMetadata:function(a){if(jQuery(a.target).closest(".edusharing_metadata").length){}else{if(jQuery(a.target).closest(".edusharing_metadata_toggle_button").length){jQuery(".edusharing_metadata").hide();toggle_button=jQuery(a.target);metadata=toggle_button.parent().find(".edusharing_metadata");if(metadata.hasClass("open")){metadata.toggleClass("open");metadata.hide()}else{jQuery(".edusharing_metadata").removeClass("open");metadata.toggleClass("open");metadata.show()}}else{jQuery(".edusharing_metadata").hide();jQuery(".edusharing_metadata").removeClass("open")}}},enableMetadataToggler:function(){jQuery(document).click(OOEdusharing.toggleMetadata)}};jQuery(document).ready(function(){OOEdusharing.start()});/*!
  * jQuery Transit - CSS3 transitions and transformations
  * (c) 2011-2014 Rico Sta. Cruz
  * MIT Licensed.
diff --git a/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.js b/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.js
index 9c9471740aa..70e38003b2e 100644
--- a/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.js
+++ b/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.js
@@ -450,8 +450,8 @@
 				var poster = typeof(p.poster) != "undefined" ? '"' + p.poster + '"' : 'undefined';
 				var playerScriptUrl = ed.getParam("olatmovieviewer_playerScript");
 
-				var h = '<script src="' + playerScriptUrl + '" type="text/javascript"></script>';
-				h += '<script type="text/javascript" defer="defer">';
+				var h = '<script src="' + playerScriptUrl + '"></script>';
+				h += '<script defer="defer">';
 				h += 'BPlayer.insertPlayer("' + p.address + '","' + domIdentity + '",' + playerWidth + ',' + playerHeight + ',' + starttime + ',0,' + provider + ',' + streamer +',' + autostart + ',' + repeat + ',' + controlbar + ',' + poster + ');';
 				h += '</script>';
 				var node = ed.dom.create("span", {
diff --git a/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.min.js b/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.min.js
index 9f57485d90f..c481c2a9234 100644
--- a/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.min.js
+++ b/src/main/webapp/static/js/tinymce4/tinymce/plugins/olatmovieviewer/plugin.min.js
@@ -1 +1 @@
-(function(){tinymce.create("org.olat.core.gui.components.form.flexible.impl.elements.richText.plugins.olatmovieviewer",{getInfo:function(){return{longname:"OpenOLATMovieViewer",author:"frentix GmbH",authorurl:"https://www.frentix.com",infourl:"https://www.frentix.com",version:"2.5.0"}},createControl:function(n,cm){return null},init:function(ed,url){var cachedTrans,cachedCoreTrans;var cachedHelp;function translator(){if(cachedTrans){return cachedTrans}var mainWin=o_getMainWin();if(mainWin){cachedTrans=jQuery(document).ooTranslator().getTranslator(mainWin.o_info.locale,"org.olat.core.gui.components.form.flexible.impl.elements.richText.plugins.olatmovieviewer")}else{cachedTrans={translate:function(key){return key}}}return cachedTrans}function coreTranslator(){if(cachedCoreTrans){return cachedCoreTrans}var mainWin=o_getMainWin();if(mainWin){cachedCoreTrans=jQuery(document).ooTranslator().getTranslator(mainWin.o_info.locale,"org.olat.core")}else{cachedCoreTrans={translate:function(key){return key}}}return cachedCoreTrans}function serializeParameters(){var d=document,f=d.forms[0],s="";s+=getStr(null,"domIdentity");s+=getStr(null,"address");s+=getStr(null,"poster");s+=getStr(null,"streamer");s+=getStr(null,"starttime");s+=getBool(null,"autostart");s+=getBool(null,"repeat");s+="controlbar:true,";s+=getStr(null,"provider");s+=getStr(null,"width");s+=getStr(null,"height");s=s.length>0?s.substring(0,s.length-1):s;return s}function deserializeParameters(pl,fe){if(pl!=""){pl=eval(pl);setStr(pl,null,"domIdentity");setStr(pl,null,"address");setStr(pl,null,"poster");setStr(pl,null,"streamer");setStr(pl,null,"starttime");setBool(pl,null,"autostart");setBool(pl,null,"repeat");setStr(pl,null,"provider");setStr(pl,null,"width");setStr(pl,null,"height");if((val=ed.dom.getAttrib(fe,"width"))!=""){pl.width=val}if((val=ed.dom.getAttrib(fe,"height"))!=""){pl.height=val}oldWidth=pl.width?parseInt(pl.width):0;oldHeight=pl.height?parseInt(pl.height):0}else{oldWidth=oldHeight=0;var domIdentity=getNextDomId();var defaultPl="x={domIdentity:'"+domIdentity+"',address:'',starttime:'00:00:00.000',autostart:false,repeat:false,controlbar:true};";deserializeParameters(defaultPl)}}function getNextDomId(){var count=0;var domIdentity="olatFlashMovieViewer";var placeHolders=ed.dom.select("img.mceItemOlatMovieViewer");do{domIdentity="olatFlashMovieViewer"+(~~(Math.random()*1000000));if(count>20){break}}while(domIdInUse(domIdentity,placeHolders));return domIdentity}function domIdInUse(domIdentity,placeHolders){for(var i=0;i<placeHolders.length;i++){if(placeHolders[i].title!=undefined&&placeHolders[i].title.indexOf(domIdentity)>0){return true}}return false}function getBool(p,n,d,tv,fv){var ctrl=win.find("#"+n)[0];var v=ctrl.checked();tv=typeof(tv)=="undefined"?"true":"'"+jsEncode(tv)+"'";fv=typeof(fv)=="undefined"?"false":"'"+jsEncode(fv)+"'";return(v==d)?"":n+(v?":"+tv+",":":"+fv+",")}function getStr(p,n,d){var ctrl=win.find("#"+n)[0];var v=ctrl.value();return((n==d||v=="")?"":n+":'"+jsEncode(v)+"',")}function getInt(p,n,d){var ctrl=win.find("#"+n)[0];var v=ctrl.value();return((n==d||v=="")?"":n+":"+v.replace(/[^0-9]+/g,"")+",")}function setBool(pl,p,n){if(typeof(pl[n])=="undefined"){return}var checked=(pl[n]=="true"||pl[n]==true?true:false);win.find("#"+n)[0].checked(checked)}function setStr(pl,p,n){if(typeof(pl[n])=="undefined"){return}win.find("#"+n)[0].value(pl[n])}function jsEncode(s){s=s.replace(new RegExp("\\\\","g"),"\\\\");s=s.replace(new RegExp('"',"g"),'\\"');s=s.replace(new RegExp("'","g"),"\\'");return s}function generatePreview(){var attribs=serializeParameters();var pl=eval("x={"+attribs+"}");_getEmbed(pl);var streaming=(pl.provider=="rtmp"||pl.provider=="http");win.find("#streamer")[0].parent().visible(streaming)}function _getEmbed(p){var playerOffsetHeight=ed.getParam("olatmovieviewer_playerOffsetHeight");var playerOffsetWidth=ed.getParam("olatmovieviewer_playerOffsetWidth");var playerWidth=typeof(p.width)!="undefined"?(parseInt(p.width)+parseInt(playerOffsetWidth)):"320";var playerHeight=typeof(p.height)!="undefined"?(parseInt(p.height)+parseInt(playerOffsetHeight)):"240";var start=typeof(p.starttime)!="undefined"?p.starttime:"00:00:00.000";var autostart=typeof(p.autostart)!="undefined"?p.autostart:false;var repeat=typeof(p.repeat)!="undefined"?p.repeat:false;var controlbar=typeof(p.controlbar)!="undefined"?p.controlbar:true;var provider=typeof(p.provider)!="undefined"?p.provider:undefined;var streamer=typeof(p.streamer)!="undefined"?p.streamer:undefined;var domIdentity=typeof(p.domIdentity)!="undefined"?p.domIdentity:getNextDomId();var maxHeight=400;var maxWidth=560;if(playerHeight>maxHeight||playerWidth>maxWidth){var thumbRatio=maxWidth/maxHeight;var imageRatio=playerWidth/playerHeight;if(thumbRatio<imageRatio){playerHeight=(maxWidth/imageRatio);playerWidth=maxWidth}else{playerWidth=(maxHeight*imageRatio);playerHeight=maxHeight}}var videoUrl=p.address;if(p.address!=undefined){if(p.address.indexOf("://")<0&&((provider!="rtmp"&&provider!="http")||((provider=="rtmp"||provider=="http")&&(streamer==undefined||streamer.length==0)))){videoUrl=ed.documentBaseURI.toAbsolute(p.address)}}if(p.address!=undefined&&p.address!=null&&p.address.length>0){jQuery("#prev_container").width(playerWidth+"px").height(playerHeight+"px");BPlayer.insertPlayer(videoUrl,"prev_container",playerWidth,playerHeight,start,0,provider,streamer,autostart,repeat,controlbar)}}function buildProviderList(){var targetListItems=[{text:translator().translate("olatmovieviewer.video"),value:"video"},{text:translator().translate("olatmovieviewer.sound"),value:"sound"},{text:translator().translate("olatmovieviewer.youtube"),value:"youtube"},{text:translator().translate("olatmovieviewer.vimeo"),value:"vimeo"},{text:translator().translate("olatmovieviewer.nanoo"),value:"nanoo"},{text:translator().translate("olatmovieviewer.http"),value:"http"},{text:translator().translate("olatmovieviewer.rtmp"),value:"rtmp"}];return targetListItems}function generateSizes(){var address=win.find("#address")[0].value();if(address!=null&&address!==undefined&&address.indexOf("nanoo.tv")>0){var parts=address.split("?");var nanooId=parts[0].substring(address.lastIndexOf("/")+1);var width=win.find("#width")[0].value();var height=win.find("#height")[0].value();if((nanooId.length>6)&&(width==null||width===undefined||width==="")&&(height==null||height===undefined||height==="")){var contextPath=ed.getParam("contextPath");var url=contextPath+"/tiny/nanoo?nanooId="+nanooId;jQuery.getJSON(url,function(data){if(data.width>0){var width=win.find("#width")[0].value();if(width==null||width===undefined||width===""){win.find("#width")[0].value(""+data.width)}}if(data.height>0){var height=win.find("#height")[0].value();if(height==null||height===undefined||height===""){win.find("#height")[0].value(""+data.height)}}if(data.width>0&&data.height>0){generatePreview()}})}}}function insertVideo(e){jQuery(this.find("#width")[0].getEl()).removeClass("mce-danger");jQuery(this.find("#height")[0].getEl()).removeClass("mce-danger");jQuery(this.find("#address")[0].getEl()).removeClass("mce-danger");var allOk=true;var width=this.find("#width")[0].value();if(width==null||width===undefined||width===""){jQuery(this.find("#width")[0].getEl()).addClass("mce-danger");allOk=false}var height=this.find("#height")[0].value();if(height==null||height===undefined||height===""){jQuery(this.find("#height")[0].getEl()).addClass("mce-danger");allOk=false}var address=this.find("#address")[0].value();if(address==null||address===undefined||address===""){jQuery(this.find("#address")[0].getEl()).addClass("mce-danger");allOk=false}if(!allOk){e.preventDefault();return}var attribs=serializeParameters();var f=eval("x={"+attribs+"}");f.width=f.width==""?100:f.width;f.height=f.height==""?100:f.height;var fe=ed.selection.getNode();if(fe!=null&&fe!="undefined"&&/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(fe,"class"))){if(fe.width!=f.width.value||fe.height!=f.width.height){ed.execCommand("mceRepaint")}fe.title=serializeParameters();fe.width=f.width;fe.height=f.height;fe.style.width=f.width+(f.width.indexOf("%")==-1?"px":"");fe.style.height=f.height+(f.height.indexOf("%")==-1?"px":"")}else{var newDomId=getNextDomId();var titleAttr="domIdentity:'"+newDomId+"',"+serializeParameters();var h='<img id="'+newDomId+'"';h+=' class="mceItemOlatMovieViewer" src="'+ed.getParam("olatmovieviewer_transparentImage")+'"';h+=' title="'+titleAttr+'"';h+=' width="'+f.width+'" height="'+f.height+'" style="width:'+f.width+"px; height:"+f.height+'px" />';ed.execCommand("mceInsertContent",false,h)}}function showDialog(){win=ed.windowManager.open({title:"Movies",bodyType:"tabpanel",body:[{title:translator().translate("olatmovieviewer.general"),type:"form",items:[{name:"provider",type:"listbox",label:translator().translate("olatmovieviewer.provider"),values:buildProviderList(),onselect:function(e){var streaming=(this.value()=="rtmp"||this.value()=="http");win.find("#streamer")[0].parent().visible(streaming)}},{name:"streamer",type:"textbox",label:translator().translate("olatmovieviewer.streamer")},{name:"address",type:"filepicker",filetype:"flashplayer",label:translator().translate("olatmovieviewer.address"),onchange:generateSizes},{name:"poster",type:"filepicker",filetype:"image",label:translator().translate("olatmovieviewer.poster")},{type:"container",label:translator().translate("olatmovieviewer.size"),layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:4,size:4,onchange:generatePreview},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:4,size:4,onchange:generatePreview}]},{name:"preview",type:"panel",label:"",minHeight:320,html:'<div id="prev" name="prev"><div id="prev_container" name="prev_container"></div></div>'},{name:"domIdentity",type:"textbox",hidden:true}]},{title:"Advanced",type:"form",items:[{name:"starttime",type:"textbox",checked:true,label:translator().translate("olatmovieviewer.starttime")},{name:"autostart",type:"checkbox",checked:false,label:translator().translate("olatmovieviewer.autostart"),text:""},{name:"repeat",type:"checkbox",checked:false,label:translator().translate("olatmovieviewer.repeat"),text:""}]}],onSubmit:insertVideo});var fe=ed.selection.getNode();if(/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(fe,"class"))){var pl="x={"+ed.dom.getAttrib(fe,"title")+"};";deserializeParameters(pl,fe);setTimeout(generatePreview,500)}else{fe=ed.dom.select("img.mceItemOlatMovieViewer",fe);if(fe.length==1&&/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(fe[0],"class"))){var pl="x={"+ed.dom.getAttrib(fe[0],"title")+"};";deserializeParameters(pl,fe[0]);setTimeout(generatePreview,500)}}var helpButton=coreTranslator().translate("help");var helpLink=ed.getParam("olatmovieviewer_helpUrl"+o_getMainWin().o_info.locale);jQuery(".mce-tabs").append("<span class='o_chelp_wrapper'><a href='"+helpLink+"' class='o_chelp' target='_blank'><i class='mce-ico mce-i-help'> </i> "+helpButton+"</a></span>");var streamingValue=win.find("#provider")[0].value();var streaming=(streamingValue=="rtmp"||streamingValue=="http");win.find("#streamer")[0].parent().visible(streaming)}function parseBPlayerScript(editor,script){if(script==null||script==undefined){return""}var startMark="BPlayer.insertPlayer(";var start=script.indexOf(startMark);var end=script.indexOf(");");if(start<0||end<0){return""}var params=script.substring(start+startMark.length,end);return parseBPlayerScriptParameters(editor,params)}function parseBPlayerScriptParameters(editor,scriptParameters){var playerOffsetHeight=editor.getParam("olatmovieviewer_playerOffsetHeight");var playerOffsetWidth=editor.getParam("olatmovieviewer_playerOffsetWidth");var settingsArr=scriptParameters.split(",");var pl="domIdentity:"+settingsArr[1]+",";pl+="address:"+settingsArr[0]+",";pl+="streamer:"+settingsArr[7]+",";pl+="starttime:"+settingsArr[4]+",";pl+="autostart:"+settingsArr[8]+",";pl+="repeat:"+settingsArr[9]+",";pl+="controlbar:true,";pl+="provider:"+settingsArr[6]+",";pl+="width:"+(settingsArr[2]-playerOffsetWidth)+",";pl+="height:"+(settingsArr[3]-playerOffsetHeight)+",";pl+="poster:"+settingsArr[11];return pl}function getPlayerHtmlNode(editor,p){var h="",n,l="";var playerOffsetHeight=ed.getParam("olatmovieviewer_playerOffsetHeight");var playerOffsetWidth=ed.getParam("olatmovieviewer_playerOffsetWidth");var playerWidth=typeof(p.width)!="undefined"?(parseInt(p.width)+parseInt(playerOffsetWidth)):"";var playerHeight=typeof(p.height)!="undefined"?(parseInt(p.height)+parseInt(playerOffsetHeight)):"";var starttime=typeof(p.starttime)!="undefined"?'"'+p.starttime+'"':0;var autostart=typeof(p.autostart)!="undefined"?p.autostart:"false";var repeat=typeof(p.repeat)!="undefined"?p.repeat:"false";var controlbar="true";var provider=typeof(p.provider)!="undefined"?'"'+p.provider+'"':"undefined";var streamer=typeof(p.streamer)!="undefined"?'"'+p.streamer+'"':"undefined";var domIdentity=typeof(p.domIdentity)!="undefined"?p.domIdentity:getNextDomId();var poster=typeof(p.poster)!="undefined"?'"'+p.poster+'"':"undefined";var playerScriptUrl=ed.getParam("olatmovieviewer_playerScript");var h='<script src="'+playerScriptUrl+'" type="text/javascript"><\/script>';h+='<script type="text/javascript" defer="defer">';h+='BPlayer.insertPlayer("'+p.address+'","'+domIdentity+'",'+playerWidth+","+playerHeight+","+starttime+",0,"+provider+","+streamer+","+autostart+","+repeat+","+controlbar+","+poster+");";h+="<\/script>";var node=ed.dom.create("span",{id:domIdentity,name:domIdentity,"class":"olatFlashMovieViewer",style:"display:block;border:solid 1px #000; width:"+playerWidth+"px; height:"+playerHeight+"px;"},h);return node}ed.addButton("olatmovieviewer",{title:translator().translate("olatmovieviewer.desc"),icon:"movie",onclick:showDialog,onPostRender:function(){var ctrl=this;ed.on("NodeChange",function(e){var test=(e.element.nodeName=="IMG")&&(/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(e.element,"class")));ctrl.active(test);if(test){e.preventDefault(true);e.stopImmediatePropagation()}})}});ed.addMenuItem("olatmovieviewer",{text:translator().translate("olatmovieviewer.desc"),icon:"movie",onclick:showDialog,});ed.addCommand("updateOOMovie",function(ui,value){var link=value.link;var width=value.width;var height=value.height;var hasWidth=!(typeof width==="undefined");var hasHeight=!(typeof height==="undefined");if(hasWidth){win.find("#width")[0].value(width)}if(hasHeight){win.find("#height")[0].value(height)}var extension=link.split(".").pop().toLowerCase().split("&").shift();if(!hasHeight&&!hasWidth){if(extension=="mp3"||extension=="aac"){win.find("#width")[0].value("250");win.find("#height")[0].value("50")}}if(extension=="mp3"){win.find("#provider")[0].value("sound")}else{win.find("#provider")[0].value("video")}win.find("#height")[0].fire("change")});ed.on("init",function(){if(ed.settings.content_css!==false){ed.dom.loadCSS(url+"/css/content.css")}});ed.on("PreProcess",function(editor){tinymce.each(ed.dom.select("img.mceItemOlatMovieViewer"),function(node){var movieSettingsString=node.title;movieSettingsString=movieSettingsString.replace(/&(#39|apos);/g,"'");movieSettingsString=movieSettingsString.replace(/&#quot;/g,'"');var movieSettings;try{movieSettings=eval("x={"+movieSettingsString+"}")}catch(exception){movieSettings={}}var playerNode=getPlayerHtmlNode(ed,movieSettings);ed.dom.replace(playerNode,node,false)})});ed.on("BeforeSetContent",function(e){if(e.content.indexOf("--omvs::")>0){var imgUrl=ed.getParam("olatmovieviewer_transparentImage");e.content=e.content.replace(/\n/gi,"");var widthMatch=e.content.match(/(?:<!--omvs::.*?width:')([0-9]+)(?:'.*?<!--omve-->)/i);var width=((widthMatch!=null)&&(widthMatch.length==2))?parseInt(widthMatch[1]):320;var heightMatch=e.content.match(/(?:<!--omvs::.*?height:')([0-9]+)(?:'.*?<!--omve-->)/i);var height=((heightMatch!=null)&&(heightMatch.length==2))?parseInt(heightMatch[1]):240;e.content=e.content.replace(/<!--omvs::(.*?)-->(.*?)<!--omve-->/gi,'<img class="mceItemOlatMovieViewer" alt="" src="'+imgUrl+'" title="$1" width="'+width+'" height="'+height+'"/>')}});ed.on("SetContent",function(e){var imgUrl=ed.getParam("olatmovieviewer_transparentImage");tinymce.each(ed.dom.select("div.olatFlashMovieViewer,span.olatFlashMovieViewer,object.olatFlashMovieViewer"),function(node){var movieSettingsString;var dataMovie=ed.dom.getAttrib(node,"data-oo-movie");if(dataMovie==""||typeof dataMovie=="undefined"){movieSettingsString=parseBPlayerScript(ed,node.innerHTML)}else{dataMovie=dataMovie.replace(new RegExp("'","g"),'"');movieSettingsString=parseBPlayerScriptParameters(ed,dataMovie)}var movieSettings;try{movieSettings=eval("x={"+movieSettingsString+"}")}catch(exception){movieSettings={}}var width=typeof(movieSettings.width)=="undefined"?320:movieSettings.width;var height=typeof(movieSettings.height)=="undefined"?240:movieSettings.height;var imgNode=ed.dom.create("img",{id:movieSettings.domIdentity,name:movieSettings.domIdentity,"class":"mceItemOlatMovieViewer",style:"width:"+width+"px; height:"+height+"px;",src:imgUrl,title:movieSettingsString});imgNode.width=width;imgNode.height=height;ed.dom.replace(imgNode,node,false);ed.dom.setAttrib(imgNode,"style","width:"+width+"px; height:"+height+"px;")})})}});tinymce.PluginManager.add("olatmovieviewer",org.olat.core.gui.components.form.flexible.impl.elements.richText.plugins.olatmovieviewer)})();
\ No newline at end of file
+(function(){tinymce.create("org.olat.core.gui.components.form.flexible.impl.elements.richText.plugins.olatmovieviewer",{getInfo:function(){return{longname:"OpenOLATMovieViewer",author:"frentix GmbH",authorurl:"https://www.frentix.com",infourl:"https://www.frentix.com",version:"2.5.0"}},createControl:function(n,cm){return null},init:function(ed,url){var cachedTrans,cachedCoreTrans;var cachedHelp;function translator(){if(cachedTrans){return cachedTrans}var mainWin=o_getMainWin();if(mainWin){cachedTrans=jQuery(document).ooTranslator().getTranslator(mainWin.o_info.locale,"org.olat.core.gui.components.form.flexible.impl.elements.richText.plugins.olatmovieviewer")}else{cachedTrans={translate:function(key){return key}}}return cachedTrans}function coreTranslator(){if(cachedCoreTrans){return cachedCoreTrans}var mainWin=o_getMainWin();if(mainWin){cachedCoreTrans=jQuery(document).ooTranslator().getTranslator(mainWin.o_info.locale,"org.olat.core")}else{cachedCoreTrans={translate:function(key){return key}}}return cachedCoreTrans}function serializeParameters(){var d=document,f=d.forms[0],s="";s+=getStr(null,"domIdentity");s+=getStr(null,"address");s+=getStr(null,"poster");s+=getStr(null,"streamer");s+=getStr(null,"starttime");s+=getBool(null,"autostart");s+=getBool(null,"repeat");s+="controlbar:true,";s+=getStr(null,"provider");s+=getStr(null,"width");s+=getStr(null,"height");s=s.length>0?s.substring(0,s.length-1):s;return s}function deserializeParameters(pl,fe){if(pl!=""){pl=eval(pl);setStr(pl,null,"domIdentity");setStr(pl,null,"address");setStr(pl,null,"poster");setStr(pl,null,"streamer");setStr(pl,null,"starttime");setBool(pl,null,"autostart");setBool(pl,null,"repeat");setStr(pl,null,"provider");setStr(pl,null,"width");setStr(pl,null,"height");if((val=ed.dom.getAttrib(fe,"width"))!=""){pl.width=val}if((val=ed.dom.getAttrib(fe,"height"))!=""){pl.height=val}oldWidth=pl.width?parseInt(pl.width):0;oldHeight=pl.height?parseInt(pl.height):0}else{oldWidth=oldHeight=0;var domIdentity=getNextDomId();var defaultPl="x={domIdentity:'"+domIdentity+"',address:'',starttime:'00:00:00.000',autostart:false,repeat:false,controlbar:true};";deserializeParameters(defaultPl)}}function getNextDomId(){var count=0;var domIdentity="olatFlashMovieViewer";var placeHolders=ed.dom.select("img.mceItemOlatMovieViewer");do{domIdentity="olatFlashMovieViewer"+(~~(Math.random()*1000000));if(count>20){break}}while(domIdInUse(domIdentity,placeHolders));return domIdentity}function domIdInUse(domIdentity,placeHolders){for(var i=0;i<placeHolders.length;i++){if(placeHolders[i].title!=undefined&&placeHolders[i].title.indexOf(domIdentity)>0){return true}}return false}function getBool(p,n,d,tv,fv){var ctrl=win.find("#"+n)[0];var v=ctrl.checked();tv=typeof(tv)=="undefined"?"true":"'"+jsEncode(tv)+"'";fv=typeof(fv)=="undefined"?"false":"'"+jsEncode(fv)+"'";return(v==d)?"":n+(v?":"+tv+",":":"+fv+",")}function getStr(p,n,d){var ctrl=win.find("#"+n)[0];var v=ctrl.value();return((n==d||v=="")?"":n+":'"+jsEncode(v)+"',")}function getInt(p,n,d){var ctrl=win.find("#"+n)[0];var v=ctrl.value();return((n==d||v=="")?"":n+":"+v.replace(/[^0-9]+/g,"")+",")}function setBool(pl,p,n){if(typeof(pl[n])=="undefined"){return}var checked=(pl[n]=="true"||pl[n]==true?true:false);win.find("#"+n)[0].checked(checked)}function setStr(pl,p,n){if(typeof(pl[n])=="undefined"){return}win.find("#"+n)[0].value(pl[n])}function jsEncode(s){s=s.replace(new RegExp("\\\\","g"),"\\\\");s=s.replace(new RegExp('"',"g"),'\\"');s=s.replace(new RegExp("'","g"),"\\'");return s}function generatePreview(){var attribs=serializeParameters();var pl=eval("x={"+attribs+"}");_getEmbed(pl);var streaming=(pl.provider=="rtmp"||pl.provider=="http");win.find("#streamer")[0].parent().visible(streaming)}function _getEmbed(p){var playerOffsetHeight=ed.getParam("olatmovieviewer_playerOffsetHeight");var playerOffsetWidth=ed.getParam("olatmovieviewer_playerOffsetWidth");var playerWidth=typeof(p.width)!="undefined"?(parseInt(p.width)+parseInt(playerOffsetWidth)):"320";var playerHeight=typeof(p.height)!="undefined"?(parseInt(p.height)+parseInt(playerOffsetHeight)):"240";var start=typeof(p.starttime)!="undefined"?p.starttime:"00:00:00.000";var autostart=typeof(p.autostart)!="undefined"?p.autostart:false;var repeat=typeof(p.repeat)!="undefined"?p.repeat:false;var controlbar=typeof(p.controlbar)!="undefined"?p.controlbar:true;var provider=typeof(p.provider)!="undefined"?p.provider:undefined;var streamer=typeof(p.streamer)!="undefined"?p.streamer:undefined;var domIdentity=typeof(p.domIdentity)!="undefined"?p.domIdentity:getNextDomId();var maxHeight=400;var maxWidth=560;if(playerHeight>maxHeight||playerWidth>maxWidth){var thumbRatio=maxWidth/maxHeight;var imageRatio=playerWidth/playerHeight;if(thumbRatio<imageRatio){playerHeight=(maxWidth/imageRatio);playerWidth=maxWidth}else{playerWidth=(maxHeight*imageRatio);playerHeight=maxHeight}}var videoUrl=p.address;if(p.address!=undefined){if(p.address.indexOf("://")<0&&((provider!="rtmp"&&provider!="http")||((provider=="rtmp"||provider=="http")&&(streamer==undefined||streamer.length==0)))){videoUrl=ed.documentBaseURI.toAbsolute(p.address)}}if(p.address!=undefined&&p.address!=null&&p.address.length>0){jQuery("#prev_container").width(playerWidth+"px").height(playerHeight+"px");BPlayer.insertPlayer(videoUrl,"prev_container",playerWidth,playerHeight,start,0,provider,streamer,autostart,repeat,controlbar)}}function buildProviderList(){var targetListItems=[{text:translator().translate("olatmovieviewer.video"),value:"video"},{text:translator().translate("olatmovieviewer.sound"),value:"sound"},{text:translator().translate("olatmovieviewer.youtube"),value:"youtube"},{text:translator().translate("olatmovieviewer.vimeo"),value:"vimeo"},{text:translator().translate("olatmovieviewer.nanoo"),value:"nanoo"},{text:translator().translate("olatmovieviewer.http"),value:"http"},{text:translator().translate("olatmovieviewer.rtmp"),value:"rtmp"}];return targetListItems}function generateSizes(){var address=win.find("#address")[0].value();if(address!=null&&address!==undefined&&address.indexOf("nanoo.tv")>0){var parts=address.split("?");var nanooId=parts[0].substring(address.lastIndexOf("/")+1);var width=win.find("#width")[0].value();var height=win.find("#height")[0].value();if((nanooId.length>6)&&(width==null||width===undefined||width==="")&&(height==null||height===undefined||height==="")){var contextPath=ed.getParam("contextPath");var url=contextPath+"/tiny/nanoo?nanooId="+nanooId;jQuery.getJSON(url,function(data){if(data.width>0){var width=win.find("#width")[0].value();if(width==null||width===undefined||width===""){win.find("#width")[0].value(""+data.width)}}if(data.height>0){var height=win.find("#height")[0].value();if(height==null||height===undefined||height===""){win.find("#height")[0].value(""+data.height)}}if(data.width>0&&data.height>0){generatePreview()}})}}}function insertVideo(e){jQuery(this.find("#width")[0].getEl()).removeClass("mce-danger");jQuery(this.find("#height")[0].getEl()).removeClass("mce-danger");jQuery(this.find("#address")[0].getEl()).removeClass("mce-danger");var allOk=true;var width=this.find("#width")[0].value();if(width==null||width===undefined||width===""){jQuery(this.find("#width")[0].getEl()).addClass("mce-danger");allOk=false}var height=this.find("#height")[0].value();if(height==null||height===undefined||height===""){jQuery(this.find("#height")[0].getEl()).addClass("mce-danger");allOk=false}var address=this.find("#address")[0].value();if(address==null||address===undefined||address===""){jQuery(this.find("#address")[0].getEl()).addClass("mce-danger");allOk=false}if(!allOk){e.preventDefault();return}var attribs=serializeParameters();var f=eval("x={"+attribs+"}");f.width=f.width==""?100:f.width;f.height=f.height==""?100:f.height;var fe=ed.selection.getNode();if(fe!=null&&fe!="undefined"&&/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(fe,"class"))){if(fe.width!=f.width.value||fe.height!=f.width.height){ed.execCommand("mceRepaint")}fe.title=serializeParameters();fe.width=f.width;fe.height=f.height;fe.style.width=f.width+(f.width.indexOf("%")==-1?"px":"");fe.style.height=f.height+(f.height.indexOf("%")==-1?"px":"")}else{var newDomId=getNextDomId();var titleAttr="domIdentity:'"+newDomId+"',"+serializeParameters();var h='<img id="'+newDomId+'"';h+=' class="mceItemOlatMovieViewer" src="'+ed.getParam("olatmovieviewer_transparentImage")+'"';h+=' title="'+titleAttr+'"';h+=' width="'+f.width+'" height="'+f.height+'" style="width:'+f.width+"px; height:"+f.height+'px" />';ed.execCommand("mceInsertContent",false,h)}}function showDialog(){win=ed.windowManager.open({title:"Movies",bodyType:"tabpanel",body:[{title:translator().translate("olatmovieviewer.general"),type:"form",items:[{name:"provider",type:"listbox",label:translator().translate("olatmovieviewer.provider"),values:buildProviderList(),onselect:function(e){var streaming=(this.value()=="rtmp"||this.value()=="http");win.find("#streamer")[0].parent().visible(streaming)}},{name:"streamer",type:"textbox",label:translator().translate("olatmovieviewer.streamer")},{name:"address",type:"filepicker",filetype:"flashplayer",label:translator().translate("olatmovieviewer.address"),onchange:generateSizes},{name:"poster",type:"filepicker",filetype:"image",label:translator().translate("olatmovieviewer.poster")},{type:"container",label:translator().translate("olatmovieviewer.size"),layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:4,size:4,onchange:generatePreview},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:4,size:4,onchange:generatePreview}]},{name:"preview",type:"panel",label:"",minHeight:320,html:'<div id="prev" name="prev"><div id="prev_container" name="prev_container"></div></div>'},{name:"domIdentity",type:"textbox",hidden:true}]},{title:"Advanced",type:"form",items:[{name:"starttime",type:"textbox",checked:true,label:translator().translate("olatmovieviewer.starttime")},{name:"autostart",type:"checkbox",checked:false,label:translator().translate("olatmovieviewer.autostart"),text:""},{name:"repeat",type:"checkbox",checked:false,label:translator().translate("olatmovieviewer.repeat"),text:""}]}],onSubmit:insertVideo});var fe=ed.selection.getNode();if(/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(fe,"class"))){var pl="x={"+ed.dom.getAttrib(fe,"title")+"};";deserializeParameters(pl,fe);setTimeout(generatePreview,500)}else{fe=ed.dom.select("img.mceItemOlatMovieViewer",fe);if(fe.length==1&&/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(fe[0],"class"))){var pl="x={"+ed.dom.getAttrib(fe[0],"title")+"};";deserializeParameters(pl,fe[0]);setTimeout(generatePreview,500)}}var helpButton=coreTranslator().translate("help");var helpLink=ed.getParam("olatmovieviewer_helpUrl"+o_getMainWin().o_info.locale);jQuery(".mce-tabs").append("<span class='o_chelp_wrapper'><a href='"+helpLink+"' class='o_chelp' target='_blank'><i class='mce-ico mce-i-help'> </i> "+helpButton+"</a></span>");var streamingValue=win.find("#provider")[0].value();var streaming=(streamingValue=="rtmp"||streamingValue=="http");win.find("#streamer")[0].parent().visible(streaming)}function parseBPlayerScript(editor,script){if(script==null||script==undefined){return""}var startMark="BPlayer.insertPlayer(";var start=script.indexOf(startMark);var end=script.indexOf(");");if(start<0||end<0){return""}var params=script.substring(start+startMark.length,end);return parseBPlayerScriptParameters(editor,params)}function parseBPlayerScriptParameters(editor,scriptParameters){var playerOffsetHeight=editor.getParam("olatmovieviewer_playerOffsetHeight");var playerOffsetWidth=editor.getParam("olatmovieviewer_playerOffsetWidth");var settingsArr=scriptParameters.split(",");var pl="domIdentity:"+settingsArr[1]+",";pl+="address:"+settingsArr[0]+",";pl+="streamer:"+settingsArr[7]+",";pl+="starttime:"+settingsArr[4]+",";pl+="autostart:"+settingsArr[8]+",";pl+="repeat:"+settingsArr[9]+",";pl+="controlbar:true,";pl+="provider:"+settingsArr[6]+",";pl+="width:"+(settingsArr[2]-playerOffsetWidth)+",";pl+="height:"+(settingsArr[3]-playerOffsetHeight)+",";pl+="poster:"+settingsArr[11];return pl}function getPlayerHtmlNode(editor,p){var h="",n,l="";var playerOffsetHeight=ed.getParam("olatmovieviewer_playerOffsetHeight");var playerOffsetWidth=ed.getParam("olatmovieviewer_playerOffsetWidth");var playerWidth=typeof(p.width)!="undefined"?(parseInt(p.width)+parseInt(playerOffsetWidth)):"";var playerHeight=typeof(p.height)!="undefined"?(parseInt(p.height)+parseInt(playerOffsetHeight)):"";var starttime=typeof(p.starttime)!="undefined"?'"'+p.starttime+'"':0;var autostart=typeof(p.autostart)!="undefined"?p.autostart:"false";var repeat=typeof(p.repeat)!="undefined"?p.repeat:"false";var controlbar="true";var provider=typeof(p.provider)!="undefined"?'"'+p.provider+'"':"undefined";var streamer=typeof(p.streamer)!="undefined"?'"'+p.streamer+'"':"undefined";var domIdentity=typeof(p.domIdentity)!="undefined"?p.domIdentity:getNextDomId();var poster=typeof(p.poster)!="undefined"?'"'+p.poster+'"':"undefined";var playerScriptUrl=ed.getParam("olatmovieviewer_playerScript");var h='<script src="'+playerScriptUrl+'"><\/script>';h+='<script defer="defer">';h+='BPlayer.insertPlayer("'+p.address+'","'+domIdentity+'",'+playerWidth+","+playerHeight+","+starttime+",0,"+provider+","+streamer+","+autostart+","+repeat+","+controlbar+","+poster+");";h+="<\/script>";var node=ed.dom.create("span",{id:domIdentity,name:domIdentity,"class":"olatFlashMovieViewer",style:"display:block;border:solid 1px #000; width:"+playerWidth+"px; height:"+playerHeight+"px;"},h);return node}ed.addButton("olatmovieviewer",{title:translator().translate("olatmovieviewer.desc"),icon:"movie",onclick:showDialog,onPostRender:function(){var ctrl=this;ed.on("NodeChange",function(e){var test=(e.element.nodeName=="IMG")&&(/mceItemOlatMovieViewer/.test(ed.dom.getAttrib(e.element,"class")));ctrl.active(test);if(test){e.preventDefault(true);e.stopImmediatePropagation()}})}});ed.addMenuItem("olatmovieviewer",{text:translator().translate("olatmovieviewer.desc"),icon:"movie",onclick:showDialog,});ed.addCommand("updateOOMovie",function(ui,value){var link=value.link;var width=value.width;var height=value.height;var hasWidth=!(typeof width==="undefined");var hasHeight=!(typeof height==="undefined");if(hasWidth){win.find("#width")[0].value(width)}if(hasHeight){win.find("#height")[0].value(height)}var extension=link.split(".").pop().toLowerCase().split("&").shift();if(!hasHeight&&!hasWidth){if(extension=="mp3"||extension=="aac"){win.find("#width")[0].value("250");win.find("#height")[0].value("50")}}if(extension=="mp3"){win.find("#provider")[0].value("sound")}else{win.find("#provider")[0].value("video")}win.find("#height")[0].fire("change")});ed.on("init",function(){if(ed.settings.content_css!==false){ed.dom.loadCSS(url+"/css/content.css")}});ed.on("PreProcess",function(editor){tinymce.each(ed.dom.select("img.mceItemOlatMovieViewer"),function(node){var movieSettingsString=node.title;movieSettingsString=movieSettingsString.replace(/&(#39|apos);/g,"'");movieSettingsString=movieSettingsString.replace(/&#quot;/g,'"');var movieSettings;try{movieSettings=eval("x={"+movieSettingsString+"}")}catch(exception){movieSettings={}}var playerNode=getPlayerHtmlNode(ed,movieSettings);ed.dom.replace(playerNode,node,false)})});ed.on("BeforeSetContent",function(e){if(e.content.indexOf("--omvs::")>0){var imgUrl=ed.getParam("olatmovieviewer_transparentImage");e.content=e.content.replace(/\n/gi,"");var widthMatch=e.content.match(/(?:<!--omvs::.*?width:')([0-9]+)(?:'.*?<!--omve-->)/i);var width=((widthMatch!=null)&&(widthMatch.length==2))?parseInt(widthMatch[1]):320;var heightMatch=e.content.match(/(?:<!--omvs::.*?height:')([0-9]+)(?:'.*?<!--omve-->)/i);var height=((heightMatch!=null)&&(heightMatch.length==2))?parseInt(heightMatch[1]):240;e.content=e.content.replace(/<!--omvs::(.*?)-->(.*?)<!--omve-->/gi,'<img class="mceItemOlatMovieViewer" alt="" src="'+imgUrl+'" title="$1" width="'+width+'" height="'+height+'"/>')}});ed.on("SetContent",function(e){var imgUrl=ed.getParam("olatmovieviewer_transparentImage");tinymce.each(ed.dom.select("div.olatFlashMovieViewer,span.olatFlashMovieViewer,object.olatFlashMovieViewer"),function(node){var movieSettingsString;var dataMovie=ed.dom.getAttrib(node,"data-oo-movie");if(dataMovie==""||typeof dataMovie=="undefined"){movieSettingsString=parseBPlayerScript(ed,node.innerHTML)}else{dataMovie=dataMovie.replace(new RegExp("'","g"),'"');movieSettingsString=parseBPlayerScriptParameters(ed,dataMovie)}var movieSettings;try{movieSettings=eval("x={"+movieSettingsString+"}")}catch(exception){movieSettings={}}var width=typeof(movieSettings.width)=="undefined"?320:movieSettings.width;var height=typeof(movieSettings.height)=="undefined"?240:movieSettings.height;var imgNode=ed.dom.create("img",{id:movieSettings.domIdentity,name:movieSettings.domIdentity,"class":"mceItemOlatMovieViewer",style:"width:"+width+"px; height:"+height+"px;",src:imgUrl,title:movieSettingsString});imgNode.width=width;imgNode.height=height;ed.dom.replace(imgNode,node,false);ed.dom.setAttrib(imgNode,"style","width:"+width+"px; height:"+height+"px;")})})}});tinymce.PluginManager.add("olatmovieviewer",org.olat.core.gui.components.form.flexible.impl.elements.richText.plugins.olatmovieviewer)})();
\ No newline at end of file
diff --git a/src/main/webapp/static/js/tinymce4/tinymce/plugins/preview/plugin.min.js b/src/main/webapp/static/js/tinymce4/tinymce/plugins/preview/plugin.min.js
index e02103b4aa1..4e8daa3e851 100755
--- a/src/main/webapp/static/js/tinymce4/tinymce/plugins/preview/plugin.min.js
+++ b/src/main/webapp/static/js/tinymce4/tinymce/plugins/preview/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'<iframe src="javascript:\'\'" frameborder="0"'+(n?' sandbox="allow-scripts"':"")+"></iframe>",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='<base href="'+e.documentBaseURI.getURI()+'">',tinymce.each(e.contentCSS,function(t){i+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var o=t.body_id||"tinymce";o.indexOf("=")!=-1&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";a.indexOf("=")!=-1&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s='<script>document.addEventListener && document.addEventListener("click", function(e) {for (var elm = e.target; elm; elm = elm.parentNode) {if (elm.nodeName === "A") {e.preventDefault();}}}, false);</script> ',l=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r="<!DOCTYPE html><html><head>"+i+'</head><body id="'+o+'" class="mce-content-body '+a+'"'+l+">"+e.getContent()+s+"</body></html>",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var c=this.getEl("body").firstChild.contentWindow.document;c.open(),c.write(r),c.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});
\ No newline at end of file
+tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'<iframe src="javascript:\'\'" frameborder="0"'+(n?' sandbox="allow-scripts"':"")+"></iframe>",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='<base href="'+e.documentBaseURI.getURI()+'">',tinymce.each(e.contentCSS,function(t){i+='<link rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var o=t.body_id||"tinymce";o.indexOf("=")!=-1&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";a.indexOf("=")!=-1&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s='<script>document.addEventListener && document.addEventListener("click", function(e) {for (var elm = e.target; elm; elm = elm.parentNode) {if (elm.nodeName === "A") {e.preventDefault();}}}, false);</script> ',l=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r="<!DOCTYPE html><html><head>"+i+'</head><body id="'+o+'" class="mce-content-body '+a+'"'+l+">"+e.getContent()+s+"</body></html>",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var c=this.getEl("body").firstChild.contentWindow.document;c.open(),c.write(r),c.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});
\ No newline at end of file
diff --git a/src/main/webapp/static/js/tinymce4/tinymce/plugins/template/plugin.min.js b/src/main/webapp/static/js/tinymce4/tinymce/plugins/template/plugin.min.js
index 4f5c62cb16f..2bf5c2d87c9 100755
--- a/src/main/webapp/static/js/tinymce4/tinymce/plugins/template/plugin.min.js
+++ b/src/main/webapp/static/js/tinymce4/tinymce/plugins/template/plugin.min.js
@@ -1 +1 @@
-tinymce.PluginManager.add("template",function(e){function t(t){return function(){var n=e.settings.templates;return"function"==typeof n?void n(t):void("string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):t(n))}}function n(t){function n(t){function n(t){if(t.indexOf("<html>")==-1){var n="";tinymce.each(e.contentCSS,function(t){n+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var i=e.settings.body_class||"";i.indexOf("=")!=-1&&(i=e.getParam("body_class","","hash"),i=i[e.id]||""),t="<!DOCTYPE html><html><head>"+n+'</head><body class="'+i+'">'+t+"</body></html>"}t=o(t,"template_preview_replace_values");var a=r.find("iframe")[0].getEl().contentWindow.document;a.open(),a.write(t),a.close()}var a=t.control.value();a.url?tinymce.util.XHR.send({url:a.url,success:function(e){i=e,n(i)}}):(i=a.content,n(i)),r.find("#description")[0].text(t.control.value().description)}var r,i,s=[];if(!t||0===t.length){var l=e.translate("No templates defined.");return void e.notificationManager.open({text:l,type:"info"})}tinymce.each(t,function(e){s.push({selected:!s.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),r=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:s,onselect:n}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){a(!1,i)},minWidth:Math.min(tinymce.DOM.getViewPort().w,e.getParam("template_popup_width",600)),minHeight:Math.min(tinymce.DOM.getViewPort().h,e.getParam("template_popup_height",500))}),r.find("listbox")[0].fire("select")}function r(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}var i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),a="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),s="January February March April May June July August September October November December".split(" ");return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(s[n.getMonth()])),t=t.replace("%b",""+e.translate(a[n.getMonth()])),t=t.replace("%A",""+e.translate(o[n.getDay()])),t=t.replace("%a",""+e.translate(i[n.getDay()])),t=t.replace("%%","%")}function i(t){var n=e.dom,r=e.getParam("template_replace_values");s(n.select("*",t),function(e){s(r,function(t,i){n.hasClass(e,i)&&"function"==typeof r[i]&&r[i](e)})})}function o(t,n){return s(e.getParam(n),function(e,n){"function"==typeof e&&(e=e(n)),t=t.replace(new RegExp("\\{\\$"+n+"\\}","g"),e)}),t}function a(t,n){function a(e,t){return new RegExp("\\b"+t+"\\b","g").test(e.className)}var l,c,u=e.dom,d=e.selection.getContent();n=o(n,"template_replace_values"),l=u.create("div",null,n),c=u.select(".mceTmpl",l),c&&c.length>0&&(l=u.create("div",null),l.appendChild(c[0].cloneNode(!0))),s(u.select("*",l),function(t){a(t,e.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_cdate_format",e.getLang("template.cdate_format")))),a(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format")))),a(t,e.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))&&(t.innerHTML=d)}),i(l),e.execCommand("mceInsertContent",!1,l.innerHTML),e.addVisual()}var s=tinymce.each;e.addCommand("mceInsertTemplate",a),e.addButton("template",{title:"Insert template",onclick:t(n)}),e.addMenuItem("template",{text:"Template",onclick:t(n),context:"insert"}),e.on("PreProcess",function(t){var n=e.dom;s(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(s(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format"))))}),i(t))})})});
\ No newline at end of file
+tinymce.PluginManager.add("template",function(e){function t(t){return function(){var n=e.settings.templates;return"function"==typeof n?void n(t):void("string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):t(n))}}function n(t){function n(t){function n(t){if(t.indexOf("<html>")==-1){var n="";tinymce.each(e.contentCSS,function(t){n+='<link rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var i=e.settings.body_class||"";i.indexOf("=")!=-1&&(i=e.getParam("body_class","","hash"),i=i[e.id]||""),t="<!DOCTYPE html><html><head>"+n+'</head><body class="'+i+'">'+t+"</body></html>"}t=o(t,"template_preview_replace_values");var a=r.find("iframe")[0].getEl().contentWindow.document;a.open(),a.write(t),a.close()}var a=t.control.value();a.url?tinymce.util.XHR.send({url:a.url,success:function(e){i=e,n(i)}}):(i=a.content,n(i)),r.find("#description")[0].text(t.control.value().description)}var r,i,s=[];if(!t||0===t.length){var l=e.translate("No templates defined.");return void e.notificationManager.open({text:l,type:"info"})}tinymce.each(t,function(e){s.push({selected:!s.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),r=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:s,onselect:n}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){a(!1,i)},minWidth:Math.min(tinymce.DOM.getViewPort().w,e.getParam("template_popup_width",600)),minHeight:Math.min(tinymce.DOM.getViewPort().h,e.getParam("template_popup_height",500))}),r.find("listbox")[0].fire("select")}function r(t,n){function r(e,t){if(e=""+e,e.length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e}var i="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),o="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),a="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),s="January February March April May June July August September October November December".split(" ");return n=n||new Date,t=t.replace("%D","%m/%d/%Y"),t=t.replace("%r","%I:%M:%S %p"),t=t.replace("%Y",""+n.getFullYear()),t=t.replace("%y",""+n.getYear()),t=t.replace("%m",r(n.getMonth()+1,2)),t=t.replace("%d",r(n.getDate(),2)),t=t.replace("%H",""+r(n.getHours(),2)),t=t.replace("%M",""+r(n.getMinutes(),2)),t=t.replace("%S",""+r(n.getSeconds(),2)),t=t.replace("%I",""+((n.getHours()+11)%12+1)),t=t.replace("%p",""+(n.getHours()<12?"AM":"PM")),t=t.replace("%B",""+e.translate(s[n.getMonth()])),t=t.replace("%b",""+e.translate(a[n.getMonth()])),t=t.replace("%A",""+e.translate(o[n.getDay()])),t=t.replace("%a",""+e.translate(i[n.getDay()])),t=t.replace("%%","%")}function i(t){var n=e.dom,r=e.getParam("template_replace_values");s(n.select("*",t),function(e){s(r,function(t,i){n.hasClass(e,i)&&"function"==typeof r[i]&&r[i](e)})})}function o(t,n){return s(e.getParam(n),function(e,n){"function"==typeof e&&(e=e(n)),t=t.replace(new RegExp("\\{\\$"+n+"\\}","g"),e)}),t}function a(t,n){function a(e,t){return new RegExp("\\b"+t+"\\b","g").test(e.className)}var l,c,u=e.dom,d=e.selection.getContent();n=o(n,"template_replace_values"),l=u.create("div",null,n),c=u.select(".mceTmpl",l),c&&c.length>0&&(l=u.create("div",null),l.appendChild(c[0].cloneNode(!0))),s(u.select("*",l),function(t){a(t,e.getParam("template_cdate_classes","cdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_cdate_format",e.getLang("template.cdate_format")))),a(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format")))),a(t,e.getParam("template_selected_content_classes","selcontent").replace(/\s+/g,"|"))&&(t.innerHTML=d)}),i(l),e.execCommand("mceInsertContent",!1,l.innerHTML),e.addVisual()}var s=tinymce.each;e.addCommand("mceInsertTemplate",a),e.addButton("template",{title:"Insert template",onclick:t(n)}),e.addMenuItem("template",{text:"Template",onclick:t(n),context:"insert"}),e.on("PreProcess",function(t){var n=e.dom;s(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(s(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=r(e.getParam("template_mdate_format",e.getLang("template.mdate_format"))))}),i(t))})})});
\ No newline at end of file
diff --git a/src/main/webapp/static/js/tinymce4/tinymce/tinymce.min.js b/src/main/webapp/static/js/tinymce4/tinymce/tinymce.min.js
index 971c2dabbd9..4e65920fa32 100755
--- a/src/main/webapp/static/js/tinymce4/tinymce/tinymce.min.js
+++ b/src/main/webapp/static/js/tinymce4/tinymce/tinymce.min.js
@@ -8,7 +8,7 @@ deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]
 t.parentNode.insertBefore(p,t),g=!0),h=t,t=t.nextSibling,p.appendChild(h)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(u,c),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",c),f>0&&l.moveEnd("character",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(ie,[z,y,_,$,k,U],function(e,t,n,r,i,o){function a(e){return e>0}function s(e){return e<0}function l(e,t){for(var n;n=e(t);)if(!N(n))return n;return null}function u(e,n,r,i,o){var u=new t(e,i);if(s(n)){if((x(e)||N(e))&&(e=l(u.prev,!0),r(e)))return e;for(;e=l(u.prev,o);)if(r(e))return e}if(a(n)){if((x(e)||N(e))&&(e=l(u.next,!0),r(e)))return e;for(;e=l(u.next,o);)if(r(e))return e}return null}function c(e,t){for(e=e.parentNode;e&&e!=t;e=e.parentNode)if(C(e))return e;return t}function d(e,t){for(;e&&e!=t;){if(w(e))return e;e=e.parentNode}return null}function f(e,t,n){return d(e.container(),n)==d(t.container(),n)}function p(e,t,n){return c(e.container(),n)==c(t.container(),n)}function h(e,t){var n,r;return t?(n=t.container(),r=t.offset(),S(n)?n.childNodes[r+e]:null):null}function m(e,t){var n=t.ownerDocument.createRange();return e?(n.setStartBefore(t),n.setEndBefore(t)):(n.setStartAfter(t),n.setEndAfter(t)),n}function g(e,t,n){return d(t,e)==d(n,e)}function v(e,t,n){var r,i;for(i=e?"previousSibling":"nextSibling";n&&n!=t;){if(r=n[i],E(r)&&(r=r[i]),x(r)){if(g(t,r,n))return r;break}if(k(r))break;n=n.parentNode}return null}function y(e,t,r){var o,a,s,l,u=_(v,!0,t),c=_(v,!1,t);if(a=r.startContainer,s=r.startOffset,i.isCaretContainerBlock(a)){if(S(a)||(a=a.parentNode),l=a.getAttribute("data-mce-caret"),"before"==l&&(o=a.nextSibling,x(o)))return T(o);if("after"==l&&(o=a.previousSibling,x(o)))return R(o)}if(!r.collapsed)return r;if(n.isText(a)){if(E(a)){if(1===e){if(o=c(a))return T(o);if(o=u(a))return R(o)}if(e===-1){if(o=u(a))return R(o);if(o=c(a))return T(o)}return r}if(i.endsWithCaretContainer(a)&&s>=a.data.length-1)return 1===e&&(o=c(a))?T(o):r;if(i.startsWithCaretContainer(a)&&s<=1)return e===-1&&(o=u(a))?R(o):r;if(s===a.data.length)return o=c(a),o?T(o):r;if(0===s)return o=u(a),o?R(o):r}return r}function b(e,t){return x(h(e,t))}var C=n.isContentEditableTrue,x=n.isContentEditableFalse,w=n.matchStyleValues("display","block table table-cell table-caption"),E=i.isCaretContainer,N=i.isCaretContainerBlock,_=e.curry,S=n.isElement,k=o.isCaretCandidate,T=_(m,!0),R=_(m,!1);return{isForwards:a,isBackwards:s,findNode:u,getEditingHost:c,getParentBlock:d,isInSameBlock:f,isInSameEditingHost:p,isBeforeContentEditableFalse:_(b,0),isAfterContentEditableFalse:_(b,-1),normalizeRange:y}}),r(oe,[_,U,$,ie,h,z],function(e,t,n,r,i,o){function a(e,t){for(var n=[];e&&e!=t;)n.push(e),e=e.parentNode;return n}function s(e,t){return e.hasChildNodes()&&t<e.childNodes.length?e.childNodes[t]:null}function l(e,t){if(m(e)){if(v(t.previousSibling)&&!f(t.previousSibling))return n.before(t);if(f(t))return n(t,0)}if(g(e)){if(v(t.nextSibling)&&!f(t.nextSibling))return n.after(t);if(f(t))return n(t,t.data.length)}return g(e)?h(t)?n.before(t):n.after(t):n.before(t)}function u(t,i){var o;return!!e.isBr(t)&&(o=c(1,n.after(t),i),!!o&&!r.isInSameBlock(n.before(t),n.before(o),i))}function c(e,t,h){var C,x,w,E,N,_,S;if(!p(h)||!t)return null;if(S=t,C=S.container(),x=S.offset(),f(C)){if(g(e)&&x>0)return n(C,--x);if(m(e)&&x<C.length)return n(C,++x);w=C}else{if(g(e)&&x>0&&(E=s(C,x-1),v(E)))return!y(E)&&(N=r.findNode(E,e,b,E))?f(N)?n(N,N.data.length):n.after(N):f(E)?n(E,E.data.length):n.before(E);if(m(e)&&x<C.childNodes.length&&(E=s(C,x),v(E)))return u(E,h)?c(e,n.after(E),h):!y(E)&&(N=r.findNode(E,e,b,E))?f(N)?n(N,0):n.before(N):f(E)?n(E,0):n.after(E);w=S.getNode()}return(m(e)&&S.isAtEnd()||g(e)&&S.isAtStart())&&(w=r.findNode(w,e,o.constant(!0),h,!0),b(w))?l(e,w):(E=r.findNode(w,e,b,h),_=i.last(i.filter(a(C,h),d)),!_||E&&_.contains(E)?E?l(e,E):null:S=m(e)?n.after(_):n.before(_))}var d=e.isContentEditableFalse,f=e.isText,p=e.isElement,h=e.isBr,m=r.isForwards,g=r.isBackwards,v=t.isCaretCandidate,y=t.isAtomic,b=t.isEditableCaretCandidate;return function(e){return{next:function(t){return c(1,t,e)},prev:function(t){return c(-1,t,e)}}}}),r(ae,[m,oe,$],function(e,t,n){var r=function(e){var t=e.firstChild,n=e.lastChild;return t&&"meta"===t.name&&(t=t.next),n&&"mce_marker"===n.attr("id")&&(n=n.prev),!(!t||t!==n)&&("ul"===t.name||"ol"===t.name)},i=function(e){var t=e.firstChild,n=e.lastChild;return t&&"META"===t.nodeName&&t.parentNode.removeChild(t),n&&"mce_marker"===n.id&&n.parentNode.removeChild(n),e},o=function(e,t,n){var r=t.serialize(n),o=e.createFragment(r);return i(o)},a=function(t){return e.grep(t.childNodes,function(e){return"LI"===e.nodeName})},s=function(e){return!e.firstChild},l=function(e){return e.length>0&&s(e[e.length-1])?e.slice(0,-1):e},u=function(e,t){var n=e.getParent(t,e.isBlock);return n&&"LI"===n.nodeName?n:null},c=function(e,t){return!!u(e,t)},d=function(e,t){var n=t.cloneRange(),r=t.cloneRange();return n.setStartBefore(e),r.setEndAfter(e),[n.cloneContents(),r.cloneContents()]},f=function(e,r){var i=n.before(e),o=new t(r),a=o.next(i);return a?a.toRange():null},p=function(e,r){var i=n.after(e),o=new t(r),a=o.prev(i);return a?a.toRange():null},h=function(t,n,r,i){var o=d(t,i),a=t.parentNode;return a.insertBefore(o[0],t),e.each(n,function(e){a.insertBefore(e,t)}),a.insertBefore(o[1],t),a.removeChild(t),p(n[n.length-1],r)},m=function(t,n,r){var i=t.parentNode;return e.each(n,function(e){i.insertBefore(e,t)}),f(t,r)},g=function(e,t,n,r){return r.insertAfter(t.reverse(),e),p(t[0],n)},v=function(e,r,i,s){var c=o(r,e,s),d=u(r,i.startContainer),f=l(a(c.firstChild)),p=1,v=2,y=r.getRoot(),b=function(e){var o=n.fromRangeStart(i),a=new t(r.getRoot()),s=e===p?a.prev(o):a.next(o);return!s||u(r,s.getNode())!==d};return b(p)?m(d,f,y):b(v)?g(d,f,y,r):h(d,f,y,i)};return{isListFragment:r,insertAtCaret:v,isParentBlockLi:c,trimListItems:l,listItems:a}}),r(se,[d,m,P,oe,$,X,_,ae],function(e,t,n,r,i,o,a,s){var l=a.matchNodeNames("td th"),u=function(e,t,n){if("all"===n.getAttribute("data-mce-bogus"))n.parentNode.insertBefore(e.dom.createFragment(t),n);else{var r=n.firstChild,i=n.lastChild;!r||r===i&&"BR"===r.nodeName?e.dom.setHTML(n,t):e.selection.setContent(t)}},c=function(a,c,d){function f(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=L.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}function p(){var e,t,n;e=L.getRng(!0),t=e.startContainer,n=e.startOffset,3==t.nodeType&&e.collapsed&&("\xa0"===t.data[n]?(t.deleteData(n,1),/[\u00a0| ]$/.test(c)||(c+=" ")):"\xa0"===t.data[n-1]&&(t.deleteData(n-1,1),/[\u00a0| ]$/.test(c)||(c=" "+c)))}function h(){if(B){var e=a.getBody(),n=new o(M);t.each(M.select("*[data-mce-fragment]"),function(t){for(var r=t.parentNode;r&&r!=e;r=r.parentNode)D[t.nodeName.toLowerCase()]&&n.compare(r,t)&&M.remove(t,!0)})}}function m(e){for(var t=e;t=t.walk();)1===t.type&&t.attr("data-mce-fragment","1")}function g(e){t.each(e.getElementsByTagName("*"),function(e){e.removeAttribute("data-mce-fragment")})}function v(e){return!!e.getAttribute("data-mce-fragment")}function y(e){return e&&!a.schema.getShortEndedElements()[e.nodeName]}function b(t){function n(e){for(var t=a.getBody();e&&e!==t;e=e.parentNode)if("false"===a.dom.getContentEditable(e))return e;return null}function o(e){var t=i.fromRangeStart(e),n=new r(a.getBody());if(t=n.next(t))return t.toRange()}var s,u,c;if(t){if(L.scrollIntoView(t),s=n(t))return M.remove(t),void L.select(s);k=M.createRng(),T=t.previousSibling,T&&3==T.nodeType?(k.setStart(T,T.nodeValue.length),e.ie||(R=t.nextSibling,R&&3==R.nodeType&&(T.appendData(R.data),R.parentNode.removeChild(R)))):(k.setStartBefore(t),k.setEndBefore(t)),u=M.getParent(t,M.isBlock),M.remove(t),u&&M.isEmpty(u)&&(a.$(u).empty(),k.setStart(u,0),k.setEnd(u,0),l(u)||v(u)||!(c=o(k))?M.add(u,M.create("br",{"data-mce-bogus":"1"})):(k=c,M.remove(u))),L.setRng(k)}}var C,x,w,E,N,_,S,k,T,R,A,B,D=a.schema.getTextInlineElements(),L=a.selection,M=a.dom;/^ | $/.test(c)&&(c=f(c)),C=a.parser,B=d.merge,x=new n({validate:a.settings.validate},a.schema),A='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',_={content:c,format:"html",selection:!0},a.fire("BeforeSetContent",_),c=_.content,c.indexOf("{$caret}")==-1&&(c+="{$caret}"),c=c.replace(/\{\$caret\}/,A),k=L.getRng();var P=k.startContainer||(k.parentElement?k.parentElement():null),O=a.getBody();P===O&&L.isCollapsed()&&M.isBlock(O.firstChild)&&y(O.firstChild)&&M.isEmpty(O.firstChild)&&(k=M.createRng(),k.setStart(O.firstChild,0),k.setEnd(O.firstChild,0),L.setRng(k)),L.isCollapsed()||(a.selection.setRng(a.selection.getRng()),a.getDoc().execCommand("Delete",!1,null),p()),w=L.getNode();var H={context:w.nodeName.toLowerCase(),data:d.data};if(N=C.parse(c,H),d.paste===!0&&s.isListFragment(N)&&s.isParentBlockLi(M,w))return k=s.insertAtCaret(x,M,a.selection.getRng(!0),N),a.selection.setRng(k),void a.fire("SetContent",_);if(m(N),T=N.lastChild,"mce_marker"==T.attr("id"))for(S=T,T=T.prev;T;T=T.walk(!0))if(3==T.type||!M.isBlock(T.name)){a.schema.isValidChild(T.parent.name,"span")&&T.parent.insert(S,T,"br"===T.name);break}if(a._selectionOverrides.showBlockCaretContainer(w),H.invalid){for(L.setContent(A),w=L.getNode(),E=a.getBody(),9==w.nodeType?w=T=E:T=w;T!==E;)w=T,T=T.parentNode;c=w==E?E.innerHTML:M.getOuterHTML(w),c=x.serialize(C.parse(c.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return x.serialize(N)}))),w==E?M.setHTML(E,c):M.setOuterHTML(w,c)}else c=x.serialize(N),u(a,c,w);h(),b(M.get("mce_marker")),g(a.getBody()),a.fire("SetContent",_),a.addVisual()},d=function(e){var n;return"string"!=typeof e?(n=t.extend({paste:e.paste,data:{paste:e.paste}},e),{content:e.content,details:n}):{content:e,details:{}}},f=function(e,t){var n=d(t);c(e,n.content,n.details)};return{insertAtCaret:f}}),r(le,[d,m,T,y,se,_],function(e,n,r,i,o,a){var s=n.each,l=n.extend,u=n.map,c=n.inArray,d=n.explode,f=e.ie&&e.ie<11,p=!0,h=!1;return function(n){function m(e,t,r,i){var o,a,l=0;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||i&&i.skip_focus||n.focus(),i=n.fire("BeforeExecCommand",{command:e,ui:t,value:r}),i.isDefaultPrevented())return!1;if(a=e.toLowerCase(),o=D.exec[a])return o(a,t,r),n.fire("ExecCommand",{command:e,ui:t,value:r}),!0;if(s(n.plugins,function(i){if(i.execCommand&&i.execCommand(e,t,r))return n.fire("ExecCommand",{command:e,ui:t,value:r}),l=!0,!1}),l)return l;if(n.theme&&n.theme.execCommand&&n.theme.execCommand(e,t,r))return n.fire("ExecCommand",{command:e,ui:t,value:r}),!0;try{l=n.getDoc().execCommand(e,t,r)}catch(u){}return!!l&&(n.fire("ExecCommand",{command:e,ui:t,value:r}),!0)}function g(e){var t;if(!n.quirks.isHidden()){if(e=e.toLowerCase(),t=D.state[e])return t(e);try{return n.getDoc().queryCommandState(e)}catch(r){}return!1}}function v(e){var t;if(!n.quirks.isHidden()){if(e=e.toLowerCase(),t=D.value[e])return t(e);try{return n.getDoc().queryCommandValue(e)}catch(r){}}}function y(e,t){t=t||"exec",s(e,function(e,n){s(n.toLowerCase().split(","),function(n){D[t][n]=e})})}function b(e,t,r){e=e.toLowerCase(),D.exec[e]=function(e,i,o,a){return t.call(r||n,i,o,a)}}function C(e){if(e=e.toLowerCase(),D.exec[e])return!0;try{return n.getDoc().queryCommandSupported(e)}catch(t){}return!1}function x(e,t,r){e=e.toLowerCase(),D.state[e]=function(){return t.call(r||n)}}function w(e,t,r){e=e.toLowerCase(),D.value[e]=function(){return t.call(r||n)}}function E(e){return e=e.toLowerCase(),!!D.exec[e]}function N(e,r,i){return r===t&&(r=h),i===t&&(i=null),n.getDoc().execCommand(e,r,i)}function _(e){return B.match(e)}function S(e,r){B.toggle(e,r?{value:r}:t),n.nodeChanged()}function k(e){M=A.getBookmark(e)}function T(){A.moveToBookmark(M)}var R,A,B,D={state:{},exec:{},value:{}},L=n.settings,M;n.on("PreInit",function(){R=n.dom,A=n.selection,L=n.settings,B=n.formatter}),l(this,{execCommand:m,queryCommandState:g,queryCommandValue:v,queryCommandSupported:C,addCommands:y,addCommand:b,addQueryStateHandler:x,addQueryValueHandler:w,hasCustomCommand:E}),y({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){n.undoManager.add()},"Cut,Copy,Paste":function(t){var r=n.getDoc(),i;try{N(t)}catch(o){i=p}if("paste"!==t||r.queryCommandEnabled(t)||(i=!0),i||!r.queryCommandSupported(t)){var a=n.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");e.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),n.notificationManager.open({text:a,type:"error"})}},unlink:function(){if(A.isCollapsed()){var e=n.dom.getParent(n.selection.getStart(),"a");return void(e&&n.dom.remove(e,!0))}B.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone":function(e){var t=e.substring(7);"full"==t&&(t="justify"),s("left,center,right,justify".split(","),function(e){t!=e&&B.remove("align"+e)}),"none"!=t&&S("align"+t)},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;N(e),t=R.getParent(A.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(k(),R.split(n,t),T()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){S(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){S(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&n<=7&&(i=d(L.font_size_style_values),r=d(L.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),S(e,n)},RemoveFormat:function(e){B.remove(e)},mceBlockQuote:function(){S("blockquote")},FormatBlock:function(e,t,n){return S(n||"p")},mceCleanup:function(){var e=A.getBookmark();n.setContent(n.getContent({cleanup:p}),{cleanup:p}),A.moveToBookmark(e)},mceRemoveNode:function(e,t,r){var i=r||A.getNode();i!=n.getBody()&&(k(),n.dom.remove(i,p),T())},mceSelectNodeDepth:function(e,t,r){var i=0;R.getParent(A.getNode(),function(e){if(1==e.nodeType&&i++==r)return A.select(e),h},n.getBody())},mceSelectNode:function(e,t,n){A.select(n)},mceInsertContent:function(e,t,r){o.insertAtCaret(n,r)},mceInsertRawHTML:function(e,t,r){A.setContent("tiny_mce_marker"),n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return r}))},mceToggleFormat:function(e,t,n){S(n)},mceSetContent:function(e,t,r){n.setContent(r)},"Indent,Outdent":function(e){var t,r,i;t=L.indentation,r=/[a-z%]+$/i.exec(t),t=parseInt(t,10),g("InsertUnorderedList")||g("InsertOrderedList")?N(e):(L.forced_root_block||R.getParent(A.getNode(),R.isBlock)||B.apply("div"),s(A.getSelectedBlocks(),function(o){if("false"!==R.getContentEditable(o)&&"LI"!==o.nodeName){var a=n.getParam("indent_use_margin",!1)?"margin":"padding";a="TABLE"===o.nodeName?"margin":a,a+="rtl"==R.getStyle(o,"direction",!0)?"Right":"Left","outdent"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),R.setStyle(o,a,i?i+r:"")):(i=parseInt(o.style[a]||0,10)+t+r,R.setStyle(o,a,i))}}))},mceRepaint:function(){},InsertHorizontalRule:function(){n.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual,n.addVisual()},mceReplaceContent:function(e,t,r){n.execCommand("mceInsertContent",!1,r.replace(/\{\$selection\}/g,A.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=R.getParent(A.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||B.remove("link"),n.href&&B.apply("link",n,r)},selectAll:function(){var e=R.getRoot(),t;if(A.getRng().setStart){var n=R.getParent(A.getStart(),a.isContentEditableTrue);n&&(t=R.createRng(),t.selectNodeContents(n),A.setRng(t))}else t=A.getRng(),t.item||(t.moveToElementText(e),t.select())},"delete":function(){N("Delete");var e=n.getBody();R.isEmpty(e)&&(n.setContent(""),e.firstChild&&R.isBlock(e.firstChild)?n.selection.setCursorLocation(e.firstChild,0):n.selection.setCursorLocation(e,0))},mceNewDocument:function(){n.setContent("")},InsertLineBreak:function(e,t,o){function a(){for(var e=new i(m,v),t,r=n.schema.getNonEmptyElements();t=e.next();)if(r[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=o,l,u,c,d=A.getRng(!0);new r(R).normalize(d);var h=d.startOffset,m=d.startContainer;if(1==m.nodeType&&m.hasChildNodes()){var g=h>m.childNodes.length-1;m=m.childNodes[Math.min(h,m.childNodes.length-1)]||m,h=g&&3==m.nodeType?m.nodeValue.length:0}var v=R.getParent(m,R.isBlock),y=v?v.nodeName.toUpperCase():"",b=v?R.getParent(v.parentNode,R.isBlock):null,C=b?b.nodeName.toUpperCase():"",x=s&&s.ctrlKey;"LI"!=C||x||(v=b,y=C),m&&3==m.nodeType&&h>=m.nodeValue.length&&(f||a()||(l=R.create("br"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),u=!0)),l=R.create("br"),d.insertNode(l);var w=R.doc.documentMode;return f&&"PRE"==y&&(!w||w<8)&&l.parentNode.insertBefore(R.doc.createTextNode("\r"),l),c=R.create("span",{},"&nbsp;"),l.parentNode.insertBefore(c,l),A.scrollIntoView(c),R.remove(c),u?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),A.setRng(d),n.undoManager.add(),p}}),y({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=A.isCollapsed()?[R.getParent(A.getNode(),R.isBlock)]:A.getSelectedBlocks(),r=u(n,function(e){return!!B.matchNode(e,t)});return c(r,p)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return _(e)},mceBlockQuote:function(){return _("blockquote")},Outdent:function(){var e;if(L.inline_styles){if((e=R.getParent(A.getStart(),R.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return p;if((e=R.getParent(A.getEnd(),R.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return p}return g("InsertUnorderedList")||g("InsertOrderedList")||!L.inline_styles&&!!R.getParent(A.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=R.getParent(A.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),y({"FontSize,FontName":function(e){var t=0,n;return(n=R.getParent(A.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),y({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}),r(ue,[m],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(a.source=e);var u=0===e.indexOf("//");0!==e.indexOf("/")||u||(e=(s?s.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,""===o.base_uri.protocol?e="//mce_host"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||"http")+"://mce_host"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||"mce_host"!==a.host||(a.port=s.port),a.host&&"mce_host"!==a.host||(a.host=s.host),a.source=""),u&&(a.protocol="")}var n=e.each,r=e.trim,i="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;o<a;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;o<a;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);o<a;o++)i+="../";for(o=r-1,a=n.length;o<a;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=r<=0?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return n.source&&!e||(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t.parseDataUri=function(e){var t,n;return e=decodeURIComponent(e).split(","),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}},t.getDocumentBaseUrl=function(e){var t;return t=0!==e.protocol.indexOf("http")&&"file:"!==e.protocol?e.href:e.protocol+"//"+e.host+e.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(t)&&(t=t.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(t)||(t+="/")),t},t}),r(ce,[m],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=u[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,u=l.prototype,c,d,f;o=!0,c=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){for(var n in t)"init"!==n&&(e[n]=t[n])}),u.Mixins&&(e.Mixins=u.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&u.Defaults&&(e.Defaults=r({},u.Defaults,e.Defaults));for(d in e)f=e[d],"function"==typeof f&&u[d]?c[d]=s(d,f):c[d]=f;return t.prototype=c,t.constructor=t,t.extend=i,t},t}),r(de,[m],function(e){function t(t){function n(){return!1}function r(){return!0}function i(e,i){var o,s,l,u;if(e=e.toLowerCase(),i=i||{},i.type=e,i.target||(i.target=c),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=r},i.stopPropagation=function(){i.isPropagationStopped=r},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=r},i.isDefaultPrevented=n,i.isPropagationStopped=n,i.isImmediatePropagationStopped=n),t.beforeFire&&t.beforeFire(i),o=d[e])for(s=0,l=o.length;s<l;s++){if(u=o[s],u.once&&a(e,u.func),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(u.func.call(c,i)===!1)return i.preventDefault(),i}return i}function o(t,r,i,o){var a,s,l;if(r===!1&&(r=n),r)for(r={func:r},o&&e.extend(r,o),s=t.toLowerCase().split(" "),l=s.length;l--;)t=s[l],a=d[t],a||(a=d[t]=[],f(t,!0)),i?a.unshift(r):a.push(r);return u}function a(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(" "),n=o.length;n--;){if(e=o[n],r=d[e],!e){for(i in d)f(i,!1),delete d[i];return u}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),d[e]=r);else r.length=0;r.length||(f(e,!1),delete d[e])}}else{for(e in d)f(e,!1);d={}}return u}function s(e,t,n){return o(e,t,n,{once:!0})}function l(e){return e=e.toLowerCase(),!(!d[e]||0===d[e].length)}var u=this,c,d={},f;t=t||{},c=t.scope||u,f=t.toggleEvent||n,u.fire=i,u.on=o,u.off=a,u.once=s,u.has=l}var n=e.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend"," ");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(fe,[],function(){function e(e){this.create=e.create}return e.create=function(t,n){return new e({create:function(e,r){function i(t){e.set(r,t.value)}function o(e){t.set(n,e.value)}var a;return e.on("change:"+r,o),t.on("change:"+n,i),a=e._bindings,a||(a=e._bindings=[],e.on("destroy",function(){for(var e=a.length;e--;)a[e]()})),a.push(function(){t.off("change:"+n,i)}),t.get(n)}})},e}),r(pe,[de],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&"remove"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(he,[fe,pe,ce,m],function(e,t,n,r){function i(e){return e.nodeType>0}function o(e,t){var n,a;if(e===t)return!0;if(null===e||null===t)return e===t;if("object"!=typeof e||"object"!=typeof t)return e===t;if(r.isArray(t)){if(e.length!==t.length)return!1;for(n=e.length;n--;)if(!o(e[n],t[n]))return!1}if(i(e)||i(t))return e===t;a={};for(n in t){if(!o(e[n],t[n]))return!1;a[n]=!0}for(n in e)if(!a[n]&&!o(e[n],t[n]))return!1;return!0}return n.extend({Mixins:[t],init:function(t){var n,r;t=t||{};for(n in t)r=t[n],r instanceof e&&(t[n]=r.create(this,n));this.data=t},set:function(t,n){var r,i,a=this.data[t];if(n instanceof e&&(n=n.create(this,t)),"object"==typeof t){for(r in t)this.set(r,t[r]);return this}return o(a,n)||(this.data[t]=n,i={target:this,name:t,value:n,oldValue:a},this.fire("change:"+t,i),this.fire("change",i)),this},get:function(e){return this.data[e]},has:function(e){return e in this.data},bind:function(t){return e.create(this,t)},destroy:function(){this.fire("destroy")}})}),r(me,[ce],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){if(e)return e=e.toLowerCase(),function(t){return"*"===e||t.type===e}}function o(e){if(e)return function(t){return t._name===e}}function a(e){if(e)return e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.classes.contains(e[n]))return!1;return!0}}function s(e,t,n){if(e)return function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t&&i.substr(i.length-n.length)===n:!!n}}function l(e){var t;if(e)return e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=c(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:!!t[e]&&t[e]()})}function u(e,r,u){function c(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),c(t(d[1])),c(o(d[2])),c(a(d[3])),c(s(d[4],d[5],d[6])),c(l(d[7])),r.pseudo=!!d[7],r.direct=u,r}function c(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&c(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(u(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=c(e,[])},match:function(e,t){var n,r,i,o,a,s,l,u,c,d,f,p,h;for(t=t||this._selectors,n=0,r=t.length;n<r;n++){for(a=t[n],o=a.length,h=e,p=0,i=o-1;i>=0;i--)for(u=a[i];h;){if(u.pseudo)for(f=h.parent().items(),c=d=f.length;c--&&f[c]!==h;);for(s=0,l=u.length;s<l;s++)if(!u[s](h,c,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;h=h.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,u,c=t[i];for(o=0,a=e.length;o<a;o++){for(u=e[o],s=0,l=c.length;s<l;s++)if(!c[s](u,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(u):u.items&&n(u.items(),t,i+1);else if(c.direct)return;u.items&&n(u.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;i<s;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(ge,[m,me,ce],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;r<n;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;i<o;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return e===-1?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return!!this[0]&&this[0].classes.contains(e)},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this},addClass:function(e){return this.each(function(t){t.classes.add(e)})},removeClass:function(e){return this.each(function(t){t.classes.remove(e)})}},e.each("fire on off show hide append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(ve,[d,m,w],function(e,t,n){var r=0,i={id:function(){return"mceu_"+r++},create:function(e,r,i){var o=document.createElement(e);return n.DOM.setAttribs(o,r),"string"==typeof i?o.innerHTML=i:t.each(i,function(e){e.nodeType&&o.appendChild(e)}),o},createFragment:function(e){return n.DOM.createFragment(e)},getWindowSize:function(){return n.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,t){return n.DOM.getPos(e,t||i.getContainer())},getContainer:function(){return e.container?e.container:document.body},getViewPort:function(e){return n.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,t){return n.DOM.addClass(e,t)},removeClass:function(e,t){return n.DOM.removeClass(e,t)},hasClass:function(e,t){return n.DOM.hasClass(e,t)},toggleClass:function(e,t,r){return n.DOM.toggleClass(e,t,r)},css:function(e,t,r){return n.DOM.setStyle(e,t,r)},getRuntimeStyle:function(e,t){return n.DOM.getStyle(e,t,!0)},on:function(e,t,r,i){
 return n.DOM.bind(e,t,r,i)},off:function(e,t,r){return n.DOM.unbind(e,t,r)},fire:function(e,t,r){return n.DOM.fire(e,t,r)},innerHtml:function(e,t){n.DOM.setHTML(e,t)}};return i}),r(ye,[],function(){return{parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}}}}),r(be,[m],function(e){function t(){}function n(e){this.cls=[],this.cls._map={},this.onchange=e||t,this.prefix=""}return e.extend(n.prototype,{add:function(e){return e&&!this.contains(e)&&(this.cls._map[e]=!0,this.cls.push(e),this._change()),this},remove:function(e){if(this.contains(e)){for(var t=0;t<this.cls.length&&this.cls[t]!==e;t++);this.cls.splice(t,1),delete this.cls._map[e],this._change()}return this},toggle:function(e,t){var n=this.contains(e);return n!==t&&(n?this.remove(e):this.add(e),this._change()),this},contains:function(e){return!!this.cls._map[e]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),n.prototype.toString=function(){var e;if(this.clsValue)return this.clsValue;e="";for(var t=0;t<this.cls.length;t++)t>0&&(e+=" "),e+=this.prefix+this.cls[t];return e},n}),r(Ce,[c],function(e){var t={},n;return{add:function(r){var i=r.parent();if(i){if(!i._layout||i._layout.isNative())return;t[i._id]||(t[i._id]=i),n||(n=!0,e.requestAnimationFrame(function(){var e,r;n=!1;for(e in t)r=t[e],r.state.get("rendered")&&r.reflow();t={}},document.body))}},remove:function(e){t[e._id]&&delete t[e._id]}}}),r(xe,[ce,m,de,he,ge,ve,g,ye,be,Ce],function(e,t,n,r,i,o,a,s,l,u){function c(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e.state.get("rendered")&&d(e))}})),e._eventDispatcher}function d(e){function t(t){var n=e.getParentCtrl(t.target);n&&n.fire(t.type,t)}function n(){var e=u._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),u._lastHoverCtrl=null)}function r(t){var n=e.getParentCtrl(t.target),r=u._lastHoverCtrl,i=0,o,a,s;if(n!==r){if(u._lastHoverCtrl=n,a=n.parents().toArray().reverse(),a.push(n),r){for(s=r.parents().toArray().reverse(),s.push(r),i=0;i<s.length&&a[i]===s[i];i++);for(o=s.length-1;o>=i;o--)r=s[o],r.fire("mouseleave",{target:r.getEl()})}for(o=i;o<a.length;o++)n=a[o],n.fire("mouseenter",{target:n.getEl()})}}function i(t){t.preventDefault(),"mousewheel"==t.type?(t.deltaY=-.025*t.wheelDelta,t.wheelDeltaX&&(t.deltaX=-.025*t.wheelDeltaX)):(t.deltaX=0,t.deltaY=t.detail),t=e.fire("wheel",t)}var o,s,l,u,c,d;if(c=e._nativeEvents){for(l=e.parents().toArray(),l.unshift(e),o=0,s=l.length;!u&&o<s;o++)u=l[o]._eventsRoot;for(u||(u=l[l.length-1]||e),e._eventsRoot=u,s=o,o=0;o<s;o++)l[o]._eventsRoot=u;var h=u._delegates;h||(h=u._delegates={});for(d in c){if(!c)return!1;"wheel"!==d||p?("mouseenter"===d||"mouseleave"===d?u._hasMouseEnter||(a(u.getEl()).on("mouseleave",n).on("mouseover",r),u._hasMouseEnter=1):h[d]||(a(u.getEl()).on(d,t),h[d]=!0),c[d]=!1):f?a(e.getEl()).on("mousewheel",i):a(e.getEl()).on("DOMMouseScroll",i)}}}var f="onmousewheel"in document,p=!1,h="mce-",m,g=0,v={Statics:{classPrefix:h},isRtl:function(){return m.rtl},classPrefix:h,init:function(e){function n(e){var t;for(e=e.split(" "),t=0;t<e.length;t++)i.classes.add(e[t])}var i=this,o,u;i.settings=e=t.extend({},i.Defaults,e),i._id=e.id||"mceu_"+g++,i._aria={role:e.role},i._elmCache={},i.$=a,i.state=new r({visible:!0,active:!1,disabled:!1,value:""}),i.data=new r(e.data),i.classes=new l(function(){i.state.get("rendered")&&(i.getEl().className=this.toString())}),i.classes.prefix=i.classPrefix,o=e.classes,o&&(i.Defaults&&(u=i.Defaults.classes,u&&o!=u&&n(u)),n(o)),t.each("title text name visible disabled active value".split(" "),function(t){t in e&&i[t](e[t])}),i.on("click",function(){if(i.disabled())return!1}),i.settings=e,i.borderBox=s.parseBox(e.border),i.paddingBox=s.parseBox(e.padding),i.marginBox=s.parseBox(e.margin),e.hidden&&i.hide()},Properties:"parent,name",getContainerElm:function(){return o.getContainer()},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},initLayoutRect:function(){var e=this,t=e.settings,n,r,i=e.getEl(),a,l,u,c,d,f,p,h;n=e.borderBox=e.borderBox||s.measureBox(i,"border"),e.paddingBox=e.paddingBox||s.measureBox(i,"padding"),e.marginBox=e.marginBox||s.measureBox(i,"margin"),h=o.getSize(i),f=t.minWidth,p=t.minHeight,u=f||h.width,c=p||h.height,a=t.width,l=t.height,d=t.autoResize,d="undefined"!=typeof d?d:!a&&!l,a=a||u,l=l||c;var m=n.left+n.right,g=n.top+n.bottom,v=t.maxWidth||65535,y=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:l,deltaW:m,deltaH:g,contentW:a-m,contentH:l-g,innerW:a-m,innerH:l-g,startMinWidth:f||0,startMinHeight:p||0,minW:Math.min(u,v),minH:Math.min(c,y),maxW:v,maxH:y,autoResize:d,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,r.x===n.x&&r.y===n.y&&r.w===n.w&&r.h===n.h||(l=m.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o,a,s,l,u,c;u=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,i=e._layoutRect,l=e._lastRepaintRect||{},o=e.borderBox,a=o.left+o.right,s=o.top+o.bottom,i.x!==l.x&&(t.left=u(i.x)+"px",l.x=i.x),i.y!==l.y&&(t.top=u(i.y)+"px",l.y=i.y),i.w!==l.w&&(c=u(i.w-a),t.width=(c>=0?c:0)+"px",l.w=i.w),i.h!==l.h&&(c=u(i.h-s),t.height=(c>=0?c:0)+"px",l.h=i.h),e._hasBody&&i.innerW!==l.innerW&&(c=u(i.innerW),r=e.getEl("body"),r&&(n=r.style,n.width=(c>=0?c:0)+"px"),l.innerW=i.innerW),e._hasBody&&i.innerH!==l.innerH&&(c=u(i.innerH),r=r||e.getEl("body"),r&&(n=n||r.style,n.height=(c>=0?c:0)+"px"),l.innerH=i.innerH),e._lastRepaintRect=l,e.fire("repaint",{},!1)},updateLayoutRect:function(){var e=this;e.parent()._lastRect=null,o.css(e.getEl(),{width:"",height:""}),e._layoutRect=e._lastRepaintRect=e._lastLayoutRect=null,e.initLayoutRect()},on:function(e,t){function n(e){var t,n;return"string"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;if(i&&(t=i[e]))return n=r,!1}),t?t.call(n,i):(i.action=e,void this.fire("execute",i))}}var r=this;return c(r).on(e,n(t)),r},off:function(e,t){return c(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=c(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return c(this).has(e)},parents:function(e){var t=this,n,r=new i;for(n=t.parent();n;n=n.parent())r.add(n);return e&&(r=r.filter(e)),r},parentsAndSelf:function(e){return new i(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},innerHtml:function(e){return this.$el.html(e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=a("#"+t)[0]),this._elmCache[t]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n.state.get("rendered")&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return m.translate?m.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,i;if(e.items){var o=e.items().toArray();for(i=o.length;i--;)o[i].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&a(t).off();var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e.state.set("rendered",!1),e.state.destroy(),e.fire("remove"),e},renderBefore:function(e){return a(e).before(this.renderHtml()),this.postRender(),this},renderTo:function(e){return a(e||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'"></div>'},postRender:function(){var e=this,t=e.settings,n,r,i,o,s;e.$el=a(e.getEl()),e.state.set("rendered",!0);for(o in t)0===o.indexOf("on")&&e.on(o.substr(2),t[o]);if(e._eventsRoot){for(i=e.parent();!s&&i;i=i.parent())s=i._eventsRoot;if(s)for(o in s._nativeEvents)e._nativeEvents[o]=!0}d(e),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e.settings.border&&(r=e.borderBox,e.$el.css({"border-top-width":r.top,"border-right-width":r.right,"border-bottom-width":r.bottom,"border-left-width":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.state.get("visible")===!1&&(e.getEl().style.display="none"),e.bindStates(),e.state.on("change:visible",function(t){var n=t.value,r;e.state.get("rendered")&&(e.getEl().style.display=n===!1?"none":"",e.getEl().getBoundingClientRect()),r=e.parent(),r&&(r._lastRect=null),e.fire(n?"show":"hide"),u.add(e)}),e.fire("postrender",{},!1)},bindStates:function(){},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,u,c=t(n,r);return i=c.x,o=c.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,u=r.clientHeight,"end"==e?(i-=l-a,o-=u-s):"center"==e&&(i-=l/2-a/2,o-=u/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){u.remove(this);var e=this.parent();return e._layout&&!e._layout.isNative()&&e.reflow(),this}};return t.each("text title visible disabled active value".split(" "),function(e){v[e]=function(t){return 0===arguments.length?this.state.get(e):("undefined"!=typeof t&&this.state.set(e,t),this)}}),m=e.extend(v)}),r(we,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if("string"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(Ee,[],function(){return function(e){function t(e){return e&&1===e.nodeType}function n(e){return e=e||C,t(e)?e.getAttribute("role"):null}function r(e){for(var t,r=e||C;r=r.parentNode;)if(t=n(r))return t}function i(e){var n=C;if(t(n))return n.getAttribute("aria-"+e)}function o(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t||"SELECT"==t}function a(e){return!(!o(e)||e.hidden)||!!/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(n(e))}function s(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display&&!e.disabled){a(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||b.getEl()),n}function l(e){var t,n;e=e||x,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function u(e){var t=l(e),n=s(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return e<0?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function d(e,t){var n=-1,r=l();t=t||s(r.getEl());for(var i=0;i<t.length;i++)t[i]===C&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function f(){var e=r();"tablist"==e?d(-1,s(C.parentNode)):x.parent().submenu?v():d(-1)}function p(){var e=n(),t=r();"tablist"==t?d(1,s(C.parentNode)):"menuitem"==e&&"menu"==t&&i("haspopup")?y():d(1)}function h(){d(-1)}function m(){var e=n(),t=r();"menuitem"==e&&"menubar"==t?y():"button"==e&&i("haspopup")?y({key:"down"}):d(1)}function g(e){var t=r();if("tablist"==t){var n=s(x.getEl("body"))[0];n&&n.focus()}else d(e.shiftKey?-1:1)}function v(){x.fire("cancel")}function y(e){e=e||{},x.fire("click",{target:C,aria:e})}var b=e.root,C,x;try{C=document.activeElement}catch(w){C=document.body}return x=b.getParentCtrl(C),b.on("keydown",function(e){function t(e,t){o(C)||"slider"!==n(C)&&t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,f);break;case 39:t(e,p);break;case 38:t(e,h);break;case 40:t(e,m);break;case 27:v();break;case 14:case 13:case 32:t(e,y);break;case 9:g(e)!==!1&&e.preventDefault()}}),b.on("focusin",function(e){C=e.target,x=e.control}),{focusFirst:u}}}),r(Ne,[xe,ge,me,we,Ee,m,g,be,Ce],function(e,t,n,r,i,o,a,s,l){var u={};return e.extend({init:function(e){var n=this;n._super(e),e=n.settings,e.fixed&&n.state.set("fixed",!0),n._items=new t,n.isRtl()&&n.classes.add("rtl"),n.bodyClasses=new s(function(){n.state.get("rendered")&&(n.getEl("body").className=this.toString())}),n.bodyClasses.prefix=n.classPrefix,n.classes.add("container"),n.bodyClasses.add("container-body"),e.containerCls&&n.classes.add(e.containerCls),n._layout=r.create((e.layout||"")+"layout"),n.settings.items?n.add(n.settings.items):n.add(n.render()),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=u[e]=u[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r;t.parent(e),t.state.get("rendered")||(r=e.getEl("body"),r.hasChildNodes()&&n<=r.childNodes.length-1?a(r.childNodes[n]).before(t.renderHtml()):a(r).append(t.renderHtml()),t.postRender(),l.add(t))}),e._layout.applyClasses(e.items().filter(":visible")),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e.state.set("rendered",!0),e.settings.style&&e.$el.css(e.settings.style),e.settings.border&&(t=e.borderBox,e.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;if(!n||n.w!=t.w||n.h!=t.h)return e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0},reflow:function(){var t;if(l.remove(this),this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(_e,[g],function(e){function t(e){var t,n,r,i,o,a,s,l,u=Math.max;return t=e.documentElement,n=e.body,r=u(t.scrollWidth,n.scrollWidth),i=u(t.clientWidth,n.clientWidth),o=u(t.offsetWidth,n.offsetWidth),a=u(t.scrollHeight,n.scrollHeight),s=u(t.clientHeight,n.clientHeight),l=u(t.offsetHeight,n.offsetHeight),{width:r<o?i:r,height:a<l?s:a}}function n(e){var t,n;if(e.changedTouches)for(t="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n<t.length;n++)e[t[n]]=e.changedTouches[0][t[n]]}return function(r,i){function o(){return s.getElementById(i.handle||r)}var a,s=i.document||document,l,u,c,d,f,p;i=i||{},u=function(r){var u=t(s),h,m;n(r),r.preventDefault(),l=r.button,h=o(),f=r.screenX,p=r.screenY,m=window.getComputedStyle?window.getComputedStyle(h,null).getPropertyValue("cursor"):h.runtimeStyle.cursor,a=e("<div></div>").css({position:"absolute",top:0,left:0,width:u.width,height:u.height,zIndex:2147483647,opacity:1e-4,cursor:m}).appendTo(s.body),e(s).on("mousemove touchmove",d).on("mouseup touchend",c),i.start(r)},d=function(e){return n(e),e.button!==l?c(e):(e.deltaX=e.screenX-f,e.deltaY=e.screenY-p,e.preventDefault(),void i.drag(e))},c=function(t){n(t),e(s).off("mousemove touchmove",d).off("mouseup touchend",c),a.remove(),i.stop&&i.stop(t)},this.destroy=function(){e(o()).off()},e(o()).on("mousedown touchstart",u)}}),r(Se,[g,_e],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,u,c){var d,f,p,h,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),e(i.getEl("absend")).css(y,i.layoutRect()[l]-1),!u)return void e(f).css("display","none");e(f).css("display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),h=d["client"+s]-2*o,h-=n&&r?f["client"+c]:0,m=d["scroll"+s],g=h/m,v={},v[y]=d["offset"+a]+o,v[b]=h,e(f).css(v),v={},v[y]=d["scroll"+a]*g,v[b]=h*g,e(p).css(v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var u,c=i._id+"-scroll"+n,d=i.classPrefix;e(i.getEl()).append('<div id="'+c+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+c+'t" class="'+d+'scrollbar-thumb"></div></div>'),i.draghelper=new t(c+"t",{start:function(){u=i.getEl("body")["scroll"+r],e("#"+c).addClass(d+"active")},drag:function(e){var t,c,d,f,p=i.layoutRect();c=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=c&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=u+e["delta"+s]/t},stop:function(){e("#"+c).removeClass(d+"active")}})}i.classes.add("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e(i.getEl("body")).on("scroll",n)),n())}}}),r(ke,[Ne,Se],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(Te,[ve],function(e){function t(t,n,r){var i,o,a,s,l,u,c,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t.state.get("fixed")&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,u=p.height,p=e.getSize(n),c=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=c),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(c/2)),"b"===r[3]&&(s-=u),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(u/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:u}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this.state.get("fixed")){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return e<0?0:e+n>t?(e=t-n,e<0?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i.state.get("rendered")?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(Re,[ve],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(t<=1||n<=1){var r=e.getWindowSize();t=t<=1?t*r.w:t,n=n<=1?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(Ae,[ke,Te,Re,ve,g,c],function(e,t,n,r,i,o){function a(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function s(e){for(var t=v.length;t--;){var n=v[t],r=n.getParentCtrl(e.target);if(n.settings.autohide){if(r&&(a(r,n)||n.parent()===r))continue;e=n.fire("autohide",{target:e.target}),e.isDefaultPrevented()||n.hide()}}}function l(){h||(h=function(e){2!=e.button&&s(e)},i(document).on("click touchstart",h))}function u(){m||(m=function(){var e;for(e=v.length;e--;)d(v[e])},i(window).on("scroll",m))}function c(){if(!g){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;g=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,C.hideAll())},i(window).on("resize",g)}}function d(e){function t(t,n){for(var r,i=0;i<v.length;i++)if(v[i]!=e)for(r=v[i].parent();r&&(r=r.parent());)r==e&&v[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e.state.get("fixed")?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function f(e,t){var n,r=C.zIndex||65535,o;if(e)y.push(t);else for(n=y.length;n--;)y[n]===t&&y.splice(n,1);if(y.length)for(n=0;n<y.length;n++)y[n].modal&&(r++,o=y[n]),y[n].getEl().style.zIndex=r,y[n].zIndex=r,r++;var a=i("#"+t.classPrefix+"modal-block",t.getContainerElm())[0];o?i(a).css("z-index",o.zIndex-1):a&&(a.parentNode.removeChild(a),b=!1),C.currentZIndex=r}function p(e){var t;for(t=v.length;t--;)v[t]===e&&v.splice(t,1);for(t=y.length;t--;)y[t]===e&&y.splice(t,1)}var h,m,g,v=[],y=[],b,C=e.extend({Mixins:[t,n],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.classes.add("floatpanel"),e.autohide&&(l(),c(),v.push(t)),e.autofix&&(u(),t.on("move",function(){d(this)})),t.on("postrender show",function(e){if(e.control==t){var n,r=t.classPrefix;t.modal&&!b&&(n=i("#"+r+"modal-block",t.getContainerElm()),n[0]||(n=i('<div id="'+r+'modal-block" class="'+r+"reset "+r+'fade"></div>').appendTo(t.getContainerElm())),o.setTimeout(function(){n.addClass(r+"in"),i(t.getEl()).addClass(r+"in")}),b=!0),f(!0,t)}}),t.on("show",function(){t.parents().each(function(e){if(e.state.get("fixed"))return t.fixed(!0),!1})}),e.popover&&(t._preBodyHtml='<div class="'+t.classPrefix+'arrow"></div>',t.classes.add("popover").add("bottom").add(t.isRtl()?"end":"start")),t.aria("label",e.ariaLabel),t.aria("labelledby",t._id),t.aria("describedby",t.describedBy||t._id+"-none")},fixed:function(e){var t=this;if(t.state.get("fixed")!=e){if(t.state.get("rendered")){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle("fixed",e),t.state.set("fixed",e)}return t},show:function(){var e=this,t,n=e._super();for(t=v.length;t--&&v[t]!==e;);return t===-1&&v.push(e),n},hide:function(){return p(this),f(!1,this),this._super()},hideAll:function(){C.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),f(!1,e)),e},remove:function(){p(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return C.hideAll=function(){for(var e=v.length;e--;){var t=v[e];t&&t.settings.autohide&&(t.hide(),v.splice(e,1))}},C}),r(Be,[Ae,ke,ve,g,_e,ye,d,c],function(e,t,n,r,i,o,a,s){function l(e){var t="width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0",n=r("meta[name=viewport]")[0],i;a.overrideViewPort!==!1&&(n||(n=document.createElement("meta"),n.setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),i=n.getAttribute("content"),i&&"undefined"!=typeof p&&(p=i),n.setAttribute("content",e?t:p))}function u(e,t){c()&&t===!1&&r([document.documentElement,document.body]).removeClass(e+"fullscreen")}function c(){for(var e=0;e<f.length;e++)if(f[e]._fullscreen)return!0;return!1}function d(){function e(){var e,t=n.getWindowSize(),r;for(e=0;e<f.length;e++)r=f[e].layoutRect(),f[e].moveTo(f[e].settings.x||Math.max(0,t.w/2-r.w/2),f[e].settings.y||Math.max(0,t.h/2-r.h/2))}if(!a.desktop){var t={w:window.innerWidth,h:window.innerHeight};s.setInterval(function(){var e=window.innerWidth,n=window.innerHeight;t.w==e&&t.h==n||(t={w:e,h:n},r(window).trigger("resize"))},100)}r(window).on("resize",e)}var f=[],p="",h=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var r=this;r._super(e),r.isRtl()&&r.classes.add("rtl"),r.classes.add("window"),r.bodyClasses.add("window-body"),r.state.set("fixed",!0),e.buttons&&(r.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:r.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),r.statusbar.classes.add("foot"),r.statusbar.parent(r)),r.on("click",function(e){var t=r.classPrefix+"close";(n.hasClass(e.target,t)||n.hasClass(e.target.parentNode,t))&&r.close()}),r.on("cancel",function(){r.close()}),r.aria("describedby",r.describedBy||r._id+"-none"),r.aria("label",e.title),r._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=e.settings.x||Math.max(0,a.w/2-t.w/2),t.y=e.settings.y||Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><div id="'+n+'-dragh" class="'+r+'dragh"></div><button type="button" class="'+r+'close" aria-hidden="true"><i class="mce-ico mce-i-remove"></i></button></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.bodyClasses+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,i=document.documentElement,a,l=t.classPrefix,u;if(e!=t._fullscreen)if(r(window).on("resize",function(){var e;if(t._fullscreen)if(a)t._timer||(t._timer=s.setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(a=!0)}}),u=t.layoutRect(),t._fullscreen=e,e){t._initial={x:u.x,y:u.y,w:u.w,h:u.h},t.borderBox=o.parseBox("0"),t.getEl("head").style.display="none",u.deltaH-=u.headerH+2,r([i,document.body]).addClass(l+"fullscreen"),t.classes.add("fullscreen");var c=n.getWindowSize();t.moveTo(0,0).resizeTo(c.w,c.h)}else t.borderBox=o.parseBox(t.settings.border),t.getEl("head").style.display="",u.deltaH+=u.headerH,r([i,document.body]).removeClass(l+"fullscreen"),t.classes.remove("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.classes.add("in"),e.fire("open")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new i(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()}),f.push(e),l(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t;for(e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),u(e.classPrefix,!1),t=f.length;t--;)f[t]===e&&f.splice(t,1);l(f.length>0)},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return d(),h}),r(De,[Be],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};
 switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(Le,[Be,De],function(e,t){return function(n){function r(){if(s.length)return s[s.length-1]}function i(e){n.fire("OpenWindow",{win:e})}function o(e){n.fire("CloseWindow",{win:e})}var a=this,s=[];a.windows=s,n.on("remove",function(){for(var e=s.length;e--;)s[e].close()}),a.open=function(t,r){var a;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body,data:t.data,callbacks:t.commands}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){a.find("form")[0].submit()}},{text:"Cancel",onclick:function(){a.close()}}]),a=new e(t),s.push(a),a.on("close",function(){for(var e=s.length;e--;)s[e]===a&&s.splice(e,1);s.length||n.focus(),o(a)}),t.data&&a.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),a.features=t||{},a.params=r||{},1===s.length&&n.nodeChanged(),a=a.renderTo().reflow(),i(a),a},a.alert=function(e,r,a){var s;s=t.alert(e,function(){r?r.call(a||this):n.focus()}),s.on("close",function(){o(s)}),i(s)},a.confirm=function(e,n,r){var a;a=t.confirm(e,function(e){n.call(r||this,e)}),a.on("close",function(){o(a)}),i(a)},a.close=function(){r()&&r().close()},a.getParams=function(){return r()?r().params:null},a.setParams=function(e){r()&&(r().params=e)},a.getWindows=function(){return s}}}),r(Me,[xe,Te],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e.state.get("text"))+"</div></div>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Pe,[xe,Me],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.classes.toggle("tooltip-n","bc-tc"==i),r.classes.toggle("tooltip-nw","bc-tl"==i),r.classes.toggle("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){function e(e){n.aria("disabled",e),n.classes.toggle("disabled",e)}function t(e){n.aria("pressed",e),n.classes.toggle("active",e)}var n=this;return n.state.on("change:disabled",function(t){e(t.value)}),n.state.on("change:active",function(e){t(e.value)}),n.state.get("disabled")&&e(!0),n.state.get("active")&&t(!0),n._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(Oe,[Pe],function(e){return e.extend({Defaults:{value:0},init:function(e){var t=this;t._super(e),t.classes.add("progress"),t.settings.filter||(t.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this,t=e._id,n=this.classPrefix;return'<div id="'+t+'" class="'+e.classes+'"><div class="'+n+'bar-container"><div class="'+n+'bar"></div></div><div class="'+n+'text">0%</div></div>'},postRender:function(){var e=this;return e._super(),e.value(e.settings.value),e},bindStates:function(){function e(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}var t=this;return t.state.on("change:value",function(t){e(t.value)}),e(t.state.get("value")),t._super()}})}),r(He,[xe,Te,Oe,c],function(e,t,n,r){return e.extend({Mixins:[t],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||e.timeout>0)&&!e.closeButton?t.closeButton=!1:(t.classes.add("has-close"),t.closeButton=!0),e.progressBar&&(t.progressBar=new n),t.on("click",function(e){e.target.className.indexOf(t.classPrefix+"close")!=-1&&t.close()})},renderHtml:function(){var e=this,t=e.classPrefix,n="",r="",i="",o="";return e.icon&&(n='<i class="'+t+"ico "+t+"i-"+e.icon+'"></i>'),e.color&&(o=' style="background-color: '+e.color+'"'),e.closeButton&&(r='<button type="button" class="'+t+'close" aria-hidden="true">\xd7</button>'),e.progressBar&&(i=e.progressBar.renderHtml()),'<div id="'+e._id+'" class="'+e.classes+'"'+o+' role="presentation">'+n+'<div class="'+t+'notification-inner">'+e.state.get("text")+"</div>"+i+r+"</div>"},postRender:function(){var e=this;return r.setTimeout(function(){e.$el.addClass(e.classPrefix+"in")}),e._super()},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().childNodes[1].innerHTML=t.value}),e.progressBar&&e.progressBar.bindStates(),e._super()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||e.remove(),e},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=65534}})}),r(Ie,[He,c,m],function(e,t,n){return function(r){function i(){if(f.length)return f[f.length-1]}function o(){t.requestAnimationFrame(function(){a(),s()})}function a(){for(var e=0;e<f.length;e++)f[e].moveTo(0,0)}function s(){if(f.length>0){var e=f.slice(0,1)[0],t=r.inline?r.getElement():r.getContentAreaContainer();if(e.moveRel(t,"tc-tc"),f.length>1)for(var n=1;n<f.length;n++)f[n].moveRel(f[n-1].getEl(),"bc-tc")}}function l(e,t){if(!c(t))return null;var r=n.grep(e,function(e){return u(t,e)});return 0===r.length?null:r[0]}function u(e,t){return e.type===t.settings.type&&e.text===t.settings.text}function c(e){return!e.progressBar&&!e.timeout}var d=this,f=[];d.notifications=f,r.on("remove",function(){for(var e=f.length;e--;)f[e].close()}),r.on("ResizeEditor",s),r.on("ResizeWindow",o),d.open=function(t){if(!r.removed){var n;r.editorManager.setActive(r);var i=l(f,t);return null===i?(n=new e(t),f.push(n),t.timeout>0&&(n.timer=setTimeout(function(){n.close()},t.timeout)),n.on("close",function(){var e=f.length;for(n.timer&&r.getWin().clearTimeout(n.timer);e--;)f[e]===n&&f.splice(e,1);s()}),n.renderTo(),s()):n=i,n}},d.close=function(){i()&&i().close()},d.getNotifications=function(){return f},r.on("SkinLoaded",function(){var e=r.settings.service_message;e&&r.notificationManager.open({text:e,type:"warning",timeout:0,icon:""})})}}),r(Fe,[w],function(e){function t(t,n,r){for(var i=[];n&&n!=t;n=n.parentNode)i.push(e.nodeIndex(n,r));return i}function n(e,t){var n,r,i;for(r=e,n=t.length-1;n>=0;n--){if(i=r.childNodes,t[n]>i.length-1)return null;r=i[t[n]]}return r}return{create:t,resolve:n}}),r(ze,[I,T,y,Fe,A,C,d,m,c,k,$,oe],function(e,t,n,r,i,o,a,s,l,u,c,d){return function(f){function p(e,t){try{f.getDoc().execCommand(e,!1,t)}catch(n){}}function h(){var e=f.getDoc().documentMode;return e?e:6}function m(e){return e.isDefaultPrevented()}function g(e){var t,n;e.dataTransfer&&(f.selection.isCollapsed()&&"IMG"==e.target.tagName&&re.select(e.target),t=f.selection.getContent(),t.length>0&&(n=ce+escape(f.id)+","+escape(t),e.dataTransfer.setData(de,n)))}function v(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(de),t&&t.indexOf(ce)>=0)?(t=t.substr(ce.length).split(","),{id:unescape(t[0]),html:unescape(t[1])}):null}function y(e){f.queryCommandSupported("mceInsertClipboardContent")?f.execCommand("mceInsertClipboardContent",!1,{content:e}):f.execCommand("mceInsertContent",!1,e)}function b(){function i(e){var t=x.schema.getBlockElements(),n=f.getBody();if("BR"!=e.nodeName)return!1;for(;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function o(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==Z.trim(n.data).length)&&n!==t)return!1;return n===t}function a(e,t,r){var o,a,s;if(x.isChildOf(e,f.getBody()))for(s=x.schema.getNonEmptyElements(),o=new n(r||e,e);a=o[t?"next":"prev"]();){if(s[a.nodeName]&&!i(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function u(e){var n,r,i,o,s;if(!e.collapsed&&(n=x.getParent(t.getNode(e.startContainer,e.startOffset),x.isBlock),r=x.getParent(t.getNode(e.endContainer,e.endOffset),x.isBlock),s=f.schema.getTextBlockElements(),n!=r&&s[n.nodeName]&&s[r.nodeName]&&"false"!==x.getContentEditable(n)&&"false"!==x.getContentEditable(r)))return e.deleteContents(),i=a(n,!1),o=a(r,!0),x.isEmpty(r)||Z(n).append(r.childNodes),Z(r).remove(),i?1==i.nodeType?"BR"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):o&&(1==o.nodeType?(e.setStartBefore(o),e.setEndBefore(o)):(e.setStart(o,0),e.setEnd(o,0))),w.setRng(e),!0}function c(e,n){var r,i,s,l,u,c;if(!e.collapsed)return e;if(u=e.startContainer,c=e.startOffset,3==u.nodeType)if(n){if(c<u.data.length)return e}else if(c>0)return e;r=t.getNode(u,c),s=x.getParent(r,x.isBlock),i=a(f.getBody(),n,r),l=x.getParent(i,x.isBlock);var d=1===u.nodeType&&c>u.childNodes.length-1;if(!r||!i)return e;if(l&&s!=l)if(n){if(!o(s,l))return e;1==r.nodeType?"BR"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!o(l,s))return e;1==i.nodeType?"BR"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==r.nodeType&&d?e.setEndAfter(r):e.setEndBefore(r)}return e}function d(e){var t=w.getRng();if(t=c(t,e),u(t))return!0}function p(e,t){function n(e,n){return m=Z(n).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),l=e.cloneNode(!1),m=s.map(m,function(e){return e=e.cloneNode(!1),l.hasChildNodes()?(e.appendChild(l.firstChild),l.appendChild(e)):l.appendChild(e),l.appendChild(e),e}),m.length?(h=x.create("br"),m[0].appendChild(h),x.replace(l,e),t.setStartBefore(h),t.setEndBefore(h),f.selection.setRng(t),h):null}function i(e){return e&&f.schema.getTextBlockElements()[e.tagName]}var o,a,l,u,c,d,p,h,m;if(t.collapsed&&(d=t.startContainer,p=t.startOffset,a=x.getParent(d,x.isBlock),i(a)))if(1==d.nodeType){if(d=d.childNodes[p],d&&"BR"!=d.tagName)return;if(c=e?a.nextSibling:a.previousSibling,x.isEmpty(a)&&i(c)&&x.isEmpty(c)&&n(a,d))return x.remove(c),!0}else if(3==d.nodeType){if(o=r.create(a,d),u=a.cloneNode(!0),d=r.resolve(u,o),e){if(p>=d.data.length)return;d.deleteData(p,1)}else{if(p<=0)return;d.deleteData(p-1,1)}if(x.isEmpty(u))return n(a,d)}}function h(e){var t,n,r;d(e)||(s.each(f.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&f.dom.setAttrib(e,"style",f.dom.getAttrib(e,"style"))}),t=new E(function(){}),t.observe(f.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),f.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),n=f.selection.getRng(),r=n.startContainer.parentNode,s.each(t.takeRecords(),function(e){if(x.isChildOf(e.target,f.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}s.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),x.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),f.selection.setRng(n))}})}}),t.disconnect(),s.each(f.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}function b(e){f.undoManager.transact(function(){h(e)})}var C=f.getDoc(),x=f.dom,w=f.selection,E=window.MutationObserver,N,_;E||(N=!0,E=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),f.on("keydown",function(e){var t=e.keyCode==te,n=e.ctrlKey||e.metaKey;if(!m(e)&&(t||e.keyCode==ee)){var r=f.selection.getRng(),i=r.startContainer,o=r.startOffset;if(t&&e.shiftKey)return;if(p(t,r))return void e.preventDefault();if(!n&&r.collapsed&&3==i.nodeType&&(t?o<i.data.length:o>0))return;e.preventDefault(),n&&f.selection.getSel().modify("extend",t?"forward":"backward",e.metaKey?"lineboundary":"word"),h(t)}}),f.on("keypress",function(t){if(!m(t)&&!w.isCollapsed()&&t.charCode>31&&!e.metaKeyPressed(t)){var n,r,i,o,a,s;n=f.selection.getRng(),s=String.fromCharCode(t.charCode),t.preventDefault(),r=Z(n.startContainer).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),h(!0),r=r.filter(function(e,t){return!Z.contains(f.getBody(),t)}),r.length?(i=x.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(f.getDoc().createTextNode(s)),o=x.getParent(n.startContainer,x.isBlock),x.isEmpty(o)?Z(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),f.selection.setRng(n)):f.selection.setContent(s)}}),f.addCommand("Delete",function(){h()}),f.addCommand("ForwardDelete",function(){h(!0)}),N||(f.on("dragstart",function(e){_=w.getRng(),g(e)}),f.on("drop",function(e){if(!m(e)){var n=v(e);n&&(e.preventDefault(),l.setEditorTimeout(f,function(){var r=t.getCaretRangeFromPoint(e.x,e.y,C);_&&(w.setRng(_),_=null,b()),w.setRng(r),y(n.html)}))}}),f.on("cut",function(e){m(e)||!e.clipboardData||f.selection.isCollapsed()||(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",f.selection.getContent()),e.clipboardData.setData("text/plain",f.selection.getContent({format:"text"})),l.setEditorTimeout(f,function(){b(!0)}))}))}function C(){function e(e){var t=ne.create("body"),n=e.cloneContents();return t.appendChild(n),re.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(f.getBody()),t.compareRanges(n,r)}var i=e(n),o=ne.createRng();o.selectNode(f.getBody());var a=e(o);return i===a}f.on("keydown",function(e){var t=e.keyCode,r,i;if(!m(e)&&(t==te||t==ee)){if(r=f.selection.isCollapsed(),i=f.getBody(),r&&!ne.isEmpty(i))return;if(!r&&!n(f.selection.getRng()))return;e.preventDefault(),f.setContent(""),i.firstChild&&ne.isBlock(i.firstChild)?f.selection.setCursorLocation(i.firstChild,0):f.selection.setCursorLocation(i,0),f.nodeChanged()}})}function x(){f.shortcuts.add("meta+a",null,"SelectAll")}function w(){f.settings.content_editable||ne.bind(f.getDoc(),"mousedown mouseup",function(e){var t;if(e.target==f.getDoc().documentElement)if(t=re.getRng(),f.getBody().focus(),"mousedown"==e.type){if(u.isCaretContainer(t.startContainer))return;re.placeCaretAt(e.clientX,e.clientY)}else re.setRng(t)})}function E(){f.on("keydown",function(e){if(!m(e)&&e.keyCode===ee){if(!f.getBody().getElementsByTagName("hr").length)return;if(re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return ne.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(ne.remove(n),e.preventDefault())}}})}function N(){window.Range.prototype.getClientRects||f.on("mousedown",function(e){if(!m(e)&&"HTML"===e.target.nodeName){var t=f.getBody();t.blur(),l.setEditorTimeout(f,function(){t.focus()})}})}function _(){f.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&"false"!==ne.getContentEditableParent(t)&&(e.preventDefault(),re.select(t),f.nodeChanged()),"A"==t.nodeName&&ne.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),re.select(t))})}function S(){function e(){var e=ne.getAttribs(re.getStart().cloneNode(!1));return function(){var t=re.getStart();t!==f.getBody()&&(ne.setAttrib(t,"style",null),Q(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!re.isCollapsed()&&ne.getParent(re.getStart(),ne.isBlock)!=ne.getParent(re.getEnd(),ne.isBlock)}f.on("keypress",function(n){var r;if(!m(n)&&(8==n.keyCode||46==n.keyCode)&&t())return r=e(),f.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1}),ne.bind(f.getDoc(),"cut",function(n){var r;!m(n)&&t()&&(r=e(),l.setEditorTimeout(f,function(){r()}))})}function k(){document.body.setAttribute("role","application")}function T(){f.on("keydown",function(e){if(!m(e)&&e.keyCode===ee&&re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function R(){h()>7||(p("RespectVisibilityInDesign",!0),f.contentStyles.push(".mceHideBrInPre pre br {display: none}"),ne.addClass(f.getBody(),"mceHideBrInPre"),oe.addNodeFilter("pre",function(e){for(var t=e.length,n,r,o,a;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)o=n[r],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new i("#text",3),o,!0).value="\n"}),ae.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function A(){ne.bind(f.getBody(),"mouseup",function(){var e,t=re.getNode();"IMG"==t.nodeName&&((e=ne.getStyle(t,"width"))&&(ne.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),ne.setStyle(t,"width","")),(e=ne.getStyle(t,"height"))&&(ne.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),ne.setStyle(t,"height","")))})}function B(){f.on("keydown",function(t){var n,r,i,o,a;if(!m(t)&&t.keyCode==e.BACKSPACE&&(n=re.getRng(),r=n.startContainer,i=n.startOffset,o=ne.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(f.formatter.toggle("blockquote",null,a),n=ne.createRng(),n.setStart(r,0),n.setEnd(r,0),re.setRng(n))}})}function D(){function e(){K(),p("StyleWithCSS",!1),p("enableInlineTableEditing",!1),ie.object_resizing||p("enableObjectResizing",!1)}ie.readonly||f.on("BeforeExecCommand MouseDown",e)}function L(){function e(){Q(ne.select("a"),function(e){var t=e.parentNode,n=ne.getRoot();if(t.lastChild===e){for(;t&&!ne.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}ne.add(t,"br",{"data-mce-bogus":1})}})}f.on("SetContent ExecCommand",function(t){"setcontent"!=t.type&&"mceInsertLink"!==t.command||e()})}function M(){ie.forced_root_block&&f.on("init",function(){p("DefaultParagraphSeparator",ie.forced_root_block)})}function P(){f.on("keydown",function(e){var t;m(e)||e.keyCode!=ee||(t=f.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),f.undoManager.beforeChange(),ne.remove(t.item(0)),f.undoManager.add()))})}function O(){var e;h()>=10&&(e="",Q("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),f.contentStyles.push(e+"{padding-right: 1px !important}"))}function H(){h()<9&&(oe.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),ae.addNodeFilter("noscript",function(e){for(var t=e.length,n,r,a;t--;)n=e[t],r=e[t].firstChild,r?r.value=o.decode(r.value):(a=n.attributes.map["data-mce-innertext"],a&&(n.attr("data-mce-innertext",null),r=new i("#text",3),r.value=a,r.raw=!0,n.append(r)))}))}function I(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),ne.unbind(r,"mouseup",n),ne.unbind(r,"mousemove",t),a=o=0}var r=ne.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,ne.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(ne.bind(r,"mouseup",n),ne.bind(r,"mousemove",t),ne.getRoot().focus(),a.select())}})}function F(){f.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||re.normalize()},!0)}function z(){f.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function U(){f.inline||f.on("keydown",function(){document.activeElement==document.body&&f.getWin().focus()})}function W(){f.inline||(f.contentStyles.push("body {min-height: 150px}"),f.on("click",function(e){var t;if("HTML"==e.target.nodeName){if(a.ie>11)return void f.getBody().focus();t=f.selection.getRng(),f.getBody().focus(),f.selection.setRng(t),f.selection.normalize(),f.nodeChanged()}}))}function V(){a.mac&&f.on("keydown",function(t){!e.metaKeyPressed(t)||t.shiftKey||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),f.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","lineboundary"))})}function $(){p("AutoUrlDetect",!1)}function q(){f.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),f.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function j(){f.on("init",function(){f.dom.bind(f.getBody(),"submit",function(e){e.preventDefault()})})}function Y(){oe.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}function X(){f.on("dragstart",function(e){g(e)}),f.on("drop",function(e){if(!m(e)){var n=v(e);if(n&&n.id!=f.id){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,f.getDoc());re.setRng(r),y(n.html)}}})}function K(){}function G(){var e;return se?(e=f.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}function J(){function t(e){var t=new d(e.getBody()),n=e.selection.getRng(),r=c.fromRangeStart(n),i=c.fromRangeEnd(n),o=t.prev(r),a=t.next(i);return!e.selection.isCollapsed()&&(!o||o.isAtStart()&&r.isEqual(o))&&(!a||a.isAtEnd()&&r.isEqual(a))}f.on("keypress",function(n){!m(n)&&!re.isCollapsed()&&n.charCode>31&&!e.metaKeyPressed(n)&&t(f)&&(n.preventDefault(),f.setContent(String.fromCharCode(n.charCode)),f.selection.select(f.getBody(),!0),f.selection.collapse(!1),f.nodeChanged())}),f.on("keydown",function(e){var n=e.keyCode;m(e)||n!=te&&n!=ee||t(f)&&(e.preventDefault(),f.setContent(""),f.nodeChanged())})}var Q=s.each,Z=f.$,ee=e.BACKSPACE,te=e.DELETE,ne=f.dom,re=f.selection,ie=f.settings,oe=f.parser,ae=f.serializer,se=a.gecko,le=a.ie,ue=a.webkit,ce="data:text/mce-internal,",de=le?"Text":"URL";return B(),C(),a.windowsPhone||F(),ue&&(J(),b(),w(),_(),M(),j(),T(),Y(),a.iOS?(U(),W(),q()):x()),le&&a.ie<11&&(E(),k(),R(),A(),P(),O(),H(),I()),a.ie>=11&&(W(),T()),a.ie&&(x(),$(),X()),se&&(J(),E(),N(),S(),D(),L(),z(),V(),T()),{refreshContentEditable:K,isHidden:G}}}),r(Ue,[pe,w,m],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){function n(e){return!e.hidden&&!e.readonly}var i=r(e,t),s;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;s=function(r){for(var i=r.target,a=e.editorManager.editors,s=a.length;s--;){var l=a[s].getBody();(l===i||o.isChildOf(i,l))&&n(a[s])&&a[s].fire(t,r)}},a[t]=s,o.bind(i,t,s)}else s=function(r){n(e)&&e.fire(t,r)},o.bind(i,t,s),e.delegates[t]=s}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(We,[],function(){function e(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(r){}}function t(e){var t,n;return t=e.getBody(),n=function(t){e.dom.getParents(t.target,"a").length>0&&t.preventDefault()},e.dom.bind(t,"click",n),{unbind:function(){e.dom.unbind(t,"click",n)}}}function n(n,r){n._clickBlocker&&(n._clickBlocker.unbind(),n._clickBlocker=null),r?(n._clickBlocker=t(n),n.selection.controlSelection.hideResizeRect(),n.readonly=!0,n.getBody().contentEditable=!1):(n.readonly=!1,n.getBody().contentEditable=!0,e(n,"StyleWithCSS",!1),e(n,"enableInlineTableEditing",!1),e(n,"enableObjectResizing",!1),n.focus(),n.nodeChanged())}function r(e,t){var r=e.readonly?"readonly":"design";t!=r&&(e.initialized?n(e,"readonly"==t):e.on("init",function(){n(e,"readonly"==t)}),e.fire("SwitchMode",{mode:t}))}return{setMode:r}}),r(Ve,[m,d],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap("alt,ctrl,shift,meta,access");return function(a){function s(e){var a,s,l={};n(r(e,"+"),function(e){e in o?l[e]=!0:/^[0-9]{2,}$/.test(e)?l.keyCode=parseInt(e,10):(l.charCode=e.charCodeAt(0),l.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),a=[l.keyCode];for(s in o)l[s]?a.push(s):l[s]=!1;return l.id=a.join(","),l.access&&(l.alt=!0,t.mac?l.ctrl=!0:l.shift=!0),l.meta&&(t.mac?l.meta=!0:(l.ctrl=!0,l.meta=!1)),l}function l(t,n,i,o){var l;return l=e.map(r(t,">"),s),l[l.length-1]=e.extend(l[l.length-1],{func:i,scope:o||a}),e.extend(l[0],{desc:a.translate(n),subpatterns:l.slice(1)})}function u(e){return e.altKey||e.ctrlKey||e.metaKey}function c(e){return"keydown"===e.type&&e.keyCode>=112&&e.keyCode<=123}function d(e,t){return!!t&&(t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&(t.alt==e.altKey&&t.shift==e.shiftKey&&(!!(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)&&(e.preventDefault(),!0))))}function f(e){return e.func?e.func.call(e.scope):null}var p=this,h={},m=[];a.on("keyup keypress keydown",function(e){!u(e)&&!c(e)||e.isDefaultPrevented()||(n(h,function(t){if(d(e,t))return m=t.subpatterns.slice(0),"keydown"==e.type&&f(t),!0}),d(e,m[0])&&(1===m.length&&"keydown"==e.type&&f(m[0]),m.shift()))}),p.add=function(t,i,o,s){var u;return u=o,"string"==typeof o?o=function(){a.execCommand(u,!1,null)}:e.isArray(u)&&(o=function(){a.execCommand(u[0],u[1],u[2])}),n(r(e.trim(t.toLowerCase())),function(e){var t=l(e,i,o,s);h[t.id]=t}),!0},p.remove=function(e){var t=l(e);return!!h[t.id]&&(delete h[t.id],!0)}}}),r($e,[u,m,z],function(e,t,n){return function(r,i){function o(e){var t,n;return n={"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"},t=n[e.blob().type.toLowerCase()]||"dat",e.filename()+"."+t}function a(e,t){return e?e.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t}function s(e){return{id:e.id,blob:e.blob,base64:e.base64,filename:n.constant(o(e))}}function l(e,t,n,r){var o,s;o=new XMLHttpRequest,o.open("POST",i.url),o.withCredentials=i.credentials,o.upload.onprogress=function(e){r(e.loaded/e.total*100)},o.onerror=function(){n("Image upload failed due to a XHR Transport error. Code: "+o.status)},o.onload=function(){var e;return 200!=o.status?void n("HTTP Error: "+o.status):(e=JSON.parse(o.responseText),e&&"string"==typeof e.location?void t(a(i.basePath,e.location)):void n("Invalid JSON: "+o.responseText))},s=new FormData,s.append("file",e.blob(),e.filename()),o.send(s)}function u(){return new e(function(e){e([])})}function c(e,t){return{url:t,blobInfo:e,status:!0}}function d(e,t){return{url:"",blobInfo:e,status:!1,error:t}}function f(e,n){t.each(y[e],function(e){e(n)}),delete y[e]}function p(t,n,i){return r.markPending(t.blobUri()),new e(function(e){var o,a,l=function(){};try{var u=function(){o&&(o.close(),a=l)},p=function(n){u(),r.markUploaded(t.blobUri(),n),f(t.blobUri(),c(t,n)),e(c(t,n))},h=function(n){u(),r.removeFailed(t.blobUri()),f(t.blobUri(),d(t,n)),e(d(t,n))};a=function(e){e<0||e>100||(o||(o=i()),o.progressBar.value(e))},n(s(t),p,h,a)}catch(m){e(d(t,m.message))}})}function h(e){return e===l}function m(t){var n=t.blobUri();return new e(function(e){y[n]=y[n]||[],y[n].push(e)})}function g(n,o){return n=t.grep(n,function(e){return!r.isUploaded(e.blobUri())}),e.all(t.map(n,function(e){return r.isPending(e.blobUri())?m(e):p(e,i.handler,o)}))}function v(e,t){return!i.url&&h(i.handler)?u():g(e,t)}var y={};return i=t.extend({credentials:!1,handler:l},i),{upload:v}}}),r(qe,[u],function(e){function t(t){return new e(function(e){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="blob",n.onload=function(){200==this.status&&e(this.response)},n.send()})}function n(e){var t,n;return e=decodeURIComponent(e).split(","),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}}function r(t){return new e(function(e){var r,i,o;t=n(t);try{r=atob(t.data)}catch(a){return void e(new Blob([]))}for(i=new Uint8Array(r.length),o=0;o<i.length;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:t.type}))})}function i(e){return 0===e.indexOf("blob:")?t(e):0===e.indexOf("data:")?r(e):null}function o(t){return new e(function(e){var n=new FileReader;n.onloadend=function(){e(n.result)},n.readAsDataURL(t)})}return{uriToBlob:i,blobToDataUri:o,parseDataUri:n}}),r(je,[u,h,z,qe,d],function(e,t,n,r,i){var o=0,a=function(e){return(e||"blobid")+o++};return function(o,s){function l(l,c){function d(e,t){var n,i;return 0===e.src.indexOf("blob:")?(i=s.getByUri(e.src),void(i?t({image:e,blobInfo:i}):r.uriToBlob(e.src).then(function(o){r.blobToDataUri(o).then(function(l){n=r.parseDataUri(l).data,i=s.create(a(),o,n),s.add(i),t({image:e,blobInfo:i})})}))):(n=r.parseDataUri(e.src).data,i=s.findFirst(function(e){return e.base64()===n}),void(i?t({image:e,blobInfo:i}):r.uriToBlob(e.src).then(function(r){i=s.create(a(),r,n),s.add(i),t({image:e,blobInfo:i})})))}var f,p;return c||(c=n.constant(!0)),f=t.filter(l.getElementsByTagName("img"),function(e){var t=e.src;return!!i.fileApi&&(!e.hasAttribute("data-mce-bogus")&&(!e.hasAttribute("data-mce-placeholder")&&(!(!t||t==i.transparentSrc)&&(0===t.indexOf("blob:")?!o.isUploaded(t):0===t.indexOf("data:")&&c(e)))))}),p=t.map(f,function(t){var n;return u[t.src]?new e(function(e){u[t.src].then(function(n){e({image:t,blobInfo:n.blobInfo})})}):(n=new e(function(e){d(t,e)}).then(function(e){return delete u[e.image.src],e})["catch"](function(e){return delete u[t.src],
-e}),u[t.src]=n,n)}),e.all(p)}var u={};return{findAll:l}}}),r(Ye,[h,z],function(e,t){return function(){function n(e,t,n,r){return{id:c(e),filename:c(r||e),blob:c(t),base64:c(n),blobUri:c(URL.createObjectURL(t))}}function r(e){i(e.id())||u.push(e)}function i(e){return o(function(t){return t.id()===e})}function o(t){return e.filter(u,t)[0]}function a(e){return o(function(t){return t.blobUri()==e})}function s(t){u=e.filter(u,function(e){return e.blobUri()!==t||(URL.revokeObjectURL(e.blobUri()),!1)})}function l(){e.each(u,function(e){URL.revokeObjectURL(e.blobUri())}),u=[]}var u=[],c=t.constant;return{create:n,add:r,get:i,getByUri:a,findFirst:o,removeByUri:s,destroy:l}}}),r(Xe,[],function(){return function(){function e(e,t){return{status:e,resultUri:t}}function t(e){return e in d}function n(e){var t=d[e];return t?t.resultUri:null}function r(e){return!!t(e)&&d[e].status===u}function i(e){return!!t(e)&&d[e].status===c}function o(t){d[t]=e(u,null)}function a(t,n){d[t]=e(c,n)}function s(e){delete d[e]}function l(){d={}}var u=1,c=2,d={};return{hasBlobUri:t,getResultUri:n,isPending:r,isUploaded:i,markPending:o,markUploaded:a,removeFailed:s,destroy:l}}}),r(Ke,[N],function(e){var t=e.PluginManager,n=function(e,n){for(var r in t.urls){var i=t.urls[r]+"/plugin"+n+".js";if(i===e)return r}return null},r=function(e,t){var r=n(t,e.suffix);return r?"Failed to load plugin: "+r+" from url "+t:"Failed to load plugin url: "+t},i=function(e,t){e.notificationManager.open({type:"error",text:t})},o=function(e,t){e._skinLoaded?i(e,t):e.on("SkinLoaded",function(){i(e,t)})},a=function(e,t){o(e,"Failed to upload image: "+t)},s=function(e,t){o(e,r(e,t))};return{pluginLoadError:s,uploadError:a}}),r(Ge,[h,$e,je,Ye,Xe,Ke],function(e,t,n,r,i,o){return function(a){function s(e){return function(t){return a.selection?e(t):[]}}function l(){return"?"+(new Date).getTime()}function u(e,t,n){var r=0;do r=e.indexOf(t,r),r!==-1&&(e=e.substring(0,r)+n+e.substr(r+t.length),r+=n.length-t.length+1);while(r!==-1);return e}function c(e,t,n){return e=u(e,'src="'+t+'"','src="'+n+'"'),e=u(e,'data-mce-src="'+t+'"','data-mce-src="'+n+'"')}function d(t,n){e.each(a.undoManager.data,function(r){"fragmented"===r.type?r.fragments=e.map(r.fragments,function(e){return c(e,t,n)}):r.content=c(r.content,t,n)})}function f(){return a.notificationManager.open({text:a.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0})}function p(e,t){C.removeByUri(e.src),d(e.src,t),a.$(e).attr({src:E.images_reuse_filename?t+l():t,"data-mce-src":a.convertURL(t,"src")})}function h(n){return x||(x=new t(N,{url:E.images_upload_url,basePath:E.images_upload_base_path,credentials:E.images_upload_credentials,handler:E.images_upload_handler})),v().then(s(function(t){var r;return r=e.map(t,function(e){return e.blobInfo}),x.upload(r,f).then(s(function(r){return r=e.map(r,function(e,n){var r=t[n].image;return e.status&&a.settings.images_replace_blob_uris!==!1?p(r,e.url):e.error&&o.uploadError(a,e.error),{element:r,status:e.status}}),n&&n(r),r}))}))}function m(e){if(E.automatic_uploads!==!1)return h(e)}function g(e){return!E.images_dataimg_filter||E.images_dataimg_filter(e)}function v(){return w||(w=new n(N,C)),w.findAll(a.getBody(),g).then(s(function(t){return e.each(t,function(e){d(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri(),e.image.removeAttribute("data-mce-src")}),t}))}function y(){C.destroy(),N.destroy(),w=x=null}function b(t){return t.replace(/src="(blob:[^"]+)"/g,function(t,n){var r=N.getResultUri(n);if(r)return'src="'+r+'"';var i=C.getByUri(n);return i||(i=e.reduce(a.editorManager.editors,function(e,t){return e||t.editorUpload.blobCache.getByUri(n)},null)),i?'src="data:'+i.blob().type+";base64,"+i.base64()+'"':t})}var C=new r,x,w,E=a.settings,N=new i;return a.on("setContent",function(){a.settings.automatic_uploads!==!1?m():v()}),a.on("RawSaveContent",function(e){e.content=b(e.content)}),a.on("getContent",function(e){e.source_view||"raw"==e.format||(e.content=b(e.content))}),a.on("PostRender",function(){a.parser.addNodeFilter("img",function(t){e.each(t,function(e){var t=e.attr("src");if(!C.getByUri(t)){var n=N.getResultUri(t);n&&e.attr("src",n)}})})}),{blobCache:C,uploadImages:h,uploadImagesAuto:m,scanForImages:v,destroy:y}}}),r(Je,[k,$,_,T,g,W,c],function(e,t,n,r,i,o,a){var s=n.isContentEditableFalse;return function(t,n){function r(e,n){var r=o.collapse(e.getBoundingClientRect(),n),i,a,s,l,u;return"BODY"==t.tagName?(i=t.ownerDocument.documentElement,a=t.scrollLeft||i.scrollLeft,s=t.scrollTop||i.scrollTop):(u=t.getBoundingClientRect(),a=t.scrollLeft-u.left,s=t.scrollTop-u.top),r.left+=a,r.right+=a,r.top+=s,r.bottom+=s,r.width=1,l=e.offsetWidth-e.clientWidth,l>0&&(n&&(l*=-1),r.left+=l,r.right+=l),r}function l(){var n,r,o,a,s;for(n=i("*[contentEditable=false]",t),a=0;a<n.length;a++)r=n[a],o=r.previousSibling,e.endsWithCaretContainer(o)&&(s=o.data,1==s.length?o.parentNode.removeChild(o):o.deleteData(s.length-1,1)),o=r.nextSibling,e.startsWithCaretContainer(o)&&(s=o.data,1==s.length?o.parentNode.removeChild(o):o.deleteData(0,1));return null}function u(o,a){var l,u;return c(),n(a)?(g=e.insertBlock("p",a,o),l=r(a,o),i(g).css("top",l.top),m=i('<div class="mce-visual-caret" data-mce-bogus="all"></div>').css(l).appendTo(t),o&&m.addClass("mce-visual-caret-before"),d(),u=a.ownerDocument.createRange(),u.setStart(g,0),u.setEnd(g,0),u):(g=e.insertInline(a,o),u=a.ownerDocument.createRange(),s(g.nextSibling)?(u.setStart(g,0),u.setEnd(g,0)):(u.setStart(g,1),u.setEnd(g,1)),u)}function c(){l(),g&&(e.remove(g),g=null),m&&(m.remove(),m=null),clearInterval(h)}function d(){h=a.setInterval(function(){i("div.mce-visual-caret",t).toggleClass("mce-visual-caret-hidden")},500)}function f(){a.clearInterval(h)}function p(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"}var h,m,g;return{show:u,hide:c,getCss:p,destroy:f}}}),r(Qe,[h,_,W],function(e,t,n){function r(i){function o(t){return e.map(t,function(e){return e=n.clone(e),e.node=i,e})}if(e.isArray(i))return e.reduce(i,function(e,t){return e.concat(r(t))},[]);if(t.isElement(i))return o(i.getClientRects());if(t.isText(i)){var a=i.ownerDocument.createRange();return a.setStart(i,0),a.setEnd(i,i.data.length),o(a.getClientRects())}}return{getClientRects:r}}),r(Ze,[z,h,Qe,U,ie,oe,$,W],function(e,t,n,r,i,o,a,s){function l(e,t,n,o){for(;o=i.findNode(o,e,r.isEditableCaretCandidate,t);)if(n(o))return}function u(e,r,i,o,a,s){function u(o){var s,l,u;for(u=n.getClientRects(o),e==-1&&(u=u.reverse()),s=0;s<u.length;s++)if(l=u[s],!i(l,p)){if(f.length>0&&r(l,t.last(f))&&c++,l.line=c,a(l))return!0;f.push(l)}}var c=0,d,f=[],p;return(p=t.last(s.getClientRects()))?(d=s.getNode(),u(d),l(e,o,u,d),f):f}function c(e,t){return t.line>e}function d(e,t){return t.line===e}function f(e,n,r,i){function l(n){return 1==e?t.last(n.getClientRects()):t.last(n.getClientRects())}var u=new o(n),c,d,f,p,h=[],m=0,g,v;1==e?(c=u.next,d=s.isBelow,f=s.isAbove,p=a.after(i)):(c=u.prev,d=s.isAbove,f=s.isBelow,p=a.before(i)),v=l(p);do if(p.isVisible()&&(g=l(p),!f(g,v))){if(h.length>0&&d(g,t.last(h))&&m++,g=s.clone(g),g.position=p,g.line=m,r(g))return h;h.push(g)}while(p=c(p));return h}var p=e.curry,h=p(u,-1,s.isAbove,s.isBelow),m=p(u,1,s.isBelow,s.isAbove);return{upUntil:h,downUntil:m,positionsUntil:f,isAboveLine:p(c),isLine:p(d)}}),r(et,[z,h,_,Qe,W,ie,U],function(e,t,n,r,i,o,a){function s(e,t){return Math.abs(e.left-t)}function l(e,t){return Math.abs(e.right-t)}function u(e,n){function r(e,t){return e>=t.left&&e<=t.right}return t.reduce(e,function(e,t){var i,o;return i=Math.min(s(e,n),l(e,n)),o=Math.min(s(t,n),l(t,n)),r(n,t)?t:r(n,e)?e:o==i&&m(t.node)?t:o<i?t:e})}function c(e,t,n,r){for(;r=g(r,e,a.isEditableCaretCandidate,t);)if(n(r))return}function d(e,n){function o(e,i){var o;return o=t.filter(r.getClientRects(i),function(t){return!e(t,n)}),a=a.concat(o),0===o.length}var a=[];return a.push(n),c(-1,e,v(o,i.isAbove),n.node),c(1,e,v(o,i.isBelow),n.node),a}function f(e){return t.filter(t.toArray(e.getElementsByTagName("*")),m)}function p(e,t){return{node:e.node,before:s(e,t)<l(e,t)}}function h(e,n,i){var o,a;return o=r.getClientRects(f(e)),o=t.filter(o,function(e){return i>=e.top&&i<=e.bottom}),a=u(o,n),a&&(a=u(d(e,a),n),a&&m(a.node))?p(a,n):null}var m=n.isContentEditableFalse,g=o.findNode,v=e.curry;return{findClosestClientRect:u,findLineNodeRects:d,closestCaret:h}}),r(tt,[],function(){var e=function(e){var t,n,r,i;return i=e.getBoundingClientRect(),t=e.ownerDocument,n=t.documentElement,r=t.defaultView,{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}},t=function(t){return t.inline?e(t.getBody()):{left:0,top:0}},n=function(e){var t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}},r=function(e){var t=e.getBody(),n=e.getDoc().documentElement,r={left:t.scrollLeft,top:t.scrollTop},i={left:t.scrollLeft||n.scrollLeft,top:t.scrollTop||n.scrollTop};return e.inline?r:i},i=function(t,n){if(n.target.ownerDocument!==t.getDoc()){var i=e(t.getContentAreaContainer()),o=r(t);return{left:n.pageX-i.left+o.left,top:n.pageY-i.top+o.top}}return{left:n.pageX,top:n.pageY}},o=function(e,t,n){return{pageX:n.left-e.left+t.left,pageY:n.top-e.top+t.top}},a=function(e,r){return o(t(e),n(e),i(e,r))};return{calc:a}}),r(nt,[_,h,z,c,w,tt],function(e,t,n,r,i,o){var a=e.isContentEditableFalse,s=e.isContentEditableTrue,l=function(e,t){return a(t)&&t!==e},u=function(e,t,n){return t!==n&&!e.dom.isChildOf(t,n)&&!a(t)},c=function(e){var t=e.cloneNode(!0);return t.removeAttribute("data-mce-selected"),t},d=function(e,t,n,r){var i=t.cloneNode(!0);e.dom.setStyles(i,{width:n,height:r}),e.dom.setAttrib(i,"data-mce-selected",null);var o=e.dom.create("div",{"class":"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return e.dom.setStyles(o,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(i,{margin:0,boxSizing:"border-box"}),o.appendChild(i),o},f=function(e,t){e.parentNode!==t&&t.appendChild(e)},p=function(e,t,n,r,i,o){var a=0,s=0;e.style.left=t.pageX+"px",e.style.top=t.pageY+"px",t.pageX+n>i&&(a=t.pageX+n-i),t.pageY+r>o&&(s=t.pageY+r-o),e.style.width=n-a+"px",e.style.height=r-s+"px"},h=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},m=function(e){return 0===e.button},g=function(e){return e.element},v=function(e,t){return{pageX:t.pageX-e.relX,pageY:t.pageY+5}},y=function(e,r){return function(i){if(m(i)){var o=t.find(r.dom.getParents(i.target),n.or(a,s));if(l(r.getBody(),o)){var u=r.dom.getPos(o),c=r.getBody(),f=r.getDoc().documentElement;e.element=o,e.screenX=i.screenX,e.screenY=i.screenY,e.maxX=(r.inline?c.scrollWidth:f.offsetWidth)-2,e.maxY=(r.inline?c.scrollHeight:f.offsetHeight)-2,e.relX=i.pageX-u.x,e.relY=i.pageY-u.y,e.width=o.offsetWidth,e.height=o.offsetHeight,e.ghost=d(r,o,e.width,e.height)}}}},b=function(e,t){var n=r.throttle(function(e,n){t._selectionOverrides.hideFakeCaret(),t.selection.placeCaretAt(e,n)},0);return function(r){var i=Math.max(Math.abs(r.screenX-e.screenX),Math.abs(r.screenY-e.screenY));if(g(e)&&!e.dragging&&i>10){var a=t.fire("dragstart",{target:e.element});if(a.isDefaultPrevented())return;e.dragging=!0,t.focus()}if(e.dragging){var s=v(e,o.calc(t,r));f(e.ghost,t.getBody()),p(e.ghost,s,e.width,e.height,e.maxX,e.maxY),n(r.clientX,r.clientY)}}},C=function(e){var t=e.getSel().getRangeAt(0),n=t.startContainer;return 3===n.nodeType?n.parentNode:n},x=function(e,t){return function(n){if(e.dragging&&u(t,C(t.selection),e.element)){var r=c(e.element),i=t.fire("drop",{targetClone:r,clientX:n.clientX,clientY:n.clientY});i.isDefaultPrevented()||(r=i.targetClone,t.undoManager.transact(function(){h(e.element),t.insertContent(t.dom.getOuterHTML(r)),t._selectionOverrides.hideFakeCaret()}))}E(e)}},w=function(e,t){return function(){E(e),e.dragging&&t.fire("dragend")}},E=function(e){e.dragging=!1,e.element=null,h(e.ghost)},N=function(e){var t={},n,r,o,a,s,l;n=i.DOM,l=document,r=y(t,e),o=b(t,e),a=x(t,e),s=w(t,e),e.on("mousedown",r),e.on("mousemove",o),e.on("mouseup",a),n.bind(l,"mousemove",o),n.bind(l,"mouseup",s),e.on("remove",function(){n.unbind(l,"mousemove",o),n.unbind(l,"mouseup",s)})},_=function(e){e.on("drop",function(t){var n="undefined"!=typeof t.clientX?e.getDoc().elementFromPoint(t.clientX,t.clientY):null;(a(n)||a(e.dom.getContentEditableParent(n)))&&t.preventDefault()})},S=function(e){N(e),_(e)};return{init:S}}),r(rt,[d,oe,$,k,ie,Je,Ze,et,_,T,W,I,z,h,c,nt],function(e,t,n,r,i,o,a,s,l,u,c,d,f,p,h,m){function g(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}function v(u){function v(e){return u.dom.hasClass(e,"mce-offscreen-selection")}function _(){var e=u.dom.get(ue);return e?e.getElementsByTagName("*")[0]:e}function S(e){return u.dom.isBlock(e)}function k(e){e&&u.selection.setRng(e)}function T(){return u.selection.getRng()}function R(e,t){u.selection.scrollIntoView(e,t)}function A(e,t,n){var r;return r=u.fire("ShowCaret",{target:t,direction:e,before:n}),r.isDefaultPrevented()?null:(R(t,e===-1),le.show(n,t))}function B(e){var t;return t=u.fire("BeforeObjectSelected",{target:e}),t.isDefaultPrevented()?null:D(e)}function D(e){var t=e.ownerDocument.createRange();return t.selectNode(e),t}function L(e,t){var n=i.isInSameBlock(e,t);return!(n||!l.isBr(e.getNode()))||n}function M(e,t){return t=i.normalizeRange(e,ie,t),e==-1?n.fromRangeStart(t):n.fromRangeEnd(t)}function P(e){return r.isCaretContainerBlock(e.startContainer)}function O(e,t,n,r){var i,o,a,s;return!r.collapsed&&(i=N(r),C(i))?A(e,i,e==-1):(s=P(r),o=M(e,r),n(o)?B(o.getNode(e==-1)):(o=t(o))?n(o)?A(e,o.getNode(e==-1),1==e):(a=t(o),n(a)&&L(o,a)?A(e,a.getNode(e==-1),1==e):s?$(o.toRange()):null):s?r:null)}function H(e,t,n){var r,i,o,l,u,c,d,f,h;if(h=N(n),r=M(e,n),i=t(ie,a.isAboveLine(1),r),o=p.filter(i,a.isLine(1)),u=p.last(r.getClientRects()),E(r)&&(h=r.getNode()),w(r)&&(h=r.getNode(!0)),!u)return null;if(c=u.left,l=s.findClosestClientRect(o,c),l&&C(l.node))return d=Math.abs(c-l.left),f=Math.abs(c-l.right),A(e,l.node,d<f);if(h){var m=a.positionsUntil(e,ie,a.isAboveLine(1),h);if(l=s.findClosestClientRect(p.filter(m,a.isLine(1)),c))return $(l.position.toRange());if(l=p.last(p.filter(m,a.isLine(0))))return $(l.position.toRange())}}function I(t,r){function i(){var t=u.dom.create(u.settings.forced_root_block);return(!e.ie||e.ie>=11)&&(t.innerHTML='<br data-mce-bogus="1">'),t}var o,a,s;if(r.collapsed&&u.settings.forced_root_block){if(o=u.dom.getParent(r.startContainer,"PRE"),!o)return;a=1==t?ae(n.fromRangeStart(r)):se(n.fromRangeStart(r)),a||(s=i(),1==t?u.$(o).after(s):u.$(o).before(s),u.selection.select(s,!0),u.selection.collapse())}}function F(e,t,n,r){var i;return(i=O(e,t,n,r))?i:(i=I(e,r),i?i:null)}function z(e,t,n){var r;return(r=H(e,t,n))?r:(r=I(e,n),r?r:null)}function U(){return de("*[data-mce-caret]")[0]}function W(e){e.hasAttribute("data-mce-caret")&&(r.showCaretContainerBlock(e),k(T()),R(e[0]))}function V(e){var t,r;return e=i.normalizeRange(1,ie,e),t=n.fromRangeStart(e),C(t.getNode())?A(1,t.getNode(),!t.isAtEnd()):C(t.getNode(!0))?A(1,t.getNode(!0),!1):(r=u.dom.getParent(t.getNode(),f.or(C,b)),C(r)?A(1,r,!1):null)}function $(e){var t;return e&&e.collapsed?(t=V(e),t?t:e):e}function q(e){var t,i,o,a;return C(e)?(C(e.previousSibling)&&(o=e.previousSibling),i=se(n.before(e)),i||(t=ae(n.after(e))),t&&x(t.getNode())&&(a=t.getNode()),r.remove(e.previousSibling),r.remove(e.nextSibling),u.dom.remove(e),u.dom.isEmpty(u.getBody())?(u.setContent(""),void u.focus()):o?n.after(o).toRange():a?n.before(a).toRange():i?i.toRange():t?t.toRange():null):null}function j(e){var t=u.schema.getTextBlockElements();return e.nodeName in t}function Y(e){return u.dom.isEmpty(e)}function X(e,t,r){var i=u.dom,o,a,s,l;if(o=i.getParent(t.getNode(),i.isBlock),a=i.getParent(r.getNode(),i.isBlock),e===-1){if(l=r.getNode(!0),w(r)&&S(l))return j(o)?(Y(o)&&i.remove(o),n.after(l).toRange()):q(r.getNode(!0))}else if(l=t.getNode(),E(t)&&S(l))return j(a)?(Y(a)&&i.remove(a),n.before(l).toRange()):q(t.getNode());if(o===a||!j(o)||!j(a))return null;for(;s=o.firstChild;)a.appendChild(s);return u.dom.remove(o),r.toRange()}function K(e,t,n,i){var o,a,s,l;return!i.collapsed&&(o=N(i),C(o))?$(q(o)):(a=M(e,i),n(a)&&r.isCaretContainerBlock(i.startContainer)?(l=e==-1?oe.prev(a):oe.next(a),l?$(l.toRange()):i):t(a)?$(q(a.getNode(e==-1))):(s=e==-1?oe.prev(a):oe.next(a),t(s)?e===-1?X(e,a,s):X(e,s,a):void 0))}function G(){function i(e,t){if(e.isDefaultPrevented()===!1){var n=t(T());n&&(e.preventDefault(),k(n))}}function o(e){for(var t=u.getBody();e&&e!=t;){if(b(e)||C(e))return e;e=e.parentNode}return null}function l(e,t,n){return!n.collapsed&&p.reduce(n.getClientRects(),function(n,r){return n||c.containsXY(r,e,t)},!1)}function f(e){var t=!1;e.on("touchstart",function(){t=!1}),e.on("touchmove",function(){t=!0}),e.on("touchend",function(e){var n=o(e.target);C(n)&&(t||(e.preventDefault(),ee(B(n))))})}function g(){var e,t=o(u.selection.getNode());b(t)&&S(t)&&u.dom.isEmpty(t)&&(e=u.dom.create("br",{"data-mce-bogus":"1"}),u.$(t).empty().append(e),u.selection.setRng(n.before(e).toRange()))}function x(e){var t=U();if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void W(t)):void(r.hasContent(t)&&W(t))}function N(e){var t;switch(e.keyCode){case d.DELETE:t=g();break;case d.BACKSPACE:t=g()}t&&e.preventDefault()}var R=y(F,1,ae,E),D=y(F,-1,se,w),L=y(K,1,E,w),M=y(K,-1,w,E),P=y(z,-1,a.upUntil),O=y(z,1,a.downUntil);u.on("mouseup",function(){var e=T();e.collapsed&&k(V(e))}),u.on("click",function(e){var t;t=o(e.target),t&&(C(t)&&(e.preventDefault(),u.focus()),b(t)&&u.dom.isChildOf(t,u.selection.getNode())&&te())}),u.on("blur NewBlock",function(){te(),re()});var H=function(e){var r=new t(e);if(!e.firstChild)return!1;var i=n.before(e.firstChild),o=r.next(i);return o&&!E(o)&&!w(o)},I=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n===r},j=function(e){return!(e.keyCode>=112&&e.keyCode<=123)},Y=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n&&!I(n,r)&&H(n)};f(u),u.on("mousedown",function(e){var t;if(t=o(e.target))C(t)?(e.preventDefault(),ee(B(t))):l(e.clientX,e.clientY,u.selection.getRng())||u.selection.placeCaretAt(e.clientX,e.clientY);else{te(),re();var n=s.closestCaret(ie,e.clientX,e.clientY);n&&(Y(e.target,n.node)||(e.preventDefault(),u.getBody().focus(),k(A(1,n.node,n.before))))}}),u.on("keydown",function(e){if(!d.modifierPressed(e))switch(e.keyCode){case d.RIGHT:i(e,R);break;case d.DOWN:i(e,O);break;case d.LEFT:i(e,D);break;case d.UP:i(e,P);break;case d.DELETE:i(e,L);break;case d.BACKSPACE:i(e,M);break;default:C(u.selection.getNode())&&j(e)&&e.preventDefault()}}),u.on("keyup compositionstart",function(e){x(e),N(e)},!0),u.on("cut",function(){var e=u.selection.getNode();C(e)&&h.setEditorTimeout(u,function(){k($(q(e)))})}),u.on("getSelectionRange",function(e){var t=e.range;if(ce){if(!ce.parentNode)return void(ce=null);t=t.cloneRange(),t.selectNode(ce),e.range=t}}),u.on("setSelectionRange",function(e){var t;t=ee(e.range),t&&(e.range=t)}),u.on("AfterSetSelectionRange",function(e){var t=e.range;Z(t)||re(),v(t.startContainer.parentNode)||te()}),u.on("focus",function(){h.setEditorTimeout(u,function(){u.selection.setRng($(u.selection.getRng()))},0)}),u.on("copy",function(t){var n=t.clipboardData;if(!t.isDefaultPrevented()&&t.clipboardData&&!e.ie){var r=_();r&&(t.preventDefault(),n.clearData(),n.setData("text/html",r.outerHTML),n.setData("text/plain",r.outerText))}}),m.init(u)}function J(){var e=u.contentStyles,t=".mce-content-body";e.push(le.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")}function Q(e){return r.isCaretContainer(e)||r.startsWithCaretContainer(e)||r.endsWithCaretContainer(e)}function Z(e){return Q(e.startContainer)||Q(e.endContainer)}function ee(t){var n,r=u.$,i=u.dom,o,a,s,l,c,d,f,p,h;if(!t)return null;if(t.collapsed){if(!Z(t)){if(f=M(1,t),C(f.getNode()))return A(1,f.getNode(),!f.isAtEnd());if(C(f.getNode(!0)))return A(1,f.getNode(!0),!1)}return null}return s=t.startContainer,l=t.startOffset,c=t.endOffset,3==s.nodeType&&0==l&&C(s.parentNode)&&(s=s.parentNode,l=i.nodeIndex(s),s=s.parentNode),1!=s.nodeType?null:(c==l+1&&(n=s.childNodes[l]),C(n)?(p=h=n.cloneNode(!0),d=u.fire("ObjectSelected",{target:n,targetClone:p}),d.isDefaultPrevented()?null:(p=d.targetClone,o=r("#"+ue),0===o.length&&(o=r('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>').attr("id",ue),o.appendTo(u.getBody())),t=u.dom.createRng(),p===h&&e.ie?(o.empty().append('<p style="font-size: 0" data-mce-bogus="all">\xa0</p>').append(p),t.setStartAfter(o[0].firstChild.firstChild),t.setEndAfter(p)):(o.empty().append("\xa0").append(p).append("\xa0"),t.setStart(o[0].firstChild,1),t.setEnd(o[0].lastChild,0)),o.css({top:i.getPos(n,u.getBody()).y}),o[0].focus(),a=u.selection.getSel(),a.removeAllRanges(),a.addRange(t),u.$("*[data-mce-selected]").removeAttr("data-mce-selected"),n.setAttribute("data-mce-selected",1),ce=n,re(),t)):null)}function te(){ce&&(ce.removeAttribute("data-mce-selected"),u.$("#"+ue).remove(),ce=null)}function ne(){le.destroy(),ce=null}function re(){le.hide()}var ie=u.getBody(),oe=new t(ie),ae=y(g,oe.next),se=y(g,oe.prev),le=new o(u.getBody(),S),ue="sel-"+u.dom.uniqueId(),ce,de=u.$;return e.ceFalse&&(G(),J()),{showBlockCaretContainer:W,hideFakeCaret:re,destroy:ne}}var y=f.curry,b=l.isContentEditableTrue,C=l.isContentEditableFalse,x=l.isElement,w=i.isAfterContentEditableFalse,E=i.isBeforeContentEditableFalse,N=u.getSelectedNode;return v}),r(it,[],function(){var e=0,t=function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)},t=(new Date).getTime();return"s"+t.toString(36)+e()+e()+e()},n=function(n){return n+e++ +t()};return{uuid:n}}),r(ot,[],function(){var e=function(e,t,n){var r=e.sidebars?e.sidebars:[];r.push({name:t,settings:n}),e.sidebars=r};return{add:e}}),r(at,[w,g,N,R,A,O,P,Y,J,te,ne,re,le,ue,E,f,Le,Ie,B,L,ze,d,m,c,Ue,We,Ve,Ge,rt,it,ot,Ke],function(e,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N,_,S,k,T,R,A,B,D){function L(e,t,i){var o=this,a,s,l;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,l=i.defaultSettings,t=H({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,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%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},l,t),l&&l.external_plugins&&t.external_plugins&&(t.external_plugins=H({},l.external_plugins,t.external_plugins)),o.settings=t,r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.setDirty(!1),o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new k(o),o.loadedCSS={},o.editorCommands=new p(o),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,o.settings.content_editable=o.inline,t.cache_suffix&&(w.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),t.override_viewport===!1&&(w.overrideViewPort=!1),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var M=e.DOM,P=r.ThemeManager,O=r.PluginManager,H=E.extend,I=E.each,F=E.explode,z=E.inArray,U=E.trim,W=E.resolve,V=g.Event,$=w.gecko,q=w.ie;return L.prototype={render:function(){function e(){M.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!P.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",P.load(r.theme,t)}E.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),I(r.external_plugins,function(e,t){O.load(t,e),r.plugins+=" "+t}),I(r.plugins.split(/[ ,]/),function(e){if(e=U(e),e&&!O.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=O.dependencies(e);I(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=O.createUrl(t,e),O.load(e.resource,e)})}else O.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){D.pluginLoadError(n,e[0]),n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!V.domLoaded)return void M.bind(window,"ready",e);if(n.getElement()&&w.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||M.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(M.insertAfter(M.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},M.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),a._mceOldSubmit(a)})),n.windowManager=new v(n),n.notificationManager=new y(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=M.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),n.editorManager.add(n),t()}},init:function(){function e(n){var r=O.get(n),i,o;if(i=O.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=U(n),r&&z(m,n)===-1){if(I(O.dependencies(n),function(t){e(t)}),t.plugins[n])return;o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n))}}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,u,c,d,f,p,h,m=[];if(t.rtl=n.rtl_ui||t.editorManager.i18n.rtl,t.editorManager.i18n.setCode(n.language),n.aria_label=n.aria_label||M.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),t.fire("ScriptsLoaded"),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),u=P.get(n.theme),t.theme=new u(t,P.urls[n.theme]),t.theme.init&&t.theme.init(t,P.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),I(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),o<a&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&I(F(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();if(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!w.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',!/#$/.test(document.location.href))for(h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+E._addCacheSuffix(g)+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",d.indexOf("=")!=-1&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",f.indexOf("=")!=-1&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&w.ie&&w.ie<12&&(c=v);var y=M.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},M.setAttrib(y,"src",c||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=M.add(l.iframeContainer,y),q)try{t.getDoc()}catch(b){s.src=c=v}l.editorContainer&&(M.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=M.isHidden(l.editorContainer)),t.getElement().style.display="none",M.setAttrib(t.id,"aria-hidden",!0),c||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),p=n.getDoc(),h,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();M.removeClass(e,"mce-content-body"),M.removeClass(e,"mce-edit-focus"),M.setAttrib(e,"contentEditable",null)}),M.addClass(s,"mce-content-body"),n.contentDocument=p=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),h=n.getBody(),h.disabled=!0,n.readonly=r.readonly,n.readonly||(n.inline&&"static"==M.getStyle(h,"position",!0)&&(h.style.position="relative"),h.contentEditable=n.getParam("content_editable_state",!0)),h.disabled=!1,n.editorUpload=new T(n),n.schema=new b(r),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new C(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)if(i=e[r],a=i.attr(t),s="data-mce-"+t,!i.attributes.map[s]){if(0===a.indexOf("data:")||0===a.indexOf("blob:"))continue;"style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name));
+e}),u[t.src]=n,n)}),e.all(p)}var u={};return{findAll:l}}}),r(Ye,[h,z],function(e,t){return function(){function n(e,t,n,r){return{id:c(e),filename:c(r||e),blob:c(t),base64:c(n),blobUri:c(URL.createObjectURL(t))}}function r(e){i(e.id())||u.push(e)}function i(e){return o(function(t){return t.id()===e})}function o(t){return e.filter(u,t)[0]}function a(e){return o(function(t){return t.blobUri()==e})}function s(t){u=e.filter(u,function(e){return e.blobUri()!==t||(URL.revokeObjectURL(e.blobUri()),!1)})}function l(){e.each(u,function(e){URL.revokeObjectURL(e.blobUri())}),u=[]}var u=[],c=t.constant;return{create:n,add:r,get:i,getByUri:a,findFirst:o,removeByUri:s,destroy:l}}}),r(Xe,[],function(){return function(){function e(e,t){return{status:e,resultUri:t}}function t(e){return e in d}function n(e){var t=d[e];return t?t.resultUri:null}function r(e){return!!t(e)&&d[e].status===u}function i(e){return!!t(e)&&d[e].status===c}function o(t){d[t]=e(u,null)}function a(t,n){d[t]=e(c,n)}function s(e){delete d[e]}function l(){d={}}var u=1,c=2,d={};return{hasBlobUri:t,getResultUri:n,isPending:r,isUploaded:i,markPending:o,markUploaded:a,removeFailed:s,destroy:l}}}),r(Ke,[N],function(e){var t=e.PluginManager,n=function(e,n){for(var r in t.urls){var i=t.urls[r]+"/plugin"+n+".js";if(i===e)return r}return null},r=function(e,t){var r=n(t,e.suffix);return r?"Failed to load plugin: "+r+" from url "+t:"Failed to load plugin url: "+t},i=function(e,t){e.notificationManager.open({type:"error",text:t})},o=function(e,t){e._skinLoaded?i(e,t):e.on("SkinLoaded",function(){i(e,t)})},a=function(e,t){o(e,"Failed to upload image: "+t)},s=function(e,t){o(e,r(e,t))};return{pluginLoadError:s,uploadError:a}}),r(Ge,[h,$e,je,Ye,Xe,Ke],function(e,t,n,r,i,o){return function(a){function s(e){return function(t){return a.selection?e(t):[]}}function l(){return"?"+(new Date).getTime()}function u(e,t,n){var r=0;do r=e.indexOf(t,r),r!==-1&&(e=e.substring(0,r)+n+e.substr(r+t.length),r+=n.length-t.length+1);while(r!==-1);return e}function c(e,t,n){return e=u(e,'src="'+t+'"','src="'+n+'"'),e=u(e,'data-mce-src="'+t+'"','data-mce-src="'+n+'"')}function d(t,n){e.each(a.undoManager.data,function(r){"fragmented"===r.type?r.fragments=e.map(r.fragments,function(e){return c(e,t,n)}):r.content=c(r.content,t,n)})}function f(){return a.notificationManager.open({text:a.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0})}function p(e,t){C.removeByUri(e.src),d(e.src,t),a.$(e).attr({src:E.images_reuse_filename?t+l():t,"data-mce-src":a.convertURL(t,"src")})}function h(n){return x||(x=new t(N,{url:E.images_upload_url,basePath:E.images_upload_base_path,credentials:E.images_upload_credentials,handler:E.images_upload_handler})),v().then(s(function(t){var r;return r=e.map(t,function(e){return e.blobInfo}),x.upload(r,f).then(s(function(r){return r=e.map(r,function(e,n){var r=t[n].image;return e.status&&a.settings.images_replace_blob_uris!==!1?p(r,e.url):e.error&&o.uploadError(a,e.error),{element:r,status:e.status}}),n&&n(r),r}))}))}function m(e){if(E.automatic_uploads!==!1)return h(e)}function g(e){return!E.images_dataimg_filter||E.images_dataimg_filter(e)}function v(){return w||(w=new n(N,C)),w.findAll(a.getBody(),g).then(s(function(t){return e.each(t,function(e){d(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri(),e.image.removeAttribute("data-mce-src")}),t}))}function y(){C.destroy(),N.destroy(),w=x=null}function b(t){return t.replace(/src="(blob:[^"]+)"/g,function(t,n){var r=N.getResultUri(n);if(r)return'src="'+r+'"';var i=C.getByUri(n);return i||(i=e.reduce(a.editorManager.editors,function(e,t){return e||t.editorUpload.blobCache.getByUri(n)},null)),i?'src="data:'+i.blob().type+";base64,"+i.base64()+'"':t})}var C=new r,x,w,E=a.settings,N=new i;return a.on("setContent",function(){a.settings.automatic_uploads!==!1?m():v()}),a.on("RawSaveContent",function(e){e.content=b(e.content)}),a.on("getContent",function(e){e.source_view||"raw"==e.format||(e.content=b(e.content))}),a.on("PostRender",function(){a.parser.addNodeFilter("img",function(t){e.each(t,function(e){var t=e.attr("src");if(!C.getByUri(t)){var n=N.getResultUri(t);n&&e.attr("src",n)}})})}),{blobCache:C,uploadImages:h,uploadImagesAuto:m,scanForImages:v,destroy:y}}}),r(Je,[k,$,_,T,g,W,c],function(e,t,n,r,i,o,a){var s=n.isContentEditableFalse;return function(t,n){function r(e,n){var r=o.collapse(e.getBoundingClientRect(),n),i,a,s,l,u;return"BODY"==t.tagName?(i=t.ownerDocument.documentElement,a=t.scrollLeft||i.scrollLeft,s=t.scrollTop||i.scrollTop):(u=t.getBoundingClientRect(),a=t.scrollLeft-u.left,s=t.scrollTop-u.top),r.left+=a,r.right+=a,r.top+=s,r.bottom+=s,r.width=1,l=e.offsetWidth-e.clientWidth,l>0&&(n&&(l*=-1),r.left+=l,r.right+=l),r}function l(){var n,r,o,a,s;for(n=i("*[contentEditable=false]",t),a=0;a<n.length;a++)r=n[a],o=r.previousSibling,e.endsWithCaretContainer(o)&&(s=o.data,1==s.length?o.parentNode.removeChild(o):o.deleteData(s.length-1,1)),o=r.nextSibling,e.startsWithCaretContainer(o)&&(s=o.data,1==s.length?o.parentNode.removeChild(o):o.deleteData(0,1));return null}function u(o,a){var l,u;return c(),n(a)?(g=e.insertBlock("p",a,o),l=r(a,o),i(g).css("top",l.top),m=i('<div class="mce-visual-caret" data-mce-bogus="all"></div>').css(l).appendTo(t),o&&m.addClass("mce-visual-caret-before"),d(),u=a.ownerDocument.createRange(),u.setStart(g,0),u.setEnd(g,0),u):(g=e.insertInline(a,o),u=a.ownerDocument.createRange(),s(g.nextSibling)?(u.setStart(g,0),u.setEnd(g,0)):(u.setStart(g,1),u.setEnd(g,1)),u)}function c(){l(),g&&(e.remove(g),g=null),m&&(m.remove(),m=null),clearInterval(h)}function d(){h=a.setInterval(function(){i("div.mce-visual-caret",t).toggleClass("mce-visual-caret-hidden")},500)}function f(){a.clearInterval(h)}function p(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"}var h,m,g;return{show:u,hide:c,getCss:p,destroy:f}}}),r(Qe,[h,_,W],function(e,t,n){function r(i){function o(t){return e.map(t,function(e){return e=n.clone(e),e.node=i,e})}if(e.isArray(i))return e.reduce(i,function(e,t){return e.concat(r(t))},[]);if(t.isElement(i))return o(i.getClientRects());if(t.isText(i)){var a=i.ownerDocument.createRange();return a.setStart(i,0),a.setEnd(i,i.data.length),o(a.getClientRects())}}return{getClientRects:r}}),r(Ze,[z,h,Qe,U,ie,oe,$,W],function(e,t,n,r,i,o,a,s){function l(e,t,n,o){for(;o=i.findNode(o,e,r.isEditableCaretCandidate,t);)if(n(o))return}function u(e,r,i,o,a,s){function u(o){var s,l,u;for(u=n.getClientRects(o),e==-1&&(u=u.reverse()),s=0;s<u.length;s++)if(l=u[s],!i(l,p)){if(f.length>0&&r(l,t.last(f))&&c++,l.line=c,a(l))return!0;f.push(l)}}var c=0,d,f=[],p;return(p=t.last(s.getClientRects()))?(d=s.getNode(),u(d),l(e,o,u,d),f):f}function c(e,t){return t.line>e}function d(e,t){return t.line===e}function f(e,n,r,i){function l(n){return 1==e?t.last(n.getClientRects()):t.last(n.getClientRects())}var u=new o(n),c,d,f,p,h=[],m=0,g,v;1==e?(c=u.next,d=s.isBelow,f=s.isAbove,p=a.after(i)):(c=u.prev,d=s.isAbove,f=s.isBelow,p=a.before(i)),v=l(p);do if(p.isVisible()&&(g=l(p),!f(g,v))){if(h.length>0&&d(g,t.last(h))&&m++,g=s.clone(g),g.position=p,g.line=m,r(g))return h;h.push(g)}while(p=c(p));return h}var p=e.curry,h=p(u,-1,s.isAbove,s.isBelow),m=p(u,1,s.isBelow,s.isAbove);return{upUntil:h,downUntil:m,positionsUntil:f,isAboveLine:p(c),isLine:p(d)}}),r(et,[z,h,_,Qe,W,ie,U],function(e,t,n,r,i,o,a){function s(e,t){return Math.abs(e.left-t)}function l(e,t){return Math.abs(e.right-t)}function u(e,n){function r(e,t){return e>=t.left&&e<=t.right}return t.reduce(e,function(e,t){var i,o;return i=Math.min(s(e,n),l(e,n)),o=Math.min(s(t,n),l(t,n)),r(n,t)?t:r(n,e)?e:o==i&&m(t.node)?t:o<i?t:e})}function c(e,t,n,r){for(;r=g(r,e,a.isEditableCaretCandidate,t);)if(n(r))return}function d(e,n){function o(e,i){var o;return o=t.filter(r.getClientRects(i),function(t){return!e(t,n)}),a=a.concat(o),0===o.length}var a=[];return a.push(n),c(-1,e,v(o,i.isAbove),n.node),c(1,e,v(o,i.isBelow),n.node),a}function f(e){return t.filter(t.toArray(e.getElementsByTagName("*")),m)}function p(e,t){return{node:e.node,before:s(e,t)<l(e,t)}}function h(e,n,i){var o,a;return o=r.getClientRects(f(e)),o=t.filter(o,function(e){return i>=e.top&&i<=e.bottom}),a=u(o,n),a&&(a=u(d(e,a),n),a&&m(a.node))?p(a,n):null}var m=n.isContentEditableFalse,g=o.findNode,v=e.curry;return{findClosestClientRect:u,findLineNodeRects:d,closestCaret:h}}),r(tt,[],function(){var e=function(e){var t,n,r,i;return i=e.getBoundingClientRect(),t=e.ownerDocument,n=t.documentElement,r=t.defaultView,{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}},t=function(t){return t.inline?e(t.getBody()):{left:0,top:0}},n=function(e){var t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}},r=function(e){var t=e.getBody(),n=e.getDoc().documentElement,r={left:t.scrollLeft,top:t.scrollTop},i={left:t.scrollLeft||n.scrollLeft,top:t.scrollTop||n.scrollTop};return e.inline?r:i},i=function(t,n){if(n.target.ownerDocument!==t.getDoc()){var i=e(t.getContentAreaContainer()),o=r(t);return{left:n.pageX-i.left+o.left,top:n.pageY-i.top+o.top}}return{left:n.pageX,top:n.pageY}},o=function(e,t,n){return{pageX:n.left-e.left+t.left,pageY:n.top-e.top+t.top}},a=function(e,r){return o(t(e),n(e),i(e,r))};return{calc:a}}),r(nt,[_,h,z,c,w,tt],function(e,t,n,r,i,o){var a=e.isContentEditableFalse,s=e.isContentEditableTrue,l=function(e,t){return a(t)&&t!==e},u=function(e,t,n){return t!==n&&!e.dom.isChildOf(t,n)&&!a(t)},c=function(e){var t=e.cloneNode(!0);return t.removeAttribute("data-mce-selected"),t},d=function(e,t,n,r){var i=t.cloneNode(!0);e.dom.setStyles(i,{width:n,height:r}),e.dom.setAttrib(i,"data-mce-selected",null);var o=e.dom.create("div",{"class":"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return e.dom.setStyles(o,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(i,{margin:0,boxSizing:"border-box"}),o.appendChild(i),o},f=function(e,t){e.parentNode!==t&&t.appendChild(e)},p=function(e,t,n,r,i,o){var a=0,s=0;e.style.left=t.pageX+"px",e.style.top=t.pageY+"px",t.pageX+n>i&&(a=t.pageX+n-i),t.pageY+r>o&&(s=t.pageY+r-o),e.style.width=n-a+"px",e.style.height=r-s+"px"},h=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},m=function(e){return 0===e.button},g=function(e){return e.element},v=function(e,t){return{pageX:t.pageX-e.relX,pageY:t.pageY+5}},y=function(e,r){return function(i){if(m(i)){var o=t.find(r.dom.getParents(i.target),n.or(a,s));if(l(r.getBody(),o)){var u=r.dom.getPos(o),c=r.getBody(),f=r.getDoc().documentElement;e.element=o,e.screenX=i.screenX,e.screenY=i.screenY,e.maxX=(r.inline?c.scrollWidth:f.offsetWidth)-2,e.maxY=(r.inline?c.scrollHeight:f.offsetHeight)-2,e.relX=i.pageX-u.x,e.relY=i.pageY-u.y,e.width=o.offsetWidth,e.height=o.offsetHeight,e.ghost=d(r,o,e.width,e.height)}}}},b=function(e,t){var n=r.throttle(function(e,n){t._selectionOverrides.hideFakeCaret(),t.selection.placeCaretAt(e,n)},0);return function(r){var i=Math.max(Math.abs(r.screenX-e.screenX),Math.abs(r.screenY-e.screenY));if(g(e)&&!e.dragging&&i>10){var a=t.fire("dragstart",{target:e.element});if(a.isDefaultPrevented())return;e.dragging=!0,t.focus()}if(e.dragging){var s=v(e,o.calc(t,r));f(e.ghost,t.getBody()),p(e.ghost,s,e.width,e.height,e.maxX,e.maxY),n(r.clientX,r.clientY)}}},C=function(e){var t=e.getSel().getRangeAt(0),n=t.startContainer;return 3===n.nodeType?n.parentNode:n},x=function(e,t){return function(n){if(e.dragging&&u(t,C(t.selection),e.element)){var r=c(e.element),i=t.fire("drop",{targetClone:r,clientX:n.clientX,clientY:n.clientY});i.isDefaultPrevented()||(r=i.targetClone,t.undoManager.transact(function(){h(e.element),t.insertContent(t.dom.getOuterHTML(r)),t._selectionOverrides.hideFakeCaret()}))}E(e)}},w=function(e,t){return function(){E(e),e.dragging&&t.fire("dragend")}},E=function(e){e.dragging=!1,e.element=null,h(e.ghost)},N=function(e){var t={},n,r,o,a,s,l;n=i.DOM,l=document,r=y(t,e),o=b(t,e),a=x(t,e),s=w(t,e),e.on("mousedown",r),e.on("mousemove",o),e.on("mouseup",a),n.bind(l,"mousemove",o),n.bind(l,"mouseup",s),e.on("remove",function(){n.unbind(l,"mousemove",o),n.unbind(l,"mouseup",s)})},_=function(e){e.on("drop",function(t){var n="undefined"!=typeof t.clientX?e.getDoc().elementFromPoint(t.clientX,t.clientY):null;(a(n)||a(e.dom.getContentEditableParent(n)))&&t.preventDefault()})},S=function(e){N(e),_(e)};return{init:S}}),r(rt,[d,oe,$,k,ie,Je,Ze,et,_,T,W,I,z,h,c,nt],function(e,t,n,r,i,o,a,s,l,u,c,d,f,p,h,m){function g(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}function v(u){function v(e){return u.dom.hasClass(e,"mce-offscreen-selection")}function _(){var e=u.dom.get(ue);return e?e.getElementsByTagName("*")[0]:e}function S(e){return u.dom.isBlock(e)}function k(e){e&&u.selection.setRng(e)}function T(){return u.selection.getRng()}function R(e,t){u.selection.scrollIntoView(e,t)}function A(e,t,n){var r;return r=u.fire("ShowCaret",{target:t,direction:e,before:n}),r.isDefaultPrevented()?null:(R(t,e===-1),le.show(n,t))}function B(e){var t;return t=u.fire("BeforeObjectSelected",{target:e}),t.isDefaultPrevented()?null:D(e)}function D(e){var t=e.ownerDocument.createRange();return t.selectNode(e),t}function L(e,t){var n=i.isInSameBlock(e,t);return!(n||!l.isBr(e.getNode()))||n}function M(e,t){return t=i.normalizeRange(e,ie,t),e==-1?n.fromRangeStart(t):n.fromRangeEnd(t)}function P(e){return r.isCaretContainerBlock(e.startContainer)}function O(e,t,n,r){var i,o,a,s;return!r.collapsed&&(i=N(r),C(i))?A(e,i,e==-1):(s=P(r),o=M(e,r),n(o)?B(o.getNode(e==-1)):(o=t(o))?n(o)?A(e,o.getNode(e==-1),1==e):(a=t(o),n(a)&&L(o,a)?A(e,a.getNode(e==-1),1==e):s?$(o.toRange()):null):s?r:null)}function H(e,t,n){var r,i,o,l,u,c,d,f,h;if(h=N(n),r=M(e,n),i=t(ie,a.isAboveLine(1),r),o=p.filter(i,a.isLine(1)),u=p.last(r.getClientRects()),E(r)&&(h=r.getNode()),w(r)&&(h=r.getNode(!0)),!u)return null;if(c=u.left,l=s.findClosestClientRect(o,c),l&&C(l.node))return d=Math.abs(c-l.left),f=Math.abs(c-l.right),A(e,l.node,d<f);if(h){var m=a.positionsUntil(e,ie,a.isAboveLine(1),h);if(l=s.findClosestClientRect(p.filter(m,a.isLine(1)),c))return $(l.position.toRange());if(l=p.last(p.filter(m,a.isLine(0))))return $(l.position.toRange())}}function I(t,r){function i(){var t=u.dom.create(u.settings.forced_root_block);return(!e.ie||e.ie>=11)&&(t.innerHTML='<br data-mce-bogus="1">'),t}var o,a,s;if(r.collapsed&&u.settings.forced_root_block){if(o=u.dom.getParent(r.startContainer,"PRE"),!o)return;a=1==t?ae(n.fromRangeStart(r)):se(n.fromRangeStart(r)),a||(s=i(),1==t?u.$(o).after(s):u.$(o).before(s),u.selection.select(s,!0),u.selection.collapse())}}function F(e,t,n,r){var i;return(i=O(e,t,n,r))?i:(i=I(e,r),i?i:null)}function z(e,t,n){var r;return(r=H(e,t,n))?r:(r=I(e,n),r?r:null)}function U(){return de("*[data-mce-caret]")[0]}function W(e){e.hasAttribute("data-mce-caret")&&(r.showCaretContainerBlock(e),k(T()),R(e[0]))}function V(e){var t,r;return e=i.normalizeRange(1,ie,e),t=n.fromRangeStart(e),C(t.getNode())?A(1,t.getNode(),!t.isAtEnd()):C(t.getNode(!0))?A(1,t.getNode(!0),!1):(r=u.dom.getParent(t.getNode(),f.or(C,b)),C(r)?A(1,r,!1):null)}function $(e){var t;return e&&e.collapsed?(t=V(e),t?t:e):e}function q(e){var t,i,o,a;return C(e)?(C(e.previousSibling)&&(o=e.previousSibling),i=se(n.before(e)),i||(t=ae(n.after(e))),t&&x(t.getNode())&&(a=t.getNode()),r.remove(e.previousSibling),r.remove(e.nextSibling),u.dom.remove(e),u.dom.isEmpty(u.getBody())?(u.setContent(""),void u.focus()):o?n.after(o).toRange():a?n.before(a).toRange():i?i.toRange():t?t.toRange():null):null}function j(e){var t=u.schema.getTextBlockElements();return e.nodeName in t}function Y(e){return u.dom.isEmpty(e)}function X(e,t,r){var i=u.dom,o,a,s,l;if(o=i.getParent(t.getNode(),i.isBlock),a=i.getParent(r.getNode(),i.isBlock),e===-1){if(l=r.getNode(!0),w(r)&&S(l))return j(o)?(Y(o)&&i.remove(o),n.after(l).toRange()):q(r.getNode(!0))}else if(l=t.getNode(),E(t)&&S(l))return j(a)?(Y(a)&&i.remove(a),n.before(l).toRange()):q(t.getNode());if(o===a||!j(o)||!j(a))return null;for(;s=o.firstChild;)a.appendChild(s);return u.dom.remove(o),r.toRange()}function K(e,t,n,i){var o,a,s,l;return!i.collapsed&&(o=N(i),C(o))?$(q(o)):(a=M(e,i),n(a)&&r.isCaretContainerBlock(i.startContainer)?(l=e==-1?oe.prev(a):oe.next(a),l?$(l.toRange()):i):t(a)?$(q(a.getNode(e==-1))):(s=e==-1?oe.prev(a):oe.next(a),t(s)?e===-1?X(e,a,s):X(e,s,a):void 0))}function G(){function i(e,t){if(e.isDefaultPrevented()===!1){var n=t(T());n&&(e.preventDefault(),k(n))}}function o(e){for(var t=u.getBody();e&&e!=t;){if(b(e)||C(e))return e;e=e.parentNode}return null}function l(e,t,n){return!n.collapsed&&p.reduce(n.getClientRects(),function(n,r){return n||c.containsXY(r,e,t)},!1)}function f(e){var t=!1;e.on("touchstart",function(){t=!1}),e.on("touchmove",function(){t=!0}),e.on("touchend",function(e){var n=o(e.target);C(n)&&(t||(e.preventDefault(),ee(B(n))))})}function g(){var e,t=o(u.selection.getNode());b(t)&&S(t)&&u.dom.isEmpty(t)&&(e=u.dom.create("br",{"data-mce-bogus":"1"}),u.$(t).empty().append(e),u.selection.setRng(n.before(e).toRange()))}function x(e){var t=U();if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void W(t)):void(r.hasContent(t)&&W(t))}function N(e){var t;switch(e.keyCode){case d.DELETE:t=g();break;case d.BACKSPACE:t=g()}t&&e.preventDefault()}var R=y(F,1,ae,E),D=y(F,-1,se,w),L=y(K,1,E,w),M=y(K,-1,w,E),P=y(z,-1,a.upUntil),O=y(z,1,a.downUntil);u.on("mouseup",function(){var e=T();e.collapsed&&k(V(e))}),u.on("click",function(e){var t;t=o(e.target),t&&(C(t)&&(e.preventDefault(),u.focus()),b(t)&&u.dom.isChildOf(t,u.selection.getNode())&&te())}),u.on("blur NewBlock",function(){te(),re()});var H=function(e){var r=new t(e);if(!e.firstChild)return!1;var i=n.before(e.firstChild),o=r.next(i);return o&&!E(o)&&!w(o)},I=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n===r},j=function(e){return!(e.keyCode>=112&&e.keyCode<=123)},Y=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n&&!I(n,r)&&H(n)};f(u),u.on("mousedown",function(e){var t;if(t=o(e.target))C(t)?(e.preventDefault(),ee(B(t))):l(e.clientX,e.clientY,u.selection.getRng())||u.selection.placeCaretAt(e.clientX,e.clientY);else{te(),re();var n=s.closestCaret(ie,e.clientX,e.clientY);n&&(Y(e.target,n.node)||(e.preventDefault(),u.getBody().focus(),k(A(1,n.node,n.before))))}}),u.on("keydown",function(e){if(!d.modifierPressed(e))switch(e.keyCode){case d.RIGHT:i(e,R);break;case d.DOWN:i(e,O);break;case d.LEFT:i(e,D);break;case d.UP:i(e,P);break;case d.DELETE:i(e,L);break;case d.BACKSPACE:i(e,M);break;default:C(u.selection.getNode())&&j(e)&&e.preventDefault()}}),u.on("keyup compositionstart",function(e){x(e),N(e)},!0),u.on("cut",function(){var e=u.selection.getNode();C(e)&&h.setEditorTimeout(u,function(){k($(q(e)))})}),u.on("getSelectionRange",function(e){var t=e.range;if(ce){if(!ce.parentNode)return void(ce=null);t=t.cloneRange(),t.selectNode(ce),e.range=t}}),u.on("setSelectionRange",function(e){var t;t=ee(e.range),t&&(e.range=t)}),u.on("AfterSetSelectionRange",function(e){var t=e.range;Z(t)||re(),v(t.startContainer.parentNode)||te()}),u.on("focus",function(){h.setEditorTimeout(u,function(){u.selection.setRng($(u.selection.getRng()))},0)}),u.on("copy",function(t){var n=t.clipboardData;if(!t.isDefaultPrevented()&&t.clipboardData&&!e.ie){var r=_();r&&(t.preventDefault(),n.clearData(),n.setData("text/html",r.outerHTML),n.setData("text/plain",r.outerText))}}),m.init(u)}function J(){var e=u.contentStyles,t=".mce-content-body";e.push(le.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")}function Q(e){return r.isCaretContainer(e)||r.startsWithCaretContainer(e)||r.endsWithCaretContainer(e)}function Z(e){return Q(e.startContainer)||Q(e.endContainer)}function ee(t){var n,r=u.$,i=u.dom,o,a,s,l,c,d,f,p,h;if(!t)return null;if(t.collapsed){if(!Z(t)){if(f=M(1,t),C(f.getNode()))return A(1,f.getNode(),!f.isAtEnd());if(C(f.getNode(!0)))return A(1,f.getNode(!0),!1)}return null}return s=t.startContainer,l=t.startOffset,c=t.endOffset,3==s.nodeType&&0==l&&C(s.parentNode)&&(s=s.parentNode,l=i.nodeIndex(s),s=s.parentNode),1!=s.nodeType?null:(c==l+1&&(n=s.childNodes[l]),C(n)?(p=h=n.cloneNode(!0),d=u.fire("ObjectSelected",{target:n,targetClone:p}),d.isDefaultPrevented()?null:(p=d.targetClone,o=r("#"+ue),0===o.length&&(o=r('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>').attr("id",ue),o.appendTo(u.getBody())),t=u.dom.createRng(),p===h&&e.ie?(o.empty().append('<p style="font-size: 0" data-mce-bogus="all">\xa0</p>').append(p),t.setStartAfter(o[0].firstChild.firstChild),t.setEndAfter(p)):(o.empty().append("\xa0").append(p).append("\xa0"),t.setStart(o[0].firstChild,1),t.setEnd(o[0].lastChild,0)),o.css({top:i.getPos(n,u.getBody()).y}),o[0].focus(),a=u.selection.getSel(),a.removeAllRanges(),a.addRange(t),u.$("*[data-mce-selected]").removeAttr("data-mce-selected"),n.setAttribute("data-mce-selected",1),ce=n,re(),t)):null)}function te(){ce&&(ce.removeAttribute("data-mce-selected"),u.$("#"+ue).remove(),ce=null)}function ne(){le.destroy(),ce=null}function re(){le.hide()}var ie=u.getBody(),oe=new t(ie),ae=y(g,oe.next),se=y(g,oe.prev),le=new o(u.getBody(),S),ue="sel-"+u.dom.uniqueId(),ce,de=u.$;return e.ceFalse&&(G(),J()),{showBlockCaretContainer:W,hideFakeCaret:re,destroy:ne}}var y=f.curry,b=l.isContentEditableTrue,C=l.isContentEditableFalse,x=l.isElement,w=i.isAfterContentEditableFalse,E=i.isBeforeContentEditableFalse,N=u.getSelectedNode;return v}),r(it,[],function(){var e=0,t=function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)},t=(new Date).getTime();return"s"+t.toString(36)+e()+e()+e()},n=function(n){return n+e++ +t()};return{uuid:n}}),r(ot,[],function(){var e=function(e,t,n){var r=e.sidebars?e.sidebars:[];r.push({name:t,settings:n}),e.sidebars=r};return{add:e}}),r(at,[w,g,N,R,A,O,P,Y,J,te,ne,re,le,ue,E,f,Le,Ie,B,L,ze,d,m,c,Ue,We,Ve,Ge,rt,it,ot,Ke],function(e,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N,_,S,k,T,R,A,B,D){function L(e,t,i){var o=this,a,s,l;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,l=i.defaultSettings,t=H({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,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%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},l,t),l&&l.external_plugins&&t.external_plugins&&(t.external_plugins=H({},l.external_plugins,t.external_plugins)),o.settings=t,r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.setDirty(!1),o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new k(o),o.loadedCSS={},o.editorCommands=new p(o),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,o.settings.content_editable=o.inline,t.cache_suffix&&(w.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),t.override_viewport===!1&&(w.overrideViewPort=!1),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var M=e.DOM,P=r.ThemeManager,O=r.PluginManager,H=E.extend,I=E.each,F=E.explode,z=E.inArray,U=E.trim,W=E.resolve,V=g.Event,$=w.gecko,q=w.ie;return L.prototype={render:function(){function e(){M.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!P.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",P.load(r.theme,t)}E.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),I(r.external_plugins,function(e,t){O.load(t,e),r.plugins+=" "+t}),I(r.plugins.split(/[ ,]/),function(e){if(e=U(e),e&&!O.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=O.dependencies(e);I(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=O.createUrl(t,e),O.load(e.resource,e)})}else O.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){D.pluginLoadError(n,e[0]),n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!V.domLoaded)return void M.bind(window,"ready",e);if(n.getElement()&&w.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||M.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(M.insertAfter(M.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},M.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),a._mceOldSubmit(a)})),n.windowManager=new v(n),n.notificationManager=new y(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=M.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),n.editorManager.add(n),t()}},init:function(){function e(n){var r=O.get(n),i,o;if(i=O.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=U(n),r&&z(m,n)===-1){if(I(O.dependencies(n),function(t){e(t)}),t.plugins[n])return;o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n))}}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,u,c,d,f,p,h,m=[];if(t.rtl=n.rtl_ui||t.editorManager.i18n.rtl,t.editorManager.i18n.setCode(n.language),n.aria_label=n.aria_label||M.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),t.fire("ScriptsLoaded"),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),u=P.get(n.theme),t.theme=new u(t,P.urls[n.theme]),t.theme.init&&t.theme.init(t,P.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),I(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),o<a&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&I(F(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();if(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!w.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',!/#$/.test(document.location.href))for(h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link rel="stylesheet" href="'+E._addCacheSuffix(g)+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",d.indexOf("=")!=-1&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",f.indexOf("=")!=-1&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&w.ie&&w.ie<12&&(c=v);var y=M.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},M.setAttrib(y,"src",c||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=M.add(l.iframeContainer,y),q)try{t.getDoc()}catch(b){s.src=c=v}l.editorContainer&&(M.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=M.isHidden(l.editorContainer)),t.getElement().style.display="none",M.setAttrib(t.id,"aria-hidden",!0),c||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),p=n.getDoc(),h,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();M.removeClass(e,"mce-content-body"),M.removeClass(e,"mce-edit-focus"),M.setAttrib(e,"contentEditable",null)}),M.addClass(s,"mce-content-body"),n.contentDocument=p=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),h=n.getBody(),h.disabled=!0,n.readonly=r.readonly,n.readonly||(n.inline&&"static"==M.getStyle(h,"position",!0)&&(h.style.position="relative"),h.contentEditable=n.getParam("content_editable_state",!0)),h.disabled=!1,n.editorUpload=new T(n),n.schema=new b(r),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new C(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)if(i=e[r],a=i.attr(t),s="data-mce-"+t,!i.attributes.map[s]){if(0===a.indexOf("data:")||0===a.indexOf("blob:"))continue;"style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name));
 }}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("type")||"no/type",0!==r.indexOf("mce-")&&n.attr("type","mce-"+r)}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&0===r.getAll("br").length&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new u(n),n.undoManager=new c(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n._selectionOverrides=new R(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(p.body.spellcheck=!1,M.setAttrib(h,"spellcheck","false")),n.quirks=new x(n),n.fire("PostRender"),r.directionality&&(h.dir=r.directionality),r.nowrap&&(h.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){I(r.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|<br \/>|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.on("compositionstart compositionend",function(e){n.composing="compositionstart"===e.type}),n.contentStyles.length>0&&(m="",I(n.contentStyles,function(e){m+=e+"\r\n"}),n.dom.addStyle(m)),I(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&N.setEditorTimeout(n,function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.destroyed||e.focus()},100),s=p=h=null},focus:function(e){function t(e){return n.dom.getParent(e,function(e){return"true"===n.dom.getContentEditable(e)})}var n=this,r=n.selection,i=n.settings.content_editable,o,a,s=n.getDoc(),l=n.getBody(),u;if(!e){if(o=r.getRng(),o.item&&(a=o.item(0)),n.quirks.refreshContentEditable(),u=t(r.getNode()),n.$.contains(l,u))return u.focus(),r.normalize(),void n.editorManager.setActive(n);if(i||(w.opera||n.getBody().focus(),n.getWin().focus()),$||i){if(l.setActive)try{l.setActive()}catch(c){l.focus()}else l.focus();i&&r.normalize()}a&&a.ownerDocument==s&&(o=s.body.createControlRange(),o.addElement(a),o.select())}n.editorManager.setActive(n)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?W(r):0,n=W(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?(e=n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}),this.editorManager.translate(e)):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?I(r.indexOf("=")>0?r.split(/[;,](?![^=;,]*(?:[;,]|$))/):r.split(","),function(e){e=e.split("="),e.length>1?i[U(e[0])]=U(e[1]):i[U(e[0])]=U(e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addSidebar:function(e,t){return B.add(this,e,t)},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addContextToolbar:function(e,t){var n=this,r;n.contextToolbars=n.contextToolbars||[],"string"==typeof e&&(r=e,e=function(e){return n.dom.is(e,r)}),n.contextToolbars.push({id:A.uuid("mcet"),predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(M.show(e.getContainer()),M.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(q&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(M.hide(e.getContainer()),M.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;if(r)return e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),"raw"==e.format&&t.fire("RawSaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=M.getParent(t.id,"form"))&&I(i.elements,function(e){if(e.name==t.id)return e.value=r,!1})),e.element=n=null,e.set_dirty!==!1&&t.setDirty(!1),r},setContent:function(e,t){var n=this,r=n.getBody(),i,o;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(o=q&&q<11?"":'<br data-mce-bogus="1">',"TABLE"==r.nodeName?e="<tr><td>"+o+"</td></tr>":/^(UL|OL)$/.test(r.nodeName)&&(e="<li>"+o+"</li>"),i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=o,e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):q||e||(e='<br data-mce-bogus="1">'),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({validate:n.validate},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=U(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?E.trim(t.serializer.getTrimmedContent()):"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),"text"!=e.format?e.content=U(n):e.content=n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=H({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!=t&&this.fire("dirty")},setMode:function(e){S.setMode(this,e)},getContainer:function(){var e=this;return e.container||(e.container=M.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=M.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),I(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&M.remove(e.getElement().nextSibling),e.inline||(q&&q<10&&e.getDoc().execCommand("SelectAll",!1,null),M.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),M.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),M.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},H(L.prototype,_),L}),r(st,[m],function(e){var t={},n="en";return{setCode:function(e){e&&(n=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return n},rtl:!1,add:function(e,n){var r=t[e];r||(t[e]=r={});for(var i in n)r[i]=n[i];this.setCode(e)},translate:function(r){function i(t){return e.is(t,"function")?Object.prototype.toString.call(t):o(t)?"":""+t}function o(t){return""===t||null===t||e.is(t,"undefined")}function a(t){return t=i(t),e.hasOwn(s,t)?i(s[t]):t}var s=t[n]||{};if(o(r))return"";if(e.is(r,"object")&&e.hasOwn(r,"raw"))return i(r.raw);if(e.is(r,"array")){var l=r.slice(1);r=a(r[0]).replace(/\{([0-9]+)\}/g,function(t,n){return e.hasOwn(l,n)?i(l[n]):t})}return a(r).replace(/{context:\w+}$/,"")},data:t}}),r(lt,[w,c,d],function(e,t,n){function r(e){function r(){try{return document.activeElement}catch(e){return document.body}}function u(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function d(d){var f=d.editor;f.on("init",function(){(f.inline||n.ie)&&("onbeforedeactivate"in document&&n.ie<9?f.dom.bind(f.getBody(),"beforedeactivate",function(e){if(e.target==f.getBody())try{f.lastRng=f.selection.getRng()}catch(t){}}):f.on("nodechange mouseup keyup",function(e){var t=r();"nodechange"==e.type&&e.selectionChange||(t&&t.id==f.id+"_ifr"&&(t=f.getBody()),f.dom.isChildOf(t,f.getBody())&&(f.lastRng=f.selection.getRng()))}),n.webkit&&!i&&(i=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(f.lastRng=n)}},s.bind(document,"selectionchange",i)))}),f.on("setcontent",function(){f.lastRng=null}),f.on("mousedown",function(){f.selection.lastFocusBookmark=null}),f.on("focusin",function(){var t=e.focusedEditor,n;f.selection.lastFocusBookmark&&(n=c(f,f.selection.lastFocusBookmark),f.selection.lastFocusBookmark=null,f.selection.setRng(n)),t!=f&&(t&&t.fire("blur",{focusedEditor:f}),e.setActive(f),e.focusedEditor=f,f.fire("focus",{blurredEditor:t}),f.focus(!0)),f.lastRng=null}),f.on("focusout",function(){t.setEditorTimeout(f,function(){var t=e.focusedEditor;l(f,r())||t!=f||(f.fire("blur",{focusedEditor:null}),e.focusedEditor=null,f.selection&&(f.selection.lastFocusBookmark=null))})}),o||(o=function(t){var n=e.activeEditor,r;r=t.target,n&&r.ownerDocument==document&&(n.selection&&r!=n.getBody()&&(n.selection.lastFocusBookmark=u(n.dom,n.lastRng)),r==document.body||l(n,r)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},s.bind(document,"focusin",o)),f.inline&&!a&&(a=function(t){var n=e.activeEditor,r=n.dom;if(n.inline&&r&&!r.isChildOf(t.target,n.getBody())){var i=n.selection.getRng();i.collapsed||(n.lastRng=i)}},s.bind(document,"mouseup",a))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(s.unbind(document,"selectionchange",i),s.unbind(document,"focusin",o),s.unbind(document,"mouseup",a),i=o=a=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var i,o,a,s=e.DOM,l=function(e,t){var n=e?e.settings.custom_ui_selector:"",i=s.getParent(t,function(t){return r.isEditorUIElement(t)||!!n&&e.dom.is(t,n)});return null!==i};return r.isEditorUIElement=function(e){return e.className.toString().indexOf("mce-")!==-1},r._isUIElement=l,r}),r(ut,[at,g,w,ue,d,m,u,pe,st,lt,N],function(e,t,n,r,i,o,a,s,l,u,c){function d(e){v(x.editors,function(t){"scroll"===e.type?t.fire("ScrollWindow",e):t.fire("ResizeWindow",e)})}function f(e,n){n!==w&&(n?t(window).on("resize scroll",d):t(window).off("resize scroll",d),w=n)}function p(e){var t=x.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return x.activeEditor==e&&(x.activeEditor=t[0]),x.focusedEditor==e&&(x.focusedEditor=null),n}function h(e){return e&&e.initialized&&!(e.getContainer()||e.getBody()).parentNode&&(p(e),e.unbindAllNativeEvents(),e.destroy(!0),e.removed=!0,e=null),e}var m=n.DOM,g=o.explode,v=o.each,y=o.extend,b=0,C,x,w=!1;return x={$:t,majorVersion:"4",minorVersion:"5.7",releaseDate:"2017-04-25",editors:[],i18n:l,activeEditor:null,setup:function(){var e=this,t,n,i="",o,a;if(n=r.getDocumentBaseUrl(document.location),/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName("script"),l=0;l<s.length;l++){a=s[l].src;var c=a.substring(a.lastIndexOf("/"));if(/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)){c.indexOf(".min")!=-1&&(i=".min"),t=a.substring(0,a.lastIndexOf("/"));break}}!t&&document.currentScript&&(a=document.currentScript.src,a.indexOf(".min")!=-1&&(i=".min"),t=a.substring(0,a.lastIndexOf("/")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new u(e)},overrideDefaults:function(e){var t,n;t=e.base_url,t&&(this.baseURL=new r(this.documentBaseURL).toAbsolute(t.replace(/\/+$/,"")),this.baseURI=new r(this.baseURL)),n=e.suffix,e.suffix&&(this.suffix=n),this.defaultSettings=e;var i=e.plugin_base_urls;for(var o in i)c.PluginManager.urls[o]=i[o]},init:function(n){function r(e,t){return e.inline&&t.tagName.toLowerCase()in C}function i(e,t){window.console&&!window.test&&window.console.log(e,t)}function s(e){var t=e.id;return t||(t=e.name,t=t&&!m.get(t)?e.name:m.uniqueId(),e.setAttribute("id",t)),t}function l(e){var t=n[e];if(t)return t.apply(f,Array.prototype.slice.call(arguments,2))}function u(e,t){return t.constructor===RegExp?t.test(e.className):m.hasClass(e,t)}function c(e){var t,n=[];if(e.types)return v(e.types,function(e){n=n.concat(m.select(e.selector))}),n;if(e.selector)return m.select(e.selector);if(e.target)return[e.target];switch(e.mode){case"exact":t=e.elements||"",t.length>0&&v(g(t),function(e){var t;(t=m.get(e))?n.push(t):v(document.forms,function(t){v(t.elements,function(t){t.name===e&&(e="mce_editor_"+b++,m.setAttrib(t,"id",e),n.push(t))})})});break;case"textareas":case"specific_textareas":v(m.select("textarea"),function(t){e.editor_deselector&&u(t,e.editor_deselector)||e.editor_selector&&!u(t,e.editor_selector)||n.push(t)})}return n}function d(){function a(t,n,r){var i=new e(t,n,f);p.push(i),i.on("init",function(){++u===g.length&&x(p)}),i.targetElm=i.targetElm||r,i.render()}var u=0,p=[],g;return m.unbind(window,"ready",d),l("onpageload"),g=t.unique(c(n)),n.types?void v(n.types,function(e){o.each(g,function(t){return!m.is(t,e.selector)||(a(s(t),y({},n,e),t),!1)})}):(o.each(g,function(e){h(f.get(e.id))}),g=o.grep(g,function(e){return!f.get(e.id)}),void v(g,function(e){r(n,e)?i("Could not initialize inline editor on invalid inline target element",e):a(s(e),n,e)}))}var f=this,p,C;C=o.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu"," ");var x=function(e){p=e};return f.settings=n,m.bind(window,"ready",d),new a(function(e){p?e(p):x=function(t){e(t)}})},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),f(n,!0),t.activeEditor=e,t.fire("AddEditor",{editor:e}),C||(C=function(){t.fire("BeforeUnload")},m.bind(window,"beforeunload",C)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void v(m.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(p(i)&&t.fire("RemoveEditor",{editor:i}),r.length||m.unbind(window,"beforeunload",C),i.remove(),f(r,r.length>0),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return!!i.activeEditor&&i.activeEditor.execCommand(t,n,r)},triggerSave:function(){v(this.editors,function(e){e.save()})},addI18n:function(e,t){l.add(e,t)},translate:function(e){return l.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},y(x,s),x.setup(),window.tinymce=window.tinyMCE=x,x}),r(ct,[ut,m],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){"html4"===t.settings.schema&&e(r,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(dt,[pe,m],function(e,t){var n={send:function(e){function r(){!e.async||4==i.readyState||o++>1e4?(e.success&&o<1e4&&200==i.status?e.success.call(e.success_scope,""+i.responseText,i,e):e.error&&e.error.call(e.error_scope,o>1e4?"TIMED_OUT":"GENERAL",i,e),i=null):setTimeout(r,10)}var i,o=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async!==!1,e.data=e.data||"",n.fire("beforeInitialize",{settings:e}),i=new XMLHttpRequest){if(i.overrideMimeType&&i.overrideMimeType(e.content_type),i.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(i.withCredentials=!0),e.content_type&&i.setRequestHeader("Content-Type",e.content_type),e.requestheaders&&t.each(e.requestheaders,function(e){i.setRequestHeader(e.key,e.value)}),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i=n.fire("beforeSend",{xhr:i,settings:e}).xhr,i.send(e.data),!e.async)return r();setTimeout(r,10)}}};return t.extend(n,e),n}),r(ft,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb\tt\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r<t.length;r++)i+=(r>0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(pt,[ft,dt,m],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(ht,[w],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(mt,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?c+e:i.indexOf(",",c),r===-1||r>i.length?null:(n=i.substring(c,r),c=r+1,n)}var r,i,s,c=0;if(a={},u){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(u){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,u;try{if(window.localStorage)return localStorage}catch(c){}return l="tinymce",o=document.documentElement,u=!!o.addBehavior,u&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(gt,[w,f,E,N,m,d],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each("trim isArray is toArray makeMap each map grep inArray extend create walk createNS resolve explode _addCacheSuffix".split(" "),function(e){a[e]=i[e]}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(vt,[ce,m],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t=this,n=t.settings,r,i,o,a;r=n.firstControlClass,i=n.lastControlClass,e.each(function(e){e.classes.remove(r).remove(i).add(n.controlClass),e.visible()&&(o||(o=e),a=e)}),o&&o.classes.add(r),a&&a.classes.add(i)},renderHtml:function(e){var t=this,n="";return t.applyClasses(e.items()),e.items().each(function(e){n+=e.renderHtml()}),n},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),r(yt,[vt],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}})}),r(bt,[Pe],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t._super(e),e=t.settings,n=t.settings.size,t.on("click mousedown",function(e){e.preventDefault()}),t.on("touchstart",function(e){t.fire("click",e),e.preventDefault()}),e.subtype&&t.classes.add(e.subtype),n&&t.classes.add("btn-"+n),e.icon&&t.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e=this.getEl().firstChild,t;e&&(t=e.style,t.width=t.height="100%"),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("icon"),i,o=e.state.get("text"),a="";return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",o&&(e.classes.add("btn-has-text"),a='<span class="'+n+'txt">'+e.encode(o)+"</span>"),r=r?n+"ico "+n+"i-"+r:"",'<div id="'+t+'" class="'+e.classes+'" tabindex="-1" aria-labelledby="'+t+'"><button role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+a+"</button></div>"},bindStates:function(){function e(e){var i=n("span."+r,t.getEl());e?(i[0]||(n("button:first",t.getEl()).append('<span class="'+r+'"></span>'),i=n("span."+r,t.getEl())),i.html(t.encode(e))):i.remove(),t.classes.toggle("btn-has-text",!!e)}var t=this,n=t.$,r=t.classPrefix+"txt";return t.state.on("change:text",function(t){e(t.value)}),t.state.on("change:icon",function(n){var r=n.value,i=t.classPrefix;t.settings.icon=r,r=r?i+"ico "+i+"i-"+t.settings.icon:"";var o=t.getEl().firstChild,a=o.getElementsByTagName("i")[0];r?(a&&a==o.firstChild||(a=document.createElement("i"),o.insertBefore(a,o.firstChild)),a.className=r):a&&o.removeChild(a),e(t.state.get("text"))}),t._super()}})}),r(Ct,[Ne],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(xt,[Pe],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e.state.get("text"))+"</span></div>"},bindStates:function(){function e(e){t.classes.toggle("checked",e),t.aria("checked",e)}var t=this;return t.state.on("change:text",function(e){t.getEl("al").firstChild.data=t.translate(e.value)}),t.state.on("change:checked change:value",function(n){t.fire("change"),e(n.value)}),t.state.on("change:icon",function(e){var n=e.value,r=t.classPrefix;if("undefined"==typeof n)return t.settings.icon;t.settings.icon=n,n=n?r+"ico "+r+"i-"+t.settings.icon:"";var i=t.getEl().firstChild,o=i.getElementsByTagName("i")[0];n?(o&&o==i.firstChild||(o=document.createElement("i"),i.insertBefore(o,i.firstChild)),o.className=n):o&&i.removeChild(o)}),t.state.get("checked")&&e(!0),t._super()}})}),r(wt,[Pe,we,ve,g,I,m],function(e,t,n,r,i,o){return e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.classes.add("combobox"),t.subinput=!0,t.ariaTarget="inp",e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){var i=n.target,o=t.getEl();if(r.contains(o,i)||i==o)for(;i&&i!=o;)i.id&&i.id.indexOf("-open")!=-1&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),i=i.parentNode}),t.on("keydown",function(e){var n;13==e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){if("INPUT"==e.target.nodeName){var n=t.state.get("value"),r=e.target.value;r!==n&&(t.state.set("value",r),t.fire("autocomplete",e))}}),t.on("mouseover",function(e){var n=t.tooltip().moveTo(-65535);if(t.statusLevel()&&e.target.className.indexOf(t.classPrefix+"status")!==-1){var r=t.statusMessage()||"Ok",i=n.text(r).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);n.classes.toggle("tooltip-n","bc-tc"==i),n.classes.toggle("tooltip-nw","bc-tl"==i),n.classes.toggle("tooltip-ne","bc-tr"==i),n.moveRel(e.target,i)}})},statusLevel:function(e){return arguments.length>0&&this.state.set("statusLevel",e),this.state.get("statusLevel")},statusMessage:function(e){return arguments.length>0&&this.state.set("statusMessage",e),this.state.get("statusMessage")},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),i=e.getEl("open"),o=e.layoutRect(),a,s,l=0,u=t.firstChild;e.statusLevel()&&"none"!==e.statusLevel()&&(l=parseInt(n.getRuntimeStyle(u,"padding-right"),10)-parseInt(n.getRuntimeStyle(u,"padding-left"),10)),a=i?o.w-n.getSize(i).width-10:o.w-10;var c=document;return c.all&&(!c.documentMode||c.documentMode<=8)&&(s=e.layoutRect().h-2+"px"),r(u).css({width:a-l,lineHeight:s}),e._super(),e},postRender:function(){var e=this;return r(this.getEl("inp")).on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)}),e._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=e.state.get("value")||"",o,a,s="",l="",u="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),u='<i id="'+t+'-status" class="mce-status mce-ico" style="display: none"></i>',e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e.state.get("text"),(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.classes.add("has-open")),'<div id="'+t+'" class="'+e.classes+'"><input id="'+t+'-inp" class="'+r+'textbox" value="'+e.encode(i,!1)+'" hidefocus="1"'+l+' placeholder="'+e.encode(n.placeholder)+'" />'+u+s+"</div>"},value:function(e){return arguments.length?(this.state.set("value",e),
 this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},showAutoComplete:function(e,n){var r=this;if(0===e.length)return void r.hideMenu();var i=function(e,t){return function(){r.fire("selectitem",{title:t,value:e})}};r.menu?r.menu.items().remove():r.menu=t.create({type:"menu",classes:"combobox-menu",layout:"flow"}).parent(r).renderTo(),o.each(e,function(e){r.menu.add({text:e.title,url:e.previewUrl,match:n,classes:"menu-item-ellipsis",onclick:i(e.value,e.title)})}),r.menu.renderNew(),r.hideMenu(),r.menu.on("cancel",function(e){e.control.parent()===r.menu&&(e.stopPropagation(),r.focus(),r.hideMenu())}),r.menu.on("select",function(){r.focus()});var a=r.layoutRect().w;r.menu.layoutRect({w:a,minW:0,maxW:a}),r.menu.reflow(),r.menu.show(),r.menu.moveRel(r.getEl(),r.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var e=this;e.state.on("change:value",function(t){e.getEl("inp").value!=t.value&&(e.getEl("inp").value=t.value)}),e.state.on("change:disabled",function(t){e.getEl("inp").disabled=t.value}),e.state.on("change:statusLevel",function(t){var r=e.getEl("status"),i=e.classPrefix,o=t.value;n.css(r,"display","none"===o?"none":""),n.toggleClass(r,i+"i-checkmark","ok"===o),n.toggleClass(r,i+"i-warning","warn"===o),n.toggleClass(r,i+"i-error","error"===o),e.classes.toggle("has-status","none"!==o),e.repaint()}),n.on(e.getEl("status"),"mouseleave",function(){e.tooltip().hide()}),e.on("cancel",function(t){e.menu&&e.menu.visible()&&(t.stopPropagation(),e.hideMenu())});var t=function(e,t){t&&t.items().length>0&&t.items().eq(e)[0].focus()};return e.on("keydown",function(n){var r=n.keyCode;"INPUT"===n.target.nodeName&&(r===i.DOWN?(n.preventDefault(),e.fire("autocomplete"),t(0,e.menu)):r===i.UP&&(n.preventDefault(),t(-1,e.menu)))}),e._super()},remove:function(){r(this.getEl("inp")).off(),this.menu&&this.menu.remove(),this._super()}})}),r(Et,[wt],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.classes.add("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl("open"),n=t?t.getElementsByTagName("i")[0]:null;if(n)try{n.style.background=e}catch(r){}},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.state.get("rendered")&&e.repaintColor(t.value)}),e._super()}})}),r(Nt,[bt,Ae],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(_t,[Nt,w],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.classes.add("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("text"),i=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",o=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"",a="";return r&&(e.classes.add("btn-has-text"),a='<span class="'+n+'txt">'+e.encode(r)+"</span>"),'<div id="'+t+'" class="'+e.classes+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+a+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(St,[],function(){function e(e){function i(e,i,o){var a,s,l,u,c,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,c=t(e,t(i,o)),d=n(e,n(i,o)),c==d?(l=c,{h:0,s:0,v:100*l}):(u=e==c?i-o:o==c?e-i:o-e,a=e==c?3:o==c?1:5,a=60*(a-u/(d-c)),s=(d-c)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,u;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),u=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+u)),f=r(255*(f+u)),p=r(255*(p+u))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function u(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,p=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=d<0?0:d>255?255:d,f=f<0?0:f>255?255:f,p=p<0?0:p>255?255:p,c}var c=this,d=0,f=0,p=0;e&&u(e),c.toRgb=s,c.toHsv=l,c.toHex=a,c.parse=u}var t=Math.min,n=Math.max,r=Math.round;return e}),r(kt,[Pe,_e,ve,St],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(p,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),u.s=100*n.x,u.v=100*(1-n.y),i(u),s.fire("change")}function a(t){var n;n=e(c,t),u=l.toHsv(),u.h=360*(1-n.y),i(u,!0),s.fire("change")}var s=this,l=s.color(),u,c,d,f,p;c=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),p=s.getEl("svp"),s._repaint=function(){u=l.toHsv(),i(u)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;e<t;e++)n+='<div class="'+r+'colorpicker-h-chunk" style="height:'+100/t+"%;"+i+a[e]+",endColorstr="+a[e+1]+");-ms-"+i+a[e]+",endColorstr="+a[e+1]+')"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='<div id="'+n+'-h" class="'+r+'colorpicker-h" style="'+a+'">'+e()+'<div id="'+n+'-hp" class="'+r+'colorpicker-h-marker"></div></div>','<div id="'+n+'" class="'+t.classes+'"><div id="'+n+'-sv" class="'+r+'colorpicker-sv"><div class="'+r+'colorpicker-overlay1"><div class="'+r+'colorpicker-overlay2"><div id="'+n+'-svp" class="'+r+'colorpicker-selector1"><div class="'+r+'colorpicker-selector2"></div></div></div></div></div>'+i+"</div>"}})}),r(Tt,[Pe],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.classes.add("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.row()[n],index:n})}),t.row(t.settings.row)},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){var e=this;return'<div id="'+e._id+'" class="'+e.classes+'">'+e._getDataPathHtml(e.state.get("row"))+"</div>"},bindStates:function(){var e=this;return e.state.on("change:row",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(e){var t=this,n=e||[],r,i,o="",a=t.classPrefix;for(r=0,i=n.length;r<i;r++)o+=(r>0?'<div class="'+a+'divider" aria-hidden="true"> '+t.settings.delimiter+" </div>":"")+'<div role="button" class="'+a+"path-item"+(r==i-1?" "+a+"last":"")+'" data-index="'+r+'" tabindex="-1" id="'+t._id+"-"+r+'" aria-level="'+(r+1)+'">'+n[r].name+"</div>";return o||(o='<div class="'+a+'path-item">\xa0</div>'),o}})}),r(Rt,[Tt],function(e){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var t=this,n=t.settings.editor;return n.settings.elementpath!==!1&&(t.on("select",function(e){n.focus(),n.selection.select(this.row()[e.index].element),n.nodeChanged()}),n.on("nodeChange",function(r){for(var i=[],o=r.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=n.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}t.row(i)})),t._super()}})}),r(At,[Ne],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Bt,[Ne,At,m],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.fromJSON(e.settings.data)},bindStates:function(){function e(){var e=0,n=[],r,i,o;if(t.settings.labelGapCalc!==!1)for(o="children"==t.settings.labelGapCalc?t.find("formitem"):t.items(),o.filter("formitem").each(function(t){var r=t.items()[0],i=r.getEl().clientWidth;e=i>e?i:e,n.push(r)}),i=t.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=e+i}var t=this;t._super(),t.on("show",e),e()}})}),r(Dt,[Bt],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}})}),r(Lt,[w,z,h,it,m,_],function(e,t,n,r,i,o){var a=i.trim,s=function(e,t,n,r,i){return{type:e,title:t,url:n,level:r,attach:i}},l=function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&"inherit"!==t)return o.isContentEditableTrue(e)}return!1},u=function(t,n){return e.DOM.select(t,n)},c=function(e){return e.innerText||e.textContent},d=function(e){return e.id?e.id:r.uuid("h")},f=function(e){return e&&"A"===e.nodeName&&(e.id||e.name)},p=function(e){return f(e)&&m(e)},h=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},m=function(e){return l(e)&&!o.isContentEditableFalse(e)},g=function(e){return h(e)&&m(e)},v=function(e){return h(e)?parseInt(e.nodeName.substr(1),10):0},y=function(e){var t=d(e),n=function(){e.id=t};return s("header",c(e),"#"+t,v(e),n)},b=function(e){var n=e.id||e.name,r=c(e);return s("anchor",r?r:"#"+n,"#"+n,0,t.noop)},C=function(e){return n.map(n.filter(e,g),y)},x=function(e){return n.map(n.filter(e,p),b)},w=function(e){var t=u("h1,h2,h3,h4,h5,h6,a:not([href])",e);return t},E=function(e){return a(e.title).length>0},N=function(e){var t=w(e);return n.filter(C(t).concat(x(t)),E)};return{find:N}}),r(Mt,[wt,m,h,z,I,Lt],function(e,t,n,r,i,o){var a={},s=5,l=function(e){return{title:e.title,value:{title:{raw:e.title},url:e.url,attach:e.attach}}},u=function(e){return t.map(e,l)},c=function(e,t){return{title:e,value:{title:e,url:t,attach:r.noop}}},d=function(e,t){var r=n.find(t,function(t){return t.url===e});return!r},f=function(e,t,n){var r=t in e?e[t]:n;return r===!1?null:r},p=function(e,i,o,s){var l={title:"-"},p=function(e){var a=n.filter(e[o],function(e){return d(e,i)});return t.map(a,function(e){return{title:e,value:{title:e,url:e,attach:r.noop}}})},h=function(e){var t=n.filter(i,function(t){return t.type==e});return u(t)},g=function(){var e=h("anchor"),t=f(s,"anchor_top","#top"),n=f(s,"anchor_bottom","#bottom");return null!==t&&e.unshift(c("<top>",t)),null!==n&&e.push(c("<bottom>",n)),e},v=function(e){return n.reduce(e,function(e,t){var n=0===e.length||0===t.length;return n?e.concat(t):e.concat(l,t)},[])};return s.typeahead_urls===!1?[]:"file"===o?v([m(e,p(a)),m(e,h("header")),m(e,g())]):m(e,p(a))},h=function(e,t){var r=a[t];/^https?/.test(e)&&(r?n.indexOf(r,e)===-1&&(a[t]=r.slice(0,s).concat(e)):a[t]=[e])},m=function(e,n){var r=e.toLowerCase(),i=t.grep(n,function(e){return e.title.toLowerCase().indexOf(r)!==-1});return 1===i.length&&i[0].title===e?[]:i},g=function(e){var t=e.title;return t.raw?t.raw:t},v=function(e,t,n,r){var i=function(i){var a=o.find(n),s=p(i,a,r,t);e.showAutoComplete(s,i)};e.on("autocomplete",function(){i(e.value())}),e.on("selectitem",function(t){var n=t.value;e.value(n.url);var i=g(n);"image"===r?e.fire("change",{meta:{alt:i,attach:n.attach}}):e.fire("change",{meta:{text:i,attach:n.attach}}),e.focus()}),e.on("click",function(t){0===e.value().length&&"INPUT"===t.target.nodeName&&i("")}),e.on("PostRender",function(){e.getRoot().on("submit",function(t){t.isDefaultPrevented()||h(e.value(),r)})})},y=function(e){var t=e.status,n=e.message;return"valid"===t?{status:"ok",message:n}:"unknown"===t?{status:"warn",message:n}:"invalid"===t?{status:"warn",message:n}:{status:"none",message:""}},b=function(e,t,n){var r=t.filepicker_validator_handler;if(r){var i=function(t){return 0===t.length?void e.statusLevel("none"):void r({url:t,type:n},function(t){var n=y(t);e.statusMessage(n.message),e.statusLevel(n.status)})};e.state.on("change:value",function(e){i(e.value)})}};return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s,l=e.filetype;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),s&&!s[l]||(a=i.file_picker_callback,!a||s&&!s[l]?(a=i.file_browser_callback,!a||s&&!s[l]||(o=function(){a(n.getEl("inp").id,n.value(),l,window)})):o=function(){var e=n.fire("beforecall").meta;e=t.extend({filetype:l},e),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),e)}),o&&(e.icon="browse",e.onaction=o),n._super(e),v(n,i,r.getBody(),l),b(n,i,l)}})}),r(Pt,[yt],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Ot,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v=[],y,b,C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F,z=Math.max,U=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e.paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,u=a.spacing||0,"row-reversed"!=f&&"column-reverse"!=f||(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(S="y",N="h",_="minH",k="maxH",R="innerH",T="top",A="deltaH",B="contentH",O="left",M="w",D="x",L="innerW",P="minW",H="right",I="deltaW",F="contentW"):(S="x",N="w",_="minW",k="maxW",R="innerW",T="left",A="deltaW",B="contentW",O="top",M="h",D="y",L="innerH",P="minH",H="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],E=c=0,t=0,n=r.length;t<n;t++)p=r[t],h=p.layoutRect(),m=p.settings,g=m.flex,d-=t<n-1?u:0,g>0&&(c+=g,h[k]&&v.push(p),h.flex=g),d-=h[_],y=o[O]+h[P]+o[H],y>E&&(E=y);if(x={},d<0?x[_]=i[_]-d+i[A]:x[_]=i[R]-d+i[A],x[P]=E+i[I],x[B]=i[R]-d,x[F]=E,x.minW=U(x.minW,i.maxW),x.minH=U(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/c,t=0,n=v.length;t<n;t++)p=v[t],h=p.layoutRect(),b=h[k],y=h[_]+h.flex*C,y>b?(d-=h[k]-h[_],c-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/c,w=o[T],x={},0===c&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],w<0&&(w=o[T])):"justify"==l&&(w=o[T],u=Math.floor(d/(r.length-1)))),x[D]=o[O],t=0,n=r.length;t<n;t++)p=r[t],h=p.layoutRect(),y=h.maxFlexSize||h[_],"center"===s?x[D]=Math.round(i[L]/2-h[M]/2):"stretch"===s?(x[M]=z(h[P]||0,i[L]-o[O]-o[H]),x[D]=o[O]):"end"===s&&(x[D]=i[L]-h[M]-o.top),h.flex>0&&(y+=h.flex*C),x[N]=y,x[S]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+u}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var W=e.parent();W&&(W._lastRect=null,W.recalc())}}})}),r(Ht,[vt],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}})}),r(It,[w],function(e){var n=function(e,t,n){for(;n!==t;){if(n.style[e])return n.style[e];n=n.parentNode}return""},r=function(e){return/[0-9.]+px$/.test(e)?Math.round(72*parseInt(e,10)/96)+"pt":e},i=function(e){return e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")},o=function(t,n){return e.DOM.getStyle(n,t,!0)},a=function(e,t){var r=n("fontSize",e,t);return""!==r?r:o("fontSize",t)},s=function(e,r){var a=n("fontFamily",e,r),s=""!==a?a:o("fontFamily",r);return s!==t?i(s):""};return{getFontSize:a,getFontFamily:s,toPt:r}}),r(Ft,[xe,Pe,Ae,m,h,w,ut,d,It],function(e,t,n,r,i,o,a,s,l){function u(e){e.settings.ui_container&&(s.container=o.DOM.select(e.settings.ui_container)[0])}function c(t){t.on("ScriptsLoaded",function(){t.rtl&&(e.rtl=!0)})}function d(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;f(i.parents,function(e){if(f(t,function(t){if(n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a)return!1}),a)return!1}),r.value(a)})}}function i(t){return function(){var n=this,r=function(e){return e?e.split(",")[0]:""};e.on("nodeChange",function(i){var o,a=null;o=l.getFontFamily(e.getBody(),i.element),f(t,function(e){e.value.toLowerCase()===o.toLowerCase()&&(a=e.value)}),f(t,function(e){a||r(e.value).toLowerCase()!==r(o).toLowerCase()||(a=e.value)}),n.value(a),!a&&o&&n.text(r(o))})}}function o(t){return function(){var n=this;e.on("nodeChange",function(r){var i,o,a=null;i=l.getFontSize(e.getBody(),r.element),o=l.toPt(i),f(t,function(e){e.value===i?a=i:e.value===o&&(a=o)}),n.value(a),a||n.text(o)})}}function a(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function s(){function t(e){var n=[];if(e)return f(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){f(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return e.formatter.getCssText(this.settings.format)},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&h(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function u(t){return function(){var n=this;e.formatter?e.formatter.formatChanged(t,function(e){n.active(e)}):e.on("init",function(){e.formatter.formatChanged(t,function(e){n.active(e)})})}}function c(t){return function(){function n(){var n="redo"==t?"hasRedo":"hasUndo";return!!e.undoManager&&e.undoManager[n]()}var r=this;r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){r.disabled(e.readonly||!n())})}}function d(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function h(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}function m(t){var n=t.length;return r.each(t,function(t){t.menu&&(t.hidden=0===m(t.menu));var r=t.format;r&&(t.hidden=!e.formatter.canApply(r)),t.hidden&&n--}),n}function g(t){var n=t.items().length;return t.items().each(function(t){t.menu&&t.visible(g(t.menu)>0),!t.menu&&t.settings.menu&&t.visible(m(t.settings.menu)>0);var r=t.settings.format;r&&t.visible(e.formatter.canApply(r)),t.visible()||n--}),n}var v;v=s(),f({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:u(n),onclick:function(){h(n)}})}),f({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),f({blockquote:["Blockquote","mceBlockQuote"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:u(n)})});var y=function(e){var t=e;return t.length>0&&"-"===t[0].text&&(t=t.slice(1)),t.length>0&&"-"===t[t.length-1].text&&(t=t.slice(0,t.length-1)),t},b=function(t){var n,i;if("string"==typeof t)i=t.split(" ");else if(r.isArray(t))return p(r.map(t,b));return n=r.grep(i,function(t){return"|"===t||t in e.menuItems}),r.map(n,function(t){return"|"===t?{text:"-"}:e.menuItems[t]})},C=function(t){var n=[{text:"-"}],i=r.grep(e.menuItems,function(e){return e.context===t});return r.each(i,function(e){"before"==e.separator&&n.push({text:"|"}),e.prependToContext?n.unshift(e):n.push(e),"after"==e.separator&&n.push({text:"|"})}),n},x=function(e){return y(e.insert_button_items?b(e.insert_button_items):C("insert"))};e.addButton("undo",{tooltip:"Undo",onPostRender:c("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:c("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:c("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:c("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:d,cmd:"mceToggleVisualAid"}),e.addButton("remove",{tooltip:"Remove",icon:"remove",cmd:"Delete"}),e.addButton("insert",{type:"menubutton",icon:"insert",menu:[],oncreatemenu:function(){this.menu.add(x(e.settings)),this.menu.renderNew()}}),f({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline","Meta+U"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:v,onShowMenu:function(){e.settings.style_formats_autohide&&g(this.menu)}}),e.addButton("formatselect",function(){var n=[],r=a(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return f(r,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:r[0][0],values:n,fixedWidth:!0,onselect:h,onPostRender:t(n)}}),e.addButton("fontselect",function(){var t="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",n=[],r=a(e.settings.font_formats||t);return f(r,function(e){n.push({text:{raw:e[0]},value:e[1],textStyle:e[1].indexOf("dings")==-1?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:n,fixedWidth:!0,onPostRender:i(n),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var t=[],n="8pt 10pt 12pt 14pt 18pt 24pt 36pt",r=e.settings.fontsize_formats||n;return f(r.split(" "),function(e){var n=e,r=e,i=e.split("=");i.length>1&&(n=i[0],r=i[1]),t.push({text:n,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:t,fixedWidth:!0,onPostRender:o(t),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:v})}var f=r.each,p=function(e){return i.reduce(e,function(e,t){return e.concat(t)},[])};a.on("AddEditor",function(e){var t=e.editor;c(t),d(t),u(t)}),e.translate=function(e){return a.translate(e)},t.tooltips=!s.iOS}),r(zt,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N=[],_=[],S,k,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e.paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;d<r;d++)N.push(0);for(f=0;f<n;f++)_.push(0);for(f=0;f<n;f++)for(d=0;d<r&&(c=i[f*r+d],c);d++)u=c.layoutRect(),S=u.minW,k=u.minH,N[d]=S>N[d]?S:N[d],_[f]=k>_[f]?k:_[f];for(T=o.innerW-g.left-g.right,w=0,d=0;d<r;d++)w+=N[d]+(d>0?y:0),T-=(d>0?y:0)+N[d];for(R=o.innerH-g.top-g.bottom,E=0,f=0;f<n;f++)E+=_[f]+(f>0?b:0),R-=(f>0?b:0)+_[f];if(w+=g.left+g.right,E+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=E+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d<M.length;d++)L+=M[d];else L=r;var P=T/L;for(d=0;d<r;d++)N[d]+=M?M[d]*P:P;for(h=g.top,f=0;f<n;f++){for(p=g.left,s=_[f]+D,d=0;d<r&&(B=A?f*r+r-1-d:f*r+d,c=i[B],c);d++)m=c.settings,u=c.layoutRect(),a=Math.max(N[d],u.startMinWidth),u.x=p,u.y=h,v=m.alignH||(C?C[d]||C[0]:null),"center"==v?u.x=p+a/2-u.w/2:"right"==v?u.x=p+a-u.w:"stretch"==v&&(u.w=a),v=m.alignV||(x?x[d]||x[0]:null),"center"==v?u.y=h+s/2-u.h/2:"bottom"==v?u.y=h+s-u.h:"stretch"==v&&(u.h=s),c.layoutRect(u),p+=a+y,c.recalc&&c.recalc();h+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var O=e.parent();O&&(O._lastRect=null,O.recalc())}}})}),r(Ut,[Pe,c],function(e,t){return e.extend({renderHtml:function(){var e=this;return e.classes.add("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,n){var r=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,n&&n()):t.setTimeout(function(){r.html(e)}),this}})}),r(Wt,[Pe],function(e){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("infobox"),t.canFocus=!1},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},help:function(e){this.state.set("help",e)},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+e.encode(e.state.get("text"))+'<button role="button" tabindex="-1"><i class="'+t+"ico "+t+'i-help"></i></button></div></div>'},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl("body").firstChild.data=e.encode(t.value),
 e.state.get("rendered")&&e.updateLayoutRect()}),e.state.on("change:help",function(t){e.classes.toggle("has-help",t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}})}),r(Vt,[Pe,ve],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("label"),t.canFocus=!1,e.multiline&&t.classes.add("autoscroll"),e.strong&&t.classes.add("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.classes.add("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e=this,t,n,r=e.settings.forId;return!r&&(n=e.settings.forName)&&(t=e.getRoot().find("#"+n)[0],t&&(r=t._id)),r?'<label id="'+e._id+'" class="'+e.classes+'"'+(r?' for="'+r+'"':"")+">"+e.encode(e.state.get("text"))+"</label>":'<span id="'+e._id+'" class="'+e.classes+'">'+e.encode(e.state.get("text"))+"</span>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.innerHtml(e.encode(t.value)),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}})}),r($t,[Ne],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.classes.add("toolbar")},postRender:function(){var e=this;return e.items().each(function(e){e.classes.add("toolbar-item")}),e._super()}})}),r(qt,[$t],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(jt,[bt,we,qt],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add("menubtn"),e.fixedWidth&&t.classes.add("fixed-width"),t.aria("haspopup",!0),t.state.set("menu",e.menu||t.render())},showMenu:function(e){var n=this,r;return n.menu&&n.menu.visible()&&e!==!1?n.hideMenu():(n.menu||(r=n.state.get("menu")||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",r.renderTo?n.menu=r.parent(n).show().renderTo():n.menu=t.create(r).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(e){e.control==n.menu&&n.activeMenu("show"==e.type),n.aria("expanded","show"==e.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),void n.fire("showmenu"))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o,a=e.state.get("text"),s="";return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",a&&(e.classes.add("btn-has-text"),s='<span class="'+r+'txt">'+e.encode(a)+"</span>"),i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+s+' <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.focus(),e.showMenu(!t.aria),t.aria&&e.menu.items().filter(":visible")[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Yt,[Pe,we,d,c],function(e,t,n,r){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this,n;t._super(e),e=t.settings,t.classes.add("menu-item"),e.menu&&t.classes.add("menu-item-expand"),e.preview&&t.classes.add("menu-item-preview"),n=t.state.get("text"),"-"!==n&&"|"!==n||(t.classes.add("menu-item-sep"),t.aria("role","separator"),t.state.set("text","-")),e.selectable&&(t.aria("role","menuitemcheckbox"),t.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.classes.add("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.classes.remove("selected")}),r.submenu=!0),r._parentMenu=i,r.classes.add("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.classes.remove(r._lastRel).add(o),r._lastRel=o,e.classes.add("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},e=e.split("+"),t=0;t<e.length;t++)r=i[e[t].toLowerCase()],r&&(e[t]=r);return e.join("+")}function t(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function r(e){var n=s.match||"";return n?e.replace(new RegExp(t(n),"gi"),function(e){return"!mce~match["+e+"]mce~match!"}):e}function i(e){return e.replace(new RegExp(t("!mce~match["),"g"),"<b>").replace(new RegExp(t("]mce~match!"),"g"),"</b>")}var o=this,a=o._id,s=o.settings,l=o.classPrefix,u=o.state.get("text"),c=o.settings.icon,d="",f=s.shortcut,p=o.encode(s.url),h="";return c&&o.parent().classes.add("menu-has-icons"),s.image&&(d=" style=\"background-image: url('"+s.image+"')\""),f&&(f=e(f)),c=l+"ico "+l+"i-"+(o.settings.icon||"none"),h="-"!==u?'<i class="'+c+'"'+d+"></i>\xa0":"",u=i(o.encode(r(u))),p=i(o.encode(r(p))),'<div id="'+a+'" class="'+o.classes+'" tabindex="-1">'+h+("-"!==u?'<span id="'+a+'-text" class="'+l+'text">'+u+"</span>":"")+(f?'<div id="'+a+'-shortcut" class="'+l+'menu-shortcut">'+f+"</div>":"")+(s.menu?'<div class="'+l+'caret"></div>':"")+(p?'<div class="'+l+'menu-item-link">'+p+"</div>":"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var i=e.getEl("text");i&&i.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),r.requestAnimationFrame(function(){e.parent().hideAll()})))}),e._super(),e},hover:function(){var e=this;return e.parent().items().each(function(e){e.classes.remove("selected")}),e.classes.toggle("selected",!0),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Xt,[g,xe,c],function(e,t,n){return function(r,i){var o=this,a,s=t.classPrefix,l;o.show=function(t,u){function c(){a&&(e(r).append('<div class="'+s+"throbber"+(i?" "+s+"throbber-inline":"")+'"></div>'),u&&u())}return o.hide(),a=!0,t?l=n.setTimeout(c,t):c(),o},o.hide=function(){var e=r.lastChild;return n.clearTimeout(l),e&&e.className.indexOf("throbber")!=-1&&e.parentNode.removeChild(e),a=!1,o}}}),r(Kt,[Ae,Yt,Xt,m],function(e,t,n,r){return e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var n=e.items,i=n.length;i--;)n[i]=r.extend({},e.itemDefaults,n[i]);t._super(e),t.classes.add("menu")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},load:function(){function e(){t.throbber&&(t.throbber.hide(),t.throbber=null)}var t=this,r,i;i=t.settings.itemsFactory,i&&(t.throbber||(t.throbber=new n(t.getEl("body"),!0),0===t.items().length?(t.throbber.show(),t.fire("loading")):t.throbber.show(100,function(){t.items().remove(),t.fire("loading")}),t.on("hide close",e)),t.requestTime=r=(new Date).getTime(),t.settings.itemsFactory(function(n){return 0===n.length?void t.hide():void(t.requestTime===r&&(t.getEl().style.width="",t.getEl("body").style.width="",e(),t.items().remove(),t.getEl("body").innerHTML="",t.add(n),t.renderNew(),t.fire("loaded")))}))},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;if(n.icon||n.image||n.selectable)return e._hasIcons=!0,!1}),e.settings.itemsFactory&&e.on("postrender",function(){e.settings.itemsFactory&&e.load()}),e._super()}})}),r(Gt,[jt,Kt],function(e,t){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value)return o=o||r[a].text,n.state.set("value",r[a].value),!0;if(r[a].menu&&t(r[a].menu))return!0}}var n=this,r,i,o,a;n._super(e),e=n.settings,n._values=r=e.values,r&&("undefined"!=typeof e.value&&t(r),!i&&r.length>0&&(o=r[0].text,n.state.set("value",r[0].value)),n.state.set("menu",r)),n.state.set("text",e.text||o),n.classes.add("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.value()),a=r})},bindStates:function(){function e(e,n){e instanceof t&&e.items().each(function(e){e.hasMenus()||e.active(e.value()===n)})}function n(e,t){var r;if(e)for(var i=0;i<e.length;i++){if(e[i].value===t)return e[i];if(e[i].menu&&(r=n(e[i].menu,t)))return r}}var r=this;return r.on("show",function(t){e(t.control,r.value())}),r.state.on("change:value",function(e){var t=n(r.state.get("menu"),e.value);t?r.text(t.text):r.text(r.settings.text)}),r._super()}})}),r(Jt,[xt],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(Qt,[Pe,_e],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.classes.add("resizehandle"),"both"==e.settings.direction&&e.classes.add("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(Zt,[Pe],function(e){function t(e){var t="";if(e)for(var n=0;n<e.length;n++)t+='<option value="'+e[n]+'">'+e[n]+"</option>";return t}return e.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(e){var t=this;t._super(e),t.settings.size&&(t.size=t.settings.size),t.settings.options&&(t._options=t.settings.options),t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e=this,n,r="";return n=t(e._options),e.size&&(r=' size = "'+e.size+'"'),'<select id="'+e._id+'" class="'+e.classes+'"'+r+">"+n+"</select>"},bindStates:function(){var e=this;return e.state.on("change:options",function(n){e.getEl().innerHTML=t(n.value)}),e._super()}})}),r(en,[Pe,_e,ve],function(e,t,n){function r(e,t,n){return e<t&&(e=t),e>n&&(e=n),e}function i(e,t,n){e.setAttribute("aria-"+t,n)}function o(e,t){var r,o,a,s,l,u;"v"==e.settings.orientation?(s="top",a="height",o="h"):(s="left",a="width",o="w"),u=e.getEl("handle"),r=(e.layoutRect()[o]||100)-n.getSize(u)[a],l=r*((t-e._minValue)/(e._maxValue-e._minValue))+"px",u.style[s]=l,u.style.height=e.layoutRect().h+"px",i(u,"valuenow",t),i(u,"valuetext",""+e.settings.previewFilter(t)),i(u,"valuemin",e._minValue),i(u,"valuemax",e._maxValue)}return e.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add("slider"),"v"==e.orientation&&t.classes.add("vertical"),t._minValue=e.minValue||0,t._maxValue=e.maxValue||100,t._initValue=t.state.get("value")},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes+'"><div id="'+t+'-handle" class="'+n+'slider-handle" role="slider" tabindex="-1"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){function e(e,t,n){return(n+e)/(t-e)}function i(e,t,n){return n*(t-e)-e}function o(t,n){function o(o){var a;a=s.value(),a=i(t,n,e(t,n,a)+.05*o),a=r(a,t,n),s.value(a),s.fire("dragstart",{value:a}),s.fire("drag",{value:a}),s.fire("dragend",{value:a})}s.on("keydown",function(e){switch(e.keyCode){case 37:case 38:o(-1);break;case 39:case 40:o(1)}})}function a(e,i,o){var a,l,u,h,m;s._dragHelper=new t(s._id,{handle:s._id+"-handle",start:function(e){a=e[c],l=parseInt(s.getEl("handle").style[d],10),u=(s.layoutRect()[p]||100)-n.getSize(o)[f],s.fire("dragstart",{value:m})},drag:function(t){var n=t[c]-a;h=r(l+n,0,u),o.style[d]=h+"px",m=e+h/u*(i-e),s.value(m),s.tooltip().text(""+s.settings.previewFilter(m)).show().moveRel(o,"bc tc"),s.fire("drag",{value:m})},stop:function(){s.tooltip().hide(),s.fire("dragend",{value:m})}})}var s=this,l,u,c,d,f,p;l=s._minValue,u=s._maxValue,"v"==s.settings.orientation?(c="screenY",d="top",f="height",p="h"):(c="screenX",d="left",f="width",p="w"),s._super(),o(l,u,s.getEl("handle")),a(l,u,s.getEl("handle"))},repaint:function(){this._super(),o(this,this.value())},bindStates:function(){var e=this;return e.state.on("change:value",function(t){o(e,t.value)}),e._super()}})}),r(tn,[Pe],function(e){return e.extend({renderHtml:function(){var e=this;return e.classes.add("spacer"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes+'"></div>'}})}),r(nn,[jt,ve,g],function(e,t,n){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,r=e.getEl(),i=e.layoutRect(),o,a;return e._super(),o=r.firstChild,a=r.lastChild,n(o).css({width:i.w-t.getSize(a).width,height:i.h-2}),n(a).css({height:i.h-2}),e},activeMenu:function(e){var t=this;n(t.getEl().lastChild).toggleClass(t.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.state.get("icon"),o=e.state.get("text"),a="";return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",o&&(e.classes.add("btn-has-text"),a='<span class="'+n+'txt">'+e.encode(o)+"</span>"),'<div id="'+t+'" class="'+e.classes+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(i?'<i class="'+i+'"'+r+"></i>":"")+a+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(i?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&n.className.indexOf("open")==-1)return e.stopImmediatePropagation(),void(t&&t.call(this,e));n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(rn,[Ht],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),r(on,[ke,g,ve],function(e,t,n){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t(n).removeClass(this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t(n).addClass(this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(n&&n.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,t,r,i;r=n.getSize(e.getEl("head")).width,r=r<0?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=n.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,t=e._super(),t.deltaH+=o,t.innerH=t.h-t.deltaH,t}})}),r(an,[Pe,m,ve],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("textbox"),e.multiline?t.classes.add("multiline"):(t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){t.state.set("value",e.target.value)}))},repaint:function(){var e=this,t,n,r,i,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e.borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,r=e.settings,i,o;return i={id:e._id,hidefocus:"1"},t.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(e){i[e]=r[e]}),e.disabled()&&(i.disabled="disabled"),r.subtype&&(i.type=r.subtype),o=n.create(r.multiline?"textarea":"input",i),o.value=e.state.get("value"),o.className=e.classes,o.outerHTML},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var e=this;e.getEl().value=e.state.get("value"),e._super(),e.$el.on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)})},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl().value!=t.value&&(e.getEl().value=t.value)}),e.state.on("change:disabled",function(t){e.getEl().disabled=t.value}),e._super()},remove:function(){this.$el.off(),this._super()}})}),r(sn,[],function(){var e=this||window,t=function(){return e.tinymce};return"function"==typeof e.define&&(e.define.amd||e.define("ephox/tinymce",[],t)),"object"==typeof module&&(module.exports=window.tinymce),{}}),a([l,u,c,d,f,p,m,g,v,y,C,w,E,N,T,A,B,D,L,M,P,O,I,F,j,Y,J,te,le,ue,ce,de,pe,me,ge,Ce,xe,we,Ee,Ne,_e,Se,ke,Te,Re,Ae,Be,De,Le,Me,Pe,Oe,He,Ie,Ue,Ve,at,st,lt,ut,dt,ft,pt,ht,mt,gt,vt,yt,bt,Ct,xt,wt,Et,Nt,_t,St,kt,Tt,Rt,At,Bt,Dt,Mt,Pt,Ot,Ht,Ft,zt,Ut,Wt,Vt,$t,qt,jt,Yt,Xt,Kt,Gt,Jt,Qt,Zt,en,tn,nn,rn,on,an])}(window);
\ No newline at end of file
diff --git a/src/main/webapp/static/msg/screenreader/en/about.html b/src/main/webapp/static/msg/screenreader/en/about.html
index d0ccfc367ce..4494ce89d95 100644
--- a/src/main/webapp/static/msg/screenreader/en/about.html
+++ b/src/main/webapp/static/msg/screenreader/en/about.html
@@ -1,8 +1,8 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<link rel="StyleSheet" href="$r.staticLink("css/screenreader.css")" type="text/css" media="screen">
-<link rel="StyleSheet" href="$r.staticLink("css/screenreader-aural.css")" type="text/css" media="aural">
+<link rel="StyleSheet" href="$r.staticLink("css/screenreader.css")" media="screen">
+<link rel="StyleSheet" href="$r.staticLink("css/screenreader-aural.css")" media="aural">
 <title>Screenreader Help</title></head>
 <body class="o_body" lang="en">
 <h1>Accesskeys</h1>
diff --git a/src/main/webapp/static/themes/light/modules/_radial-progress.scss b/src/main/webapp/static/themes/light/modules/_radial-progress.scss
index 006be73dcea..32414d263f9 100644
--- a/src/main/webapp/static/themes/light/modules/_radial-progress.scss
+++ b/src/main/webapp/static/themes/light/modules/_radial-progress.scss
@@ -273,7 +273,7 @@ https://gist.github.com/digitalbreed/84a19db69244b22519e03550ba010a25
 	</div>
 </div>
 			
-<script type="text/javascript">
+<script>
  <![CDATA[ 
 setTimeout(function() {
 	jQuery("#myid").attr("data-progress","35");
diff --git a/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_RGB.svg b/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_RGB.svg
index 7df6d3c4a6d..af5d02df770 100644
--- a/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_RGB.svg
+++ b/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_RGB.svg
@@ -2,7 +2,7 @@
 <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 <svg version="1.1" id="_x34__Print" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
 	 y="0px" viewBox="0 0 841.89 595.28" style="enable-background:new 0 0 841.89 595.28;" xml:space="preserve">
-<style type="text/css">
+<style>
 	.st0{fill:none;}
 	.st1{fill:#209d9e;}
 	.st2{fill:#342c24;}
diff --git a/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_claim_RGB.svg b/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_claim_RGB.svg
index 3a5748d18f7..bd59d641a29 100644
--- a/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_claim_RGB.svg
+++ b/src/main/webapp/static/themes/openolat/images/OpenOlat_Logo_claim_RGB.svg
@@ -2,7 +2,7 @@
 <!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
 <svg version="1.1" id="_x34__Print" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
 	 y="0px" viewBox="0 0 841.89 595.28" style="enable-background:new 0 0 841.89 595.28;" xml:space="preserve">
-<style type="text/css">
+<style>
 	.st0{fill:none;}
 	.st1{fill:#209d9e;}
 	.st2{fill:#342c24;}
diff --git a/src/test/java/org/olat/ims/qti21/model/xml/AssessmentHtmlBuilderTest.java b/src/test/java/org/olat/ims/qti21/model/xml/AssessmentHtmlBuilderTest.java
index 83b7a9b8e13..6e0e5ad7d39 100644
--- a/src/test/java/org/olat/ims/qti21/model/xml/AssessmentHtmlBuilderTest.java
+++ b/src/test/java/org/olat/ims/qti21/model/xml/AssessmentHtmlBuilderTest.java
@@ -283,8 +283,8 @@ public class AssessmentHtmlBuilderTest {
 	@Test
 	public void appendHtml_serializeVideo() throws IOException {
 		String content = "<p><span id=\"olatFlashMovieViewer213060\" class=\"olatFlashMovieViewer\" style=\"display:block;border:solid 1px #000; width:320px; height:240px;\">\n"
-			+ "<script src=\"/raw/fx-111111x11/movie/player.js\" type=\"text/javascript\"></script>\n"
-			+ "<script type=\"text/javascript\" defer=\"defer\">// <![CDATA[\n"
+			+ "<script src=\"/raw/fx-111111x11/movie/player.js\"></script>\n"
+			+ "<script defer=\"defer\">// <![CDATA[\n"
 			+ "BPlayer.insertPlayer(\"demo-video.mp4\",\"olatFlashMovieViewer213060\",320,240,0,0,\"video\",undefined,false,false,true,undefined);\n"
 			+ "// ]]></script>\n"
 			+ "</span></p>";
diff --git a/src/test/java/org/olat/ims/qti21/pool/qti12_4questiontypes_video.xml b/src/test/java/org/olat/ims/qti21/pool/qti12_4questiontypes_video.xml
index 069beab81d5..97620055ccc 100644
--- a/src/test/java/org/olat/ims/qti21/pool/qti12_4questiontypes_video.xml
+++ b/src/test/java/org/olat/ims/qti21/pool/qti12_4questiontypes_video.xml
@@ -22,8 +22,8 @@
         <presentation>
           <material>
             <mattext texttype="text/html"><![CDATA[Neue Frage<br /><br /><span id="olatFlashMovieViewer549242" class="olatFlashMovieViewer" style="display:block;border:solid 1px #000; width:320px; height:240px;">
-<script src="/raw/fx-111111x11/movie/player.js" type="text/javascript"></script>
-<script type="text/javascript" defer="defer">
+<script src="/raw/fx-111111x11/movie/player.js"></script>
+<script defer="defer">
 BPlayer.insertPlayer("media/demo-video.mp4","olatFlashMovieViewer549242",320,240,0,0,"video",undefined,false,false,true,undefined);
 </script>
 </span>]]></mattext>
@@ -34,8 +34,8 @@ BPlayer.insertPlayer("media/demo-video.mp4","olatFlashMovieViewer549242",320,240
                 <response_label ident="8000138063" rshuffle="Yes">
                   <material>
                     <mattext texttype="text/html"><![CDATA[Richtige Antwort<br /><br /><span id="olatFlashMovieViewer656727" class="olatFlashMovieViewer" style="display:block;border:solid 1px #000; width:320px; height:240px;">
-<script src="/raw/fx-111111x11/movie/player.js" type="text/javascript"></script>
-<script type="text/javascript" defer="defer">
+<script src="/raw/fx-111111x11/movie/player.js"></script>
+<script defer="defer">
 BPlayer.insertPlayer("media/demo-video.mp4","olatFlashMovieViewer656727",320,240,0,0,"video",undefined,false,false,true,undefined);
 </script>
 </span>]]></mattext>
-- 
GitLab