diff --git a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java index 2d5c1ff42b49231a228bbe6ec755c5b0b860e4b9..4e709ae1c7497e9dd2a3b2ca22c7a3402297d350 100644 --- a/src/main/java/org/olat/admin/user/UserSearchFlexiController.java +++ b/src/main/java/org/olat/admin/user/UserSearchFlexiController.java @@ -34,7 +34,7 @@ import org.olat.core.gui.Windows; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.FlexiTableElment; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; import org.olat.core.gui.components.form.flexible.impl.Form; @@ -98,7 +98,7 @@ public class UserSearchFlexiController extends FormBasicController { private FormLink backLink, selectAll, deselectAll; private Panel searchPanel; - private FlexiTableElment tableEl; + private FlexiTableElement tableEl; private VelocityContainer tableVC; private UserSearchForm searchform; private UserSearchFlexiTableModel userTableModel; diff --git a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java index 7c40d2803daaf6a715ad6a4152a7fa0d8d738f11..9929b2a3b4be7a793f67f6cbe68e06e6af37882e 100644 --- a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java +++ b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java @@ -28,7 +28,7 @@ import org.olat.core.commons.persistence.PersistenceHelper; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.FlexiTableElment; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement; import org.olat.core.gui.components.form.flexible.elements.TextElement; @@ -132,7 +132,7 @@ public class GroupSearchController extends StepFormBasicController { tableColumnModel.addFlexiColumnModel(new DefaultFlexiColumnModel(Cols.mail.i18n())); tableDataModel = new GroupTableDataModel(Collections.<GroupWrapper>emptyList(), tableColumnModel); - FlexiTableElment table = uifactory.addTableElement("groupList", tableDataModel, tableCont); + FlexiTableElement table = uifactory.addTableElement("groupList", tableDataModel, tableCont); tableCont.add("groupList", table); if (!isUsedInStepWizzard()) { diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/BaseChiefController.java b/src/main/java/org/olat/core/commons/chiefcontrollers/BaseChiefController.java index 8d3d20e392c2ae6734e223edd535128cda03731d..f0a89cd3d2b5130776a7c142a7ae4c22b2804f15 100644 --- a/src/main/java/org/olat/core/commons/chiefcontrollers/BaseChiefController.java +++ b/src/main/java/org/olat/core/commons/chiefcontrollers/BaseChiefController.java @@ -146,12 +146,6 @@ public class BaseChiefController extends DefaultChiefController implements Conte wbo = winman.createWindowBackOffice("basechiefwindow", this); Window w = wbo.getWindow(); - // part that builds the css and javascript lib includes (<script - // src="..."> and <rel link - // e.g. - // <script type="text/javascript" - // src="/demo/g/2/js/jscalendar/calendar.js"></script> - mainvc.put("jsCssRawHtmlHeader", w.getJsCssRawHtmlHeader()); // control part for ajax-communication. returns an empty panel if ajax diff --git a/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html b/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html index 2fa7e1f085dcb93caebd86adf570fc460392c46a..45a5f66ef6368b7686dbb94080cf92a5a8c39392 100644 --- a/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html +++ b/src/main/java/org/olat/core/commons/chiefcontrollers/_content/body.html @@ -39,8 +39,6 @@ if (top!=self) { top.location=self.location+"?o_winrndo=1"; } function b_start(){ - ## init the extjs tooltip engine - //TODO jquery if (window["Ext"]) {Ext.QuickTips.init();} o_init(); ## js B $r.renderBodyOnLoadJSFunctionCall() @@ -62,9 +60,9 @@ function b_start(){ </script> <script type="text/javascript" src='$r.staticLink("js/jquery/jquery-migrate-1.0.0.min.js")'></script> <script type="text/javascript" src='$r.staticLink("js/jquery/jquery-ui-1.10.0.custom.min.js")'></script> +<link type="text/css" href='$r.staticLink("js/jquery/jquery-ui.css")' rel="stylesheet"/> <script type="text/javascript" src='$r.staticLink("js/jquery/periodic/jquery.periodic.js")'></script> -<script type="text/javascript" src='$r.staticLink("js/jquery/datatables/jquery.dataTables.js")'></script> -<script type="text/javascript" src='$r.staticLink("js/jquery/flot/jquery.flot.js")'></script> +<script type="text/javascript" src='$r.staticLink("js/jquery/datatables/jquery.dataTables.min.js")'></script> <script type="text/javascript" src='$r.staticLink("js/jshashtable-2.1_src.js")'></script> <script type="text/javascript" src='$r.staticLink("js/jsMath/easy/load.js")'></script> @@ -73,7 +71,9 @@ function b_start(){ <script type="text/javascript" src='$r.staticLink("movie/player.js")'></script> <script type="text/javascript" src='$r.staticLink("js/functions.js")'></script> -<link type="text/css" href='$r.staticLink("js/jquery/jquery-ui.css")' rel="stylesheet"/> + +<link type="text/css" href='$r.staticLink("js/jquery/tagit/jquery.tagit.css")' rel="stylesheet"/> + <script type="text/javascript"> /* <![CDATA[ */ ## references to objects for later access or cleanup diff --git a/src/main/java/org/olat/core/gui/components/form/Form.java b/src/main/java/org/olat/core/gui/components/form/Form.java index 5067720b01de86010f508a410a011cd47f47ba8c..9a14d5eecf81dbfcf6bda03579c1474d2dfece0c 100644 --- a/src/main/java/org/olat/core/gui/components/form/Form.java +++ b/src/main/java/org/olat/core/gui/components/form/Form.java @@ -70,10 +70,5 @@ public final class Form { // this variables are used in functions.js - do not change /** html form id prependix * */ public static final String JSFORMID = "bfo_"; - /** html element id prependix * */ -// public static final String JSELEMENTID = "bel_"; - /** html row id prependix * */ -// public static final String JSELEMENTROWID = "ber_"; - - + } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/css/jscalendar.css b/src/main/java/org/olat/core/gui/components/form/_static/css/jscalendar.css deleted file mode 100644 index 6e787d22466e9e02bb69f7eb4e32450dbe8f7cba..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/css/jscalendar.css +++ /dev/null @@ -1,272 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -.calendar { - position: relative; - display: none; - border:1px solid #444; - border-radius:3px; - -moz-border-radius:3px; - -webkit-border-radius:3px; - - color: #000000; - cursor: default; - background: #FFF; - z-index:950; - font-size: 90%; -} - -.calendar table { - border-top: 1px solid #000000; - border-right: 1px solid #FFFFFF; - border-bottom: 1px solid #FFFFFF; - border-left: 1px solid #000000; - color: #000000; - cursor: default; - background: #FFF; -} - -.calendar table td { - font-size: 90%;; - font-family: Verdana, Tahoma, Arial, Geneva, Helvetica, sans-serif; - border:1px solid transparent; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border-top: 1px solid #FFFFFF; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #FFFFFF; -} - -.calendar .nav { - background: transparent url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000000; - background: #ccc; - background: -moz-linear-gradient(top, #ccc 0%, #ddd 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ccc), color-stop(100%,#ddd)); - background: -webkit-linear-gradient(top, #ccc 0%,#ddd 100%); - background: -o-linear-gradient(top, #ccc 0%,#ddd 100%); - background: -ms-linear-gradient(top, #ccc 0%,#ddd 100%); - background: linear-gradient(top, #ccc 0%,#ddd 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#dddddd',GradientType=0 ); - text-align: center; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #000000; - padding: 2px; - text-align: center; - background: #EEE; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #DF9719; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - padding: 0px; - background-color: #EEE; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - padding: 2px 0px 0px 2px; - background-color: #DCDDE0; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 90%; - color: #BFBFBF; -} -.calendar tbody .day.othermonth.oweekend { - color: #EAC28A; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000000; - background: #EEE; -} - -.calendar tbody .rowhilite td { - background: #E9EAEF; -} - -.calendar tbody .rowhilite td.wn { - background: #E9EAEF; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - border:1px solid #ccc; - border-width: 1px; - border-color: #ccc; - border-style: solid; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - padding: 2px 2px 0px 2px; - border-color: #000000 #FFFFFF #FFFFFF #000000; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - padding: 2px 2px 0px 2px; - border-color: #000000 #FFFFFF #FFFFFF #000000; - background: #EEE; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #DF9719; -} - -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #333399; -} - -.calendar tbody .disabled { color: #999999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - - background: #ccc; - background: -moz-linear-gradient(top, #ccc 0%, #ddd 100%); - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ccc), color-stop(100%,#ddd)); - background: -webkit-linear-gradient(top, #ccc 0%,#ddd 100%); - background: -o-linear-gradient(top, #ccc 0%,#ddd 100%); - background: -ms-linear-gradient(top, #ccc 0%,#ddd 100%); - background: linear-gradient(top, #ccc 0%,#ddd 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#dddddd',GradientType=0 ); - - padding: 1px; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #FFFFFF; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #FFFFFF; - padding: 1px; - background: #EEE; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000000; - border-right: 1px solid #FFFFFF; - border-bottom: 1px solid #FFFFFF; - border-left: 1px solid #000000; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border-top: 1px solid #FFFFFF; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #FFFFFF; - background: #EEE; - font-size: 90%; - padding: 1px; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - background: #FFF; - padding: 0px; - border-top: 1px solid #000000; - border-right: 1px solid #FFFFFF; - border-bottom: 1px solid #FFFFFF; - border-left: 1px solid #000000; -} - -.calendar .combo .hilite { - background: #666699; - color: #FFF4E2; -} - -.calendar td.time { - border-top: 1px solid #000000; - padding: 1px 0px; - text-align: center; - background-color: #EEE; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #999999; - font-weight: bold; - background-color: #FFFFFF; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000000; - background-color: #666666; - color: #FFFFFF; -} - -.calendar td.time span.active { - border-color: #E98F8F; - background-color: #000000; - color: #A4DCA4; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/ChangeLog b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/ChangeLog deleted file mode 100644 index dc54b045dd7bf47e33d5e91f0ef04a5db1d69aa2..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/ChangeLog +++ /dev/null @@ -1,500 +0,0 @@ -2004-02-06 Mihai Bazon <mishoo@localhost.localdomain> - - * make-release.pl: ChangeLog included in the distribution (if found) - - * calendar.js, doc/reference.tex, index.html: switched to version 0.9.6 - - * doc/Calendar.setup.tex, doc/reference.tex: updated documentation - - * release-notes.html: updated release notes - - * calendar.js: Fixed bug: Feb/29 and year change now keeps Feb in view - - * calendar.js: fixed the "ESC" problem (call the close handler) - - * calendar.js: fixed day of year range (1 to 366 instead of 0 to 365) - - * calendar.js: fixed week number calculations - - * doc/reference.tex: fixed (date input format) - - * calendar.php: removed comment - - * calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-tas.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar.js: - workaround for IE bug (you can't normally specify through CSS the style for - an element having two classes or more; we had to change a classname) - - * calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-tas.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css: - smaller fonts on days that are in neighbor months - -2004-02-04 Mihai Bazon <mishoo@localhost.localdomain> - - * index.html: first demo shows the "showOtherMonths" capability - - * calendar-setup.js: support new parameters in the calendar. - added: firstDay, showOthers, cache. - - * calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar.js, lang/calendar-en.js, lang/calendar-ro.js: - new parameters: firstDayOfWeek, showsOtherMonths; removed mondayFirst. - This adds support for setting any day to be the first day of week (by just - clicking the day name in the display); also, if showsOtherMonths is enabled - then dates belonging to adjacent months that are in the current view will be - displayed and the calendar will have a fixed height. - - all themes updated. - - * test.php: test for calendar.php - - * calendar.php: fixed bug (pass numeric values as numbers) - -2004-02-01 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.php: added PHP wrapper - - * img.gif: icon updated - - * TODO: updated TODO list - -2004-01-27 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js: - Janusz Piwowarski sent over a patch for IE5 compatibility which is much more - elegant than the atrocities that I had wrote :-D I'm gettin' old.. Thanks Janusz! - - * lang/calendar-fi.js: updated - -2004-01-15 Mihai Bazon <mishoo@localhost.localdomain> - - * TODO: updated TODO list - - * calendar-setup.js: default align changed to "Br" - - * doc/reference.tex: changed default value for "align" - - * calendar-setup.js: calling onchange event handler, if available - - * calendar-setup.js: added "position" option - - * simple-1.html: demonstrates "step" option - - * calendar-setup.js: added "step" option - - * calendar.js: added yearStep config parameter - - * calendar.js: - fixed parseDate routine (the NaN bug which occurred when there was a space - after the date and no time) - -2004-01-14 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-en.js: added "Time:" - - * test-position.html: test for the new position algorithm - - * index.html: do not destroy() the calendar - avoid bug in parseDate (%p must be separated by non-word characters) - - * menuarrow2.gif: for calendar-blue2.css - - * calendar-setup.js: honor "date" parameter if passed - - * calendar.js: IE5 support is back - performance improvements in IE6 (mouseover combo boxes) - display "Time:" beside the clock area, if defined in the language file - new positioning algorithm (try to keep the calendar in page) - rewrote parseDate a little cleaner - - * lang/calendar-el.js: - updated Greek translation (thanks Alexandros Pappas) - -2004-01-13 Mihai Bazon <mishoo@localhost.localdomain> - - * index.html: added style blue2, using utf-8 instead of iso-8859-2 - - * calendar.js: performance under IE (which sucks, by the way) - - * doc/reference.tex: Sunny added to sponsor list - - * doc/Calendar.setup.tex: documenting parameter 'electric' - - * calendar-blue.css, calendar-blue2.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css: - fixed IE text size problems - -2004-01-08 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-pl.js: - Polish translation updated to UTF-8 (thanks to Artur Filipiak) - -2004-01-07 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-si.js: updated (David Milost) - - * lang/calendar-si.js: Slovenian translation (thanks to David Milost) - -2003-12-21 Mihai Bazon <mishoo@localhost.localdomain> - - * TODO: updated TODO list - - * lang/calendar-de.js: German translation (thanks to Peter Strotmann) - -2003-12-19 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/reference.tex: Thank you, Ian Barrak - -2003-12-18 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/reference.tex: fixed documentation bug (thanks Mike) - -2003-12-05 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-ko-utf8.js: - UTF8 version of the Korean language (hopefully correct) - - * lang/calendar-pl-utf8.js, lang/calendar-pl.js: - updated Polish translation (thanks to Janusz Piwowarski) - -2003-12-04 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-fr.js: - French translation updated (thanks to Angiras Rama) - -2003-11-22 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-da.js: updated (thanks to Jesper M. Christensen) - -2003-11-20 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar-blue2.css, calendar-tas.css: - new styles (thanks to Wendall Mosemann for blue2, Mark Lynch for tas) - - * lang/calendar-lt-utf8.js, lang/calendar-lt.js: - Lithuanian translation (thanks to Martynas Majeris) - - * lang/calendar-sp.js: updated - -2003-11-17 Mihai Bazon <mishoo@localhost.localdomain> - - * TODO: added TODO list - -2003-11-14 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-ko.js: Korean translation (thanks to Yourim Yi) - -2003-11-12 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-jp.js: small bug fixed (thanks to TAHARA Yusei) - -2003-11-10 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-fr.js: translation updated, thanks to Florent Ramiere - - * calendar-setup.js: - added new parameter: electric (if false then the field will not get updated on each move) - - * index.html: fixed DOCTYPE - -2003-11-07 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar-setup.js: - fixed minor problem (maybe we're passing object reference instead of ID for - the flat calendar parent) - -2003-11-06 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-fi.js: - added Finnish translation (thanks to Antti Tuppurainen) - -2003-11-05 Mihai Bazon <mishoo@localhost.localdomain> - - * release-notes.html: fixed typo - - * doc/reference.tex, index.html, calendar.js: 0.9.5 - - * README: fixed license statement - - * release-notes.html: updated release notes (0.9.5) - -2003-11-03 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-de.js: - updated German translation (thanks to Gerhard Neiner) - - * calendar-setup.js: fixed license statement - - * calendar.js: whitespace - - * calendar.js: fixed license statement - - * calendar.js: - fixed positioning problem when input field is inside scrolled divs - -2003-11-01 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-af.js: Afrikaan language (thanks to Derick Olivier) - -2003-10-31 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-it.js: - updated IT translation (thanks to Christian Blaser) - - * lang/calendar-es.js: updated ES translation, thanks to Raul - -2003-10-30 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-hu.js: updated thanks to Istvan Karaszi - - * index.html, simple-1.html, simple-2.html, simple-3.html: - switched to utf-8 all encodings - - * lang/calendar-sk.js: - added Slovak translation (thanks to Peter Valach) - - * lang/calendar-ro.js: switched to utf-8 - -2003-10-29 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-es.js: - updated translation, thanks to Jose Ma. Martinez Miralles - - * doc/reference.tex: - fixed the footnote problem (thanks Dominique de Waleffe for the tip) - - * lang/calendar-ro.js: fixed typo - - * lang/calendar-sv.js: oops, license should be LGPL - - * lang/calendar-sw.js: new swedish translation is calendar-sv.js - - * menuarrow.gif, menuarrow.png: - oops, forgot little drop-down menu arrows - - * lang/calendar-sv.js: swedish translation thanks to Leonard Norrgard - - * index.html: oops, some other minor changes - - * index.html, release-notes.html: - latest changes in release-notes and index page for 0.9.4 - - * doc/reference.tex, calendar.js: - added %s date format (# of seconds since Epoch) - - * calendar.js: - A click on TODAY will not close the calendar, even in single-click mode - -2003-10-28 Mihai Bazon <mishoo@localhost.localdomain> - - * index.html: previous cal.html - - * cal.html: moved to index.html - - * README, cal.html, doc/reference.tex, lang/calendar-de.js, lang/calendar-en.js, lang/calendar-ro.js, release-notes.html: - LGPL license, forever. - - * doc/Calendar.setup.tex, simple-1.html: - doc updated for the onUpdate parameter to Calendar.setup - -2003-10-26 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js: fixed bug (correct display of the dropdown menus) - - * doc/Calendar.setup.tex, doc/reference.tex, lang/calendar-de.js, lang/calendar-en.js, lang/calendar-ro.js, README, cal.html, calendar-blue.css, calendar-brown.css, calendar-green.css, calendar-setup.js, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css, calendar.js, release-notes.html, simple-1.html, simple-3.html: - lots of changes for the 0.9.4 release (see the release-notes.html) - -2003-10-15 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/reference.tex: - documentation updated for 0.9.4 (not yet finished though) - -2003-10-07 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js, doc/reference.tex, release-notes.html, README, cal.html, calendar-setup.js: - modified project website - -2003-10-06 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar-setup.js: - added some properties (onSelect, onClose, date) (thanks altblue) - -2003-09-24 Mihai Bazon <mishoo@localhost.localdomain> - - * simple-3.html: dateIsSpecial does not need the "date" argument ;-) - -2003-09-24 fsoft <fsoft@mishoo> - - * calendar.js, simple-3.html: - added year, month, day to getDateStatus() function - -2003-09-24 Mihai Bazon <mishoo@localhost.localdomain> - - * simple-3.html: example on how to use special dates - - * calendar-setup.js, calendar.js, simple-1.html: - support for special dates (thanks fabio) - -2003-09-17 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/reference.tex: fixed error in section 3. - -2003-08-01 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-jp.js: added Japanese translation - -2003-07-16 Mihai Bazon <mishoo@localhost.localdomain> - - * simple-1.html: fixed problem with first example [IE,Opera] - -2003-07-09 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/Calendar.setup.tex: fixed typo (closing parenthesis) - - * lang/calendar-de.js: - added German translation, thanks to Hartwig Weinkauf - -2003-07-08 Mihai Bazon <mishoo@localhost.localdomain> - - * cal.html: added link to release-notes - - * release-notes.html: 0.9.3 release notes - - * make-release.pl: - Script to create distribution archive. It needs some additional packages: - - - LaTeX - - tex2page - - jscrunch (JS compressor) - - * doc/html/makedoc.sh, doc/html/reference.css, doc/reference.tex, doc/makedoc.sh: - documentation updates... - - * calendar.js: added semicolon to make the code "compressible" - -2003-07-06 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/reference.tex: spell checked - - * doc/reference.tex: [minor] changed credits order - - * doc/reference.tex: various improvements and additions - - * doc/html/reference.css: minor eye-candy tweaks - -2003-07-05 Mihai Bazon <mishoo@localhost.localdomain> - - * doc/html/Calendar.setup.html.tex, doc/html/makedoc.sh, doc/html/reference.css, doc/html/reference.t2p, doc/hyperref.cfg, doc/makedoc.sh, doc/reference.tex, doc/Calendar.setup.tex, doc/Calendar.setup.pdf.tex: - full documentation in LaTeX, for PDF and HTML formats - - * simple-2.html: - added demonstration of flat calendar with Calendar.setup - - * simple-1.html: - modified some links, added link to documentation, added demonstration of - disableFunc property - - * calendar-setup.js: added the ability to create flat calendar too - - * cal.html: added links to documentation and simple-[12].html pages - - * README: up-to-date... - - * calendar-setup.html: removed: the documentation is unified - -2003-07-03 Mihai Bazon <mishoo@localhost.localdomain> - - * cal.html: some links to newly added files - - * calendar-setup.html, calendar-setup.js, img.gif, simple-1.html: - added some files to simplify calendar creation for non-(JS)-programmers - - * lang/calendar-zh.js: added simplified chinese (thanks ATang) - -2003-07-02 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js: * "yy"-related... [small fix] - - * calendar.js: - * #721833 fixed (yy format will understand years prior to 29 as 20xx) - - * calendar.js: * added refresh() function - - * calendar.js: * fixed bug when in single click mode - * added alignment options to "showAtElement" member function - -2003-06-25 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-pt.js: - added portugese translation (thanks Nuno Barreto) - -2003-06-24 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js: - call user handler when the date was changed using the keyboard - - * bugtest-hidden-selects.html: - file to test bug with hidden select-s (thanks Ying Zhang for reporting and for this test file) - - * lang/calendar-hr-utf8.js: - added croatian translation in utf8 (thanks Krunoslav Zubrinic) - -2003-06-23 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-hu.js: added hungarian translation - - * lang/calendar-hr.js: - added croatian translation (thanks to Krunoslav Zubrinic) - -2003-06-22 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js: - * #723335 fixed (clicking TODAY will not select the today date if the - disabledHandler rejects it) - - * cal.html: * new code for to work with fix for bug #703238 - * switch to new version - - * calendar.js: - * some patches to make code compatible with Opera 7 (well, almost compatible) - * bug #703238 fixed (fix breaks compatibility with older code that uses - calendar in single-click mode) - * bug #703814 fixed - -2003-04-09 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-tr.js: added turkish lang file - -2003-03-19 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-ru.js: russian translation added - - * lang/calendar-no.js: norwegian translation added - -2003-03-15 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-no.js: norwegian translation - -2003-03-12 Mihai Bazon <mishoo@localhost.localdomain> - - * lang/calendar-pl.js: added polish translation - -2003-03-11 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js: - bugfix in parseDate (added base to parseInt, thanks Alan!) - -2003-03-05 Mihai Bazon <mishoo@localhost.localdomain> - - * calendar.js, lang/calendar-br.js, lang/calendar-ca.js, lang/calendar-cs-win.js, lang/calendar-da.js, lang/calendar-du.js, lang/calendar-el.js, lang/calendar-en.js, lang/calendar-es.js, lang/calendar-fr.js, lang/calendar-it.js, lang/calendar-nl.js, lang/calendar-ro.js, lang/calendar-sp.js, lang/calendar-sw.js: - New file. - - * calendar.js, lang/calendar-br.js, lang/calendar-ca.js, lang/calendar-cs-win.js, lang/calendar-da.js, lang/calendar-du.js, lang/calendar-el.js, lang/calendar-en.js, lang/calendar-es.js, lang/calendar-fr.js, lang/calendar-it.js, lang/calendar-nl.js, lang/calendar-ro.js, lang/calendar-sp.js, lang/calendar-sw.js: - moved to CVS at sourceforge.net - release: 0.9.2 + new language packs - - - * README, cal.html, calendar-blue.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css: - New file. - - * README, cal.html, calendar-blue.css, calendar-brown.css, calendar-green.css, calendar-system.css, calendar-win2k-1.css, calendar-win2k-2.css, calendar-win2k-cold-1.css, calendar-win2k-cold-2.css: - moved to CVS at sourceforge.net - release: 0.9.2 + new language packs - - diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/README b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/README deleted file mode 100644 index 0c9421baf9380ad1643fe0979bda6ee57cdd6911..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/README +++ /dev/null @@ -1,33 +0,0 @@ -The DHTML Calendar -------------------- - - Author: Mihai Bazon, <mishoo@infoiasi.ro> - http://dynarch.com/mishoo/ - - This program is free software published under the - terms of the GNU Lesser General Public License. - - For the entire license text please refer to - http://www.gnu.org/licenses/lgpl.html - -Contents ---------- - - calendar.js -- the main program file - lang/*.js -- internalization files - *.css -- color themes - cal.html -- example usage file - doc/ -- documentation, in PDF and HTML - simple-1.html -- quick setup examples [popup calendars] - simple-2.html -- quick setup example for flat calendar - calendar.php -- PHP wrapper - test.php -- test file for the PHP wrapper - -Homepage ---------- - - For details and latest versions please refer to calendar - homepage, located on my website: - - http://dynarch.com/mishoo/calendar.epl - diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/bugtest-hidden-selects.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/bugtest-hidden-selects.html deleted file mode 100644 index 900bc17e8ba68c244e63643d22a8262b1dab0c51..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/bugtest-hidden-selects.html +++ /dev/null @@ -1,108 +0,0 @@ -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ro" lang="ro"> - -<head> -<title>Bug</title> -<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-1.css" title="win2k-1" /> - -<!-- import the calendar script --> -<script type="text/javascript" src="calendar.js"></script> - -<!-- import the language module --> -<script type="text/javascript" src="lang/calendar-en.js"></script> - -<!-- helper script that uses the calendar --> -<script type="text/javascript"> -// This function gets called when the end-user clicks on some date. -function selected(cal, date) { - cal.sel.value = date; // just update the date in the input field. - if (cal.sel.id == "sel1" || cal.sel.id == "sel3") - // if we add this call we close the calendar on single-click. - // just to exemplify both cases, we are using this only for the 1st - // and the 3rd field, while 2nd and 4th will still require double-click. - cal.callCloseHandler(); -} - -// And this gets called when the end-user clicks on the _selected_ date, -// or clicks on the "Close" button. It just hides the calendar without -// destroying it. -function closeHandler(cal) { - cal.hide(); // hide the calendar -} - -// This function shows the calendar under the element having the given id. -// It takes care of catching "mousedown" signals on document and hiding the -// calendar if the click was outside. -function showCalendar(id, format) { - var el = document.getElementById(id); - if (calendar != null) { - // we already have some calendar created - calendar.hide(); // so we hide it first. - } else { - // first-time call, create the calendar. - var cal = new Calendar(false, null, selected, closeHandler); - // uncomment the following line to hide the week numbers - // cal.weekNumbers = false; - calendar = cal; // remember it in the global var - cal.setRange(1900, 2070); // min/max year allowed. - cal.create(); - } - calendar.setDateFormat(format); // set the specified date format - calendar.parseDate(el.value); // try to parse the text in field - calendar.sel = el; // inform it what input field we use - calendar.showAtElement(el); // show the calendar below it - - return false; -} - -var MINUTE = 60 * 1000; -var HOUR = 60 * MINUTE; -var DAY = 24 * HOUR; -var WEEK = 7 * DAY; - -// If this handler returns true then the "date" given as -// parameter will be disabled. In this example we enable -// only days within a range of 10 days from the current -// date. -// You can use the functions date.getFullYear() -- returns the year -// as 4 digit number, date.getMonth() -- returns the month as 0..11, -// and date.getDate() -- returns the date of the month as 1..31, to -// make heavy calculations here. However, beware that this function -// should be very fast, as it is called for each day in a month when -// the calendar is (re)constructed. -function isDisabled(date) { - var today = new Date(); - return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10; -} -</script> -</head> - -<body> -<form> -<b>Date:</b> -<br> -<input type="text" name="date1" id="sel1" size="30"> -<input type="button" value="..." onclick="return showCalendar('sel1', 'y-m-d');"> -<p> -<br> -<br><b>Visible <select>, hides and unhides as expected</b> -<br> -<select name="foo" multiple> -<option value="1">can use the functions date.getFullYear() -- returns</option> -<option value="2">4 digit number, date.getMonth() -- returns the month</option> -<option value="3">heavy calculations here. However, beware that this</option> -</select> - -<p> -<br><b>Hidden <select>, it should stay hidden (but doesn't)</b> -<br> -<select name="foo2" multiple style="visibility: hidden"> -<option value="1">this should</option> -<option value="2">remain hidden right?</option> -</select> - -<p> -<br><b>Hidden textbox below, it stays hidden as expected</b> -<br> -<input type="text" name="foo3" value="this stays hidden just fine" style="visibility: hidden"> -</form> -</body></html> diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-blue.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-blue.css deleted file mode 100644 index 6033a9babf706a0184becef00dfc5dfb716bdbc9..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-blue.css +++ /dev/null @@ -1,231 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -div.calendar { position: relative; } - -.calendar, .calendar table { - border: 1px solid #556; - font-size: 11px; - color: #000; - cursor: default; - background: #eef; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; /* They are the navigation buttons */ - padding: 2px; /* Make the buttons seem like they're pressing */ -} - -.calendar .nav { - background: #778 url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; /* Pressing it will take you to the current date */ - text-align: center; - background: #fff; - color: #000; - padding: 2px; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ - background: #778; - color: #fff; -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ - background: #bdf; -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #556; - padding: 2px; - text-align: center; - color: #000; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #a66; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - background-color: #aaf; - color: #000; - border: 1px solid #04f; - padding: 1px; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - background-color: #77c; - padding: 2px 0px 0px 2px; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - color: #456; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #bbb; -} -.calendar tbody .day.othermonth.oweekend { - color: #fbb; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #bdf; -} - -.calendar tbody .rowhilite td { - background: #def; -} - -.calendar tbody .rowhilite td.wn { - background: #eef; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - background: #def; - padding: 1px 3px 1px 1px; - border: 1px solid #bbb; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - background: #cde; - padding: 2px 2px 0px 2px; -} - -.calendar tbody td.selected { /* Cell showing today date */ - font-weight: bold; - border: 1px solid #000; - padding: 1px 3px 1px 1px; - background: #fff; - color: #000; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #a66; -} - -.calendar tbody td.today { /* Cell showing selected date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ - text-align: center; - background: #556; - color: #fff; -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: #fff; - color: #445; - border-top: 1px solid #556; - padding: 1px; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - background: #aaf; - border: 1px solid #04f; - color: #000; - padding: 1px; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - background: #77c; - padding: 2px 0px 0px 2px; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - cursor: default; - border: 1px solid #655; - background: #def; - color: #000; - font-size: 90%; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .hilite { - background: #acf; -} - -.calendar .combo .active { - border-top: 1px solid #46a; - border-bottom: 1px solid #46a; - background: #eef; - font-weight: bold; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #f4f0e8; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #667; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-blue2.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-blue2.css deleted file mode 100644 index 6046c817f6f6907b048930c3080ceb799dda1232..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-blue2.css +++ /dev/null @@ -1,235 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -div.calendar { position: relative; } - -.calendar, .calendar table { - border: 1px solid #206A9B; - font-size: 11px; - color: #000; - cursor: default; - background: #F1F8FC; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; /* They are the navigation buttons */ - padding: 2px; /* Make the buttons seem like they're pressing */ -} - -.calendar .nav { - background: #007ED1 url(menuarrow2.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; /* Pressing it will take you to the current date */ - text-align: center; - background: #000; - color: #fff; - padding: 2px; -} - -.calendar thead tr { /* Row <TR> containing navigation buttons */ - background: #007ED1; - color: #fff; -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ - background: #C7E1F3; -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #206A9B; - padding: 2px; - text-align: center; - color: #000; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #a66; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - background-color: #34ABFA; - color: #000; - border: 1px solid #016DC5; - padding: 1px; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - background-color: #006AA9; - border: 1px solid #008AFF; - padding: 2px 0px 0px 2px; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - color: #456; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #bbb; -} -.calendar tbody .day.othermonth.oweekend { - color: #fbb; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #C7E1F3; -} - -.calendar tbody .rowhilite td { - background: #def; -} - -.calendar tbody .rowhilite td.wn { - background: #F1F8FC; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - background: #def; - padding: 1px 3px 1px 1px; - border: 1px solid #8FC4E8; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - background: #cde; - padding: 2px 2px 0px 2px; -} - -.calendar tbody td.selected { /* Cell showing today date */ - font-weight: bold; - border: 1px solid #000; - padding: 1px 3px 1px 1px; - background: #fff; - color: #000; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #a66; -} - -.calendar tbody td.today { /* Cell showing selected date */ - font-weight: bold; - color: #D50000; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ - text-align: center; - background: #206A9B; - color: #fff; -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: #000; - color: #fff; - border-top: 1px solid #206A9B; - padding: 1px; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - background: #B8DAF0; - border: 1px solid #178AEB; - color: #000; - padding: 1px; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - background: #006AA9; - padding: 2px 0px 0px 2px; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - cursor: default; - border: 1px solid #655; - background: #def; - color: #000; - font-size: 90%; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .hilite { - background: #34ABFA; - border-top: 1px solid #46a; - border-bottom: 1px solid #46a; - font-weight: bold; -} - -.calendar .combo .active { - border-top: 1px solid #46a; - border-bottom: 1px solid #46a; - background: #F1F8FC; - font-weight: bold; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #E3F0F9; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #F1F8FC; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #267DB7; - color: #fff; -} - -.calendar td.time span.active { - border-color: red; - background-color: #000; - color: #A5FF00; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-brown.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-brown.css deleted file mode 100644 index ce8d7ed766688e1f1140ccb52cb401df5db4a883..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-brown.css +++ /dev/null @@ -1,224 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -div.calendar { position: relative; } - -.calendar, .calendar table { - border: 1px solid #655; - font-size: 11px; - color: #000; - cursor: default; - background: #ffd; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; /* They are the navigation buttons */ - padding: 2px; /* Make the buttons seem like they're pressing */ -} - -.calendar .nav { - background: #edc url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; /* Pressing it will take you to the current date */ - text-align: center; - background: #654; - color: #fed; - padding: 2px; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ - background: #edc; - color: #000; -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #655; - padding: 2px; - text-align: center; - color: #000; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - background-color: #faa; - color: #000; - border: 1px solid #f40; - padding: 1px; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - background-color: #c77; - padding: 2px 0px 0px 2px; -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ - background: #fed; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #bbb; -} -.calendar tbody .day.othermonth.oweekend { - color: #fbb; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #fed; -} - -.calendar tbody .rowhilite td { - background: #ddf; -} - -.calendar tbody .rowhilite td.wn { - background: #efe; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - background: #ffe; - padding: 1px 3px 1px 1px; - border: 1px solid #bbb; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - background: #ddc; - padding: 2px 2px 0px 2px; -} - -.calendar tbody td.selected { /* Cell showing today date */ - font-weight: bold; - border: 1px solid #000; - padding: 1px 3px 1px 1px; - background: #fea; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { font-weight: bold; } - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ - text-align: center; - background: #988; - color: #000; -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - border-top: 1px solid #655; - background: #dcb; - color: #840; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - background: #faa; - border: 1px solid #f40; - padding: 1px; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - background: #c77; - padding: 2px 0px 0px 2px; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - cursor: default; - border: 1px solid #655; - background: #ffe; - color: #000; - font-size: 90%; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .hilite { - background: #fc8; -} - -.calendar .combo .active { - border-top: 1px solid #a64; - border-bottom: 1px solid #a64; - background: #fee; - font-weight: bold; -} - -.calendar td.time { - border-top: 1px solid #a88; - padding: 1px 0px; - text-align: center; - background-color: #fed; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #988; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #866; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-green.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-green.css deleted file mode 100644 index 5ade08727c427d32a6ba0e1b5ad436086a1750dc..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-green.css +++ /dev/null @@ -1,228 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -div.calendar { position: relative; } - -.calendar, .calendar table { - border: 1px solid #565; - font-size: 11px; - color: #000; - cursor: default; - background: #efe; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; /* They are the navigation buttons */ - padding: 2px; /* Make the buttons seem like they're pressing */ - background: #676; - color: #fff; - font-size: 90%; -} - -.calendar .nav { - background: #676 url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; /* Pressing it will take you to the current date */ - text-align: center; - padding: 2px; - background: #250; - color: #efa; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #565; - padding: 2px; - text-align: center; - color: #000; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #a66; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - background-color: #afa; - color: #000; - border: 1px solid #084; - padding: 1px; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - background-color: #7c7; - padding: 2px 0px 0px 2px; -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ - background: #dfb; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - color: #564; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #bbb; -} -.calendar tbody .day.othermonth.oweekend { - color: #fbb; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #8a8; - background: #dfb; -} - -.calendar tbody .rowhilite td { - background: #dfd; -} - -.calendar tbody .rowhilite td.wn { - background: #efe; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - background: #efd; - padding: 1px 3px 1px 1px; - border: 1px solid #bbb; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - background: #dec; - padding: 2px 2px 0px 2px; -} - -.calendar tbody td.selected { /* Cell showing today date */ - font-weight: bold; - border: 1px solid #000; - padding: 1px 3px 1px 1px; - background: #f8fff8; - color: #000; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #a66; -} - -.calendar tbody td.today { font-weight: bold; color: #0a0; } - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ - text-align: center; - background: #565; - color: #fff; -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - padding: 2px; - background: #250; - color: #efa; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - background: #afa; - border: 1px solid #084; - color: #000; - padding: 1px; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - background: #7c7; - padding: 2px 0px 0px 2px; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - cursor: default; - border: 1px solid #565; - background: #efd; - color: #000; - font-size: 90%; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .hilite { - background: #af8; -} - -.calendar .combo .active { - border-top: 1px solid #6a4; - border-bottom: 1px solid #6a4; - background: #efe; - font-weight: bold; -} - -.calendar td.time { - border-top: 1px solid #8a8; - padding: 1px 0px; - text-align: center; - background-color: #dfb; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #898; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #686; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-setup.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-setup.js deleted file mode 100644 index cb22e92421d09fdfb2491eaa34ebd0d14fce0d7f..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-setup.js +++ /dev/null @@ -1,203 +0,0 @@ -/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ - * --------------------------------------------------------------------------- - * - * The DHTML Calendar - * - * Details and latest version at: - * http://dynarch.com/mishoo/calendar.epl - * - * This script is distributed under the GNU Lesser General Public License. - * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html - * - * This file defines helper functions for setting up the calendar. They are - * intended to help non-programmers get a working calendar on their site - * quickly. This script should not be seen as part of the calendar. It just - * shows you what one can do with the calendar, while in the same time - * providing a quick and simple method for setting it up. If you need - * exhaustive customization of the calendar creation process feel free to - * modify this code to suit your needs (this is recommended and much better - * than modifying calendar.js itself). - */ - -// $Id: calendar-setup.js,v 1.4 2007-12-18 11:52:32 gnaegi Exp $ - -/** - * This function "patches" an input field (or other element) to use a calendar - * widget for date selection. - * - * The "params" is a single object that can have the following properties: - * - * prop. name | description - * ------------------------------------------------------------------------------------------------- - * inputField | the ID of an input field to store the date - * displayArea | the ID of a DIV or other element to show the date - * button | ID of a button or other element that will trigger the calendar - * eventName | event that will trigger the calendar, without the "on" prefix (default: "click") - * ifFormat | date format that will be stored in the input field - * daFormat | the date format that will be used to display the date in displayArea - * singleClick | (true/false) wether the calendar is in single click mode or not (default: true) - * firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc. - * align | alignment (default: "Br"); if you don't know what's this see the calendar documentation - * range | array with 2 elements. Default: [1900, 2999] -- the range of years available - * weekNumbers | (true/false) if it's true (default) the calendar will display week numbers - * flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID - * flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar) - * disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar - * onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay) - * onClose | function that gets called when the calendar is closed. [default] - * onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar. - * date | the date that the calendar will be initially displayed to - * showsTime | default: false; if true the calendar will include a time selector - * timeFormat | the time format; can be "12" or "24", default is "12" - * electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close - * step | configures the step of the years in drop-down boxes; default: 2 - * position | configures the calendar absolute position; default: null - * cache | if "true" (but default: "false") it will reuse the same calendar object, where possible - * showOthers | if "true" (but default: "false") it will show days from other months too - * - * None of them is required, they all have default values. However, if you - * pass none of "inputField", "displayArea" or "button" you'll get a warning - * saying "nothing to setup". - */ -Calendar.setup = function (params) { - function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } }; - - param_default("inputField", null); - param_default("displayArea", null); - param_default("button", null); - param_default("eventName", "click"); - param_default("ifFormat", "%Y/%m/%d"); - param_default("daFormat", "%Y/%m/%d"); - param_default("singleClick", true); - param_default("disableFunc", null); - param_default("dateStatusFunc", params["disableFunc"]); // takes precedence if both are defined - param_default("dateText", null); - param_default("firstDay", null); - param_default("align", "Br"); - param_default("range", [1900, 2999]); - param_default("weekNumbers", true); - param_default("flat", null); - param_default("flatCallback", null); - param_default("onSelect", null); - param_default("onClose", null); - param_default("onUpdate", null); - param_default("date", null); - param_default("showsTime", false); - param_default("timeFormat", "24"); - param_default("electric", true); - param_default("step", 2); - param_default("position", null); - param_default("cache", false); - param_default("showOthers", false); - param_default("multiple", null); - - var tmp = ["inputField", "displayArea", "button"]; - for (var i in tmp) { - if (typeof params[tmp[i]] == "string") { - params[tmp[i]] = document.getElementById(params[tmp[i]]); - } - } - if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) { - alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code"); - return false; - } - - function onSelect(cal) { - var p = cal.params; - var update = (cal.dateClicked || p.electric); - if (update && p.flat) { - if (typeof p.flatCallback == "function") - p.flatCallback(cal); - else - alert("No flatCallback given -- doing nothing."); - return false; - } - if (update && p.inputField) { - p.inputField.value = cal.date.print(p.ifFormat); - if (typeof p.inputField.onchange == "function") - p.inputField.onchange(); - } - if (update && p.displayArea) - p.displayArea.innerHTML = cal.date.print(p.daFormat); - if (update && p.singleClick && cal.dateClicked) - cal.callCloseHandler(); - if (update && typeof p.onUpdate == "function") - p.onUpdate(cal); - }; - - if (params.flat != null) { - if (typeof params.flat == "string") - params.flat = document.getElementById(params.flat); - if (!params.flat) { - alert("Calendar.setup:\n Flat specified but can't find parent."); - return false; - } - var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect); - cal.showsOtherMonths = params.showOthers; - cal.showsTime = params.showsTime; - cal.time24 = (params.timeFormat == "24"); - cal.params = params; - cal.weekNumbers = params.weekNumbers; - cal.setRange(params.range[0], params.range[1]); - cal.setDateStatusHandler(params.dateStatusFunc); - cal.getDateText = params.dateText; - if (params.ifFormat) { - cal.setDateFormat(params.ifFormat); - } - if (params.inputField && typeof params.inputField.value == "string") { - cal.parseDate(params.inputField.value); - } - cal.create(params.flat); - cal.show(); - return false; - } - - var triggerEl = params.button || params.displayArea || params.inputField; - triggerEl["on" + params.eventName] = function() { - var dateEl = params.inputField || params.displayArea; - var dateFmt = params.inputField ? params.ifFormat : params.daFormat; - var mustCreate = false; - var cal = window.calendar; - if (!(cal && params.cache)) { - window.calendar = cal = new Calendar(params.firstDay, - params.date, - params.onSelect || onSelect, - params.onClose || function(cal) { cal.hide(); }); - cal.showsTime = params.showsTime; - cal.time24 = (params.timeFormat == "24"); - cal.weekNumbers = params.weekNumbers; - mustCreate = true; - } else { - if (params.date) - cal.setDate(params.date); - cal.hide(); - } - if (params.multiple) { - cal.multiple = {}; - for (var i = params.multiple.length; --i >= 0;) { - var d = params.multiple[i]; - var ds = d.print("%Y%m%d"); - cal.multiple[ds] = d; - } - } - cal.showsOtherMonths = params.showOthers; - cal.yearStep = params.step; - cal.setRange(params.range[0], params.range[1]); - cal.params = params; - cal.setDateStatusHandler(params.dateStatusFunc); - cal.getDateText = params.dateText; - cal.setDateFormat(dateFmt); - if (mustCreate) - cal.create(); - if (dateEl) - cal.parseDate(dateEl.value || dateEl.innerHTML); - cal.refresh(); - if (!params.position) - cal.showAtElement(params.button || params.displayArea || params.inputField, params.align); - else - cal.showAt(params.position[0], params.position[1]); - return false; - }; - - return cal; -}; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-setup_stripped.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-setup_stripped.js deleted file mode 100644 index 56776bef7d15a480670ddcc01b1aacab404afd12..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-setup_stripped.js +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ - * --------------------------------------------------------------------------- - * - * The DHTML Calendar - * - * Details and latest version at: - * http://dynarch.com/mishoo/calendar.epl - * - * This script is distributed under the GNU Lesser General Public License. - * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html - * - * This file defines helper functions for setting up the calendar. They are - * intended to help non-programmers get a working calendar on their site - * quickly. This script should not be seen as part of the calendar. It just - * shows you what one can do with the calendar, while in the same time - * providing a quick and simple method for setting it up. If you need - * exhaustive customization of the calendar creation process feel free to - * modify this code to suit your needs (this is recommended and much better - * than modifying calendar.js itself). - */ - Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);else alert("No flatCallback given -- doing nothing.");return false;}if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(!(cal&¶ms.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();if(dateEl)cal.parseDate(dateEl.value||dateEl.innerHTML);cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;}; \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-system.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-system.css deleted file mode 100644 index a663d1a4dd2c3f924c2ae50c48710ef5943df601..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-system.css +++ /dev/null @@ -1,250 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -.calendar { - position: relative; - display: none; - border: 1px solid; - border-color: #fff #000 #000 #fff; - font-size: 11px; - cursor: default; - background: Window; - color: WindowText; - font-family: tahoma,verdana,sans-serif; -} - -.calendar table { - border: 1px solid; - border-color: #fff #000 #000 #fff; - font-size: 11px; - cursor: default; - background: Window; - color: WindowText; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; - background: ButtonFace; -} - -.calendar .nav { - background: ButtonFace url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000; - background: ActiveCaption; - color: CaptionText; - text-align: center; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid ButtonShadow; - padding: 2px; - text-align: center; - background: ButtonFace; - color: ButtonText; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - border: 2px solid; - padding: 0px; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - border-width: 1px; - padding: 2px 0px 0px 2px; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid ButtonShadow; - background: ButtonFace; - color: ButtonText; -} - -.calendar tbody .rowhilite td { - background: Highlight; - color: HighlightText; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - padding: 1px 3px 1px 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - padding: 2px 2px 0px 2px; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; - padding: 2px 2px 0px 2px; - background: ButtonFace; - color: ButtonText; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody td.disabled { color: GrayText; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: ButtonFace; - padding: 1px; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; - color: ButtonText; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - padding: 1px; - background: #e4e0d8; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; - background: Menu; - color: MenuText; - font-size: 90%; - padding: 1px; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - padding: 0px; - border: 1px solid #000; -} - -.calendar .combo .hilite { - background: Highlight; - color: HighlightText; -} - -.calendar td.time { - border-top: 1px solid ButtonShadow; - padding: 1px 0px; - text-align: center; - background-color: ButtonFace; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: Menu; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: Highlight; - color: HighlightText; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-tas.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-tas.css deleted file mode 100644 index 5b74232dd053ceaebd8e39065267540f389dfa51..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-tas.css +++ /dev/null @@ -1,238 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -div.calendar { position: relative; } - -.calendar, .calendar table { - border: 1px solid #655; - font-size: 11px; - color: #000; - cursor: default; - background: #ffd; - font-family: tahoma,verdana,sans-serif; - filter: -progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF); -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; /* They are the navigation buttons */ - padding: 2px; /* Make the buttons seem like they're pressing */ - color:#363636; -} - -.calendar .nav { - background: #edc url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; /* Pressing it will take you to the current date */ - text-align: center; - background: #654; - color: #363636; - padding: 2px; - filter: -progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#dddccc); -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ - /*background: #3B86A0;*/ - color: #363636; - font-weight: bold; -filter: -progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#ffffff,EndColorStr=#3b86a0); -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #655; - padding: 2px; - text-align: center; - color: #363636; - filter: -progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#DDDCCC,EndColorStr=#FFFFFF); -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - background-color: #ffcc86; - color: #000; - border: 1px solid #b59345; - padding: 1px; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - background-color: #c77; - padding: 2px 0px 0px 2px; -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ - background: #fed; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #fed; -} - -.calendar tbody .rowhilite td { - background: #ddf; - -} - -.calendar tbody .rowhilite td.wn { - background: #efe; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - background: #ffe; - padding: 1px 3px 1px 1px; - border: 1px solid #bbb; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - background: #ddc; - padding: 2px 2px 0px 2px; -} - -.calendar tbody td.selected { /* Cell showing today date */ - font-weight: bold; - border: 1px solid #000; - padding: 1px 3px 1px 1px; - background: #fea; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { font-weight: bold; } - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ - text-align: center; - background: #988; - color: #000; - -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - border-top: 1px solid #655; - background: #dcb; - color: #363636; - font-weight: bold; - filter: -progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#FFFFFF,EndColorStr=#DDDCCC); -} -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - background: #faa; - border: 1px solid #f40; - padding: 1px; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - background: #c77; - padding: 2px 0px 0px 2px; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.combo { - position: absolute; - display: none; - top: 0px; - left: 0px; - width: 4em; - cursor: default; - border: 1px solid #655; - background: #ffe; - color: #000; - font-size: smaller; -} - -.combo .label, -.combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.combo .label-IEfix { - width: 4em; -} - -.combo .hilite { - background: #fc8; -} - -.combo .active { - border-top: 1px solid #a64; - border-bottom: 1px solid #a64; - background: #fee; - font-weight: bold; -} - -.calendar td.time { - border-top: 1px solid #a88; - padding: 1px 0px; - text-align: center; - background-color: #fed; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #988; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #866; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-1.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-1.css deleted file mode 100644 index dc48d8c755795fffcfe6895e8e575c2758520b38..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-1.css +++ /dev/null @@ -1,270 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -.calendar { - position: relative; - display: none; - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - font-size: 11px; - color: #000; - cursor: default; - background: #d4d0c8; - font-family: tahoma,verdana,sans-serif; -} - -.calendar table { - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - font-size: 11px; - color: #000; - cursor: default; - background: #d4d0c8; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar .nav { - background: transparent url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000; - background: #848078; - color: #fff; - text-align: center; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #000; - padding: 2px; - text-align: center; - background: #f4f0e8; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - padding: 0px; - background-color: #e4e0d8; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - background-color: #c4c0b8; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #f4f0e8; -} - -.calendar tbody .rowhilite td { - background: #e4e0d8; -} - -.calendar tbody .rowhilite td.wn { - background: #d4d0c8; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - padding: 1px 3px 1px 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - padding: 2px 2px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - padding: 2px 2px 0px 2px; - background: #e4e0d8; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: #f4f0e8; - padding: 1px; - border: 1px solid #000; - background: #848078; - color: #fff; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - padding: 1px; - background: #e4e0d8; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - background: #e4e0d8; - font-size: 90%; - padding: 1px; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - background: #c4c0b8; - padding: 0px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar .combo .hilite { - background: #048; - color: #fea; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #f4f0e8; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #766; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-2.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-2.css deleted file mode 100644 index d14420e8be0a302f3747c7a9b6363f29ee35e78b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-2.css +++ /dev/null @@ -1,270 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -.calendar { - position: relative; - display: none; - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - font-size: 11px; - color: #000; - cursor: default; - background: #d4c8d0; - font-family: tahoma,verdana,sans-serif; -} - -.calendar table { - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - font-size: 11px; - color: #000; - cursor: default; - background: #d4c8d0; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar .nav { - background: transparent url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000; - background: #847880; - color: #fff; - text-align: center; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #000; - padding: 2px; - text-align: center; - background: #f4e8f0; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - padding: 0px; - background-color: #e4d8e0; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - background-color: #c4b8c0; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #f4e8f0; -} - -.calendar tbody .rowhilite td { - background: #e4d8e0; -} - -.calendar tbody .rowhilite td.wn { - background: #d4c8d0; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - padding: 1px 3px 1px 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - padding: 2px 2px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - padding: 2px 2px 0px 2px; - background: #e4d8e0; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: #f4e8f0; - padding: 1px; - border: 1px solid #000; - background: #847880; - color: #fff; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - padding: 1px; - background: #e4d8e0; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - background: #e4d8e0; - font-size: 90%; - padding: 1px; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - background: #d4c8d0; - padding: 0px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar .combo .hilite { - background: #408; - color: #fea; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #f4f0e8; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #766; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-cold-1.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-cold-1.css deleted file mode 100644 index 4429f9ac7f481c204f752ac034873bf7f186dcac..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-cold-1.css +++ /dev/null @@ -1,264 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -.calendar { - position: relative; - display: none; - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - font-size: 11px; - color: #000; - cursor: default; - background: #c8d0d4; - font-family: tahoma,verdana,sans-serif; -} - -.calendar table { - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - font-size: 11px; - color: #000; - cursor: default; - background: #c8d0d4; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar .nav { - background: transparent url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000; - background: #788084; - color: #fff; - text-align: center; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #000; - padding: 2px; - text-align: center; - background: #e8f0f4; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - padding: 0px; - background-color: #d8e0e4; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - background-color: #b8c0c4; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #e8f4f0; -} - -.calendar tbody .rowhilite td { - background: #d8e4e0; -} - -.calendar tbody .rowhilite td.wn { - background: #c8d4d0; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - padding: 1px 3px 1px 1px; - border: 1px solid; - border-color: #fff #000 #000 #fff; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - padding: 2px 2px 0px 2px; - border: 1px solid; - border-color: #000 #fff #fff #000; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - padding: 2px 2px 0px 2px; - border: 1px solid; - border-color: #000 #fff #fff #000; - background: #d8e0e4; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: #e8f0f4; - padding: 1px; - border: 1px solid #000; - background: #788084; - color: #fff; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - padding: 1px; - background: #d8e0e4; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - background: #d8e0e4; - font-size: 90%; - padding: 1px; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - background: #c8d0d4; - padding: 0px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar .combo .hilite { - background: #048; - color: #aef; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #e8f0f4; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #667; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-cold-2.css b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-cold-2.css deleted file mode 100644 index ff35e7236adaa7c3ff3f2d0164b01b9e8bd193d8..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar-win2k-cold-2.css +++ /dev/null @@ -1,270 +0,0 @@ -/* The main calendar widget. DIV containing a table. */ - -.calendar { - position: relative; - display: none; - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - font-size: 11px; - color: #000; - cursor: default; - background: #c8d4d0; - font-family: tahoma,verdana,sans-serif; -} - -.calendar table { - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - font-size: 11px; - color: #000; - cursor: default; - background: #c8d4d0; - font-family: tahoma,verdana,sans-serif; -} - -/* Header part -- contains navigation buttons and day names. */ - -.calendar .button { /* "<<", "<", ">", ">>" buttons have this class */ - text-align: center; - padding: 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar .nav { - background: transparent url(menuarrow.gif) no-repeat 100% 100%; -} - -.calendar thead .title { /* This holds the current "month, year" */ - font-weight: bold; - padding: 1px; - border: 1px solid #000; - background: #788480; - color: #fff; - text-align: center; -} - -.calendar thead .headrow { /* Row <TR> containing navigation buttons */ -} - -.calendar thead .daynames { /* Row <TR> containing the day names */ -} - -.calendar thead .name { /* Cells <TD> containing the day names */ - border-bottom: 1px solid #000; - padding: 2px; - text-align: center; - background: #e8f4f0; -} - -.calendar thead .weekend { /* How a weekend day name shows in header */ - color: #f00; -} - -.calendar thead .hilite { /* How do the buttons in header appear when hover */ - border-top: 2px solid #fff; - border-right: 2px solid #000; - border-bottom: 2px solid #000; - border-left: 2px solid #fff; - padding: 0px; - background-color: #d8e4e0; -} - -.calendar thead .active { /* Active (pressed) buttons in header */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - background-color: #b8c4c0; -} - -/* The body part -- contains all the days in month. */ - -.calendar tbody .day { /* Cells <TD> containing month days dates */ - width: 2em; - text-align: right; - padding: 2px 4px 2px 2px; -} -.calendar tbody .day.othermonth { - font-size: 80%; - color: #aaa; -} -.calendar tbody .day.othermonth.oweekend { - color: #faa; -} - -.calendar table .wn { - padding: 2px 3px 2px 2px; - border-right: 1px solid #000; - background: #e8f4f0; -} - -.calendar tbody .rowhilite td { - background: #d8e4e0; -} - -.calendar tbody .rowhilite td.wn { - background: #c8d4d0; -} - -.calendar tbody td.hilite { /* Hovered cells <TD> */ - padding: 1px 3px 1px 1px; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; -} - -.calendar tbody td.active { /* Active (pressed) cells <TD> */ - padding: 2px 2px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar tbody td.selected { /* Cell showing selected date */ - font-weight: bold; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; - padding: 2px 2px 0px 2px; - background: #d8e4e0; -} - -.calendar tbody td.weekend { /* Cells showing weekend days */ - color: #f00; -} - -.calendar tbody td.today { /* Cell showing today date */ - font-weight: bold; - color: #00f; -} - -.calendar tbody .disabled { color: #999; } - -.calendar tbody .emptycell { /* Empty cells (the best is to hide them) */ - visibility: hidden; -} - -.calendar tbody .emptyrow { /* Empty row (some months need less than 6 rows) */ - display: none; -} - -/* The footer part -- status bar and "Close" button */ - -.calendar tfoot .footrow { /* The <TR> in footer (only one right now) */ -} - -.calendar tfoot .ttip { /* Tooltip (status bar) cell <TD> */ - background: #e8f4f0; - padding: 1px; - border: 1px solid #000; - background: #788480; - color: #fff; - text-align: center; -} - -.calendar tfoot .hilite { /* Hover style for buttons in footer */ - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - padding: 1px; - background: #d8e4e0; -} - -.calendar tfoot .active { /* Active (pressed) style for buttons in footer */ - padding: 2px 0px 0px 2px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -/* Combo boxes (menus that display months/years for direct selection) */ - -.calendar .combo { - position: absolute; - display: none; - width: 4em; - top: 0px; - left: 0px; - cursor: default; - border-top: 1px solid #fff; - border-right: 1px solid #000; - border-bottom: 1px solid #000; - border-left: 1px solid #fff; - background: #d8e4e0; - font-size: 90%; - padding: 1px; -} - -.calendar .combo .label, -.calendar .combo .label-IEfix { - text-align: center; - padding: 1px; -} - -.calendar .combo .label-IEfix { - width: 4em; -} - -.calendar .combo .active { - background: #c8d4d0; - padding: 0px; - border-top: 1px solid #000; - border-right: 1px solid #fff; - border-bottom: 1px solid #fff; - border-left: 1px solid #000; -} - -.calendar .combo .hilite { - background: #048; - color: #aef; -} - -.calendar td.time { - border-top: 1px solid #000; - padding: 1px 0px; - text-align: center; - background-color: #e8f0f4; -} - -.calendar td.time .hour, -.calendar td.time .minute, -.calendar td.time .ampm { - padding: 0px 3px 0px 4px; - border: 1px solid #889; - font-weight: bold; - background-color: #fff; -} - -.calendar td.time .ampm { - text-align: center; -} - -.calendar td.time .colon { - padding: 0px 2px 0px 3px; - font-weight: bold; -} - -.calendar td.time span.hilite { - border-color: #000; - background-color: #667; - color: #fff; -} - -.calendar td.time span.active { - border-color: #f00; - background-color: #000; - color: #0f0; -} diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar.js deleted file mode 100644 index 98341dcee1c8f31cfd871f0db965ed399bd58f3e..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar.js +++ /dev/null @@ -1,1774 +0,0 @@ -/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ - * ------------------------------------------------------------------ - * - * The DHTML Calendar, version 0.9.6 "Keep cool but don't freeze" - * - * Details and latest version at: - * http://dynarch.com/mishoo/calendar.epl - * - * This script is distributed under the GNU Lesser General Public License. - * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html - */ - -// $Id: calendar.js,v 1.4 2007-12-18 11:52:32 gnaegi Exp $ - -/** The Calendar object constructor. */ -Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) { - // member variables - this.activeDiv = null; - this.currentDateEl = null; - this.getDateStatus = null; - this.getDateToolTip = null; - this.getDateText = null; - this.timeout = null; - this.onSelected = onSelected || null; - this.onClose = onClose || null; - this.dragging = false; - this.hidden = false; - this.minYear = 1970; - this.maxYear = 2050; - this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"]; - this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"]; - this.isPopup = true; - this.weekNumbers = true; - this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc. - this.showsOtherMonths = false; - this.dateStr = dateStr; - this.ar_days = null; - this.showsTime = false; - this.time24 = true; - this.yearStep = 2; - this.hiliteToday = true; - this.multiple = null; - // HTML elements - this.table = null; - this.element = null; - this.tbody = null; - this.firstdayname = null; - // Combo boxes - this.monthsCombo = null; - this.yearsCombo = null; - this.hilitedMonth = null; - this.activeMonth = null; - this.hilitedYear = null; - this.activeYear = null; - // Information - this.dateClicked = false; - - // one-time initializations - if (typeof Calendar._SDN == "undefined") { - // table of short day names - if (typeof Calendar._SDN_len == "undefined") - Calendar._SDN_len = 3; - var ar = new Array(); - for (var i = 8; i > 0;) { - ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len); - } - Calendar._SDN = ar; - // table of short month names - if (typeof Calendar._SMN_len == "undefined") - Calendar._SMN_len = 3; - ar = new Array(); - for (var i = 12; i > 0;) { - ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len); - } - Calendar._SMN = ar; - } -}; - -// ** constants - -/// "static", needed for event handlers. -Calendar._C = null; - -/// detect a special case of "web browser" -Calendar.is_ie = ( /msie/i.test(navigator.userAgent) && - !/opera/i.test(navigator.userAgent) ); - -Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) ); - -/// detect Opera browser -Calendar.is_opera = /opera/i.test(navigator.userAgent); - -/// detect KHTML-based browsers -Calendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent); - -// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate -// library, at some point. - -Calendar.getAbsolutePos = function(el) { - var SL = 0, ST = 0; - var is_div = /^div$/i.test(el.tagName); - if (is_div && el.scrollLeft) - SL = el.scrollLeft; - if (is_div && el.scrollTop) - ST = el.scrollTop; - var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST }; - if (el.offsetParent) { - var tmp = this.getAbsolutePos(el.offsetParent); - r.x += tmp.x; - r.y += tmp.y; - } - return r; -}; - -Calendar.isRelated = function (el, evt) { - var related = evt.relatedTarget; - if (!related) { - var type = evt.type; - if (type == "mouseover") { - related = evt.fromElement; - } else if (type == "mouseout") { - related = evt.toElement; - } - } - while (related) { - if (related == el) { - return true; - } - related = related.parentNode; - } - return false; -}; - -Calendar.removeClass = function(el, className) { - if (!(el && el.className)) { - return; - } - var cls = el.className.split(" "); - var ar = new Array(); - for (var i = cls.length; i > 0;) { - if (cls[--i] != className) { - ar[ar.length] = cls[i]; - } - } - el.className = ar.join(" "); -}; - -Calendar.addClass = function(el, className) { - Calendar.removeClass(el, className); - el.className += " " + className; -}; - -Calendar.getElement = function(ev) { - if (Calendar.is_ie) { - return window.event.srcElement; - } else { - return ev.currentTarget; - } -}; - -Calendar.getTargetElement = function(ev) { - if (Calendar.is_ie) { - return window.event.srcElement; - } else { - return ev.target; - } -}; - -Calendar.stopEvent = function(ev) { - ev || (ev = window.event); - if (Calendar.is_ie) { - ev.cancelBubble = true; - ev.returnValue = false; - } else { - ev.preventDefault(); - ev.stopPropagation(); - } - return false; -}; - -Calendar.addEvent = function(el, evname, func) { - if (el.attachEvent) { // IE - el.attachEvent("on" + evname, func); - } else if (el.addEventListener) { // Gecko / W3C - el.addEventListener(evname, func, true); - } else { - el["on" + evname] = func; - } -}; - -Calendar.removeEvent = function(el, evname, func) { - if (el.detachEvent) { // IE - el.detachEvent("on" + evname, func); - } else if (el.removeEventListener) { // Gecko / W3C - el.removeEventListener(evname, func, true); - } else { - el["on" + evname] = null; - } -}; - -Calendar.createElement = function(type, parent) { - var el = null; - if (document.createElementNS) { - // use the XHTML namespace; IE won't normally get here unless - // _they_ "fix" the DOM2 implementation. - el = document.createElementNS("http://www.w3.org/1999/xhtml", type); - } else { - el = document.createElement(type); - } - if (typeof parent != "undefined") { - parent.appendChild(el); - } - return el; -}; - -// END: UTILITY FUNCTIONS - -// BEGIN: CALENDAR STATIC FUNCTIONS - -/** Internal -- adds a set of events to make some element behave like a button. */ -Calendar._add_evs = function(el) { - with (Calendar) { - addEvent(el, "mouseover", dayMouseOver); - addEvent(el, "mousedown", dayMouseDown); - addEvent(el, "mouseout", dayMouseOut); - if (is_ie) { - addEvent(el, "dblclick", dayMouseDblClick); - el.setAttribute("unselectable", true); - } - } -}; - -Calendar.findMonth = function(el) { - if (typeof el.month != "undefined") { - return el; - } else if (typeof el.parentNode.month != "undefined") { - return el.parentNode; - } - return null; -}; - -Calendar.findYear = function(el) { - if (typeof el.year != "undefined") { - return el; - } else if (typeof el.parentNode.year != "undefined") { - return el.parentNode; - } - return null; -}; - -Calendar.showMonthsCombo = function () { - var cal = Calendar._C; - if (!cal) { - return false; - } - var cal = cal; - var cd = cal.activeDiv; - var mc = cal.monthsCombo; - if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - if (cal.activeMonth) { - Calendar.removeClass(cal.activeMonth, "active"); - } - var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()]; - Calendar.addClass(mon, "active"); - cal.activeMonth = mon; - var s = mc.style; - s.display = "block"; - if (cd.navtype < 0) - s.left = cd.offsetLeft + "px"; - else { - var mcw = mc.offsetWidth; - if (typeof mcw == "undefined") - // Konqueror brain-dead techniques - mcw = 50; - s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px"; - } - s.top = (cd.offsetTop + cd.offsetHeight) + "px"; -}; - -Calendar.showYearsCombo = function (fwd) { - var cal = Calendar._C; - if (!cal) { - return false; - } - var cal = cal; - var cd = cal.activeDiv; - var yc = cal.yearsCombo; - if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - if (cal.activeYear) { - Calendar.removeClass(cal.activeYear, "active"); - } - cal.activeYear = null; - var Y = cal.date.getFullYear() + (fwd ? 1 : -1); - var yr = yc.firstChild; - var show = false; - for (var i = 12; i > 0; --i) { - if (Y >= cal.minYear && Y <= cal.maxYear) { - yr.firstChild.data = Y; - yr.year = Y; - yr.style.display = "block"; - show = true; - } else { - yr.style.display = "none"; - } - yr = yr.nextSibling; - Y += fwd ? cal.yearStep : -cal.yearStep; - } - if (show) { - var s = yc.style; - s.display = "block"; - if (cd.navtype < 0) - s.left = cd.offsetLeft + "px"; - else { - var ycw = yc.offsetWidth; - if (typeof ycw == "undefined") - // Konqueror brain-dead techniques - ycw = 50; - s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px"; - } - s.top = (cd.offsetTop + cd.offsetHeight) + "px"; - } -}; - -// event handlers - -Calendar.tableMouseUp = function(ev) { - var cal = Calendar._C; - if (!cal) { - return false; - } - if (cal.timeout) { - clearTimeout(cal.timeout); - } - var el = cal.activeDiv; - if (!el) { - return false; - } - var target = Calendar.getTargetElement(ev); - ev || (ev = window.event); - Calendar.removeClass(el, "active"); - if (target == el || target.parentNode == el) { - Calendar.cellClick(el, ev); - } - var mon = Calendar.findMonth(target); - var date = null; - if (mon) { - date = new Date(cal.date); - if (mon.month != date.getMonth()) { - date.setMonth(mon.month); - cal.setDate(date); - cal.dateClicked = false; - cal.callHandler(); - } - } else { - var year = Calendar.findYear(target); - if (year) { - date = new Date(cal.date); - if (year.year != date.getFullYear()) { - date.setFullYear(year.year); - cal.setDate(date); - cal.dateClicked = false; - cal.callHandler(); - } - } - } - with (Calendar) { - removeEvent(document, "mouseup", tableMouseUp); - removeEvent(document, "mouseover", tableMouseOver); - removeEvent(document, "mousemove", tableMouseOver); - cal._hideCombos(); - _C = null; - return stopEvent(ev); - } -}; - -Calendar.tableMouseOver = function (ev) { - var cal = Calendar._C; - if (!cal) { - return; - } - var el = cal.activeDiv; - var target = Calendar.getTargetElement(ev); - if (target == el || target.parentNode == el) { - Calendar.addClass(el, "hilite active"); - Calendar.addClass(el.parentNode, "rowhilite"); - } else { - if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2))) - Calendar.removeClass(el, "active"); - Calendar.removeClass(el, "hilite"); - Calendar.removeClass(el.parentNode, "rowhilite"); - } - ev || (ev = window.event); - if (el.navtype == 50 && target != el) { - var pos = Calendar.getAbsolutePos(el); - var w = el.offsetWidth; - var x = ev.clientX; - var dx; - var decrease = true; - if (x > pos.x + w) { - dx = x - pos.x - w; - decrease = false; - } else - dx = pos.x - x; - - if (dx < 0) dx = 0; - var range = el._range; - var current = el._current; - var count = Math.floor(dx / 10) % range.length; - for (var i = range.length; --i >= 0;) - if (range[i] == current) - break; - while (count-- > 0) - if (decrease) { - if (--i < 0) - i = range.length - 1; - } else if ( ++i >= range.length ) - i = 0; - var newval = range[i]; - el.firstChild.data = newval; - - cal.onUpdateTime(); - } - var mon = Calendar.findMonth(target); - if (mon) { - if (mon.month != cal.date.getMonth()) { - if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - Calendar.addClass(mon, "hilite"); - cal.hilitedMonth = mon; - } else if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - } else { - if (cal.hilitedMonth) { - Calendar.removeClass(cal.hilitedMonth, "hilite"); - } - var year = Calendar.findYear(target); - if (year) { - if (year.year != cal.date.getFullYear()) { - if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - Calendar.addClass(year, "hilite"); - cal.hilitedYear = year; - } else if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - } else if (cal.hilitedYear) { - Calendar.removeClass(cal.hilitedYear, "hilite"); - } - } - return Calendar.stopEvent(ev); -}; - -Calendar.tableMouseDown = function (ev) { - if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) { - return Calendar.stopEvent(ev); - } -}; - -Calendar.calDragIt = function (ev) { - var cal = Calendar._C; - if (!(cal && cal.dragging)) { - return false; - } - var posX; - var posY; - if (Calendar.is_ie) { - posY = window.event.clientY + document.body.scrollTop; - posX = window.event.clientX + document.body.scrollLeft; - } else { - posX = ev.pageX; - posY = ev.pageY; - } - cal.hideShowCovered(); - var st = cal.element.style; - st.left = (posX - cal.xOffs) + "px"; - st.top = (posY - cal.yOffs) + "px"; - return Calendar.stopEvent(ev); -}; - -Calendar.calDragEnd = function (ev) { - var cal = Calendar._C; - if (!cal) { - return false; - } - cal.dragging = false; - with (Calendar) { - removeEvent(document, "mousemove", calDragIt); - removeEvent(document, "mouseup", calDragEnd); - tableMouseUp(ev); - } - cal.hideShowCovered(); -}; - -Calendar.dayMouseDown = function(ev) { - var el = Calendar.getElement(ev); - if (el.disabled) { - return false; - } - var cal = el.calendar; - cal.activeDiv = el; - Calendar._C = cal; - if (el.navtype != 300) with (Calendar) { - if (el.navtype == 50) { - el._current = el.firstChild.data; - addEvent(document, "mousemove", tableMouseOver); - } else - addEvent(document, Calendar.is_ie5 ? "mousemove" : "mouseover", tableMouseOver); - addClass(el, "hilite active"); - addEvent(document, "mouseup", tableMouseUp); - } else if (cal.isPopup) { - cal._dragStart(ev); - } - if (el.navtype == -1 || el.navtype == 1) { - if (cal.timeout) clearTimeout(cal.timeout); - cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250); - } else if (el.navtype == -2 || el.navtype == 2) { - if (cal.timeout) clearTimeout(cal.timeout); - cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250); - } else { - cal.timeout = null; - } - return Calendar.stopEvent(ev); -}; - -Calendar.dayMouseDblClick = function(ev) { - Calendar.cellClick(Calendar.getElement(ev), ev || window.event); - if (Calendar.is_ie) { - document.selection.empty(); - } -}; - -Calendar.dayMouseOver = function(ev) { - var el = Calendar.getElement(ev); - if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) { - return false; - } - if (el.ttip) { - if (el.ttip.substr(0, 1) == "_") { - el.ttip = el.caldate.print(el.calendar.ttDateFormat) + el.ttip.substr(1); - } - el.calendar.tooltips.firstChild.data = el.ttip; - } - if (el.navtype != 300) { - Calendar.addClass(el, "hilite"); - if (el.caldate) { - Calendar.addClass(el.parentNode, "rowhilite"); - } - } - return Calendar.stopEvent(ev); -}; - -Calendar.dayMouseOut = function(ev) { - with (Calendar) { - var el = getElement(ev); - if (isRelated(el, ev) || _C || el.disabled) - return false; - removeClass(el, "hilite"); - if (el.caldate) - removeClass(el.parentNode, "rowhilite"); - if (el.calendar) - el.calendar.tooltips.firstChild.data = _TT["SEL_DATE"]; - return stopEvent(ev); - } -}; - -/** - * A generic "click" handler :) handles all types of buttons defined in this - * calendar. - */ -Calendar.cellClick = function(el, ev) { - var cal = el.calendar; - var closing = false; - var newdate = false; - var date = null; - if (typeof el.navtype == "undefined") { - if (cal.currentDateEl) { - Calendar.removeClass(cal.currentDateEl, "selected"); - Calendar.addClass(el, "selected"); - closing = (cal.currentDateEl == el); - if (!closing) { - cal.currentDateEl = el; - } - } - cal.date = new Date(el.caldate); - date = cal.date; - var other_month = !(cal.dateClicked = !el.otherMonth); - if (!other_month && !cal.currentDateEl) - cal._toggleMultipleDate(new Date(date)); - else - newdate = true; - // a date was clicked - if (other_month) - cal._init(cal.firstDayOfWeek, date); - } else { - if (el.navtype == 200) { - Calendar.removeClass(el, "hilite"); - cal.callCloseHandler(); - return; - } - date = (el.navtype == 0) ? new Date() : new Date(cal.date); - // unless "today" was clicked, we assume no date was clicked so - // the selected handler will know not to close the calenar when - // in single-click mode. - // cal.dateClicked = (el.navtype == 0); - cal.dateClicked = false; - var year = date.getFullYear(); - var mon = date.getMonth(); - function setMonth(m) { - var day = date.getDate(); - var max = date.getMonthDays(m); - if (day > max) { - date.setDate(max); - } - date.setMonth(m); - }; - switch (el.navtype) { - case 400: - Calendar.removeClass(el, "hilite"); - var text = Calendar._TT["ABOUT"]; - if (typeof text != "undefined") { - text += cal.showsTime ? Calendar._TT["ABOUT_TIME"] : ""; - } else { - // FIXME: this should be removed as soon as lang files get updated! - text = "Help and about box text is not translated into this language.\n" + - "If you know this language and you feel generous please update\n" + - "the corresponding file in \"lang\" subdir to match calendar-en.js\n" + - "and send it back to <mihai_bazon@yahoo.com> to get it into the distribution ;-)\n\n" + - "Thank you!\n" + - "http://dynarch.com/mishoo/calendar.epl\n"; - } - alert(text); - return; - case -2: - if (year > cal.minYear) { - date.setFullYear(year - 1); - } - break; - case -1: - if (mon > 0) { - setMonth(mon - 1); - } else if (year-- > cal.minYear) { - date.setFullYear(year); - setMonth(11); - } - break; - case 1: - if (mon < 11) { - setMonth(mon + 1); - } else if (year < cal.maxYear) { - date.setFullYear(year + 1); - setMonth(0); - } - break; - case 2: - if (year < cal.maxYear) { - date.setFullYear(year + 1); - } - break; - case 100: - cal.setFirstDayOfWeek(el.fdow); - return; - case 50: - var range = el._range; - var current = el.firstChild.data; - for (var i = range.length; --i >= 0;) - if (range[i] == current) - break; - if (ev && ev.shiftKey) { - if (--i < 0) - i = range.length - 1; - } else if ( ++i >= range.length ) - i = 0; - var newval = range[i]; - el.firstChild.data = newval; - cal.onUpdateTime(); - return; - case 0: - // TODAY will bring us here - if ((typeof cal.getDateStatus == "function") && cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate())) { - // remember, "date" was previously set to new - // Date() if TODAY was clicked; thus, it - // contains today date. - return false; - } - break; - } - if (!date.equalsTo(cal.date)) { - cal.setDate(date); - newdate = true; - } - } - if (newdate) { - cal.callHandler(); - } - if (closing) { - Calendar.removeClass(el, "hilite"); - cal.callCloseHandler(); - } -}; - -// END: CALENDAR STATIC FUNCTIONS - -// BEGIN: CALENDAR OBJECT FUNCTIONS - -/** - * This function creates the calendar inside the given parent. If _par is - * null than it creates a popup calendar inside the BODY element. If _par is - * an element, be it BODY, then it creates a non-popup calendar (still - * hidden). Some properties need to be set before calling this function. - */ -Calendar.prototype.create = function (_par) { - var parent = null; - if (! _par) { - // default parent is the document body, in which case we create - // a popup calendar. - parent = document.getElementsByTagName("body")[0]; - this.isPopup = true; - } else { - parent = _par; - this.isPopup = false; - } - this.date = this.dateStr ? new Date(this.dateStr) : new Date(); - - var table = Calendar.createElement("table"); - this.table = table; - table.cellSpacing = 0; - table.cellPadding = 0; - table.calendar = this; - Calendar.addEvent(table, "mousedown", Calendar.tableMouseDown); - - var div = Calendar.createElement("div"); - this.element = div; - div.className = "calendar"; - if (this.isPopup) { - div.style.position = "absolute"; - div.style.display = "none"; - } - div.appendChild(table); - - var thead = Calendar.createElement("thead", table); - var cell = null; - var row = null; - - var cal = this; - var hh = function (text, cs, navtype) { - cell = Calendar.createElement("td", row); - cell.colSpan = cs; - cell.className = "button"; - if (navtype != 0 && Math.abs(navtype) <= 2) - cell.className += " nav"; - Calendar._add_evs(cell); - cell.calendar = cal; - cell.navtype = navtype; - if (text.substr(0, 1) != "&") { - cell.appendChild(document.createTextNode(text)); - } - else { - // FIXME: dirty hack for entities - cell.innerHTML = text; - } - return cell; - }; - - row = Calendar.createElement("tr", thead); - var title_length = 6; - (this.isPopup) && --title_length; - (this.weekNumbers) && ++title_length; - - hh("?", 1, 400).ttip = Calendar._TT["INFO"]; - this.title = hh("", title_length, 300); - this.title.className = "title"; - if (this.isPopup) { - this.title.ttip = Calendar._TT["DRAG_TO_MOVE"]; - this.title.style.cursor = "move"; - hh("×", 1, 200).ttip = Calendar._TT["CLOSE"]; - } - - row = Calendar.createElement("tr", thead); - row.className = "headrow"; - - this._nav_py = hh("«", 1, -2); - this._nav_py.ttip = Calendar._TT["PREV_YEAR"]; - - this._nav_pm = hh("‹", 1, -1); - this._nav_pm.ttip = Calendar._TT["PREV_MONTH"]; - - this._nav_now = hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, 0); - this._nav_now.ttip = Calendar._TT["GO_TODAY"]; - - this._nav_nm = hh("›", 1, 1); - this._nav_nm.ttip = Calendar._TT["NEXT_MONTH"]; - - this._nav_ny = hh("»", 1, 2); - this._nav_ny.ttip = Calendar._TT["NEXT_YEAR"]; - - // day names - row = Calendar.createElement("tr", thead); - row.className = "daynames"; - if (this.weekNumbers) { - cell = Calendar.createElement("td", row); - cell.className = "name wn"; - cell.appendChild(document.createTextNode(Calendar._TT["WK"])); - } - for (var i = 7; i > 0; --i) { - cell = Calendar.createElement("td", row); - cell.appendChild(document.createTextNode("")); - if (!i) { - cell.navtype = 100; - cell.calendar = this; - Calendar._add_evs(cell); - } - } - this.firstdayname = (this.weekNumbers) ? row.firstChild.nextSibling : row.firstChild; - this._displayWeekdays(); - - var tbody = Calendar.createElement("tbody", table); - this.tbody = tbody; - - for (i = 6; i > 0; --i) { - row = Calendar.createElement("tr", tbody); - if (this.weekNumbers) { - cell = Calendar.createElement("td", row); - cell.appendChild(document.createTextNode("")); - } - for (var j = 7; j > 0; --j) { - cell = Calendar.createElement("td", row); - cell.appendChild(document.createTextNode("")); - cell.calendar = this; - Calendar._add_evs(cell); - } - } - - if (this.showsTime) { - row = Calendar.createElement("tr", tbody); - row.className = "time"; - - cell = Calendar.createElement("td", row); - cell.className = "time"; - cell.colSpan = 2; - cell.innerHTML = Calendar._TT["TIME"] || " "; - - cell = Calendar.createElement("td", row); - cell.className = "time"; - cell.colSpan = this.weekNumbers ? 4 : 3; - - (function(){ - function makeTimePart(className, init, range_start, range_end) { - var part = Calendar.createElement("span", cell); - part.className = className; - part.appendChild(document.createTextNode(init)); - part.calendar = cal; - part.ttip = Calendar._TT["TIME_PART"]; - part.navtype = 50; - part._range = []; - if (typeof range_start != "number") - part._range = range_start; - else { - for (var i = range_start; i <= range_end; ++i) { - var txt; - if (i < 10 && range_end >= 10) txt = '0' + i; - else txt = '' + i; - part._range[part._range.length] = txt; - } - } - Calendar._add_evs(part); - return part; - }; - var hrs = cal.date.getHours(); - var mins = cal.date.getMinutes(); - var t12 = !cal.time24; - var pm = (hrs > 12); - if (t12 && pm) hrs -= 12; - var H = makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23); - var span = Calendar.createElement("span", cell); - span.appendChild(document.createTextNode(":")); - span.className = "colon"; - var M = makeTimePart("minute", mins, 0, 59); - var AP = null; - cell = Calendar.createElement("td", row); - cell.className = "time"; - cell.colSpan = 2; - if (t12) - AP = makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]); - else - cell.innerHTML = " "; - - cal.onSetTime = function() { - var hrs = this.date.getHours(); - var mins = this.date.getMinutes(); - var pm = (hrs > 12); - if (pm && t12) hrs -= 12; - H.firstChild.data = (hrs < 10) ? ("0" + hrs) : hrs; - M.firstChild.data = (mins < 10) ? ("0" + mins) : mins; - if (t12) - AP.firstChild.data = pm ? "pm" : "am"; - }; - - cal.onUpdateTime = function() { - var date = this.date; - var h = parseInt(H.firstChild.data, 10); - if (t12) { - if (/pm/i.test(AP.firstChild.data) && h < 12) - h += 12; - else if (/am/i.test(AP.firstChild.data) && h == 12) - h = 0; - } - var d = date.getDate(); - var m = date.getMonth(); - var y = date.getFullYear(); - date.setHours(h); - date.setMinutes(parseInt(M.firstChild.data, 10)); - date.setFullYear(y); - date.setMonth(m); - date.setDate(d); - this.dateClicked = false; - this.callHandler(); - }; - })(); - } else { - this.onSetTime = this.onUpdateTime = function() {}; - } - - var tfoot = Calendar.createElement("tfoot", table); - - row = Calendar.createElement("tr", tfoot); - row.className = "footrow"; - - cell = hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300); - cell.className = "ttip"; - if (this.isPopup) { - cell.ttip = Calendar._TT["DRAG_TO_MOVE"]; - cell.style.cursor = "move"; - } - this.tooltips = cell; - - div = Calendar.createElement("div", this.element); - this.monthsCombo = div; - div.className = "combo"; - for (i = 0; i < Calendar._MN.length; ++i) { - var mn = Calendar.createElement("div"); - mn.className = Calendar.is_ie ? "label-IEfix" : "label"; - mn.month = i; - mn.appendChild(document.createTextNode(Calendar._SMN[i])); - div.appendChild(mn); - } - - div = Calendar.createElement("div", this.element); - this.yearsCombo = div; - div.className = "combo"; - for (i = 12; i > 0; --i) { - var yr = Calendar.createElement("div"); - yr.className = Calendar.is_ie ? "label-IEfix" : "label"; - yr.appendChild(document.createTextNode("")); - div.appendChild(yr); - } - - this._init(this.firstDayOfWeek, this.date); - parent.appendChild(this.element); -}; - -/** keyboard navigation, only for popup calendars */ -Calendar._keyEvent = function(ev) { - if (!window.calendar) { - return false; - } - (Calendar.is_ie) && (ev = window.event); - var cal = window.calendar; - var act = (Calendar.is_ie || ev.type == "keypress"); - if (ev.ctrlKey) { - switch (ev.keyCode) { - case 37: // KEY left - act && Calendar.cellClick(cal._nav_pm); - break; - case 38: // KEY up - act && Calendar.cellClick(cal._nav_py); - break; - case 39: // KEY right - act && Calendar.cellClick(cal._nav_nm); - break; - case 40: // KEY down - act && Calendar.cellClick(cal._nav_ny); - break; - default: - return false; - } - } else switch (ev.keyCode) { - case 32: // KEY space (now) - Calendar.cellClick(cal._nav_now); - break; - case 27: // KEY esc - act && cal.callCloseHandler(); - break; - case 37: // KEY left - case 38: // KEY up - case 39: // KEY right - case 40: // KEY down - if (act) { - var date = cal.date.getDate() - 1; - var el = cal.currentDateEl; - var ne = null; - var prev = (ev.keyCode == 37) || (ev.keyCode == 38); - switch (ev.keyCode) { - case 37: // KEY left - (--date >= 0) && (ne = cal.ar_days[date]); - break; - case 38: // KEY up - date -= 7; - (date >= 0) && (ne = cal.ar_days[date]); - break; - case 39: // KEY right - (++date < cal.ar_days.length) && (ne = cal.ar_days[date]); - break; - case 40: // KEY down - date += 7; - (date < cal.ar_days.length) && (ne = cal.ar_days[date]); - break; - } - if (!ne) { - if (prev) { - Calendar.cellClick(cal._nav_pm); - } else { - Calendar.cellClick(cal._nav_nm); - } - date = (prev) ? cal.date.getMonthDays() : 1; - el = cal.currentDateEl; - ne = cal.ar_days[date - 1]; - } - Calendar.removeClass(el, "selected"); - Calendar.addClass(ne, "selected"); - cal.date = new Date(ne.caldate); - cal.callHandler(); - cal.currentDateEl = ne; - } - break; - case 13: // KEY enter - if (act) { - cal.callHandler(); - cal.hide(); - } - break; - default: - return false; - } - return Calendar.stopEvent(ev); -}; - -/** - * (RE)Initializes the calendar to the given date and firstDayOfWeek - */ -Calendar.prototype._init = function (firstDayOfWeek, date) { - var today = new Date(); - this.table.style.visibility = "hidden"; - var year = date.getFullYear(); - if (year < this.minYear) { - year = this.minYear; - date.setFullYear(year); - } else if (year > this.maxYear) { - year = this.maxYear; - date.setFullYear(year); - } - this.firstDayOfWeek = firstDayOfWeek; - this.date = new Date(date); - var month = date.getMonth(); - var mday = date.getDate(); - var no_days = date.getMonthDays(); - - // calendar voodoo for computing the first day that would actually be - // displayed in the calendar, even if it's from the previous month. - // WARNING: this is magic. ;-) - date.setDate(1); - var day1 = (date.getDay() - this.firstDayOfWeek) % 7; - if (day1 < 0) - day1 += 7; - date.setDate(-day1); - date.setDate(date.getDate() + 1); - - var row = this.tbody.firstChild; - var MN = Calendar._SMN[month]; - var ar_days = new Array(); - var weekend = Calendar._TT["WEEKEND"]; - var dates = this.datesCells = {}; - if (typeof this.getDateText != "function") - this.getDateText = function(date, d) { return d; }; - for (var i = 0; i < 6; ++i, row = row.nextSibling) { - var cell = row.firstChild; - if (this.weekNumbers) { - cell.className = "day wn"; - cell.firstChild.data = date.getWeekNumber(); - cell = cell.nextSibling; - } - row.className = "daysrow"; - var hasdays = false; - for (var j = 0; j < 7; ++j, cell = cell.nextSibling, date.setDate(date.getDate() + 1)) { - var iday = date.getDate(); - var wday = date.getDay(); - cell.className = "day"; - var current_month = (date.getMonth() == month); - if (!current_month) { - if (this.showsOtherMonths) { - cell.className += " othermonth"; - cell.otherMonth = true; - } else { - cell.className = "emptycell"; - cell.innerHTML = " "; - cell.disabled = true; - continue; - } - } else { - cell.otherMonth = false; - hasdays = true; - } - cell.disabled = false; - cell.innerHTML = this.getDateText(date, iday); - dates[date.print("%Y%m%d")] = cell; - if (typeof this.getDateStatus == "function") { - var status = this.getDateStatus(date, year, month, iday); - if (typeof this.getDateToolTip == "function") { - var toolTip = this.getDateToolTip(date, year, month, iday); - if (toolTip) { - cell.title = toolTip; - } - } - if (status === true) { - cell.className += " disabled"; - cell.disabled = true; - } else { - if (/disabled/i.test(status)) - cell.disabled = true; - cell.className += " " + status; - } - } - if (!cell.disabled) { - ar_days[ar_days.length] = cell; - cell.caldate = new Date(date); - cell.ttip = "_"; - if (!this.multiple && current_month - && iday == mday && this.hiliteToday) { - - cell.className += " selected"; - this.currentDateEl = cell; - } - if (date.getFullYear() == today.getFullYear() && - date.getMonth() == today.getMonth() && - iday == today.getDate()) { - cell.className += " today"; - cell.ttip += Calendar._TT["PART_TODAY"]; - } - if (weekend.indexOf(wday.toString()) != -1) { - cell.className += cell.otherMonth ? " oweekend" : " weekend"; - } - } - } - if (!(hasdays || this.showsOtherMonths)) - row.className = "emptyrow"; - } - this.ar_days = ar_days; - this.title.firstChild.data = Calendar._MN[month] + ", " + year; - this.onSetTime(); - this.table.style.visibility = "visible"; - this._initMultipleDates(); - // PROFILE - // this.tooltips.firstChild.data = "Generated in " + ((new Date()) - today) + " ms"; -}; - -Calendar.prototype._initMultipleDates = function() { - if (this.multiple) { - for (var i in this.multiple) { - var cell = this.datesCells[i]; - var d = this.multiple[i]; - if (!d) - continue; - if (cell) - cell.className += " selected"; - } - } -}; - -Calendar.prototype._toggleMultipleDate = function(date) { - if (this.multiple) { - var ds = date.print("%Y%m%d"); - var cell = this.datesCells[ds]; - if (cell) { - var d = this.multiple[ds]; - if (!d) { - Calendar.addClass(cell, "selected"); - this.multiple[ds] = date; - } else { - Calendar.removeClass(cell, "selected"); - delete this.multiple[ds]; - } -Calendar.prototype.setDateToolTipHandler = function (unaryFunction) { - this.getDateToolTip = unaryFunction; -}; - - } - } -}; - -/** - * Calls _init function above for going to a certain date (but only if the - * date is different than the currently selected one). - */ -Calendar.prototype.setDate = function (date) { - if (!date.equalsTo(this.date)) { - this._init(this.firstDayOfWeek, date); - } -}; - -/** - * Refreshes the calendar. Useful if the "disabledHandler" function is - * dynamic, meaning that the list of disabled date can change at runtime. - * Just * call this function if you think that the list of disabled dates - * should * change. - */ -Calendar.prototype.refresh = function () { - this._init(this.firstDayOfWeek, this.date); -}; - -/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for Monday, etc.). */ -Calendar.prototype.setFirstDayOfWeek = function (firstDayOfWeek) { - this._init(firstDayOfWeek, this.date); - this._displayWeekdays(); -}; - -/** - * Allows customization of what dates are enabled. The "unaryFunction" - * parameter must be a function object that receives the date (as a JS Date - * object) and returns a boolean value. If the returned value is true then - * the passed date will be marked as disabled. - */ -Calendar.prototype.setDateStatusHandler = Calendar.prototype.setDisabledHandler = function (unaryFunction) { - this.getDateStatus = unaryFunction; -}; - -/** Customization of allowed year range for the calendar. */ -Calendar.prototype.setRange = function (a, z) { - this.minYear = a; - this.maxYear = z; -}; - -/** Calls the first user handler (selectedHandler). */ -Calendar.prototype.callHandler = function () { - if (this.onSelected) { - this.onSelected(this, this.date.print(this.dateFormat)); - } -}; - -/** Calls the second user handler (closeHandler). */ -Calendar.prototype.callCloseHandler = function () { - if (this.onClose) { - this.onClose(this); - } - this.hideShowCovered(); -}; - -/** Removes the calendar object from the DOM tree and destroys it. */ -Calendar.prototype.destroy = function () { - var el = this.element.parentNode; - el.removeChild(this.element); - Calendar._C = null; - window.calendar = null; -}; - -/** - * Moves the calendar element to a different section in the DOM tree (changes - * its parent). - */ -Calendar.prototype.reparent = function (new_parent) { - var el = this.element; - el.parentNode.removeChild(el); - new_parent.appendChild(el); -}; - -// This gets called when the user presses a mouse button anywhere in the -// document, if the calendar is shown. If the click was outside the open -// calendar this function closes it. -Calendar._checkCalendar = function(ev) { - if (!window.calendar) { - return false; - } - var el = Calendar.is_ie ? Calendar.getElement(ev) : Calendar.getTargetElement(ev); - for (; el != null && el != calendar.element; el = el.parentNode); - if (el == null) { - // calls closeHandler which should hide the calendar. - window.calendar.callCloseHandler(); - return Calendar.stopEvent(ev); - } -}; - -/** Shows the calendar. */ -Calendar.prototype.show = function () { - var rows = this.table.getElementsByTagName("tr"); - for (var i = rows.length; i > 0;) { - var row = rows[--i]; - Calendar.removeClass(row, "rowhilite"); - var cells = row.getElementsByTagName("td"); - for (var j = cells.length; j > 0;) { - var cell = cells[--j]; - Calendar.removeClass(cell, "hilite"); - Calendar.removeClass(cell, "active"); - } - } - this.element.style.display = "block"; - this.hidden = false; - if (this.isPopup) { - window.calendar = this; - Calendar.addEvent(document, "keydown", Calendar._keyEvent); - Calendar.addEvent(document, "keypress", Calendar._keyEvent); - Calendar.addEvent(document, "mousedown", Calendar._checkCalendar); - } - this.hideShowCovered(); -}; - -/** - * Hides the calendar. Also removes any "hilite" from the class of any TD - * element. - */ -Calendar.prototype.hide = function () { - if (this.isPopup) { - Calendar.removeEvent(document, "keydown", Calendar._keyEvent); - Calendar.removeEvent(document, "keypress", Calendar._keyEvent); - Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar); - } - this.element.style.display = "none"; - this.hidden = true; - this.hideShowCovered(); -}; - -/** - * Shows the calendar at a given absolute position (beware that, depending on - * the calendar element style -- position property -- this might be relative - * to the parent's containing rectangle). - */ -Calendar.prototype.showAt = function (x, y) { - var s = this.element.style; - s.left = x + "px"; - s.top = y + "px"; - this.show(); -}; - -/** Shows the calendar near a given element. */ -Calendar.prototype.showAtElement = function (el, opts) { - var self = this; - var p = Calendar.getAbsolutePos(el); - if (!opts || typeof opts != "string") { - this.showAt(p.x, p.y + el.offsetHeight); - return true; - } - function fixPosition(box) { - if (box.x < 0) - box.x = 0; - if (box.y < 0) - box.y = 0; - var cp = document.createElement("div"); - var s = cp.style; - s.position = "absolute"; - s.right = s.bottom = s.width = s.height = "0px"; - document.body.appendChild(cp); - var br = Calendar.getAbsolutePos(cp); - document.body.removeChild(cp); - if (Calendar.is_ie) { - br.y += document.body.scrollTop; - br.x += document.body.scrollLeft; - } else { - br.y += window.scrollY; - br.x += window.scrollX; - } - var tmp = box.x + box.width - br.x; - if (tmp > 0) box.x -= tmp; - tmp = box.y + box.height - br.y; - if (tmp > 0) box.y -= tmp; - }; - this.element.style.display = "block"; - Calendar.continuation_for_the_fucking_khtml_browser = function() { - var w = self.element.offsetWidth; - var h = self.element.offsetHeight; - self.element.style.display = "none"; - var valign = opts.substr(0, 1); - var halign = "l"; - if (opts.length > 1) { - halign = opts.substr(1, 1); - } - // vertical alignment - switch (valign) { - case "T": p.y -= h; break; - case "B": p.y += el.offsetHeight; break; - case "C": p.y += (el.offsetHeight - h) / 2; break; - case "t": p.y += el.offsetHeight - h; break; - case "b": break; // already there - } - // horizontal alignment - switch (halign) { - case "L": p.x -= w; break; - case "R": p.x += el.offsetWidth; break; - case "C": p.x += (el.offsetWidth - w) / 2; break; - case "r": p.x += el.offsetWidth - w; break; - case "l": break; // already there - } - p.width = w; - p.height = h + 40; - self.monthsCombo.style.display = "none"; - fixPosition(p); - self.showAt(p.x, p.y); - }; - if (Calendar.is_khtml) - setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10); - else - Calendar.continuation_for_the_fucking_khtml_browser(); -}; - -/** Customizes the date format. */ -Calendar.prototype.setDateFormat = function (str) { - this.dateFormat = str; -}; - -/** Customizes the tooltip date format. */ -Calendar.prototype.setTtDateFormat = function (str) { - this.ttDateFormat = str; -}; - -/** - * Tries to identify the date represented in a string. If successful it also - * calls this.setDate which moves the calendar to the given date. - */ -Calendar.prototype.parseDate = function (str, fmt) { - var y = 0; - var m = -1; - var d = 0; - var a = str.split(/\W+/); - if (!fmt) { - fmt = this.dateFormat; - } - var b = fmt.match(/%./g); - var i = 0, j = 0; - var hr = 0; - var min = 0; - for (i = 0; i < a.length; ++i) { - if (!a[i]) - continue; - switch (b[i]) { - case "%d": - case "%e": - d = parseInt(a[i], 10); - break; - - case "%m": - m = parseInt(a[i], 10) - 1; - break; - - case "%Y": - case "%y": - y = parseInt(a[i], 10); - (y < 100) && (y += (y > 29) ? 1900 : 2000); - break; - - case "%b": - case "%B": - for (j = 0; j < 12; ++j) { - if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { m = j; break; } - } - break; - - case "%H": - case "%I": - case "%k": - case "%l": - hr = parseInt(a[i], 10); - break; - - case "%P": - case "%p": - if (/pm/i.test(a[i]) && hr < 12) - hr += 12; - break; - - case "%M": - min = parseInt(a[i], 10); - break; - } - } - if (y != 0 && m != -1 && d != 0) { - this.setDate(new Date(y, m, d, hr, min, 0)); - return; - } - y = 0; m = -1; d = 0; - for (i = 0; i < a.length; ++i) { - if (a[i].search(/[a-zA-Z]+/) != -1) { - var t = -1; - for (j = 0; j < 12; ++j) { - if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() == a[i].toLowerCase()) { t = j; break; } - } - if (t != -1) { - if (m != -1) { - d = m+1; - } - m = t; - } - } else if (parseInt(a[i], 10) <= 12 && m == -1) { - m = a[i]-1; - } else if (parseInt(a[i], 10) > 31 && y == 0) { - y = parseInt(a[i], 10); - (y < 100) && (y += (y > 29) ? 1900 : 2000); - } else if (d == 0) { - d = a[i]; - } - } - if (y == 0) { - var today = new Date(); - y = today.getFullYear(); - } - if (m != -1 && d != 0) { - this.setDate(new Date(y, m, d, hr, min, 0)); - } -}; - -Calendar.prototype.hideShowCovered = function () { - var self = this; - Calendar.continuation_for_the_fucking_khtml_browser = function() { - function getVisib(obj){ - var value = obj.style.visibility; - if (!value) { - if (document.defaultView && typeof (document.defaultView.getComputedStyle) == "function") { // Gecko, W3C - if (!Calendar.is_khtml) - value = document.defaultView. - getComputedStyle(obj, "").getPropertyValue("visibility"); - else - value = ''; - } else if (obj.currentStyle) { // IE - value = obj.currentStyle.visibility; - } else - value = ''; - } - return value; - }; - - var tags = new Array("applet", "iframe", "select"); - var el = self.element; - - var p = Calendar.getAbsolutePos(el); - var EX1 = p.x; - var EX2 = el.offsetWidth + EX1; - var EY1 = p.y; - var EY2 = el.offsetHeight + EY1; - - for (var k = tags.length; k > 0; ) { - var ar = document.getElementsByTagName(tags[--k]); - var cc = null; - - for (var i = ar.length; i > 0;) { - cc = ar[--i]; - - p = Calendar.getAbsolutePos(cc); - var CX1 = p.x; - var CX2 = cc.offsetWidth + CX1; - var CY1 = p.y; - var CY2 = cc.offsetHeight + CY1; - - if (self.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 < EY1)) { - if (!cc.__msh_save_visibility) { - cc.__msh_save_visibility = getVisib(cc); - } - cc.style.visibility = cc.__msh_save_visibility; - } else { - if (!cc.__msh_save_visibility) { - cc.__msh_save_visibility = getVisib(cc); - } - cc.style.visibility = "hidden"; - } - } - } - }; - if (Calendar.is_khtml) - setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", 10); - else - Calendar.continuation_for_the_fucking_khtml_browser(); -}; - -/** Internal function; it displays the bar with the names of the weekday. */ -Calendar.prototype._displayWeekdays = function () { - var fdow = this.firstDayOfWeek; - var cell = this.firstdayname; - var weekend = Calendar._TT["WEEKEND"]; - for (var i = 0; i < 7; ++i) { - cell.className = "day name"; - var realday = (i + fdow) % 7; - if (i) { - cell.ttip = Calendar._TT["DAY_FIRST"].replace("%s", Calendar._DN[realday]); - cell.navtype = 100; - cell.calendar = this; - cell.fdow = realday; - Calendar._add_evs(cell); - } - if (weekend.indexOf(realday.toString()) != -1) { - Calendar.addClass(cell, "weekend"); - } - cell.firstChild.data = Calendar._SDN[(i + fdow) % 7]; - cell = cell.nextSibling; - } -}; - -/** Internal function. Hides all combo boxes that might be displayed. */ -Calendar.prototype._hideCombos = function () { - this.monthsCombo.style.display = "none"; - this.yearsCombo.style.display = "none"; -}; - -/** Internal function. Starts dragging the element. */ -Calendar.prototype._dragStart = function (ev) { - if (this.dragging) { - return; - } - this.dragging = true; - var posX; - var posY; - if (Calendar.is_ie) { - posY = window.event.clientY + document.body.scrollTop; - posX = window.event.clientX + document.body.scrollLeft; - } else { - posY = ev.clientY + window.scrollY; - posX = ev.clientX + window.scrollX; - } - var st = this.element.style; - this.xOffs = posX - parseInt(st.left); - this.yOffs = posY - parseInt(st.top); - with (Calendar) { - addEvent(document, "mousemove", calDragIt); - addEvent(document, "mouseup", calDragEnd); - } -}; - -// BEGIN: DATE OBJECT PATCHES - -/** Adds the number of days array to the Date object. */ -Date._MD = new Array(31,28,31,30,31,30,31,31,30,31,30,31); - -/** Constants used for time computations */ -Date.SECOND = 1000 /* milliseconds */; -Date.MINUTE = 60 * Date.SECOND; -Date.HOUR = 60 * Date.MINUTE; -Date.DAY = 24 * Date.HOUR; -Date.WEEK = 7 * Date.DAY; - -/** Returns the number of days in the current month */ -Date.prototype.getMonthDays = function(month) { - var year = this.getFullYear(); - if (typeof month == "undefined") { - month = this.getMonth(); - } - if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1) { - return 29; - } else { - return Date._MD[month]; - } -}; - -/** Returns the number of day in the year. */ -Date.prototype.getDayOfYear = function() { - var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); - var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0); - var time = now - then; - return Math.floor(time / Date.DAY); -}; - -/** Returns the number of the week in year, as defined in ISO 8601. */ -Date.prototype.getWeekNumber = function() { - var d = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0); - var DoW = d.getDay(); - d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu - var ms = d.valueOf(); // GMT - d.setMonth(0); - d.setDate(4); // Thu in Week 1 - return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1; -}; - -/** Checks dates equality (ignores time) */ -Date.prototype.equalsTo = function(date) { - return ((this.getFullYear() == date.getFullYear()) && - (this.getMonth() == date.getMonth()) && - (this.getDate() == date.getDate()) && - (this.getHours() == date.getHours()) && - (this.getMinutes() == date.getMinutes())); -}; - -/** Prints the date in a string according to the given format. */ -Date.prototype.print = function (str) { - var m = this.getMonth(); - var d = this.getDate(); - var y = this.getFullYear(); - var wn = this.getWeekNumber(); - var w = this.getDay(); - var s = {}; - var hr = this.getHours(); - var pm = (hr >= 12); - var ir = (pm) ? (hr - 12) : hr; - var dy = this.getDayOfYear(); - if (ir == 0) - ir = 12; - var min = this.getMinutes(); - var sec = this.getSeconds(); - s["%a"] = Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N] - s["%A"] = Calendar._DN[w]; // full weekday name - s["%b"] = Calendar._SMN[m]; // abbreviated month name [FIXME: I18N] - s["%B"] = Calendar._MN[m]; // full month name - // FIXME: %c : preferred date and time representation for the current locale - s["%C"] = 1 + Math.floor(y / 100); // the century number - s["%d"] = (d < 10) ? ("0" + d) : d; // the day of the month (range 01 to 31) - s["%e"] = d; // the day of the month (range 1 to 31) - // FIXME: %D : american date style: %m/%d/%y - // FIXME: %E, %F, %G, %g, %h (man strftime) - s["%H"] = (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h format) - s["%I"] = (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h format) - s["%j"] = (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; // day of the year (range 001 to 366) - s["%k"] = hr; // hour, range 0 to 23 (24h format) - s["%l"] = ir; // hour, range 1 to 12 (12h format) - s["%m"] = (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12 - s["%M"] = (min < 10) ? ("0" + min) : min; // minute, range 00 to 59 - s["%n"] = "\n"; // a newline character - s["%p"] = pm ? "PM" : "AM"; - s["%P"] = pm ? "pm" : "am"; - // FIXME: %r : the time in am/pm notation %I:%M:%S %p - // FIXME: %R : the time in 24-hour notation %H:%M - s["%s"] = Math.floor(this.getTime() / 1000); - s["%S"] = (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59 - s["%t"] = "\t"; // a tab character - // FIXME: %T : the time in 24-hour notation (%H:%M:%S) - s["%U"] = s["%W"] = s["%V"] = (wn < 10) ? ("0" + wn) : wn; - s["%u"] = w + 1; // the day of the week (range 1 to 7, 1 = MON) - s["%w"] = w; // the day of the week (range 0 to 6, 0 = SUN) - // FIXME: %x : preferred date representation for the current locale without the time - // FIXME: %X : preferred time representation for the current locale without the date - s["%y"] = ('' + y).substr(2, 2); // year without the century (range 00 to 99) - s["%Y"] = y; // year with the century - s["%%"] = "%"; // a literal '%' character - - var re = /%./g; - if (!Calendar.is_ie5 && !Calendar.is_khtml) - return str.replace(re, function (par) { return s[par] || par; }); - - var a = str.match(re); - - if(!a) return str; // strentini, will prevent js errors when moving mouse over calendar-popup and given string (str) is something like "select date", which does occur! ;) - - for (var i = 0; i < a.length; i++) { - var tmp = s[a[i]]; - if (tmp) { - re = new RegExp(a[i], 'g'); - str = str.replace(re, tmp); - } - } - - return str; -}; - -Date.prototype.__msh_oldSetFullYear = Date.prototype.setFullYear; -Date.prototype.setFullYear = function(y) { - var d = new Date(this); - d.__msh_oldSetFullYear(y); - if (d.getMonth() != this.getMonth()) - this.setDate(28); - this.__msh_oldSetFullYear(y); -}; - -// END: DATE OBJECT PATCHES - - -// global object that remembers the calendar -window.calendar = null; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar_stripped.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar_stripped.js deleted file mode 100644 index e8c40630065004c5cce1b26cc7e1a9947d260dd8..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/calendar_stripped.js +++ /dev/null @@ -1,12 +0,0 @@ -/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/ - * ------------------------------------------------------------------ - * - * The DHTML Calendar, version 0.9.6 "Keep cool but don't freeze" - * - * Details and latest version at: - * http://dynarch.com/mishoo/calendar.epl - * - * This script is distributed under the GNU Lesser General Public License. - * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html - */ - Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){if(Calendar.is_ie){return window.event.srcElement;}else{return ev.currentTarget;}};Calendar.getTargetElement=function(ev){if(Calendar.is_ie){return window.event.srcElement;}else{return ev.target;}};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.firstChild.data=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}if(show){var s=yc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.firstChild.data=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.firstChild.data;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.firstChild.data=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.firstChild.data=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date=new Date(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=true;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=(el.navtype==0)?new Date():new Date(cal.date);cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case-2:if(year>cal.minYear){date.setFullYear(year-1);}break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.firstChild.data;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.firstChild.data=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}}if(newdate){cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;if(text.substr(0,1)!="&"){cell.appendChild(document.createTextNode(text));}else{cell.innerHTML=text;}return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("×",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("«",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("‹",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("›",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("»",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.appendChild(document.createTextNode(Calendar._TT["WK"]));}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);cell.appendChild(document.createTextNode(""));if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.appendChild(document.createTextNode(""));}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.appendChild(document.createTextNode(""));cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||" ";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.appendChild(document.createTextNode(init));part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.appendChild(document.createTextNode(":"));span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML=" ";cal.onSetTime=function(){var hrs=this.date.getHours();var mins=this.date.getMinutes();var pm=(hrs>12);if(pm&&t12)hrs-=12;H.firstChild.data=(hrs<10)?("0"+hrs):hrs;M.firstChild.data=(mins<10)?("0"+mins):mins;if(t12)AP.firstChild.data=pm?"pm":"am";};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.firstChild.data,10);if(t12){if(/pm/i.test(AP.firstChild.data)&&h<12)h+=12;else if(/am/i.test(AP.firstChild.data)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.firstChild.data,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.appendChild(document.createTextNode(Calendar._SMN[i]));div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";yr.appendChild(document.createTextNode(""));div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){if(!window.calendar){return false;}(Calendar.is_ie)&&(ev=window.event);var cal=window.calendar;var act=(Calendar.is_ie||ev.type=="keypress");if(ev.ctrlKey){switch(ev.keyCode){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(ev.keyCode){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var date=cal.date.getDate()-1;var el=cal.currentDateEl;var ne=null;var prev=(ev.keyCode==37)||(ev.keyCode==38);switch(ev.keyCode){case 37:(--date>=0)&&(ne=cal.ar_days[date]);break;case 38:date-=7;(date>=0)&&(ne=cal.ar_days[date]);break;case 39:(++date<cal.ar_days.length)&&(ne=cal.ar_days[date]);break;case 40:date+=7;(date<cal.ar_days.length)&&(ne=cal.ar_days[date]);break;}if(!ne){if(prev){Calendar.cellClick(cal._nav_pm);}else{Calendar.cellClick(cal._nav_nm);}date=(prev)?cal.date.getMonthDays():1;el=cal.currentDateEl;ne=cal.ar_days[date-1];}Calendar.removeClass(el,"selected");Calendar.addClass(ne,"selected");cal.date=new Date(ne.caldate);cal.callHandler();cal.currentDateEl=ne;}break;case 13:if(act){cal.callHandler();cal.hide();}break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.datesCells={};if(typeof this.getDateText!="function")this.getDateText=function(date,d){return d;};for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.firstChild.data=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false;for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(date.getDate()+1)){var iday=date.getDate();var wday=date.getDay();cell.className="day";var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML=" ";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText(date,iday);dates[date.print("%Y%m%d")]=cell;if(typeof this.getDateStatus=="function"){var status=this.getDateStatus(date,year,month,iday);if(typeof this.getDateToolTip=="function"){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip){cell.title=toolTip;}}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){ar_days[ar_days.length]=cell;cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&¤t_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==today.getFullYear()&&date.getMonth()==today.getMonth()&&iday==today.getDate()){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1){cell.className+=cell.otherMonth?" oweekend":" weekend";}}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.ar_days=ar_days;this.title.firstChild.data=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};}}};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window.calendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){if(!window.calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window.calendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window.calendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case "T":p.y-=h;break;case "B":p.y+=el.offsetHeight;break;case "C":p.y+=(el.offsetHeight-h)/2;break;case "t":p.y+=el.offsetHeight-h;break;case "b":break;}switch(halign){case "L":p.x-=w;break;case "R":p.x+=el.offsetWidth;break;case "C":p.x+=(el.offsetWidth-w)/2;break;case "r":p.x+=el.offsetWidth-w;break;case "l":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){var y=0;var m=-1;var d=0;var a=str.split(/\W+/);if(!fmt){fmt=this.dateFormat;}var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case "%d":case "%e":d=parseInt(a[i],10);break;case "%m":m=parseInt(a[i],10)-1;break;case "%Y":case "%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case "%b":case "%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case "%H":case "%I":case "%k":case "%l":hr=parseInt(a[i],10);break;case "%P":case "%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;break;case "%M":min=parseInt(a[i],10);break;}}if(y!=0&&m!=-1&&d!=0){this.setDate(new Date(y,m,d,hr,min,0));return;}y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0){var today=new Date();y=today.getFullYear();}if(m!=-1&&d!=0){this.setDate(new Date(y,m,d,hr,min,0));}};Calendar.prototype.hideShowCovered=function(){var self=this;Calendar.continuation_for_the_fucking_khtml_browser=function(){function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView. getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","iframe","select");var el=self.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(self.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.firstChild.data=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y);};window.calendar=null; \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/img.gif b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/img.gif deleted file mode 100644 index cd2c4a521774c70473f11c88642543751a812d6f..0000000000000000000000000000000000000000 Binary files a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/img.gif and /dev/null differ diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/index.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/index.html deleted file mode 100644 index 2ee2d4fafaa95ead68bc10e58b2606d843f45ff5..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/index.html +++ /dev/null @@ -1,333 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<!-- $Id: index.html,v 1.4 2007-12-18 11:52:32 gnaegi Exp $ --> - -<head> -<meta http-equiv="content-type" content="text/xml; charset=utf-8" /> -<title>The Coolest DHTML Calendar - Online Demo</title> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-blue.css" title="winter" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-blue2.css" title="blue" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-brown.css" title="summer" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-green.css" title="green" /> -<link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-1.css" title="win2k-1" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-win2k-2.css" title="win2k-2" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-win2k-cold-2.css" title="win2k-cold-2" /> -<link rel="alternate stylesheet" type="text/css" media="all" href="calendar-system.css" title="system" /> - -<!-- import the calendar script --> -<script type="text/javascript" src="calendar.js"></script> - -<!-- import the language module --> -<script type="text/javascript" src="lang/calendar-en.js"></script> - -<!-- other languages might be available in the lang directory; please check -your distribution archive. --> - -<!-- helper script that uses the calendar --> -<script type="text/javascript"> - -var oldLink = null; -// code to change the active stylesheet -function setActiveStyleSheet(link, title) { - var i, a, main; - for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { - if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { - a.disabled = true; - if(a.getAttribute("title") == title) a.disabled = false; - } - } - if (oldLink) oldLink.style.fontWeight = 'normal'; - oldLink = link; - link.style.fontWeight = 'bold'; - return false; -} - -// This function gets called when the end-user clicks on some date. -function selected(cal, date) { - cal.sel.value = date; // just update the date in the input field. - if (cal.dateClicked && (cal.sel.id == "sel1" || cal.sel.id == "sel3")) - // if we add this call we close the calendar on single-click. - // just to exemplify both cases, we are using this only for the 1st - // and the 3rd field, while 2nd and 4th will still require double-click. - cal.callCloseHandler(); -} - -// And this gets called when the end-user clicks on the _selected_ date, -// or clicks on the "Close" button. It just hides the calendar without -// destroying it. -function closeHandler(cal) { - cal.hide(); // hide the calendar -// cal.destroy(); - calendar = null; -} - -// This function shows the calendar under the element having the given id. -// It takes care of catching "mousedown" signals on document and hiding the -// calendar if the click was outside. -function showCalendar(id, format, showsTime, showsOtherMonths) { - var el = document.getElementById(id); - if (calendar != null) { - // we already have some calendar created - calendar.hide(); // so we hide it first. - } else { - // first-time call, create the calendar. - var cal = new Calendar(true, null, selected, closeHandler); - // uncomment the following line to hide the week numbers - // cal.weekNumbers = false; - if (typeof showsTime == "string") { - cal.showsTime = true; - cal.time24 = (showsTime == "24"); - } - if (showsOtherMonths) { - cal.showsOtherMonths = true; - } - calendar = cal; // remember it in the global var - cal.setRange(1900, 2070); // min/max year allowed. - cal.create(); - } - calendar.setDateFormat(format); // set the specified date format - calendar.parseDate(el.value); // try to parse the text in field - calendar.sel = el; // inform it what input field we use - - // the reference element that we pass to showAtElement is the button that - // triggers the calendar. In this example we align the calendar bottom-right - // to the button. - calendar.showAtElement(el.nextSibling, "Br"); // show the calendar - - return false; -} - -var MINUTE = 60 * 1000; -var HOUR = 60 * MINUTE; -var DAY = 24 * HOUR; -var WEEK = 7 * DAY; - -// If this handler returns true then the "date" given as -// parameter will be disabled. In this example we enable -// only days within a range of 10 days from the current -// date. -// You can use the functions date.getFullYear() -- returns the year -// as 4 digit number, date.getMonth() -- returns the month as 0..11, -// and date.getDate() -- returns the date of the month as 1..31, to -// make heavy calculations here. However, beware that this function -// should be very fast, as it is called for each day in a month when -// the calendar is (re)constructed. -function isDisabled(date) { - var today = new Date(); - return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10; -} - -function flatSelected(cal, date) { - var el = document.getElementById("preview"); - el.innerHTML = date; -} - -function showFlatCalendar() { - var parent = document.getElementById("display"); - - // construct a calendar giving only the "selected" handler. - var cal = new Calendar(true, null, flatSelected); - - // hide week numbers - cal.weekNumbers = false; - - // We want some dates to be disabled; see function isDisabled above - cal.setDisabledHandler(isDisabled); - cal.setDateFormat("%A, %B %e"); - - // this call must be the last as it might use data initialized above; if - // we specify a parent, as opposite to the "showCalendar" function above, - // then we create a flat calendar -- not popup. Hidden, though, but... - cal.create(parent); - - // ... we can show it here. - cal.show(); -} -</script> - -<style type="text/css"> -.ex { font-weight: bold; background: #fed; color: #080 } -.help { color: #080; font-style: italic; } -body { background: #fea; font: 10pt tahoma,verdana,sans-serif; } -table { font: 13px verdana,tahoma,sans-serif; } -a { color: #00f; } -a:visited { color: #00f; } -a:hover { color: #f00; background: #fefaf0; } -a:active { color: #08f; } -.key { border: 1px solid #000; background: #fff; color: #008; -padding: 0px 5px; cursor: default; font-size: 80%; } -</style> - -</head> -<body onload="showFlatCalendar()"> - -<h2><a href="http://dynarch.com/mishoo/calendar.epl" -title="Visit the project website">jscalendar</a>-0.9.6 -"Keep cool but don't freeze"</h2> - -<p> -<div style="float: right; border: 1px solid #b87; padding: 2px; font-size: 90%; background: #ffb;"> -Theme:<br> -<a href="#" onclick="return setActiveStyleSheet(this, 'winter');">winter</a> -| -<a href="#" onclick="return setActiveStyleSheet(this, 'blue');">blue</a> -| -<a href="#" onclick="return setActiveStyleSheet(this, 'summer');">summer</a> -| -<a href="#" onclick="return setActiveStyleSheet(this, 'green');">green</a> -<br> -<a href="#" id="defaultTheme" onclick="return setActiveStyleSheet(this, 'win2k-1');">win2k-1</a> -| -<a href="#" onclick="return setActiveStyleSheet(this, 'win2k-2');">win2k-2</a> -| -<a href="#" onclick="return setActiveStyleSheet(this, 'win2k-cold-1');">win2k-cold-1</a> -| -<a href="#" onclick="return setActiveStyleSheet(this, 'win2k-cold-2');">win2k-cold-2</a> -<br> -<a href="#" onclick="return setActiveStyleSheet(this, 'system');">system</a> -<script type="text/javascript"> -setActiveStyleSheet(document.getElementById("defaultTheme"), "win2k-1"); -</script> -</div> -<a href="release-notes.html">Release notes</a>. -<br> -Set it up in minutes: - <a href="simple-1.html">popup calendar</a>, - <a href="simple-2.html">flat calendar</a>. -<br> -Documentation: - <a href="doc/html/reference.html">HTML</a>, - <a href="doc/reference.pdf">PDF</a>. -<br> -<b style="color: red">Donate! Keep me on it! Details on <a href="http://dynarch.com/mishoo/calendar.epl">the Calendar website</a>.</b> -</p> - -<div style="padding-left:20px; font-size: 90%; font-style: italic;"> - -</div> - -<table style="width: 100%"> -<tr valign="top"> -<td style="background: #ffa; padding: 5px; border: 1px solid #995;"> - -<form action="#"> -<div style="background: #995; color: #ffa; font-weight: bold; padding: 2px;"> -Popup examples -</div> - -<br> - -<b>Date #1:</b> <input type="text" name="date1" id="sel1" size="30" -><input type="reset" value=" ... " -onclick="return showCalendar('sel1', '%Y-%m-%d [%W] %H:%M', '24', true);"> %Y-%m-%d [%W] %H:%M -- single -click<br> - -<b>Date #2:</b> <input type="text" name="date2" id="sel2" size="30" -><input type="reset" value=" ... " -onclick="return showCalendar('sel2', '%a, %b %e, %Y [%I:%M %p]', '12');"> %a, %b %e, %Y [%I:%M %p] --- double click - -<br><br> -<!-- -if you remove this comment and leave the following HTML code -you will see a horrible effect, in all supported browsers (IE and Mozilla). ---> -<SELECT multiple size="4" name="component-select"> - <OPTION selected value="Component_1_a">Component_1</OPTION> - <OPTION selected value="Component_1_b">Component_2</OPTION> - <OPTION>Component_3</OPTION> - <OPTION>Component_4</OPTION> - <OPTION>Component_5</OPTION> - <OPTION>Component_6</OPTION> - <OPTION>Component_7</OPTION> -</SELECT> -this select should hide when the calendar is above it. -<br><br> - -<b>Date #3:</b> <input type="text" name="date3" id="sel3" size="30" -><input type="reset" value=" ... " -onclick="return showCalendar('sel3', '%d/%m/%Y');"> %d/%m/%Y --- single click -<br> - -<b>Date #4:</b> <input type="text" name="date4" id="sel4" size="30" -><input type="reset" value=" ... " -onclick="return showCalendar('sel4', '%A, %B %e, %Y');"> %A, %B %e, %Y -- -double click - -</form> - -<p>This is release <b>0.9.6</b>. Works on MSIE/Win 5.0 or better (really), -Opera 7, Mozilla, Netscape 6.x, 7.0 and all other Gecko-s, Konqueror and -Safari.</p> - -<p class="help">You can click on "Mo"/"Su" (first day name displayed) to -change the first day of week (Sunday/Monday) (since 0.8 this is also mapped -on the "-" button in the top-left corner). Use the navigation buttons -("<<", "<", "Today", ">", ">>") to move to the prev/next -year/month. Keep the mouse button pressed for a short time over one of -these buttons to get a menu for faster selection. You can drag the "status -bar" (that's where the tooltips appear) or title bar (that's where the -currently selected month/year shows up) to move the whole calendar.</p> - -<h4>Keyboard navigation</h4> - -<p>Starting with version 0.9.2, you can also use the keyboard to select -dates (only for popup calendars; does <em>not</em> work with Opera -7 or Konqueror/Safari). The following keys are available:</p> - -<ul> - - <li><span class="key">←</span> , <span class="key">→</span> , - <span class="key">↑</span> , <span class="key">↓</span> -- select date</li> - <li><span class="key">CTRL</span> + <span class="key">←</span> , - <span class="key">→</span> -- select month</li> - <li><span class="key">CTRL</span> + <span class="key">↑</span> , - <span class="key">↓</span> -- select year</li> - <li><span class="key">SPACE</span> -- go to <em>today</em> date</li> - <li><span class="key">ENTER</span> -- accept the currently selected date</li> - <li><span class="key">ESC</span> -- cancel selection</li> - -</ul> - - </td> - - <td style="padding: 5px; margin: 5px; border: 1px solid #984; background: #ed9; width: 15em;"> - - <div style="background: #984; color: #fea; font-weight: bold; padding: 2px; text-align: center"> - Flat calendar - </div> - - <p style="width: 12em"><small>A non-popup version will appear below as soon - as the page is loaded. Note that it doesn't show the week number.</small></p> - - <!-- the calendar will be inserted here --> - <div id="display" style="float: right; clear: both;"></div> - <div id="preview" style="font-size: 80%; text-align: center; padding: 2px"></div> - - <p style="width: 12em"><small> - The example above uses the <code>setDisabledHandler()</code> member function - to setup a handler that would only enable days withing a range of 10 days, - forward or backward, from the current date. - </small></p> - - </div> - - </td> - - </tr> - </table> - -<hr /><address> -© <a href="http://dynarch.com">dynarch.com</a> 2002-2003 <br> -Author: <a href="http://dynarch.com/mishoo/">Mihai -Bazon</a><br> Distributed under the <a -href="http://www.gnu.org/licenses/lgpl.html">GNU LGPL</a>.</address> - -<p style="font-size: smaller">If you use this script on a public page it -would be nice if you would <a href="mailto:mishoo@infoiasi.ro">let me -know</a>.</p> - -</body></html> diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-af.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-af.js deleted file mode 100644 index ace710e6e9f9052e580887c6954a4509eabad3b3..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-af.js +++ /dev/null @@ -1,39 +0,0 @@ -// ** I18N Afrikaans -Calendar._DN = new Array -("Sondag", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrydag", - "Saterdag", - "Sondag"); -Calendar._MN = new Array -("Januarie", - "Februarie", - "Maart", - "April", - "Mei", - "Junie", - "Julie", - "Augustus", - "September", - "Oktober", - "November", - "Desember"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Verander eerste dag van die week"; -Calendar._TT["PREV_YEAR"] = "Vorige jaar (hou vir keuselys)"; -Calendar._TT["PREV_MONTH"] = "Vorige maand (hou vir keuselys)"; -Calendar._TT["GO_TODAY"] = "Gaan na vandag"; -Calendar._TT["NEXT_MONTH"] = "Volgende maand (hou vir keuselys)"; -Calendar._TT["NEXT_YEAR"] = "Volgende jaar (hou vir keuselys)"; -Calendar._TT["SEL_DATE"] = "Kies datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te skuif"; -Calendar._TT["PART_TODAY"] = " (vandag)"; -Calendar._TT["MON_FIRST"] = "Vertoon Maandag eerste"; -Calendar._TT["SUN_FIRST"] = "Display Sunday first"; -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ar.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ar.js deleted file mode 100644 index d4c9d196dc1e1557814269a8f05612e35b78a08c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ar.js +++ /dev/null @@ -1,136 +0,0 @@ -// ** I18N - -// Calendar ar locale -// Author: Mark Garrett, <L10n@modernbill.com> -// Data: CLDR 1.3, http;//www.unicode.org/cldr/ -// Encoding: utf-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Zapatec.Calendar._DN = new Array -("الأØد", -"الاثنين", -"الثلاثاء", -"الأربعاء", -"الخميس", -"الجمعة", -"السبت"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Zapatec.Calendar._SDN_len = N; // short day name length -// Zapatec.Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Zapatec.Calendar._SDN = new Array -("Ø", -"Ù†", -"Ø«", -"ر", -"Ø®", -"ج", -"س"); - -// First day of the week. "0" means display Sunday first, "1" means display -// Monday first, etc. -Zapatec.Calendar._FD = 6; - -// full month names -Zapatec.Calendar._MN = new Array -("يناير", -"Ùبراير", -"مارس", -"أبريل", -"مايو", -"يونيو", -"يوليو", -"أغسطس", -"سبتمبر", -"أكتوبر", -"نوÙمبر", -"ديسمبر"); - -// short month names -Zapatec.Calendar._SMN = new Array -("يناير", -"Ùبراير", -"مارس", -"أبريل", -"مايو", -"يونيو", -"يوليو", -"أغسطس", -"سبتمبر", -"أكتوبر", -"نوÙمبر", -"ديسمبر"); - -// tooltips -Zapatec.Calendar._TT_en = Zapatec.Calendar._TT = {}; -Zapatec.Calendar._TT["INFO"] = "About the calendar"; - -Zapatec.Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) zapatec.com 2002-2004\n" + // don't translate this this ;-) -"For latest version visit: http://www.zapatec.com/\n" + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Zapatec.Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Zapatec.Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Zapatec.Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Zapatec.Calendar._TT["GO_TODAY"] = "Go Today (hold for history)"; -Zapatec.Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Zapatec.Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Zapatec.Calendar._TT["SEL_DATE"] = "Select date"; -Zapatec.Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Zapatec.Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Zapatec.Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Zapatec.Calendar._TT["WEEKEND"] = "4,5"; - -Zapatec.Calendar._TT["CLOSE"] = "Close"; -Zapatec.Calendar._TT["TODAY"] = "Today"; -Zapatec.Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Zapatec.Calendar._TT["DEF_DATE_FORMAT"] = "%e/%m/%Y"; -Zapatec.Calendar._TT["TT_DATE_FORMAT"] = "%A, %e %B, %Y"; - -Zapatec.Calendar._TT["WK"] = "wk"; -Zapatec.Calendar._TT["TIME"] = "Time:"; - -Zapatec.Calendar._TT["E_RANGE"] = "Outside the range"; - -/* Preserve data */ - if(Zapatec.Calendar._DN) Zapatec.Calendar._TT._DN = Zapatec.Calendar._DN; - if(Zapatec.Calendar._SDN) Zapatec.Calendar._TT._SDN = Zapatec.Calendar._SDN; - if(Zapatec.Calendar._SDN_len) Zapatec.Calendar._TT._SDN_len = Zapatec.Calendar._SDN_len; - if(Zapatec.Calendar._MN) Zapatec.Calendar._TT._MN = Zapatec.Calendar._MN; - if(Zapatec.Calendar._SMN) Zapatec.Calendar._TT._SMN = Zapatec.Calendar._SMN; - if(Zapatec.Calendar._SMN_len) Zapatec.Calendar._TT._SMN_len = Zapatec.Calendar._SMN_len; - Zapatec.Calendar._DN = Zapatec.Calendar._SDN = Zapatec.Calendar._SDN_len = Zapatec.Calendar._MN = Zapatec.Calendar._SMN = Zapatec.Calendar._SMN_len = null \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-br.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-br.js deleted file mode 100644 index 7499af4f6db403f332a81d3148cb5e06e0e3637c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-br.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Domingo", - "Segunda", - "Terça", - "Quarta", - "Quinta", - "Sexta", - "Sábado", - "Domingo"); -Calendar._MN = new Array -("Janeiro", - "Fevereiro", - "Março", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Altera primeiro dia da semana"; -Calendar._TT["PREV_YEAR"] = "Ano anterior(hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Mês anterior (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Hoje"; -Calendar._TT["NEXT_MONTH"] = "Mês seguinte (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "ano seguinte (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Seleciona uma data"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrasta calendário"; -Calendar._TT["PART_TODAY"] = " (hoje)"; -Calendar._TT["MON_FIRST"] = "Inicia na segunda-feira"; -Calendar._TT["SUN_FIRST"] = "Inicia no domingo"; -Calendar._TT["CLOSE"] = "Fechar"; -Calendar._TT["TODAY"] = "Hoje"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "DD, dd de MM de y"; - -Calendar._TT["WK"] = "sem"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ca.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ca.js deleted file mode 100644 index 324c34b00d2f2114fb7e06db7695bd42f6ae7ed2..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ca.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Diumenge", - "Dilluns", - "Dimarts", - "Dimecres", - "Dijous", - "Divendres", - "Dissabte", - "Diumenge"); -Calendar._MN = new Array -("Gener", - "Febrer", - "Març", - "Abril", - "Maig", - "Juny", - "Juliol", - "Agost", - "Setembre", - "Octubre", - "Novembre", - "Desembre"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Canvia el primer dia de la setmana"; -Calendar._TT["PREV_YEAR"] = "Any anterior (mantenir per a menu)"; -Calendar._TT["PREV_MONTH"] = "Mes anterior (mantenir per a menu)"; -Calendar._TT["GO_TODAY"] = "Anar a avui"; -Calendar._TT["NEXT_MONTH"] = "Mes següent (mantenir per a menu)"; -Calendar._TT["NEXT_YEAR"] = "Any següent (mantenir per a menu)"; -Calendar._TT["SEL_DATE"] = "Seleccionar data"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar per a moure"; -Calendar._TT["PART_TODAY"] = " (avui)"; -Calendar._TT["MON_FIRST"] = "Mostrar dilluns primer"; -Calendar._TT["SUN_FIRST"] = "Mostrar diumenge primer"; -Calendar._TT["CLOSE"] = "Tancar"; -Calendar._TT["TODAY"] = "Avui"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-yy"; -Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; - -Calendar._TT["WK"] = "sem"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cn.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cn.js deleted file mode 100644 index 144539c9bf921116437791cd9b5f1d7599b6415a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cn.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("星期日", - "星期一", - "星期二", - "星期三", - "星期四", - "星期五", - "星期å…", - "星期日"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("周日", - "周一", - "周二", - "周三", - "周四", - "周五", - "周å…", - "周日"); - -// full month names -Calendar._MN = new Array -("1月", - "2月", - "3月", - "4月", - "5月", - "6月", - "7月", - "8月", - "9月", - "10月", - "11月", - "12月"); - -// short month names -Calendar._SMN = new Array -("1月", - "2月", - "3月", - "4月", - "5月", - "6月", - "7月", - "8月", - "9月", - "10月", - "11月", - "12月"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "关于日历"; - -Calendar._TT["ABOUT"] = -"DHTML 日期/时间 选择器\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"最新版本请访问: http://dynarch.com/mishoo/calendar.epl\n" + -"在GNU LGPL下å‘布. 详情å‚è§ http://gnu.org/licenses/lgpl.html." + -"\n\n" + -"日期选择:\n" + -"- 使用 \xab å’Œ \xbb 按钮选择年份\n" + -"- 使用 " + String.fromCharCode(0x2039) + " å’Œ " + String.fromCharCode(0x203a) + " 按钮选择月份\n" + -"- 在以上按钮上按ä½é¼ æ ‡å¯å®žçŽ°å¿«é€Ÿé€‰æ‹©."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"时间选择:\n" + -"- 点击时间部分å¯ä»¥å¢žåŠ 其数值\n" + -"- 或者按ä½Shift点击å¯ä»¥å‡å°å…¶æ•°å€¼\n" + -"- 或者点击拖拽以实现快速选择."; - -Calendar._TT["PREV_YEAR"] = "å‰ä¸€å¹´ (按ä½å¯æ‰“å¼€èœå•)"; -Calendar._TT["PREV_MONTH"] = "å‰ä¸€å¹´ (按ä½å¯æ‰“å¼€èœå•)"; -Calendar._TT["GO_TODAY"] = "转到今天"; -Calendar._TT["NEXT_MONTH"] = "åŽä¸€å¹´ (按ä½å¯æ‰“å¼€èœå•)"; -Calendar._TT["NEXT_YEAR"] = "åŽä¸€å¹´ (按ä½å¯æ‰“å¼€èœå•)"; -Calendar._TT["SEL_DATE"] = "选择日期"; -Calendar._TT["DRAG_TO_MOVE"] = "拖拽"; -Calendar._TT["PART_TODAY"] = " (今天)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "首先显示 %"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "å…³é—"; -Calendar._TT["TODAY"] = "今天"; -Calendar._TT["TIME_PART"] = "(按ä½Shift)点击或拖拽å¯ä»¥æ”¹å˜æ•°å€¼"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "周"; -Calendar._TT["TIME"] = "时间:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cs-win.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cs-win.js deleted file mode 100644 index 5f4b6d903b2433abc1b71dd78d0d73291daa41e6..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cs-win.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - calendar-cs-win.js - language: Czech - encoding: windows-1250 - author: Lubos Jerabek (xnet@seznam.cz) -*/ - -// ** I18N -Calendar._DN = new Array('Nedìle','Pondìlí','Úterý','Støeda','Ètvrtek','Pátek','Sobota','Nedìle'); -Calendar._DN3 = new Array('Ne','Po','Út','St','Èt','Pá','So','Ne'); -Calendar._MN = new Array('Leden','Únor','Bøezen','Duben','Kvìten','Èerven','Èervenec','Srpen','Záøí','Øíjen','Listopad','Prosinec'); -Calendar._MN3 = new Array('Led','Úno','Bøe','Dub','Kvì','Èrv','Èvc','Srp','Záø','Øíj','Lis','Pro'); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Zmìna prvního dne v týdnu"; -Calendar._TT["PREV_YEAR"] = "Pøedchozí rok (pøidrž pro menu)"; -Calendar._TT["PREV_MONTH"] = "Pøedchozí mìsíc (pøidrž pro menu)"; -Calendar._TT["GO_TODAY"] = "Dnešní datum"; -Calendar._TT["NEXT_MONTH"] = "Další mìsíc (pøidrž pro menu)"; -Calendar._TT["NEXT_YEAR"] = "Další rok (pøidrž pro menu)"; -Calendar._TT["SEL_DATE"] = "Vyber datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Chy a táhni, pro pøesun"; -Calendar._TT["PART_TODAY"] = " (dnes)"; -Calendar._TT["MON_FIRST"] = "Ukaž jako první Pondìlí"; -Calendar._TT["SUN_FIRST"] = "Ukaž jako první Nedìli"; -Calendar._TT["CLOSE"] = "Zavøít"; -Calendar._TT["TODAY"] = "Dnes"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "d.m.yy"; -Calendar._TT["TT_DATE_FORMAT"] = "DD, 5.MM y"; - -Calendar._TT["WK"] = "wk"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cs.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cs.js deleted file mode 100644 index 185b8b9d423666c2ac6ee629a94ac1a68d4fd83c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-cs.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-da.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-da.js deleted file mode 100644 index 5d9a0012a69e712e71b5cad1d75eceece08a492a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-da.js +++ /dev/null @@ -1,63 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Søndag", - "Mandag", - "Tirsdag", - "Onsdag", - "Torsdag", - "Fredag", - "Lørdag", - "Søndag"); -Calendar._MN = new Array -("January", - "Februar", - "Marts", - "April", - "Maj", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "December"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Om Kalenderen"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For den seneste version besøg: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." + -"\n\n" + -"Valg af dato:\n" + -"- Brug \xab, \xbb knapperne for at vælge år\n" + -"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at vælge måned\n" + -"- Hold knappen på musen nede på knapperne ovenfor for hurtigere valg."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Valg af tid:\n" + -"- Klik på en vilkårlig del for større værdi\n" + -"- eller Shift-klik for for mindre værdi\n" + -"- eller klik og træk for hurtigere valg."; - -Calendar._TT["TOGGLE"] = "Skift første ugedag"; -Calendar._TT["PREV_YEAR"] = "Ét år tilbage (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Én måned tilbage (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Gå til i dag"; -Calendar._TT["NEXT_MONTH"] = "Én måned frem (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Ét år frem (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Vælg dag"; -Calendar._TT["DRAG_TO_MOVE"] = "Træk vinduet"; -Calendar._TT["PART_TODAY"] = " (i dag)"; -Calendar._TT["MON_FIRST"] = "Vis mandag først"; -Calendar._TT["SUN_FIRST"] = "Vis søndag først"; -Calendar._TT["CLOSE"] = "Luk vinduet"; -Calendar._TT["TODAY"] = "I dag"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-yy"; -Calendar._TT["TT_DATE_FORMAT"] = "%d. %b, %Y"; - -Calendar._TT["WK"] = "wk"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-de.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-de.js deleted file mode 100644 index 69eb5e5a5bcc94b4f46273cb179ad74a7d5b2271..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-de.js +++ /dev/null @@ -1,112 +0,0 @@ -// Author: Hartwig Weinkauf h_weinkauf@gmx.de -// �erarbeitet und fehlende Texte hinzugefgt von Gerhard Neinert (gerhard at neinert punkt de) -// Feel free to use / redistribute under the GNU LGPL. -// ** I18N - -// short day names -Calendar._SDN = new Array -("So", - "Mo", - "Di", - "Mi", - "Do", - "Fr", - "Sa", - "So"); - -// full day names -Calendar._DN = new Array -("Sonntag", - "Montag", - "Dienstag", - "Mittwoch", - "Donnerstag", - "Freitag", - "Samstag", - "Sonntag"); - -// short day names only use 2 letters instead of 3 -Calendar._SDN_len = 2; - -// full month names -Calendar._MN = new Array -("Januar", - "Februar", - "M\u00e4rz", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Dezember"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "M\u00e4r", - "Apr", - "Mai", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Dez"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "\u00fcber den Kalender"; - -Calendar._TT["ABOUT"] = -"DHTML Datum/Zeit Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Donwload neueste Version: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Datumsauswahl:\n" + -"- Jahr ausw\u00e4hlen mit \xab und \xbb\n" + -"- Monat ausw\u00e4hlen mit " + String.fromCharCode(0x2039) + " und " + String.fromCharCode(0x203a) + "\n" + -"- Fr Auswahl aus Liste Maustaste gedr\u00fcckt halten."; - -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Zeit w\u00e4hlen:\n" + -"- Stunde/Minute weiter mit Mausklick\n" + -"- Stunde/Minute zurck mit Shift-Mausklick\n" + -"- oder f\u00fcr schnellere Auswahl nach links oder rechts ziehen."; - - -Calendar._TT["TOGGLE"] = "Ersten Tag der Woche w\u00e4hlen"; -Calendar._TT["PREV_YEAR"] = "Jahr zur\u00fcck (halten -> Auswahlmen\u00fc)"; -Calendar._TT["PREV_MONTH"] = "Monat zur\u00fcck (halten -> Auswahlmen\u00fc)"; -Calendar._TT["GO_TODAY"] = "Gehe zum heutigen Datum"; -Calendar._TT["NEXT_MONTH"] = "Monat vor (halten -> Auswahlmen\u00fc)"; -Calendar._TT["NEXT_YEAR"] = "Jahr vor (halten -> Auswahlmen\u00fc)"; -Calendar._TT["SEL_DATE"] = "Datum ausw\u00e4hlen"; -Calendar._TT["DRAG_TO_MOVE"] = "Klicken und halten um zu verschieben"; -Calendar._TT["PART_TODAY"] = " (heute)"; -Calendar._TT["MON_FIRST"] = "Wochenanzeige mit Montag beginnen"; -Calendar._TT["SUN_FIRST"] = "Wochenanzeige mit Sonntag beginnen"; -Calendar._TT["CLOSE"] = "Schliessen"; -Calendar._TT["TODAY"] = "Heute"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s als Wochenbeginn"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["TIME_PART"] = "(Umschalt-)Klick oder ziehen"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "Datum ausw\u00e4hlen"; - -Calendar._TT["WK"] = "KW"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-dk.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-dk.js deleted file mode 100644 index a33390c8c0a35b2bbcc1ae0ca1d78e5f6c4c10ef..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-dk.js +++ /dev/null @@ -1,106 +0,0 @@ -// ** I18N - - -// full day names -Calendar._DN = new Array -("S�ndag", - "Mandag", - "Tirsdag", - "Onsdag", - "Torsdag", - "Fredag", - "L�rdag", - "S�ndag"); - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "Februar", - "Marts", - "April", - "Maj", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Om Kalenderen"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For den seneste version bes�g: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribueret under GNU LGPL. Se http://gnu.org/licenses/lgpl.html for detajler." + -"\n\n" + -"Valg af dato:\n" + -"- Brug \xab, \xbb knapperne for at v�lge �r\n" + -"- Brug " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " knapperne for at v�lge m�ned\n" + -"- Hold knappen p� musen nede p� knapperne ovenfor for hurtigere valg."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Valg af tid:\n" + -"- Klik p� en vilk�rlig del for st�rre v�rdi\n" + -"- eller Shift-klik for for mindre v�rdi\n" + -"- eller klik og tr�k for hurtigere valg."; - -Calendar._TT["TOGGLE"] = "Skift f�rste ugedag"; -Calendar._TT["PREV_YEAR"] = "�t �r tilbage (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "�n m�ned tilbage (hold for menu)"; -Calendar._TT["GO_TODAY"] = "G� til i dag"; -Calendar._TT["NEXT_MONTH"] = "�n m�ned frem (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "�t �r frem (hold for menu)"; -Calendar._TT["SEL_DATE"] = "V�lg dag"; -Calendar._TT["DRAG_TO_MOVE"] = "Tr�k vinduet"; -Calendar._TT["PART_TODAY"] = " (i dag)"; -Calendar._TT["MON_FIRST"] = "Vis mandag f�rst"; -Calendar._TT["SUN_FIRST"] = "Vis s�ndag f�rst"; -Calendar._TT["CLOSE"] = "Luk vinduet"; -Calendar._TT["TODAY"] = "I dag"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["TIME_PART"] = "(Umschalt-)Klick oder ziehen"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-yy"; -Calendar._TT["TT_DATE_FORMAT"] = "%d. %b, %Y"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-du.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-du.js deleted file mode 100644 index 9c9051fda7315f22f335b3a892fbb9e99417d7c3..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-du.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Zondag", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrijdag", - "Zaterdag", - "Zondag"); -Calendar._MN = new Array -("Januari", - "Februari", - "Maart", - "April", - "Mei", - "Juni", - "Juli", - "Augustus", - "September", - "Oktober", - "November", - "December"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Toggle startdag van de week"; -Calendar._TT["PREV_YEAR"] = "Vorig jaar (indrukken voor menu)"; -Calendar._TT["PREV_MONTH"] = "Vorige month (indrukken voor menu)"; -Calendar._TT["GO_TODAY"] = "Naar Vandaag"; -Calendar._TT["NEXT_MONTH"] = "Volgende Maand (indrukken voor menu)"; -Calendar._TT["NEXT_YEAR"] = "Volgend jaar (indrukken voor menu)"; -Calendar._TT["SEL_DATE"] = "Selecteer datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te verplaatsen"; -Calendar._TT["PART_TODAY"] = " (vandaag)"; -Calendar._TT["MON_FIRST"] = "Toon Maandag eerst"; -Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst"; -Calendar._TT["CLOSE"] = "Sluiten"; -Calendar._TT["TODAY"] = "Vandaag"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; - -Calendar._TT["WK"] = "wk"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-el.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-el.js deleted file mode 100644 index a8f34ad9a5a2da9fbf6a3fbb24afc1634db8f82f..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-el.js +++ /dev/null @@ -1,89 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("ΚυÏιακή", - "ΔευτÎÏα", - "ΤÏίτη", - "ΤετάÏτη", - "Î Îμπτη", - "ΠαÏασκευή", - "Σάββατο", - "ΚυÏιακή"); - -Calendar._SDN = new Array -("Κυ", - "Δε", - "TÏ", - "Τε", - "Πε", - "Πα", - "Σα", - "Κυ"); - -Calendar._MN = new Array -("ΙανουάÏιος", - "ΦεβÏουάÏιος", - "ΜάÏτιος", - "ΑπÏίλιος", - "Μάϊος", - "ΙοÏνιος", - "ΙοÏλιος", - "ΑÏγουστος", - "ΣεπτÎμβÏιος", - "ΟκτώβÏιος", - "ÎοÎμβÏιος", - "ΔεκÎμβÏιος"); - -Calendar._SMN = new Array -("Ιαν", - "Φεβ", - "ΜαÏ", - "ΑπÏ", - "Μαι", - "Ιουν", - "Ιουλ", - "Αυγ", - "Σεπ", - "Οκτ", - "Îοε", - "Δεκ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Για το ημεÏολόγιο"; - -Calendar._TT["ABOUT"] = -"ΕπιλογÎας ημεÏομηνίας/ÏŽÏας σε DHTML\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Για τελευταία Îκδοση: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Επιλογή ημεÏομηνίας:\n" + -"- ΧÏησιμοποιείστε τα κουμπιά \xab, \xbb για επιλογή Îτους\n" + -"- ΧÏησιμοποιείστε τα κουμπιά " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " για επιλογή μήνα\n" + -"- ΚÏατήστε κουμπί Ï€Î¿Î½Ï„Î¹ÎºÎ¿Ï Ï€Î±Ï„Î·Î¼Îνο στα παÏαπάνω κουμπιά για πιο γÏήγοÏη επιλογή."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Επιλογή ÏŽÏας:\n" + -"- Κάντε κλικ σε Îνα από τα μÎÏη της ÏŽÏας για αÏξηση\n" + -"- ή Shift-κλικ για μείωση\n" + -"- ή κλικ και μετακίνηση για πιο γÏήγοÏη επιλογή."; -Calendar._TT["TOGGLE"] = "ΜπάÏα Ï€Ïώτης ημÎÏας της εβδομάδας"; -Calendar._TT["PREV_YEAR"] = "Î Ïοηγ. Îτος (κÏατήστε για το μενοÏ)"; -Calendar._TT["PREV_MONTH"] = "Î Ïοηγ. μήνας (κÏατήστε για το μενοÏ)"; -Calendar._TT["GO_TODAY"] = "ΣήμεÏα"; -Calendar._TT["NEXT_MONTH"] = "Επόμενος μήνας (κÏατήστε για το μενοÏ)"; -Calendar._TT["NEXT_YEAR"] = "Επόμενο Îτος (κÏατήστε για το μενοÏ)"; -Calendar._TT["SEL_DATE"] = "ΕπιλÎξτε ημεÏομηνία"; -Calendar._TT["DRAG_TO_MOVE"] = "ΣÏÏτε για να μετακινήσετε"; -Calendar._TT["PART_TODAY"] = " (σήμεÏα)"; -Calendar._TT["MON_FIRST"] = "Εμφάνιση ΔευτÎÏας Ï€Ïώτα"; -Calendar._TT["SUN_FIRST"] = "Εμφάνιση ΚυÏιακής Ï€Ïώτα"; -Calendar._TT["CLOSE"] = "Κλείσιμο"; -Calendar._TT["TODAY"] = "ΣήμεÏα"; -Calendar._TT["TIME_PART"] = "(Shift-)κλικ ή μετακίνηση για αλλαγή"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "D, d M"; - -Calendar._TT["WK"] = "εβδ"; - diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-en.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-en.js deleted file mode 100644 index 185b8b9d423666c2ac6ee629a94ac1a68d4fd83c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-en.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-es.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-es.js deleted file mode 100644 index 355e465b011cbcd67471c09631846ce52e549a8e..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-es.js +++ /dev/null @@ -1,128 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// short day names -Calendar._SDN = new Array -("Dom", - "Lun", - "Mar", - "Mii", - "Jue", - "Vie", - "Sab", - "Dom"); - -// full day names -Calendar._DN = new Array -("Domingo", - "Lunes", - "Martes", - "Miercoles", - "Jueves", - "Viernes", - "Sabado", - "Domingo"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// full month names -Calendar._MN = new Array -("Enero", - "Febrero", - "Marzo", - "Abril", - "Mayo", - "Junio", - "Julio", - "Agosto", - "Septiembre", - "Octubre", - "Noviembre", - "Diciembre"); - -// short month names -Calendar._SMN = new Array -("Ene", - "Feb", - "Mar", - "Abr", - "May", - "Jun", - "Jul", - "Ago", - "Sep", - "Oct", - "Nov", - "Dic"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Acerca del calendario"; - -Calendar._TT["ABOUT"] = -"Selector DHTML de Fecha/Hora\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Para conseguir la ultima version visite: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribuido bajo licencia GNU LGPL. Visite http://gnu.org/licenses/lgpl.html para mas detalles." + -"\n\n" + -"Seleccion de fecha:\n" + -"- Use los botones \xab, \xbb para seleccionar el ano\n" + -"- Use los botones " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" + -"- Mantenga pulsado el ratsn en cualquiera de estos botones para una seleccion rapida."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Seleccion de hora:\n" + -"- Pulse en cualquiera de las partes de la hora para incrementarla\n" + -"- s pulse las mayzsculas mientras hace clic para decrementarla\n" + -"- s haga clic y arrastre el ratsn para una seleccion mas rapida."; - -Calendar._TT["TOGGLE"] = "Selecciona el primer dia de la semana"; -Calendar._TT["PREV_YEAR"] = "Ano anterior (mantener para menu)"; -Calendar._TT["PREV_MONTH"] = "Mes anterior (mantener para menu)"; -Calendar._TT["GO_TODAY"] = "Ir a hoy"; -Calendar._TT["NEXT_MONTH"] = "Mes siguiente (mantener para menu)"; -Calendar._TT["NEXT_YEAR"] = "Aqo siguiente (mantener para menu)"; -Calendar._TT["SEL_DATE"] = "Seleccionar fecha"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastrar para mover"; -Calendar._TT["PART_TODAY"] = " (hoy)"; -Calendar._TT["MON_FIRST"] = "Mostrar lunes primero"; -Calendar._TT["SUN_FIRST"] = "Mostrar domingo primero"; -Calendar._TT["CLOSE"] = "Cerrar"; -Calendar._TT["TODAY"] = "Hoy"; - - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s como inicio de la semana"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["TIME_PART"] = "(mayusculas-)click o arrastre para cambiar valor"; - - - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d/%m/%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y"; - -Calendar._TT["WK"] = "sem"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fa.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fa.js deleted file mode 100644 index eea2b9e4ce3b29eb5a126a126f0478ae7580ba59..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fa.js +++ /dev/null @@ -1,128 +0,0 @@ -// ** I18N - -// Calendar fa locale -// Author: Mark Garrett, <L10n@modernbill.com> -// Data: CLDR 1.3, http;//www.unicode.org/cldr/ -// Encoding: utf-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("یکشنبه", -"دوشنبه", -"سه‌شنبه", -"چهارشنبه", -"پنجشنبه", -"جمعه", -"شنبه"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ÛŒ.", -"د.", -"س.", -"Ú†.", -"Ù¾.", -"ج.", -"Ø´."); - -// First day of the week. "0" means display Sunday first, "1" means display -// Monday first, etc. -Calendar._FD = 0; - -// full month names -Calendar._MN = new Array -("ژانویهٔ", -"Ùوریهٔ", -"مارس", -"آوریل", -"مهٔ", -"ژوئن", -"ژوئیهٔ", -"اوت", -"سپتامبر", -"اکتبر", -"نوامبر", -"دسامبر"); - -// short month names -Calendar._SMN = new Array -("ژان", -"Ùور", -"مار", -"آور", -"مـه", -"ژون", -"Ú˜ÙˆÛŒ", -"اوت", -"سپت", -"اکت", -"نوا", -"دسا"); - -// tooltips -Calendar._TT_en = Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) com 2002-2004\n" + // don't translate this this ;-) -"For latest version visit: http://www.com/\n" + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today (hold for history)"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y/%m/%e"; -Calendar._TT["TT_DATE_FORMAT"] = "%AØŒ %e %B %Y"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; - -Calendar._TT["E_RANGE"] = "Outside the range"; - diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fi.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fi.js deleted file mode 100644 index 1df7d759b59504bfa11432f46bf46fb8effe8f73..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fi.js +++ /dev/null @@ -1,98 +0,0 @@ -// ** I18N - -// Calendar FI language (Finnish, Suomi) -// Author: Jarno Käyhkö, <gambler@phnet.fi> -// Encoding: UTF-8 -// Distributed under the same terms as the calendar itself. - -// full day names -Calendar._DN = new Array -("Sunnuntai", - "Maanantai", - "Tiistai", - "Keskiviikko", - "Torstai", - "Perjantai", - "Lauantai", - "Sunnuntai"); - -// short day names -Calendar._SDN = new Array -("Su", - "Ma", - "Ti", - "Ke", - "To", - "Pe", - "La", - "Su"); - -// full month names -Calendar._MN = new Array -("Tammikuu", - "Helmikuu", - "Maaliskuu", - "Huhtikuu", - "Toukokuu", - "Kesäkuu", - "Heinäkuu", - "Elokuu", - "Syyskuu", - "Lokakuu", - "Marraskuu", - "Joulukuu"); - -// short month names -Calendar._SMN = new Array -("Tam", - "Hel", - "Maa", - "Huh", - "Tou", - "Kes", - "Hei", - "Elo", - "Syy", - "Lok", - "Mar", - "Jou"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Tietoja kalenterista"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Uusin versio osoitteessa: http://dynarch.com/mishoo/calendar.epl\n" + -"Julkaistu GNU LGPL lisenssin alaisuudessa. Lisätietoja osoitteessa http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"Päivämäärä valinta:\n" + -"- Käytä \xab, \xbb painikkeita valitaksesi vuosi\n" + -"- Käytä " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " painikkeita valitaksesi kuukausi\n" + -"- Pitämällä hiiren painiketta minkä tahansa yllä olevan painikkeen kohdalla, saat näkyviin valikon nopeampaan siirtymiseen."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Ajan valinta:\n" + -"- Klikkaa kellonajan numeroita lisätäksesi aikaa\n" + -"- tai pitämällä Shift-näppäintä pohjassa saat aikaa taaksepäin\n" + -"- tai klikkaa ja pidä hiiren painike pohjassa sekä liikuta hiirtä muuttaaksesi aikaa nopeasti eteen- ja taaksepäin."; - -Calendar._TT["PREV_YEAR"] = "Edell. vuosi (paina hetki, näet valikon)"; -Calendar._TT["PREV_MONTH"] = "Edell. kuukausi (paina hetki, näet valikon)"; -Calendar._TT["GO_TODAY"] = "Siirry tähän päivään"; -Calendar._TT["NEXT_MONTH"] = "Seur. kuukausi (paina hetki, näet valikon)"; -Calendar._TT["NEXT_YEAR"] = "Seur. vuosi (paina hetki, näet valikon)"; -Calendar._TT["SEL_DATE"] = "Valitse päivämäärä"; -Calendar._TT["DRAG_TO_MOVE"] = "Siirrä kalenterin paikkaa"; -Calendar._TT["PART_TODAY"] = " (tänään)"; -Calendar._TT["MON_FIRST"] = "Näytä maanantai ensimmäisenä"; -Calendar._TT["SUN_FIRST"] = "Näytä sunnuntai ensimmäisenä"; -Calendar._TT["CLOSE"] = "Sulje"; -Calendar._TT["TODAY"] = "Tänään"; -Calendar._TT["TIME_PART"] = "(Shift-) Klikkaa tai liikuta muuttaaksesi aikaa"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d.%m.%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%d.%m.%Y"; - -Calendar._TT["WK"] = "Vko"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fr.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fr.js deleted file mode 100644 index 6f24f7aefd584251e8997593a8b73b7a919ba256..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-fr.js +++ /dev/null @@ -1,97 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Dimanche", - "Lundi", - "Mardi", - "Mercredi", - "Jeudi", - "Vendredi", - "Samedi", - "Dimanche"); -Calendar._MN = new Array -("Janvier", - "F\u00e9vrier", - "Mars", - "Avril", - "Mai", - "Juin", - "Juillet", - "Ao\u00fbt", - "Septembre", - "Octobre", - "Novembre", - "D\u00e9cembre"); -Calendar._SDN = new Array -("Lun", - "Mar", - "Mer", - "Jeu", - "Thu", - "Ven", - "Sam", - "Dim"); -Calendar._SMN = new Array -("Jan", - "Fev", - "Mar", - "Avr", - "Mai", - "Juin", - "Juil", - "Aout", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; - -Calendar._TT["INFO"] = "A propos du calendrier"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Heure Selecteur\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Pour la derniere version visitez: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribu� par GNU LGPL. Voir http://gnu.org/licenses/lgpl.html pour les details." + -"\n\n" + -"Selection de la date :\n" + -"- Utiliser les bouttons \xab, \xbb pour selectionner l\'annee\n" + -"- Utiliser les bouttons " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pour selectionner les mois\n" + -"- Garder la souris sur n'importe quels boutons pour un selection plus rapide"; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selection de l\'heure:\n" + -"- Cliquer sur heures ou minutes pour incrementer\n" + -"- ou Maj-clic pour decrementer\n" + -"- ou clic et glisser deplacer pour un selection plus rapide"; - -Calendar._TT["TOGGLE"] = "Changer le premier jour de la semaine"; -Calendar._TT["PREV_YEAR"] = "Ann\u00e9 pr\u00e9c. (maintenir pour menu)"; -Calendar._TT["PREV_MONTH"] = "Mois pr\u00e9c. (maintenir pour menu)"; -Calendar._TT["GO_TODAY"] = "Atteindre date du jour"; -Calendar._TT["NEXT_MONTH"] = "Mois suiv. (maintenir pour menu)"; -Calendar._TT["NEXT_YEAR"] = "Ann\u00e9e suiv. (maintenir pour menu)"; -Calendar._TT["SEL_DATE"] = "Choisir une date"; -Calendar._TT["DRAG_TO_MOVE"] = "D\u00e9placer"; -Calendar._TT["PART_TODAY"] = " (Aujourd'hui)"; -Calendar._TT["MON_FIRST"] = "Commencer par lundi"; -Calendar._TT["SUN_FIRST"] = "Commencer par dimanche"; -Calendar._TT["CLOSE"] = "Fermer"; -Calendar._TT["TODAY"] = "Aujourd'hui"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s comme d\u00e9but de la semaine"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["TIME_PART"] = "click (commutation)ou tirer"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%y"; -Calendar._TT["TT_DATE_FORMAT"] = " %A %e %B %Y"; - -Calendar._TT["WK"] = "sem"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-gr.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-gr.js deleted file mode 100644 index 0d943a99445505e071397a4e71481ac9a8711207..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-gr.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar GR language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("ΚυÏιακή", - "ΔευτÎÏα", - "ΤÏίτη", - "ΤετάÏτη", - "Î Îμπτη", - "ΠαÏασκευή", - "Σάββατο", - "ΚυÏιακή"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ΚΥ", - "ΔΕ", - "ΤΡ", - "ΤΕ", - "ΠΕ", - "ΠΑ", - "ΣΑ", - "ΚΥ"); - -// full month names -Calendar._MN = new Array -("ΙανουάÏιος", - "ΦεβÏουάÏιος", - "ΜάÏτιος", - "ΑπÏίλιος", - "Μάιος", - "ΙοÏνιος", - "ΙοÏλιος", - "ΑÏγουστος", - "ΣεπτÎμβÏιος", - "ΟκτώβÏιος", - "ÎοÎμβÏιος", - "ΔεκÎμβÏιος"); - -// short month names -Calendar._SMN = new Array -("Ιαν", - "Φεβ", - "ΜαÏ", - "ΑπÏ", - "Μαϊ", - "Ιουν", - "Ιουλ", - "Αυγ", - "Σεπ", - "Οκτ", - "Îοε", - "Δεκ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Σχετικά με το ημεÏολόγιο"; - -Calendar._TT["ABOUT"] = -"DHTML ΕπιλογÎας ΗμεÏομηνίας/ÎÏας\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Για την τελευταία Îκδοση επισκευθείτε: http://dynarch.com/mishoo/calendar.epl\n" + -"ΔιανÎμεται με άδεια GNU LGPL. ΒλÎπε http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Επιλογή ημεÏομηνίας:\n" + -"- ΧÏησιμοποιήστε τα κουμπιά \xab, \xbb για να επιλÎξετε Îτος\n" + -"- ΧÏησιμοποιήστε τα κουμπιά " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " για να επιλÎξετε μήνα\n" + -"- ΚÏατήστε το κουμπί του Ï€Î¿Î½Ï„Î¹ÎºÎ¹Î¿Ï ÏƒÎµ κάποιο από τα παÏαπάνω κουμπιά για γÏήγοÏη επιλογή."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Επιλογή ÏŽÏας:\n" + -"- Κάντε κλικ σε οποιοδήποτε από τα μÎÏη της ÏŽÏας για να το αυξήσετε\n" + -"- ή Shift-κλικ για να το αυξήσετε\n" + -"- ή κάντε κλικ και σÏÏετε για γÏηγοÏότεÏη επιλογή."; - -Calendar._TT["PREV_YEAR"] = "Î Ïοηγ. Îτος (κÏατήστε για μενοÏ)"; -Calendar._TT["PREV_MONTH"] = "Î Ïοηγ. μήνας (κÏατήστε για μενοÏ)"; -Calendar._TT["GO_TODAY"] = "ΣήμεÏα"; -Calendar._TT["NEXT_MONTH"] = "Επόμ. μήνας (κÏατήστε για μενοÏ)"; -Calendar._TT["NEXT_YEAR"] = "Επόμ. Îτος (κÏατήστε για μενοÏ)"; -Calendar._TT["SEL_DATE"] = "Επιλογή ημεÏομηνίας"; -Calendar._TT["DRAG_TO_MOVE"] = "ΣÏÏετε για να μετακινήσετε"; -Calendar._TT["PART_TODAY"] = " (σήμεÏα)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Î Ïώτη μÎÏα: %s"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Κλείσιμο"; -Calendar._TT["TODAY"] = "ΣήμεÏα"; -Calendar._TT["TIME_PART"] = "Κάντε (Shift-)Κλικ ή σÏÏετε για να αλλάξετε την τιμή"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "εβδ"; -Calendar._TT["TIME"] = "ÎÏα:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-he.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-he.js deleted file mode 100644 index e9d6a222eb83f84d6b80f4aeee07cdbf722592e0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-he.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hr-utf8.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hr-utf8.js deleted file mode 100644 index d569cfd92429916f16463a83ba6e3efab5f608ee..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hr-utf8.js +++ /dev/null @@ -1,49 +0,0 @@ -/* Croatian language file for the DHTML Calendar version 0.9.2 -* Author Krunoslav Zubrinic <krunoslav.zubrinic@vip.hr>, June 2003. -* Feel free to use this script under the terms of the GNU Lesser General -* Public License, as long as you do not remove or alter this notice. -*/ -Calendar._DN = new Array -("Nedjelja", - "Ponedjeljak", - "Utorak", - "Srijeda", - "ÄŒetvrtak", - "Petak", - "Subota", - "Nedjelja"); -Calendar._MN = new Array -("SijeÄanj", - "VeljaÄa", - "Ožujak", - "Travanj", - "Svibanj", - "Lipanj", - "Srpanj", - "Kolovoz", - "Rujan", - "Listopad", - "Studeni", - "Prosinac"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Promjeni dan s kojim poÄinje tjedan"; -Calendar._TT["PREV_YEAR"] = "Prethodna godina (dugi pritisak za meni)"; -Calendar._TT["PREV_MONTH"] = "Prethodni mjesec (dugi pritisak za meni)"; -Calendar._TT["GO_TODAY"] = "Idi na tekući dan"; -Calendar._TT["NEXT_MONTH"] = "Slijedeći mjesec (dugi pritisak za meni)"; -Calendar._TT["NEXT_YEAR"] = "Slijedeća godina (dugi pritisak za meni)"; -Calendar._TT["SEL_DATE"] = "Izaberite datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Pritisni i povuci za promjenu pozicije"; -Calendar._TT["PART_TODAY"] = " (today)"; -Calendar._TT["MON_FIRST"] = "Prikaži ponedjeljak kao prvi dan"; -Calendar._TT["SUN_FIRST"] = "Prikaži nedjelju kao prvi dan"; -Calendar._TT["CLOSE"] = "Zatvori"; -Calendar._TT["TODAY"] = "Danas"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "DD, dd.mm.y"; - -Calendar._TT["WK"] = "Tje"; \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hr.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hr.js deleted file mode 100644 index 33dd3c4a80db6881b56907422e8a09d0a290f3b1..0000000000000000000000000000000000000000 Binary files a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hr.js and /dev/null differ diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hu.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hu.js deleted file mode 100644 index efa2c56a24bf72986d71ebcc6b3a3c37ab2c74c4..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-hu.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Vasárnap", - "Hétfõ", - "Kedd", - "Szerda", - "Csütörtök", - "Péntek", - "Szombat", - "Vasárnap"); -Calendar._MN = new Array -("január", - "február", - "március", - "április", - "május", - "június", - "július", - "augusztus", - "szeptember", - "október", - "november", - "december"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "A hét elsõ napjának beállítása"; -Calendar._TT["PREV_YEAR"] = "Elõzõ év (tartsa nyomva a menühöz)"; -Calendar._TT["PREV_MONTH"] = "Elõzõ hónap (tartsa nyomva a menühöz)"; -Calendar._TT["GO_TODAY"] = "Mai napra ugrás"; -Calendar._TT["NEXT_MONTH"] = "Köv. hónap (tartsa nyomva a menühöz)"; -Calendar._TT["NEXT_YEAR"] = "Köv. év (tartsa nyomva a menühöz)"; -Calendar._TT["SEL_DATE"] = "Válasszon dátumot"; -Calendar._TT["DRAG_TO_MOVE"] = "Húzza a mozgatáshoz"; -Calendar._TT["PART_TODAY"] = " (ma)"; -Calendar._TT["MON_FIRST"] = "Hétfõ legyen a hét elsõ napja"; -Calendar._TT["SUN_FIRST"] = "Vasárnap legyen a hét elsõ napja"; -Calendar._TT["CLOSE"] = "Bezár"; -Calendar._TT["TODAY"] = "Ma"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "M d, D"; - -Calendar._TT["WK"] = "hét"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-in.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-in.js deleted file mode 100644 index e9d6a222eb83f84d6b80f4aeee07cdbf722592e0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-in.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-it.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-it.js deleted file mode 100644 index 47ef1b0a3703b774040905366a946314833a69fc..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-it.js +++ /dev/null @@ -1,91 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Domenica", - "Luned�", - "Marted�", - "Mercoled�", - "Gioved�", - "Venerd�", - "Sabato", - "Domenica"); -Calendar._MN = new Array -("Gennaio", - "Febbraio", - "Marzo", - "Aprile", - "Maggio", - "Giugno", - "Luglio", - "Agosto", - "Settembre", - "Ottobre", - "Novembre", - "Dicembre"); - -// short month names -Calendar._SMN = new Array -("Gen", - "Feb", - "Mar", - "Apr", - "Mag", - "Giu", - "Lug", - "Ago", - "Set", - "Ott", - "Nov", - "Dic"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "a proposito del calendario"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Per le ultime versioni vai a: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribuito su licenza GNU LGPL. Vedi http://gnu.org/licenses/lgpl.html per i dettagli." + -"\n\n" + -"selezione della data:\n" + -"- Usa i bottoni \xab, \xbb per selezionare l'anno\n" + -"- Usa i bottoni " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " per selezionare il mese\n" + -"- Utilizza il mouse per una selezione rapida."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"selezione dell'ora:\n" + -"- Clicca sull'ora visualizzata per aumentarla\n" + -"- o Shift-click per diminuirla\n" + -"- o click a trascina per la selezione rapida."; - - -Calendar._TT["TOGGLE"] = "Modifica il primo giorno della settimana"; -Calendar._TT["PREV_YEAR"] = "Anno prec. (tieni premuto per menu)"; -Calendar._TT["PREV_MONTH"] = "Mese prec. (tieni premuto per menu)"; -Calendar._TT["GO_TODAY"] = "Vai a oggi"; -Calendar._TT["NEXT_MONTH"] = "Mese succ. (tieni premuto per menu)"; -Calendar._TT["NEXT_YEAR"] = "Anno succ. (tieni premuto per menu)"; -Calendar._TT["SEL_DATE"] = "Seleziona data"; -Calendar._TT["DRAG_TO_MOVE"] = "Trascina per spostare"; -Calendar._TT["PART_TODAY"] = " (oggi)"; -Calendar._TT["MON_FIRST"] = "Parti da luned�"; -Calendar._TT["SUN_FIRST"] = "Parti da domenica"; -Calendar._TT["CLOSE"] = "Chiudi"; -Calendar._TT["TODAY"] = "Oggi"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s als Wochenbeginn"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["TIME_PART"] = "(Umschalt-)Klick oder ziehen"; - - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %e %b "; - -Calendar._TT["WK"] = "Setti"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-iw.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-iw.js deleted file mode 100644 index e9d6a222eb83f84d6b80f4aeee07cdbf722592e0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-iw.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-jp.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-jp.js deleted file mode 100644 index b86f0da3cb4fc4f813839417134fcd0ac5984963..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-jp.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("“ú", - "ŒŽ", - "‰Î", - "…", - "–Ø", - "‹à", - "“y", - "“ú"); -Calendar._MN = new Array -("1ŒŽ", - "2ŒŽ", - "3ŒŽ", - "4ŒŽ", - "5ŒŽ", - "6ŒŽ", - "7ŒŽ", - "8ŒŽ", - "9ŒŽ", - "10ŒŽ", - "11ŒŽ", - "12ŒŽ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "T‚Ìʼn‚Ì—j“ú‚ðØ‚è‘Ö‚¦"; -Calendar._TT["PREV_YEAR"] = "‘O”N"; -Calendar._TT["PREV_MONTH"] = "‘OŒŽ"; -Calendar._TT["GO_TODAY"] = "¡“ú"; -Calendar._TT["NEXT_MONTH"] = "—‚ŒŽ"; -Calendar._TT["NEXT_YEAR"] = "—‚”N"; -Calendar._TT["SEL_DATE"] = "“ú•t‘I‘ð"; -Calendar._TT["DRAG_TO_MOVE"] = "ƒEƒBƒ“ƒhƒE‚̈ړ®"; -Calendar._TT["PART_TODAY"] = " (¡“ú)"; -Calendar._TT["MON_FIRST"] = "ŒŽ—j“ú‚ð擪‚É"; -Calendar._TT["SUN_FIRST"] = "“ú—j“ú‚ð擪‚É"; -Calendar._TT["CLOSE"] = "•Â‚¶‚é"; -Calendar._TT["TODAY"] = "¡“ú"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "%mŒŽ %d“ú (%a)"; - -Calendar._TT["WK"] = "T"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ko-utf8.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ko-utf8.js deleted file mode 100644 index f75db6af686a423eef86ecbc059a87c9cb1729f3..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ko-utf8.js +++ /dev/null @@ -1,120 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Translation: Yourim Yi <yyi@yourim.net> -// Encoding: EUC-KR -// lang : ko -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names - -Calendar._DN = new Array -("ì¼ìš”ì¼", - "월요ì¼", - "화요ì¼", - "수요ì¼", - "목요ì¼", - "금요ì¼", - "í† ìš”ì¼", - "ì¼ìš”ì¼"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ì¼", - "ì›”", - "í™”", - "수", - "목", - "금", - "í† ", - "ì¼"); - -// full month names -Calendar._MN = new Array -("1ì›”", - "2ì›”", - "3ì›”", - "4ì›”", - "5ì›”", - "6ì›”", - "7ì›”", - "8ì›”", - "9ì›”", - "10ì›”", - "11ì›”", - "12ì›”"); - -// short month names -Calendar._SMN = new Array -("1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "calendar ì— ëŒ€í•´ì„œ"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"\n"+ -"ìµœì‹ ë²„ì „ì„ ë°›ìœ¼ì‹œë ¤ë©´ http://dynarch.com/mishoo/calendar.epl ì— ë°©ë¬¸í•˜ì„¸ìš”\n" + -"\n"+ -"GNU LGPL ë¼ì´ì„¼ìŠ¤ë¡œ ë°°í¬ë©ë‹ˆë‹¤. \n"+ -"ë¼ì´ì„¼ìŠ¤ì— 대한 ìžì„¸í•œ ë‚´ìš©ì€ http://gnu.org/licenses/lgpl.html ì„ ì½ìœ¼ì„¸ìš”." + -"\n\n" + -"ë‚ ì§œ ì„ íƒ:\n" + -"- ì—°ë„를 ì„ íƒí•˜ë ¤ë©´ \xab, \xbb ë²„íŠ¼ì„ ì‚¬ìš©í•©ë‹ˆë‹¤\n" + -"- ë‹¬ì„ ì„ íƒí•˜ë ¤ë©´ " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”\n" + -"- ê³„ì† ëˆ„ë¥´ê³ ìžˆìœ¼ë©´ 위 ê°’ë“¤ì„ ë¹ ë¥´ê²Œ ì„ íƒí•˜ì‹¤ 수 있습니다."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"시간 ì„ íƒ:\n" + -"- 마우스로 누르면 ì‹œê°„ì´ ì¦ê°€í•©ë‹ˆë‹¤\n" + -"- Shift 키와 함께 누르면 ê°ì†Œí•©ë‹ˆë‹¤\n" + -"- 누른 ìƒíƒœì—ì„œ 마우스를 움ì§ì´ë©´ 좀 ë” ë¹ ë¥´ê²Œ ê°’ì´ ë³€í•©ë‹ˆë‹¤.\n"; - -Calendar._TT["PREV_YEAR"] = "지난 í•´ (길게 누르면 목ë¡)"; -Calendar._TT["PREV_MONTH"] = "지난 달 (길게 누르면 목ë¡)"; -Calendar._TT["GO_TODAY"] = "오늘 ë‚ ì§œë¡œ"; -Calendar._TT["NEXT_MONTH"] = "ë‹¤ìŒ ë‹¬ (길게 누르면 목ë¡)"; -Calendar._TT["NEXT_YEAR"] = "ë‹¤ìŒ í•´ (길게 누르면 목ë¡)"; -Calendar._TT["SEL_DATE"] = "ë‚ ì§œë¥¼ ì„ íƒí•˜ì„¸ìš”"; -Calendar._TT["DRAG_TO_MOVE"] = "마우스 드래그로 ì´ë™ 하세요"; -Calendar._TT["PART_TODAY"] = " (오늘)"; -Calendar._TT["MON_FIRST"] = "월요ì¼ì„ í•œ ì£¼ì˜ ì‹œìž‘ ìš”ì¼ë¡œ"; -Calendar._TT["SUN_FIRST"] = "ì¼ìš”ì¼ì„ í•œ ì£¼ì˜ ì‹œìž‘ ìš”ì¼ë¡œ"; -Calendar._TT["CLOSE"] = "닫기"; -Calendar._TT["TODAY"] = "오늘"; -Calendar._TT["TIME_PART"] = "(Shift-)í´ë¦ ë˜ëŠ” 드래그 하세요"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]"; - -Calendar._TT["WK"] = "주"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ko.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ko.js deleted file mode 100644 index 6c6946b70b4f59a31cf2eb71a17436d90c631580..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ko.js +++ /dev/null @@ -1,120 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Translation: Yourim Yi <yyi@yourim.net> -// Encoding: EUC-KR -// lang : ko -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names - -Calendar._DN = new Array -("ÀÏ¿äÀÏ", - "¿ù¿äÀÏ", - "È¿äÀÏ", - "¼ö¿äÀÏ", - "¸ñ¿äÀÏ", - "±Ý¿äÀÏ", - "Åä¿äÀÏ", - "ÀÏ¿äÀÏ"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("ÀÏ", - "¿ù", - "È", - "¼ö", - "¸ñ", - "±Ý", - "Åä", - "ÀÏ"); - -// full month names -Calendar._MN = new Array -("1¿ù", - "2¿ù", - "3¿ù", - "4¿ù", - "5¿ù", - "6¿ù", - "7¿ù", - "8¿ù", - "9¿ù", - "10¿ù", - "11¿ù", - "12¿ù"); - -// short month names -Calendar._SMN = new Array -("1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "10", - "11", - "12"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "calendar ¿¡ ´ëÇؼ"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"\n"+ -"ÃֽŠ¹öÀüÀ» ¹ÞÀ¸½Ã·Á¸é http://dynarch.com/mishoo/calendar.epl ¿¡ ¹æ¹®Çϼ¼¿ä\n" + -"\n"+ -"GNU LGPL ¶óÀ̼¾½º·Î ¹èÆ÷µË´Ï´Ù. \n"+ -"¶óÀ̼¾½º¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº http://gnu.org/licenses/lgpl.html À» ÀÐÀ¸¼¼¿ä." + -"\n\n" + -"³¯Â¥ ¼±ÅÃ:\n" + -"- ¿¬µµ¸¦ ¼±ÅÃÇÏ·Á¸é \xab, \xbb ¹öÆ°À» »ç¿ëÇÕ´Ï´Ù\n" + -"- ´ÞÀ» ¼±ÅÃÇÏ·Á¸é " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ¹öÆ°À» ´©¸£¼¼¿ä\n" + -"- °è¼Ó ´©¸£°í ÀÖÀ¸¸é À§ °ªµéÀ» ºü¸£°Ô ¼±ÅÃÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"½Ã°£ ¼±ÅÃ:\n" + -"- ¸¶¿ì½º·Î ´©¸£¸é ½Ã°£ÀÌ Áõ°¡ÇÕ´Ï´Ù\n" + -"- Shift Å°¿Í ÇÔ²² ´©¸£¸é °¨¼ÒÇÕ´Ï´Ù\n" + -"- ´©¸¥ »óÅ¿¡¼ ¸¶¿ì½º¸¦ ¿òÁ÷À̸é Á» ´õ ºü¸£°Ô °ªÀÌ º¯ÇÕ´Ï´Ù.\n"; - -Calendar._TT["PREV_YEAR"] = "Áö³ ÇØ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["PREV_MONTH"] = "Áö³ ´Þ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["GO_TODAY"] = "¿À´Ã ³¯Â¥·Î"; -Calendar._TT["NEXT_MONTH"] = "´ÙÀ½ ´Þ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["NEXT_YEAR"] = "´ÙÀ½ ÇØ (±æ°Ô ´©¸£¸é ¸ñ·Ï)"; -Calendar._TT["SEL_DATE"] = "³¯Â¥¸¦ ¼±ÅÃÇϼ¼¿ä"; -Calendar._TT["DRAG_TO_MOVE"] = "¸¶¿ì½º µå·¡±×·Î À̵¿ Çϼ¼¿ä"; -Calendar._TT["PART_TODAY"] = " (¿À´Ã)"; -Calendar._TT["MON_FIRST"] = "¿ù¿äÀÏÀ» ÇÑ ÁÖÀÇ ½ÃÀÛ ¿äÀÏ·Î"; -Calendar._TT["SUN_FIRST"] = "ÀÏ¿äÀÏÀ» ÇÑ ÁÖÀÇ ½ÃÀÛ ¿äÀÏ·Î"; -Calendar._TT["CLOSE"] = "´Ý±â"; -Calendar._TT["TODAY"] = "¿À´Ã"; -Calendar._TT["TIME_PART"] = "(Shift-)Ŭ¸¯ ¶Ç´Â µå·¡±× Çϼ¼¿ä"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]"; - -Calendar._TT["WK"] = "ÁÖ"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-lt-utf8.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-lt-utf8.js deleted file mode 100644 index a9fa8aacbd1b412985c06c3dfa8f6152d73c86a4..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-lt-utf8.js +++ /dev/null @@ -1,114 +0,0 @@ -// ** I18N - -// Calendar LT language -// Author: Martynas Majeris, <martynas@solmetra.lt> -// Encoding: UTF-8 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sekmadienis", - "Pirmadienis", - "Antradienis", - "TreÄiadienis", - "Ketvirtadienis", - "Pentadienis", - "Å eÅ¡tadienis", - "Sekmadienis"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sek", - "Pir", - "Ant", - "Tre", - "Ket", - "Pen", - "Å eÅ¡", - "Sek"); - -// full month names -Calendar._MN = new Array -("Sausis", - "Vasaris", - "Kovas", - "Balandis", - "Gegužė", - "Birželis", - "Liepa", - "RugpjÅ«tis", - "RugsÄ—jis", - "Spalis", - "Lapkritis", - "Gruodis"); - -// short month names -Calendar._SMN = new Array -("Sau", - "Vas", - "Kov", - "Bal", - "Geg", - "Bir", - "Lie", - "Rgp", - "Rgs", - "Spa", - "Lap", - "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Apie kalendorių"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"NaujausiÄ… versijÄ… rasite: http://dynarch.com/mishoo/calendar.epl\n" + -"Platinamas pagal GNU LGPL licencijÄ…. Aplankykite http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"Datos pasirinkimas:\n" + -"- Metų pasirinkimas: \xab, \xbb\n" + -"- MÄ—nesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + -"- Nuspauskite ir laikykite pelÄ—s klaviÅ¡Ä… greitesniam pasirinkimui."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Laiko pasirinkimas:\n" + -"- Spustelkite ant valandų arba minuÄių - skaiÄius padidÄ—s vienetu.\n" + -"- Jei spausite kartu su Shift, skaiÄius sumažės.\n" + -"- Greitam pasirinkimui spustelkite ir pajudinkite pelÄ™."; - -Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)"; -Calendar._TT["PREV_MONTH"] = "Ankstesnis mÄ—nuo (laikykite, jei norite meniu)"; -Calendar._TT["GO_TODAY"] = "Pasirinkti Å¡iandienÄ…"; -Calendar._TT["NEXT_MONTH"] = "Kitas mÄ—nuo (laikykite, jei norite meniu)"; -Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)"; -Calendar._TT["SEL_DATE"] = "Pasirinkite datÄ…"; -Calendar._TT["DRAG_TO_MOVE"] = "Tempkite"; -Calendar._TT["PART_TODAY"] = " (Å¡iandien)"; -Calendar._TT["MON_FIRST"] = "Pirma savaitÄ—s diena - pirmadienis"; -Calendar._TT["SUN_FIRST"] = "Pirma savaitÄ—s diena - sekmadienis"; -Calendar._TT["CLOSE"] = "Uždaryti"; -Calendar._TT["TODAY"] = "Å iandien"; -Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d"; - -Calendar._TT["WK"] = "sav"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-lt.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-lt.js deleted file mode 100644 index 1b614b816abb49bf84485a1cb3035bfaa2371506..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-lt.js +++ /dev/null @@ -1,114 +0,0 @@ -// ** I18N - -// Calendar LT language -// Author: Martynas Majeris, <martynas@solmetra.lt> -// Encoding: Windows-1257 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sekmadienis", - "Pirmadienis", - "Antradienis", - "Treèiadienis", - "Ketvirtadienis", - "Pentadienis", - "Ðeðtadienis", - "Sekmadienis"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sek", - "Pir", - "Ant", - "Tre", - "Ket", - "Pen", - "Ðeð", - "Sek"); - -// full month names -Calendar._MN = new Array -("Sausis", - "Vasaris", - "Kovas", - "Balandis", - "Geguþë", - "Birþelis", - "Liepa", - "Rugpjûtis", - "Rugsëjis", - "Spalis", - "Lapkritis", - "Gruodis"); - -// short month names -Calendar._SMN = new Array -("Sau", - "Vas", - "Kov", - "Bal", - "Geg", - "Bir", - "Lie", - "Rgp", - "Rgs", - "Spa", - "Lap", - "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Apie kalendoriø"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Naujausià versijà rasite: http://dynarch.com/mishoo/calendar.epl\n" + -"Platinamas pagal GNU LGPL licencijà. Aplankykite http://gnu.org/licenses/lgpl.html" + -"\n\n" + -"Datos pasirinkimas:\n" + -"- Metø pasirinkimas: \xab, \xbb\n" + -"- Mënesio pasirinkimas: " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + -"- Nuspauskite ir laikykite pelës klaviðà greitesniam pasirinkimui."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Laiko pasirinkimas:\n" + -"- Spustelkite ant valandø arba minuèiø - skaièus padidës vienetu.\n" + -"- Jei spausite kartu su Shift, skaièius sumaþës.\n" + -"- Greitam pasirinkimui spustelkite ir pajudinkite pelæ."; - -Calendar._TT["PREV_YEAR"] = "Ankstesni metai (laikykite, jei norite meniu)"; -Calendar._TT["PREV_MONTH"] = "Ankstesnis mënuo (laikykite, jei norite meniu)"; -Calendar._TT["GO_TODAY"] = "Pasirinkti ðiandienà"; -Calendar._TT["NEXT_MONTH"] = "Kitas mënuo (laikykite, jei norite meniu)"; -Calendar._TT["NEXT_YEAR"] = "Kiti metai (laikykite, jei norite meniu)"; -Calendar._TT["SEL_DATE"] = "Pasirinkite datà"; -Calendar._TT["DRAG_TO_MOVE"] = "Tempkite"; -Calendar._TT["PART_TODAY"] = " (ðiandien)"; -Calendar._TT["MON_FIRST"] = "Pirma savaitës diena - pirmadienis"; -Calendar._TT["SUN_FIRST"] = "Pirma savaitës diena - sekmadienis"; -Calendar._TT["CLOSE"] = "Uþdaryti"; -Calendar._TT["TODAY"] = "Ðiandien"; -Calendar._TT["TIME_PART"] = "Spustelkite arba tempkite jei norite pakeisti"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %Y-%m-%d"; - -Calendar._TT["WK"] = "sav"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-mn.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-mn.js deleted file mode 100644 index e9d6a222eb83f84d6b80f4aeee07cdbf722592e0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-mn.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-nl.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-nl.js deleted file mode 100644 index 1190a2e897f02c371ffbe854020e1e1cccfc9ee0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-nl.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Zondag", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrijdag", - "Zaterdag", - "Zondag"); -Calendar._MN = new Array -("Januari", - "Februari", - "Maart", - "April", - "Mei", - "Juni", - "Juli", - "Augustus", - "September", - "Oktober", - "November", - "December"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Selecteer de eerste week-dag"; -Calendar._TT["PREV_YEAR"] = "Vorig jaar (ingedrukt voor menu)"; -Calendar._TT["PREV_MONTH"] = "Vorige maand (ingedrukt voor menu)"; -Calendar._TT["GO_TODAY"] = "Ga naar Vandaag"; -Calendar._TT["NEXT_MONTH"] = "Volgende maand (ingedrukt voor menu)"; -Calendar._TT["NEXT_YEAR"] = "Volgend jaar (ingedrukt voor menu)"; -Calendar._TT["SEL_DATE"] = "Selecteer datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Klik en sleep om te verplaatsen"; -Calendar._TT["PART_TODAY"] = " (vandaag)"; -Calendar._TT["MON_FIRST"] = "Toon Maandag eerst"; -Calendar._TT["SUN_FIRST"] = "Toon Zondag eerst"; -Calendar._TT["CLOSE"] = "Sluiten"; -Calendar._TT["TODAY"] = "Vandaag"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "DD, d MM"; - -Calendar._TT["WK"] = "wk"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-no.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-no.js deleted file mode 100644 index ff4f98d09e17a92a145d1976b588d3cd45ad6686..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-no.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Søndag", - "Mandag", - "Tirsdag", - "Onsdag", - "Torsdag", - "Fredag", - "Lørdag", - "Søndag"); -Calendar._MN = new Array -("Januar", - "Februar", - "Mars", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Desember"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Skift første ukedag"; -Calendar._TT["PREV_YEAR"] = "Et år tilbake (hold for meny)"; -Calendar._TT["PREV_MONTH"] = "En måned tilbake (hold for meny)"; -Calendar._TT["GO_TODAY"] = "Gå til i dag"; -Calendar._TT["NEXT_MONTH"] = "En måned fram (hold for meny)"; -Calendar._TT["NEXT_YEAR"] = "Et år fram (hold for meny)"; -Calendar._TT["SEL_DATE"] = "Velg dag"; -Calendar._TT["DRAG_TO_MOVE"] = "Dra vinduet"; -Calendar._TT["PART_TODAY"] = " (i dag)"; -Calendar._TT["MON_FIRST"] = "Vis mandag først"; -Calendar._TT["SUN_FIRST"] = "Vis søndag først"; -Calendar._TT["CLOSE"] = "Lukk vinduet"; -Calendar._TT["TODAY"] = "I dag"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "D d. M, y"; - -Calendar._TT["WK"] = "wk"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pe.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pe.js deleted file mode 100644 index 0e9dfb7f66bb291aa870fe2be261fb5a6e260f4e..0000000000000000000000000000000000000000 Binary files a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pe.js and /dev/null differ diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pl-utf8.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pl-utf8.js deleted file mode 100644 index 98a027727b671c87d5dbc01f90a8b51ba7c792dd..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pl-utf8.js +++ /dev/null @@ -1,93 +0,0 @@ -// ** I18N - -// Calendar PL language -// Author: Dariusz Pietrzak, <eyck@ghost.anime.pl> -// Author: Janusz Piwowarski, <jpiw@go2.pl> -// Encoding: utf-8 -// Distributed under the same terms as the calendar itself. - -Calendar._DN = new Array -("Niedziela", - "PoniedziaÅ‚ek", - "Wtorek", - "Åšroda", - "Czwartek", - "PiÄ…tek", - "Sobota", - "Niedziela"); -Calendar._SDN = new Array -("Nie", - "Pn", - "Wt", - "Åšr", - "Cz", - "Pt", - "So", - "Nie"); -Calendar._MN = new Array -("StyczeÅ„", - "Luty", - "Marzec", - "KwiecieÅ„", - "Maj", - "Czerwiec", - "Lipiec", - "SierpieÅ„", - "WrzesieÅ„", - "Październik", - "Listopad", - "GrudzieÅ„"); -Calendar._SMN = new Array -("Sty", - "Lut", - "Mar", - "Kwi", - "Maj", - "Cze", - "Lip", - "Sie", - "Wrz", - "Paź", - "Lis", - "Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O kalendarzu"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Aby pobrać najnowszÄ… wersjÄ™, odwiedź: http://dynarch.com/mishoo/calendar.epl\n" + -"DostÄ™pny na licencji GNU LGPL. Zobacz szczegóły na http://gnu.org/licenses/lgpl.html." + -"\n\n" + -"Wybór daty:\n" + -"- Użyj przycisków \xab, \xbb by wybrać rok\n" + -"- Użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " by wybrać miesiÄ…c\n" + -"- Przytrzymaj klawisz myszy nad jednym z powyższych przycisków dla szybszego wyboru."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Wybór czasu:\n" + -"- Kliknij na jednym z pól czasu by zwiÄ™kszyć jego wartość\n" + -"- lub kliknij trzymajÄ…c Shift by zmiejszyć jego wartość\n" + -"- lub kliknij i przeciÄ…gnij dla szybszego wyboru."; - -//Calendar._TT["TOGGLE"] = "ZmieÅ„ pierwszy dzieÅ„ tygodnia"; -Calendar._TT["PREV_YEAR"] = "Poprzedni rok (przytrzymaj dla menu)"; -Calendar._TT["PREV_MONTH"] = "Poprzedni miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["GO_TODAY"] = "Idź do dzisiaj"; -Calendar._TT["NEXT_MONTH"] = "NastÄ™pny miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["NEXT_YEAR"] = "NastÄ™pny rok (przytrzymaj dla menu)"; -Calendar._TT["SEL_DATE"] = "Wybierz datÄ™"; -Calendar._TT["DRAG_TO_MOVE"] = "PrzeciÄ…gnij by przesunąć"; -Calendar._TT["PART_TODAY"] = " (dzisiaj)"; -Calendar._TT["MON_FIRST"] = "WyÅ›wietl poniedziaÅ‚ek jako pierwszy"; -Calendar._TT["SUN_FIRST"] = "WyÅ›wietl niedzielÄ™ jako pierwszÄ…"; -Calendar._TT["CLOSE"] = "Zamknij"; -Calendar._TT["TODAY"] = "Dzisiaj"; -Calendar._TT["TIME_PART"] = "(Shift-)Kliknij lub przeciÄ…gnij by zmienić wartość"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%e %B, %A"; - -Calendar._TT["WK"] = "ty"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pl.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pl.js deleted file mode 100644 index 12d532baa481a1d6ccf42c08890ee6d0f718f868..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pl.js +++ /dev/null @@ -1,112 +0,0 @@ -// ** I18N -// Calendar PL language -// Author: Artur Filipiak, <imagen@poczta.fm> -// January, 2004 -// Encoding: UTF-8 -Calendar._DN = new Array -("Niedziela", "PoniedziaÅ‚ek", "Wtorek", "Åšroda", "Czwartek", "PiÄ…tek", "Sobota", "Niedziela"); - - -Calendar._SDN = new Array -("N", -"Pn", -"Wt", -"Åšr", -"Cz", -"Pt", -"So", -"N"); - -// full day names - need to be translated to Polish -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -Calendar._MN = new Array -("StyczeÅ„", -"Luty", -"Marzec", -"KwiecieÅ„", -"Maj", -"Czerwiec", -"Lipiec", -"SierpieÅ„", -"WrzesieÅ„", -"Październik", -"Listopad", -"GrudzieÅ„"); - -Calendar._SMN = new Array -("Sty", -"Lut", -"Mar", -"Kwi", -"Maj", -"Cze", -"Lip", -"Sie", -"Wrz", -"Paź", -"Lis", -"Gru"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O kalendarzu"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Wybór daty:\n" + -"- aby wybrać rok użyj przycisków \xab, \xbb\n" + -"- aby wybrać miesiÄ…c użyj przycisków " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + "\n" + -"- aby przyspieszyć wybór przytrzymaj wciÅ›niÄ™ty przycisk myszy nad ww. przyciskami."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Wybór czasu:\n" + -"- aby zwiÄ™kszyć wartość kliknij na dowolnym elemencie selekcji czasu\n" + -"- aby zmniejszyć wartość użyj dodatkowo klawisza Shift\n" + -"- możesz również poruszać myszkÄ™ w lewo i prawo wraz z wciÅ›niÄ™tym lewym klawiszem."; - -Calendar._TT["PREV_YEAR"] = "Poprz. rok (przytrzymaj dla menu)"; -Calendar._TT["PREV_MONTH"] = "Poprz. miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["GO_TODAY"] = "Pokaż dziÅ›"; -Calendar._TT["NEXT_MONTH"] = "Nast. miesiÄ…c (przytrzymaj dla menu)"; -Calendar._TT["NEXT_YEAR"] = "Nast. rok (przytrzymaj dla menu)"; -Calendar._TT["SEL_DATE"] = "Wybierz datÄ™"; -Calendar._TT["DRAG_TO_MOVE"] = "PrzesuÅ„ okienko"; -Calendar._TT["PART_TODAY"] = " (dziÅ›)"; -Calendar._TT["MON_FIRST"] = "Pokaż PoniedziaÅ‚ek jako pierwszy"; -Calendar._TT["SUN_FIRST"] = "Pokaż NiedzielÄ™ jako pierwszÄ…"; -Calendar._TT["CLOSE"] = "Zamknij"; -Calendar._TT["TODAY"] = "DziÅ›"; -Calendar._TT["TIME_PART"] = "(Shift-)klik | drag, aby zmienić wartość"; - -// needs to be translated to Polish! - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y.%m.%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pt.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pt.js deleted file mode 100644 index e38b037bf185c247f50fef891a2663c41101d93a..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pt.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Domingo", - "Segunda-feira", - "Terça-feira", - "Quarta-feira", - "Quinta-feira", - "Sexta-feira", - "Sábado", - "Domingo"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Dom", - "Seg", - "Ter", - "Qua", - "Qui", - "Sex", - "Sab", - "Dom"); - -// full month names -Calendar._MN = new Array -("Janeiro", - "Fevereiro", - "Março", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Fev", - "Mar", - "Abr", - "Mai", - "Jun", - "Jul", - "Ago", - "Set", - "Out", - "Nov", - "Dez"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Sobre o calendário"; - -Calendar._TT["SOBRE"] = -"DHTML Seletor de Data/Hora\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Para a versão mais recente visite: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribuido sob GNU LGPL. Veja http://gnu.org/licenses/lgpl.html para maiores detalhes." + -"\n\n" + -"Seleção de data:\n" + -"- Use o botão \xab, \xbb para selecionar o ano\n" + -"- Use o botão " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para selecionar o mês\n" + -"- Mantenha o mouse sobre qualquer botão acima para seleção rápida."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Seleção da Hora:\n" + -"- Clique em qualquer das partes da hora para incrementar-la\n" + -"- ou Shift-clique para decrementa-la\n" + -"- ou clique e arraste para seleção rápida."; - -Calendar._TT["PREV_YEAR"] = "Ano anterior (manter para menu)"; -Calendar._TT["PREV_MONTH"] = "Mês anterior (manter para menu)"; -Calendar._TT["GO_TODAY"] = "Vá para Hoje"; -Calendar._TT["NEXT_MONTH"] = "Próximo mês (manter para menu)"; -Calendar._TT["NEXT_YEAR"] = "Próximo ano (manter para menu)"; -Calendar._TT["SEL_DATE"] = "Selecionar data"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastar para mover"; -Calendar._TT["PART_TODAY"] = " (hoje)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Mostre %s primeiro"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Fechar"; -Calendar._TT["TODAY"] = "Hoje"; -Calendar._TT["TIME_PART"] = "(Shift-)Clique ou arrastar para alterar valor"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "sem"; -Calendar._TT["TIME"] = "Hora:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pt_alt.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pt_alt.js deleted file mode 100644 index 1184dfa6d63be06900f78ac66dcbeb2444d4e5c2..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-pt_alt.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Domingo", - "Segunda", - "Terça", - "Quarta", - "Quinta", - "Sexta", - "Sábado", - "Domingo"); -Calendar._MN = new Array -("Janeiro", - "Fevereiro", - "Março", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Trocar o primeiro dia da semana"; -Calendar._TT["PREV_YEAR"] = "Ano Anterior (mantenha para menu)"; -Calendar._TT["PREV_MONTH"] = "Mês Anterior (mantenha para menu)"; -Calendar._TT["GO_TODAY"] = "Ir para hoje"; -Calendar._TT["NEXT_MONTH"] = "Próximo Mês (mantenha para menu)"; -Calendar._TT["NEXT_YEAR"] = "Próximo Ano (mantenha para menu)"; -Calendar._TT["SEL_DATE"] = "Escolha Data"; -Calendar._TT["DRAG_TO_MOVE"] = "Arraste para mover"; -Calendar._TT["PART_TODAY"] = " (hoje)"; -Calendar._TT["MON_FIRST"] = "Mostrar Segunda primeiro"; -Calendar._TT["SUN_FIRST"] = "Mostrar Domingo primeiro"; -Calendar._TT["CLOSE"] = "Fechar"; -Calendar._TT["TODAY"] = "Hoje"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "a-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; - -Calendar._TT["WK"] = "sm"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-rm.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-rm.js deleted file mode 100644 index e9d6a222eb83f84d6b80f4aeee07cdbf722592e0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-rm.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ro.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ro.js deleted file mode 100644 index 02a7885f24699f141c84fdf4b1cb1f17bce291ab..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ro.js +++ /dev/null @@ -1,66 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Duminică", - "Luni", - "MarÅ£i", - "Miercuri", - "Joi", - "Vineri", - "Sâmbătă", - "Duminică"); -Calendar._SDN_len = 2; -Calendar._MN = new Array -("Ianuarie", - "Februarie", - "Martie", - "Aprilie", - "Mai", - "Iunie", - "Iulie", - "August", - "Septembrie", - "Octombrie", - "Noiembrie", - "Decembrie"); - -// tooltips -Calendar._TT = {}; - -Calendar._TT["INFO"] = "Despre calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Pentru ultima versiune vizitaÅ£i: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribuit sub GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"SelecÅ£ia datei:\n" + -"- FolosiÅ£i butoanele \xab, \xbb pentru a selecta anul\n" + -"- FolosiÅ£i butoanele " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pentru a selecta luna\n" + -"- TineÅ£i butonul mouse-ului apăsat pentru selecÅ£ie mai rapidă."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"SelecÅ£ia orei:\n" + -"- Click pe ora sau minut pentru a mări valoarea cu 1\n" + -"- Sau Shift-Click pentru a micÅŸora valoarea cu 1\n" + -"- Sau Click ÅŸi drag pentru a selecta mai repede."; - -Calendar._TT["PREV_YEAR"] = "Anul precedent (lung pt menu)"; -Calendar._TT["PREV_MONTH"] = "Luna precedentă (lung pt menu)"; -Calendar._TT["GO_TODAY"] = "Data de azi"; -Calendar._TT["NEXT_MONTH"] = "Luna următoare (lung pt menu)"; -Calendar._TT["NEXT_YEAR"] = "Anul următor (lung pt menu)"; -Calendar._TT["SEL_DATE"] = "Selectează data"; -Calendar._TT["DRAG_TO_MOVE"] = "Trage pentru a miÅŸca"; -Calendar._TT["PART_TODAY"] = " (astăzi)"; -Calendar._TT["DAY_FIRST"] = "AfiÅŸează %s prima zi"; -Calendar._TT["WEEKEND"] = "0,6"; -Calendar._TT["CLOSE"] = "ÃŽnchide"; -Calendar._TT["TODAY"] = "Astăzi"; -Calendar._TT["TIME_PART"] = "(Shift-)Click sau drag pentru a selecta"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%d-%m-%Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %d %B"; - -Calendar._TT["WK"] = "spt"; -Calendar._TT["TIME"] = "Ora:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ru.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ru.js deleted file mode 100644 index 3bdae17f4a9ee5f3a7212c4bfd99df4df6e09bb1..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-ru.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Âîñêðåñåíüå", - "Ïîíåäåëüíèê", - "Âòîðíèê", - "Ñðåäà", - "×åòâåðã", - "Ïÿòíèöà", - "Ñóááîòà", - "Âîñêðåñåíüå"); -Calendar._MN = new Array -("ßíâàðü", - "Ôåâðàëü", - "Ìàðò", - "Àïðåëü", - "Ìàé", - "Èþíü", - "Èþëü", - "Àâãóñò", - "Ñåíòÿáðü", - "Îêòÿáðü", - "Íîÿáðü", - "Äåêàáðü"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Ñìåíèòü äåíü íà÷àëà íåäåëè (ÏÍ/ÂÑ)"; -Calendar._TT["PREV_YEAR"] = "Ïðåä. ãîä (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["PREV_MONTH"] = "Ïðåä. ìåñÿö (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["GO_TODAY"] = "Íà ñåãîäíÿ"; -Calendar._TT["NEXT_MONTH"] = "Ñëåä. ìåñÿö (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["NEXT_YEAR"] = "Ñëåä. ãîä (óäåðæèâàòü äëÿ ìåíþ)"; -Calendar._TT["SEL_DATE"] = "Âûáðàòü äàòó"; -Calendar._TT["DRAG_TO_MOVE"] = "Ïåðåòàùèòü"; -Calendar._TT["PART_TODAY"] = " (ñåãîäíÿ)"; -Calendar._TT["MON_FIRST"] = "Ïîêàçàòü ïîíåäåëüíèê ïåðâûì"; -Calendar._TT["SUN_FIRST"] = "Ïîêàçàòü âîñêðåñåíüå ïåðâûì"; -Calendar._TT["CLOSE"] = "Çàêðûòü"; -Calendar._TT["TODAY"] = "Ñåãîäíÿ"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; - -Calendar._TT["WK"] = "íåä"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-si.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-si.js deleted file mode 100644 index 77f4aa8d378ed90b6226b5883241036643e1ee7c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-si.js +++ /dev/null @@ -1,94 +0,0 @@ -/* Slovenian language file for the DHTML Calendar version 0.9.2 -* Author David Milost <mercy@volja.net>, January 2004. -* Feel free to use this script under the terms of the GNU Lesser General -* Public License, as long as you do not remove or alter this notice. -*/ - // full day names -Calendar._DN = new Array -("Nedelja", - "Ponedeljek", - "Torek", - "Sreda", - "ÄŒetrtek", - "Petek", - "Sobota", - "Nedelja"); - // short day names - Calendar._SDN = new Array -("Ned", - "Pon", - "Tor", - "Sre", - "ÄŒet", - "Pet", - "Sob", - "Ned"); -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "Maj", - "Jun", - "Jul", - "Avg", - "Sep", - "Okt", - "Nov", - "Dec"); - // full month names -Calendar._MN = new Array -("Januar", - "Februar", - "Marec", - "April", - "Maj", - "Junij", - "Julij", - "Avgust", - "September", - "Oktober", - "November", - "December"); - -// tooltips -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O koledarju"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Za zadnjo verzijo pojdine na naslov: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribuirano pod GNU LGPL. Poglejte http://gnu.org/licenses/lgpl.html za podrobnosti." + -"\n\n" + -"Izbor datuma:\n" + -"- Uporabite \xab, \xbb gumbe za izbor leta\n" + -"- Uporabite " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " gumbe za izbor meseca\n" + -"- Zadržite klik na kateremkoli od zgornjih gumbov za hiter izbor."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Izbor ćasa:\n" + -"- Kliknite na katerikoli del ćasa za poveć. le-tega\n" + -"- ali Shift-click za zmanj. le-tega\n" + -"- ali kliknite in povlecite za hiter izbor."; - -Calendar._TT["TOGGLE"] = "Spremeni dan s katerim se prićne teden"; -Calendar._TT["PREV_YEAR"] = "Predhodnje leto (dolg klik za meni)"; -Calendar._TT["PREV_MONTH"] = "Predhodnji mesec (dolg klik za meni)"; -Calendar._TT["GO_TODAY"] = "Pojdi na tekoći dan"; -Calendar._TT["NEXT_MONTH"] = "Naslednji mesec (dolg klik za meni)"; -Calendar._TT["NEXT_YEAR"] = "Naslednje leto (dolg klik za meni)"; -Calendar._TT["SEL_DATE"] = "Izberite datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Pritisni in povleci za spremembo pozicije"; -Calendar._TT["PART_TODAY"] = " (danes)"; -Calendar._TT["MON_FIRST"] = "Prikaži ponedeljek kot prvi dan"; -Calendar._TT["SUN_FIRST"] = "Prikaži nedeljo kot prvi dan"; -Calendar._TT["CLOSE"] = "Zapri"; -Calendar._TT["TODAY"] = "Danes"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "Ted"; \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sk.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sk.js deleted file mode 100644 index 9b8c20516e2b73da919e7f18bff23390cb351534..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sk.js +++ /dev/null @@ -1,99 +0,0 @@ -// ** I18N - -// Calendar SK language -// Author: Peter Valach (pvalach@gmx.net) -// Encoding: utf-8 -// Last update: 2003/10/29 -// Distributed under the same terms as the calendar itself. - -// full day names -Calendar._DN = new Array -("NedeÄľa", - "Pondelok", - "Utorok", - "Streda", - "Ĺ tvrtok", - "Piatok", - "Sobota", - "NedeÄľa"); - -// short day names -Calendar._SDN = new Array -("Ned", - "Pon", - "Uto", - "Str", - "Ĺ tv", - "Pia", - "Sob", - "Ned"); - -// full month names -Calendar._MN = new Array -("Január", - "Február", - "Marec", - "AprÄ‚Âl", - "Máj", - "JÄ‚ÅŸn", - "JÄ‚ÅŸl", - "August", - "September", - "OktÄ‚Å‚ber", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "Máj", - "JÄ‚ÅŸn", - "JÄ‚ÅŸl", - "Aug", - "Sep", - "Okt", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "O kalendári"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + -"PoslednÄ‚ÅŸ verziu nájdete na: http://dynarch.com/mishoo/calendar.epl\n" + -"DistribuovanĂ© pod GNU LGPL. ViÄŹ http://gnu.org/licenses/lgpl.html pre detaily." + -"\n\n" + -"VÄ‚Ëber dátumu:\n" + -"- PouĹľite tlaÄŤidlá \xab, \xbb pre vÄ‚Ëber roku\n" + -"- PouĹľite tlaÄŤidlá " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " pre vÄ‚Ëber mesiaca\n" + -"- Ak ktorĂ©koÄľvek z tÄ‚Ëchto tlaÄŤidiel podrĹľĂÂte dlhšie, zobrazÄ‚Â sa rÄ‚Ëchly vÄ‚Ëber."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"VÄ‚Ëber ÄŤasu:\n" + -"- Kliknutie na niektorÄ‚ÅŸ poloĹľku ÄŤasu ju zvÄ‚Ëši\n" + -"- Shift-klik ju znÄ‚ÂĹľi\n" + -"- Ak podrĹľĂÂte tlaÄŤĂÂtko stlaÄŤenĂ©, posÄ‚ÅŸvanÄ‚Âm menÄ‚Âte hodnotu."; - -Calendar._TT["PREV_YEAR"] = "PredošlÄ‚Ë rok (podrĹľte pre menu)"; -Calendar._TT["PREV_MONTH"] = "PredošlÄ‚Ë mesiac (podrĹľte pre menu)"; -Calendar._TT["GO_TODAY"] = "PrejsĹĄ na dnešok"; -Calendar._TT["NEXT_MONTH"] = "Nasl. mesiac (podrĹľte pre menu)"; -Calendar._TT["NEXT_YEAR"] = "Nasl. rok (podrĹľte pre menu)"; -Calendar._TT["SEL_DATE"] = "ZvoÄľte dátum"; -Calendar._TT["DRAG_TO_MOVE"] = "PodrĹľanÄ‚Âm tlaÄŤĂÂtka zmenÄ‚Âte polohu"; -Calendar._TT["PART_TODAY"] = " (dnes)"; -Calendar._TT["MON_FIRST"] = "ZobraziĹĄ pondelok ako prvÄ‚Ë"; -Calendar._TT["SUN_FIRST"] = "ZobraziĹĄ nedeÄľu ako prvÄ‚ÅŸ"; -Calendar._TT["CLOSE"] = "ZavrieĹĄ"; -Calendar._TT["TODAY"] = "Dnes"; -Calendar._TT["TIME_PART"] = "(Shift-)klik/ĹĄahanie zmenÄ‚Â hodnotu"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "$d. %m. %Y"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %e. %b"; - -Calendar._TT["WK"] = "tÄ‚ËĹľ"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sp.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sp.js deleted file mode 100644 index 5aa94c6de70c4e21cd3b1ed97bd5aac72967681d..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sp.js +++ /dev/null @@ -1,63 +0,0 @@ -// ** I18N -Calendar._DN = new Array -("Domingo", - "Lunes", - "Martes", - "Miercoles", - "Jueves", - "Viernes", - "Sabado", - "Domingo"); -Calendar._MN = new Array -("Enero", - "Febrero", - "Marzo", - "Abril", - "Mayo", - "Junio", - "Julio", - "Agosto", - "Septiembre", - "Octubre", - "Noviembre", - "Diciembre"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Información del Calendario"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Nuevas versiones en: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribuida bajo licencia GNU LGPL. Para detalles vea http://gnu.org/licenses/lgpl.html ." + -"\n\n" + -"Selección de Fechas:\n" + -"- Use \xab, \xbb para seleccionar el año\n" + -"- Use " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " para seleccionar el mes\n" + -"- Mantenga presionado el botón del ratón en cualquiera de las opciones superiores para un acceso rapido ."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Selección del Reloj:\n" + -"- Seleccione la hora para cambiar el reloj\n" + -"- o presione Shift-click para disminuirlo\n" + -"- o presione click y arrastre del ratón para una selección rapida."; - -Calendar._TT["TOGGLE"] = "Primer dia de la semana"; -Calendar._TT["PREV_YEAR"] = "Año anterior (Presione para menu)"; -Calendar._TT["PREV_MONTH"] = "Mes Anterior (Presione para menu)"; -Calendar._TT["GO_TODAY"] = "Ir a Hoy"; -Calendar._TT["NEXT_MONTH"] = "Mes Siguiente (Presione para menu)"; -Calendar._TT["NEXT_YEAR"] = "Año Siguiente (Presione para menu)"; -Calendar._TT["SEL_DATE"] = "Seleccione fecha"; -Calendar._TT["DRAG_TO_MOVE"] = "Arrastre y mueva"; -Calendar._TT["PART_TODAY"] = " (Hoy)"; -Calendar._TT["MON_FIRST"] = "Lunes Primero"; -Calendar._TT["SUN_FIRST"] = "Domingo Primero"; -Calendar._TT["CLOSE"] = "Cerrar"; -Calendar._TT["TODAY"] = "Hoy"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-yy"; -Calendar._TT["TT_DATE_FORMAT"] = "%A, %e de %B de %Y"; - -Calendar._TT["WK"] = "Smn"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sq.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sq.js deleted file mode 100644 index a81dd029ac045244b6ef78a3c56d81f5895ab1c7..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sq.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("E diel", - "E hënë", - "E martë", - "E mërkurë", - "E enjte", - "E premte", - "E shtunë", - "E diel"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Die", - "Hën", - "Mar", - "Mër", - "Enj", - "Pre", - "Sht", - "Die"); - -// full month names -Calendar._MN = new Array -("Janar", - "Shkurt", - "Mars", - "Prill", - "Maj", - "Qershor", - "Korrik", - "Gusht", - "Shtator", - "Tetor", - "Nëntor", - "Dhjetor"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Shk", - "Mar", - "Pri", - "Maj", - "Qer", - "Kor", - "Gst", - "Sht", - "Tet", - "Nën", - "Dhj"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Për kalendarin"; - -Calendar._TT["ABOUT"] = -"DHTML Përzgjedhësi Data/Ora\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"Për versionet e fundit vizito: http://dynarch.com/mishoo/calendar.epl\n" + -"Shpërndrarë nën GNU LGPL. Shih http://gnu.org/licenses/lgpl.html për detajet." + -"\n\n" + -"Përzgjedhja e datës:\n" + -"- Përdor pullat \xab, \xbb për të përzgjedhur vitin\n" + -"- Përdor pullat " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " për të përzgjedhur muajt\n" + -"- Mbaje të shtypur pullën e miut mbi cilëndo pullë për një përzgjedhje më të shpejtë."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Përzgjedhja e orës:\n" + -"- Kliko në cilëdo pjesë të pjesëve të orës për të shtuar atë\n" + -"- ose Shift-klik për të zbritur atë \n" + -"- ose klik dhe tërheq për përzgjedhje më të shpejtë."; - -Calendar._TT["PREV_YEAR"] = "Viti paraprak (mbaj për menynë)"; -Calendar._TT["PREV_MONTH"] = "Muaji paraprak (mbaj për menynë)"; -Calendar._TT["GO_TODAY"] = "Dita e sotme"; -Calendar._TT["NEXT_MONTH"] = "Muaju pasues (mbaj për menynë)"; -Calendar._TT["NEXT_YEAR"] = "Viti pasues (mbaj për menynë)"; -Calendar._TT["SEL_DATE"] = "Përzgjedh datë"; -Calendar._TT["DRAG_TO_MOVE"] = "Tërheq për të zhvendosur"; -Calendar._TT["PART_TODAY"] = " (sot)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Shfaq %s të parën"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Mbyll"; -Calendar._TT["TODAY"] = "Sot"; -Calendar._TT["TIME_PART"] = "(Shift-)Klik ose tërheq për të ndërruar vlerën"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "kohë:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sv.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sv.js deleted file mode 100644 index 07adb4c430999af4f27270f00c6db16778838580..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-sv.js +++ /dev/null @@ -1,93 +0,0 @@ -// ** I18N - -// Calendar SV language (Swedish, svenska) -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Translation team: <sv@li.org> -// Translator: Leonard Norrgård <leonard.norrgard@refactor.fi> -// Last translator: Leonard Norrgård <leonard.norrgard@refactor.fi> -// Encoding: iso-latin-1 -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("söndag", - "måndag", - "tisdag", - "onsdag", - "torsdag", - "fredag", - "lördag", - "söndag"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. -Calendar._SDN_len = 2; -Calendar._SMN_len = 3; - -// full month names -Calendar._MN = new Array -("januari", - "februari", - "mars", - "april", - "maj", - "juni", - "juli", - "augusti", - "september", - "oktober", - "november", - "december"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "Om kalendern"; - -Calendar._TT["ABOUT"] = -"DHTML Datum/tid-väljare\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"För senaste version gå till: http://dynarch.com/mishoo/calendar.epl\n" + -"Distribueras under GNU LGPL. Se http://gnu.org/licenses/lgpl.html för detaljer." + -"\n\n" + -"Val av datum:\n" + -"- Använd knapparna \xab, \xbb för att välja år\n" + -"- Använd knapparna " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " för att välja månad\n" + -"- Håll musknappen nedtryckt på någon av ovanstående knappar för snabbare val."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Val av tid:\n" + -"- Klicka på en del av tiden för att öka den delen\n" + -"- eller skift-klicka för att minska den\n" + -"- eller klicka och drag för snabbare val."; - -Calendar._TT["PREV_YEAR"] = "Föregående år (håll för menu)"; -Calendar._TT["PREV_MONTH"] = "Föregående månad (håll för menu)"; -Calendar._TT["GO_TODAY"] = "Gå till dagens datum"; -Calendar._TT["NEXT_MONTH"] = "Följande månad (håll för menu)"; -Calendar._TT["NEXT_YEAR"] = "Följande år (håll för menu)"; -Calendar._TT["SEL_DATE"] = "Välj datum"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag för att flytta"; -Calendar._TT["PART_TODAY"] = " (idag)"; -Calendar._TT["MON_FIRST"] = "Visa måndag först"; -Calendar._TT["SUN_FIRST"] = "Visa söndag först"; -Calendar._TT["CLOSE"] = "Stäng"; -Calendar._TT["TODAY"] = "Idag"; -Calendar._TT["TIME_PART"] = "(Skift-)klicka eller drag för att ändra tid"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%A %d %b %Y"; - -Calendar._TT["WK"] = "vecka"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-tr.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-tr.js deleted file mode 100644 index 2164687fbb0664c5e333ae5ca68622fd7b4423b8..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-tr.js +++ /dev/null @@ -1,58 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////// -// Turkish Translation by Nuri AKMAN -// Location: Ankara/TURKEY -// e-mail : nuriakman@hotmail.com -// Date : April, 9 2003 -// -// Note: if Turkish Characters does not shown on you screen -// please include falowing line your html code: -// -// <meta http-equiv="Content-Type" content="text/html; charset=windows-1254"> -// -////////////////////////////////////////////////////////////////////////////////////////////// - -// ** I18N -Calendar._DN = new Array -("Pazar", - "Pazartesi", - "Salý", - "Çarþamba", - "Perþembe", - "Cuma", - "Cumartesi", - "Pazar"); -Calendar._MN = new Array -("Ocak", - "Þubat", - "Mart", - "Nisan", - "Mayýs", - "Haziran", - "Temmuz", - "Aðustos", - "Eylül", - "Ekim", - "Kasým", - "Aralýk"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Haftanýn ilk gününü kaydýr"; -Calendar._TT["PREV_YEAR"] = "Önceki Yýl (Menü için basýlý tutunuz)"; -Calendar._TT["PREV_MONTH"] = "Önceki Ay (Menü için basýlý tutunuz)"; -Calendar._TT["GO_TODAY"] = "Bugün'e git"; -Calendar._TT["NEXT_MONTH"] = "Sonraki Ay (Menü için basýlý tutunuz)"; -Calendar._TT["NEXT_YEAR"] = "Sonraki Yýl (Menü için basýlý tutunuz)"; -Calendar._TT["SEL_DATE"] = "Tarih seçiniz"; -Calendar._TT["DRAG_TO_MOVE"] = "Taþýmak için sürükleyiniz"; -Calendar._TT["PART_TODAY"] = " (bugün)"; -Calendar._TT["MON_FIRST"] = "Takvim Pazartesi gününden baþlasýn"; -Calendar._TT["SUN_FIRST"] = "Takvim Pazar gününden baþlasýn"; -Calendar._TT["CLOSE"] = "Kapat"; -Calendar._TT["TODAY"] = "Bugün"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "dd-mm-y"; -Calendar._TT["TT_DATE_FORMAT"] = "d MM y, DD"; - -Calendar._TT["WK"] = "Hafta"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-vi.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-vi.js deleted file mode 100644 index e9d6a222eb83f84d6b80f4aeee07cdbf722592e0..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-vi.js +++ /dev/null @@ -1,123 +0,0 @@ -// ** I18N - -// Calendar EN language -// Author: Mihai Bazon, <mishoo@infoiasi.ro> -// Encoding: any -// Distributed under the same terms as the calendar itself. - -// For translators: please use UTF-8 if possible. We strongly believe that -// Unicode is the answer to a real internationalized world. Also please -// include your contact information in the header, as can be seen above. - -// full day names -Calendar._DN = new Array -("Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday"); - -// Please note that the following array of short day names (and the same goes -// for short month names, _SMN) isn't absolutely necessary. We give it here -// for exemplification on how one can customize the short day names, but if -// they are simply the first N letters of the full name you can simply say: -// -// Calendar._SDN_len = N; // short day name length -// Calendar._SMN_len = N; // short month name length -// -// If N = 3 then this is not needed either since we assume a value of 3 if not -// present, to be compatible with translation files that were written before -// this feature. - -// short day names -Calendar._SDN = new Array -("Sun", - "Mon", - "Tue", - "Wed", - "Thu", - "Fri", - "Sat", - "Sun"); - -// full month names -Calendar._MN = new Array -("January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December"); - -// short month names -Calendar._SMN = new Array -("Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = "About the calendar"; - -Calendar._TT["ABOUT"] = -"DHTML Date/Time Selector\n" + -"(c) dynarch.com 2002-2003\n" + // don't translate this this ;-) -"For latest version visit: http://dynarch.com/mishoo/calendar.epl\n" + -"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + -"\n\n" + -"Date selection:\n" + -"- Use the \xab, \xbb buttons to select year\n" + -"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" + -"- Hold mouse button on any of the above buttons for faster selection."; -Calendar._TT["ABOUT_TIME"] = "\n\n" + -"Time selection:\n" + -"- Click on any of the time parts to increase it\n" + -"- or Shift-click to decrease it\n" + -"- or click and drag for faster selection."; - -Calendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)"; -Calendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)"; -Calendar._TT["GO_TODAY"] = "Go Today"; -Calendar._TT["NEXT_MONTH"] = "Next month (hold for menu)"; -Calendar._TT["NEXT_YEAR"] = "Next year (hold for menu)"; -Calendar._TT["SEL_DATE"] = "Select date"; -Calendar._TT["DRAG_TO_MOVE"] = "Drag to move"; -Calendar._TT["PART_TODAY"] = " (today)"; - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "Display %s first"; - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = "0,6"; - -Calendar._TT["CLOSE"] = "Close"; -Calendar._TT["TODAY"] = "Today"; -Calendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; -Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; - -Calendar._TT["WK"] = "wk"; -Calendar._TT["TIME"] = "Time:"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-zh.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-zh.js deleted file mode 100644 index c0c545600ed4c95d9a7a7441c6d62d49653bb455..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/lang/calendar-zh.js +++ /dev/null @@ -1,45 +0,0 @@ -// ** Translated by ATang ** I18N -Calendar._DN = new Array -("ÐÇÆÚÈÕ", - "ÐÇÆÚÒ»", - "ÐÇÆÚ¶þ", - "ÐÇÆÚÈý", - "ÐÇÆÚËÄ", - "ÐÇÆÚÎå", - "ÐÇÆÚÁù", - "ÐÇÆÚÈÕ"); -Calendar._MN = new Array -("Ò»ÔÂ", - "¶þÔÂ", - "ÈýÔÂ", - "ËÄÔÂ", - "ÎåÔÂ", - "ÁùÔÂ", - "ÆßÔÂ", - "°ËÔÂ", - "¾ÅÔÂ", - "Ê®ÔÂ", - "ʮһÔÂ", - "Ê®¶þÔÂ"); - -// tooltips -Calendar._TT = {}; -Calendar._TT["TOGGLE"] = "Çл»ÖÜ¿ªÊ¼µÄÒ»Ìì"; -Calendar._TT["PREV_YEAR"] = "ÉÏÒ»Äê (°´×¡³ö²Ëµ¥)"; -Calendar._TT["PREV_MONTH"] = "ÉÏÒ»Ô (°´×¡³ö²Ëµ¥)"; -Calendar._TT["GO_TODAY"] = "µ½½ñÈÕ"; -Calendar._TT["NEXT_MONTH"] = "ÏÂÒ»Ô (°´×¡³ö²Ëµ¥)"; -Calendar._TT["NEXT_YEAR"] = "ÏÂÒ»Äê (°´×¡³ö²Ëµ¥)"; -Calendar._TT["SEL_DATE"] = "Ñ¡ÔñÈÕÆÚ"; -Calendar._TT["DRAG_TO_MOVE"] = "Í϶¯"; -Calendar._TT["PART_TODAY"] = " (½ñÈÕ)"; -Calendar._TT["MON_FIRST"] = "Ê×ÏÈÏÔʾÐÇÆÚÒ»"; -Calendar._TT["SUN_FIRST"] = "Ê×ÏÈÏÔʾÐÇÆÚÈÕ"; -Calendar._TT["CLOSE"] = "¹Ø±Õ"; -Calendar._TT["TODAY"] = "½ñÈÕ"; - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = "y-mm-dd"; -Calendar._TT["TT_DATE_FORMAT"] = "D, M d"; - -Calendar._TT["WK"] = "ÖÜ"; diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/menuarrow.gif b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/menuarrow.gif deleted file mode 100644 index ed2dee0e6368d201bf5d32833884c7c1da6c7424..0000000000000000000000000000000000000000 Binary files a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/menuarrow.gif and /dev/null differ diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/menuarrow2.gif b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/menuarrow2.gif deleted file mode 100644 index 40c0aadfc6e62e7cdf4a0dc4a3a3d735c6995b76..0000000000000000000000000000000000000000 Binary files a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/menuarrow2.gif and /dev/null differ diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/olat_datetimeselect_test.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/olat_datetimeselect_test.html deleted file mode 100644 index 5e3b3fb85b38dd309652363d3c1969cec453b55c..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/olat_datetimeselect_test.html +++ /dev/null @@ -1,50 +0,0 @@ -<html style="background-color: buttonface; color: buttontext;"> - -<head> -<meta http-equiv="content-type" content="text/xml; charset=utf-8" /> - -<title>Simple calendar setups [popup calendar]</title> - - <!-- calendar stylesheet --> - <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" /> - - <!-- main calendar program --> - <script type="text/javascript" src="calendar.js"></script> - - <!-- language for the calendar --> - <script type="text/javascript" src="lang/calendar-en.js"></script> - - <!-- the following script defines the Calendar.setup helper function, which makes - adding a calendar a matter of 1 or 2 lines of code. --> - <script type="text/javascript" src="calendar-setup.js"></script> - -</head> - -<body> - -<form action="#" method="get"> -<table cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr> - <td><input type="text" name="date" id="f_date_c" readonly="1" /></td> - <td><img src="img.gif" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector" - onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td> -</table> -</form> - -<script type="text/javascript"> - Calendar.setup({ - inputField : "f_date_c", // id of the input field - ifFormat : "%d.%m.%Y %H:%M", // format of the input field - button : "f_trigger_c", // trigger for the calendar (button ID) - align : "Tl", // alignment (defaults to "Bl") - singleClick : false, - showsTime : true, - timeFormat : "24", - cache : true, - showOthers : true - }); -</script> - - - -</body> -</html> diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/olatcalendartranslator.js b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/olatcalendartranslator.js deleted file mode 100644 index 10dd174ff17891b515b921722917c3be4a80ed7b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/olatcalendartranslator.js +++ /dev/null @@ -1,101 +0,0 @@ -// get olat translator for calendar package -var trans = jQuery(document).ooTranslator().getTranslator(o_info.locale, 'org.olat.core.gui.components.form._static.js.jscalendar'); - -// short day names -Calendar._SDN = new Array( -trans.translate('day.short.so'), -trans.translate('day.short.mo'), -trans.translate('day.short.di'), -trans.translate('day.short.mi'), -trans.translate('day.short.do'), -trans.translate('day.short.fr'), -trans.translate('day.short.sa') -); - -// full day names -Calendar._DN = new Array( -trans.translate('day.long.so'), -trans.translate('day.long.mo'), -trans.translate('day.long.di'), -trans.translate('day.long.mi'), -trans.translate('day.long.do'), -trans.translate('day.long.fr'), -trans.translate('day.long.sa') -); - -// short day names only use 2 letters instead of 3 -Calendar._SDN_len = 2; - -// full month names -Calendar._MN = new Array( -trans.translate('month.long.jan'), -trans.translate('month.long.feb'), -trans.translate('month.long.mar'), -trans.translate('month.long.apr'), -trans.translate('month.long.mai'), -trans.translate('month.long.jun'), -trans.translate('month.long.jul'), -trans.translate('month.long.aug'), -trans.translate('month.long.sep'), -trans.translate('month.long.oct'), -trans.translate('month.long.nov'), -trans.translate('month.long.dec') -); - -// short month names -Calendar._SMN = new Array( -trans.translate('month.short.jan'), -trans.translate('month.short.feb'), -trans.translate('month.short.mar'), -trans.translate('month.short.apr'), -trans.translate('month.short.mai'), -trans.translate('month.short.jun'), -trans.translate('month.short.jul'), -trans.translate('month.short.aug'), -trans.translate('month.short.sept'), -trans.translate('month.short.oct'), -trans.translate('month.short.nov'), -trans.translate('month.short.dec') -); - -// tooltips -Calendar._TT = {}; -Calendar._TT["INFO"] = trans.translate('info'); - -Calendar._TT["ABOUT"] = -trans.translate('about.title') + -"\n(c) dynarch.com 2002-2003\n" + -trans.translate('about.content'); - -Calendar._TT["ABOUT_TIME"] = trans.translate('about.time'); - -Calendar._TT["TOGGLE"] = trans.translate('toggle'); -Calendar._TT["PREV_YEAR"] = trans.translate('previous.year'); -Calendar._TT["PREV_MONTH"] = trans.translate('previous.month'); -Calendar._TT["GO_TODAY"] = trans.translate('today'); -Calendar._TT["NEXT_MONTH"] = trans.translate('next.month'); -Calendar._TT["NEXT_YEAR"] = trans.translate('next.year'); -Calendar._TT["SEL_DATE"] = trans.translate('select.date'); -Calendar._TT["DRAG_TO_MOVE"] = trans.translate('drag.to.move'); -Calendar._TT["PART_TODAY"] = " (" + trans.translate('today') + ")"; -Calendar._TT["MON_FIRST"] = trans.translate('monday.first'); -Calendar._TT["SUN_FIRST"] = trans.translate('sunday.first'); -Calendar._TT["CLOSE"] = trans.translate('close'); -Calendar._TT["TODAY"] = trans.translate('today'); - -// the following is to inform that "%s" is to be the first day of week -// %s will be replaced with the day name. -Calendar._TT["DAY_FIRST"] = "%s " + trans.translate('day.first'); - -// This may be locale-dependent. It specifies the week-end days, as an array -// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 -// means Monday, etc. -Calendar._TT["WEEKEND"] = trans.translate('weekend.days'); - -Calendar._TT["TIME_PART"] = trans.translate('time.part'); - -// date formats -Calendar._TT["DEF_DATE_FORMAT"] = trans.translate('formate.date'); -Calendar._TT["TT_DATE_FORMAT"] = trans.translate('choose.date'); - -Calendar._TT["WK"] = trans.translate('calendar.week'); diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/release-notes.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/release-notes.html deleted file mode 100644 index 97b3a8e844c16ee1b66c96bdaca9eea8d6e3ab47..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/release-notes.html +++ /dev/null @@ -1,334 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2//EN"> -<html> - <head> - <title>jscalendar release notes</title> - - <style type="text/css"> - h1 { border-bottom: 1px solid #000; } - h2 { border-bottom: 1px solid #444; } - ul li { margin-top: 0.5em; margin-bottom: 0.5em; } - </style> - </head> - - <body> - <h1>jscalendar release notes</h1> - - <p>This release compiled at Friday, 6 Feb 2004 (21:40).</p> - - <h2>0.9.6</h2> - - <ul> - - <li> - "Smart" (TM :-) positioning algorithm. The new algorithm will - try to keep the calendar in the browser view, which is helpful - in situations when the input field is near the bottom or the - right edge. This code is only tested with IE and Mozilla, but - it should work with other browsers too. Many thanks to <a - href="http://www.ex3.com">Sunny Chowdhury</a> for sponsoring - this feature! - </li> - - <li> - Support for IE5/Win is back. I also want to thank Janusz - Piwowarski for keeping his eye on the CVS ;-) He reviewed my - IE5-related changes and sent me a much cleaner patch. - </li> - - <li> - The calendar will now allow any day of week to be "the first - day of week". This was requested long time ago, by someone - whose name I forgot (sorry). The reason was that in certain - countries weeks start on Saturday. So I thought that instead - of having a "mondayFirst" and a "saturdayFirst" parameter, - :-), it's better to have a "firstDayOfWeek" parameter; now - it's present and its meaning is: "0 for Sunday", "1 for - Monday", "2 for Tuesday", etc. The equivalent parameter for - Calendar.setup is "firstDay". The end user can also change - it very easy: click on the day name in the calendar display. - </li> - - <li> - The above feature triggered one <b>important change</b>: the - notion of "weekend" is now defined in the language file. - Added parameters: - - <pre> - Calendar._TT["WEEKEND"] = "0,6"; - Calendar._TT["DAY_FIRST"] = "Display %s first";</pre> - - "WEEKEND" specifies a string with comma-separated numbers from - 0 to 7; they define what days are marked as "weekend". 5 and - 6 mean, of course, "Sunday" and "Saturday". Day first is the - tooltip displayed when a day name is hovered; "%s" will get - replaced with the day name. Updated languages are "en" and - "ro", which I maintain. Please note that languages wich are - not updated <b>will not work</b>. If yours is one of them, - please consider fixing it and sending me the fix so that I can - include it in the distro. - </li> - - <li> - The calendar can now display days from the months adjacent to - the currently displayed one. This is optional, of course, and - the parameter name is "showsOtherMonths" (or "showOthers" in - Calendar.setup). All theme files were updated. - </li> - - <li> - Displays "Time:" near the time selector, only if defined in - the language file. - </li> - - <li> - Some bugs fixed in the date parsing code (which has also been - rewritten a little bit cleaner). - </li> - - <li> - Calendar.setup will now configure the calendar to trigger the - input fields' "onchange" event, if specified, when a date is - selected. - </li> - - <li> - New parameter in Calendar.setup: "cache" (<b>defaults to - false</b>). If set to true then the popup calendar object - will be "cached", meaning, it will be created only once, no - matter how many input fields are there in the page. Sometimes - this is not desirable, which is why I've added this - parameter. Please note that it defaults to "false" (thus the - default behavior has changed). - </li> - - <li> - Added a simple PHP wrapper. It provides code which loads all - the required scripts and theme file, and one function which - creates and configures an input field for date input. It - takes care of creating and assigning unique ID-s for the - calendar fields and it also creates the "Calendar.setup" code. - Functions to create more specialized fields can be added very - easily. This feature was requested by the FreeMED.org project - (thanks for donating!). - </li> - - </ul> - - <p>Wow, there were quite some changes :-D Enjoy it!</p> - - <h2>0.9.5</h2> - - <p> - This release's primary goal is to fix a wrong license statement which - can be found in some files from 0.9.4. For instance in README or - calendar.js, the statement was that the code is distributed under the - GNU GPL; that's because I had plans to change the license, then - changed my mind but unfortunately I committed files so. I am sorry - for this inconvenience, please use the latest (0.9.5) release which is - fully covered by LGPL. - </p> - - <p>Other changes:</p> - - <ul> - - <li> - <b>Fixed</b> an annoying bug that prevented the calendar to display - correctly when it was configured for an input field inside a - <b>scrolling area</b>. <b>Many thanks</b> to Ian Barrack (<a - href="http://www.simban.com">Simban.com</a>) who pointed it up and - donated quite some money for the Calendar project! - </li> - - <li> - All examples use UTF-8 now; the translations may not be all - up-to-date, but I <strong>strongly</strong> suggest everyone to use - UTF-8; other encodings are a plain mess. So far I know for sure - that Romanian translation will work with UTF-8 and <em>not - anymore</em> with ISO-8859-2. Other translations are probably - usable under UTF-8, but if your preferred language isn't... ;-) - please make it and send it to me for inclusion. - </li> - - <li> - Fixed small bug in the documentation (one footnote didn't appear - where it should have). - </li> - - <li> - Updated translations: DE, ES, HU, IT, RO. Thanks to everyone who - sent translations! - </li> - - </ul> - - <h2>0.9.4</h2> - - <h3>New stuff</h3> - - <ul> - - <li>Supports time selection. Yes. ;-) This work has been largely - sponsored by <strong>Himanshukumar Shah</strong> (thank you!). See - the docs and example files for details on how to setup.</li> - - <li>Easy to link 2 or more fields by using the new - <code>onUpdate</code> parameter of <code>Calendar.setup</code>. This - is useful, say, to automatically set a value in a second field based - on the value selected in the first field. See the documentation and - first sample in <a href="simple-1.html">simple-1.html</a>.</li> - - <li>Other <code>Calendar.setup</code> low-level parameters, for those - wanting to have the complete control: <code>onSelect</code> and - <code>onClose</code>. The handlers are called when something is - selected in the calendar or when the calendar is closed.</li> - - <li>The translation files can optionally include the short day names - and the short month names. That's because in some languages, like - German, the short form is not the first 3 letters of the entire name - but only the first 2. Also in other languages short names can't be - as easily derived from the full name by just calling substr, so this - patch solves the problem.</li> - - <li>Implemented a nice way to make some dates "special" (look - different). Specifically, the <code>setDisabledHandler</code> method - was replaced with the more general <code>setDateStatusHandler</code> - method (the old one is still available for backwards compatibility but - <em>will</em> be removed). More details about this in the - documentation. Also see <a href="simple-3.html">simple-3.html</a> - for a live sample.</li> - - <li>Date parsing and formatting engine is now rewritten and supports a - subset of <code>strftime</code> format specifiers from ANSI C. This - makes it possible to use dates like "YYYYMMDD" (the corresponding - format for this would be "%Y%m%d"). Details in the documentation. - <b>Please note that the new engine is not compatibile with older - calendar releases!</b></li> - - <li>Along with the new date parser I workarounded an unpleasant crash - that occurred in IE when certain accented characters appeared in the - texts. I think German was one of the language with such problems, and - the workaround was to use the letter without an accent. Well, now you - can translate to whatever you want.</li> - - <li>"Fixes" (I mean, "horrible workarounds") for Konqueror (and - hopefully Safari). Unfortunately, this otherwise excellent browser - still has some bugs that keep the calendar from working - <em>exactly</em> as it should.. But they're going to be fixed, - right? ;-)</li> - - <li>CSS themes got pretty much modified too so if you wrote your theme - you need to update it. Aside for the time selector support, the CSS - themes contain a simple hack that makes the navigation buttons show - a little arrow in the lower-right corner which indicates that if one - holds the mouse a menu will appear.</li> - - </ul> - - <h3>Translation files</h3> - - <p>The translation files need to be updated in order for the calendar to - work properly. Currently the only updated files are calendar-en.js - (main file) and calendar-ro.js (well, yes, I am a Romanian ;-).</p> - - <p>Specifically, they need the following:</p> - - <ul> - - <li>Correct date format, according with the new format specifiers - introduced in 0.9.4. Details about the available format specifiers - in the documentation</li> - - <li>Short day or month names, <em>if required</em>. If they can be - derived by taking the first N letters of the full name then a simple - Calendar._SDN_len = N or Calendar._SMN_len = N will suffice. If N - is 3 then nothing needs to be done as we take it for granted if no - other option is offered ;-)</li> - - <li>We have some new texts that shows short usage information as well - as copyright information.</li> - - </ul> - - <p>If your favorite language is not there yet, or it is but not updated - according to the main calendar-en.js file, then please consider - translating calendar-en.js and send the translation back to me so that - I include it in the official distribution.</p> - - <h3>Bug status</h3> - - <p>Check <a - href="http://sourceforge.net/tracker/?atid=544285&group_id=75569&func=browse">SourceForge</a>, - I didn't keep track. However, there were a lot of bugfixes.</p> - - <h2>0.9.3</h2> - - <h3>New stuff</h3> - - <ul> - - <li>Opera 7 compatibility — keyboard navigation is - still not available; text selection can't be disabled, leading to an - ugly effect when walking through the month/year menus.</li> - - <li>Ability to align the calendar relative to the input field (or any - other element). Vertical: top, center, bottom. Horizontal: left, - center, right. This is established as a new parameter for - <tt>showAtElement</tt>.</li> - - <li>Added <tt>dateClicked</tt> property (boolean). This can be - inspected in the "onSelect" handler to determine if a date was - really clicked or the user only changed month/year using the menus. - You <em>need</em> to check this for "single-click" calendars and - only close/hide the calendar if it's <tt>true</tt>.</li> - - <li>Full documentation in <a href="doc/html/reference.html">HTML</a> - and <a href="doc/reference.pdf">PDF</a> format is now available in the - distribution archive.</li> - - <li>New language definition files: HU, HR, PT, ZH. Thanks those who - submitted!</li> - - </ul> - - <h3>Bug status</h3> - - <p>This covers only those bugs that have been reported <a - href="http://sourceforge.net/projects/jscalendar" target="_blank" - title="Project page at SourceForge">at SourceForge</a>.</p> - - <ol> - - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=703238&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#703,238</tt></a> — fixed</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=703814&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#703,814</tt></a> — fixed</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=716777&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#716,777</tt></a> — closed (was fixed already in 0.9.2-1)</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=723335&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#723,335</tt></a> — fixed</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=715122&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#715,122</tt></a> — feature request; implemented.</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721206&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#721,206</tt></a> — fixed (added "refresh()" function)</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721833&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#721,833</tt></a> — fixed (bug concerning the "yy" format - parsing)</li> - <li><a href="http://sourceforge.net/tracker/index.php?func=detail&aid=721833&group_id=75569&atid=544285" target="_blank" - title="Go to bug description at sourceforge"><tt>#721,833</tt></a> — won't fix (we won't set the time to - midnight; time might actually be useful when we implement support - for time selection). - - </ol> - - <hr /> - <address><a href="http://dynarch.com/mishoo/">Mihai Bazon</a></address> -<!-- Created: Tue Jul 8 17:29:37 EEST 2003 --> -<!-- hhmts start --> -Last modified on Wed Oct 29 02:37:07 2003 -<!-- hhmts end --> -<!-- doc-lang: English --> - </body> -</html> - - diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-1.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-1.html deleted file mode 100644 index c2a944a1f77e632246c1d3f7146914891b4ce29b..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-1.html +++ /dev/null @@ -1,244 +0,0 @@ -<html style="background-color: buttonface; color: buttontext;"> - -<head> -<meta http-equiv="content-type" content="text/xml; charset=utf-8" /> - -<title>Simple calendar setups [popup calendar]</title> - - <!-- calendar stylesheet --> - <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" /> - - <!-- main calendar program --> - <script type="text/javascript" src="calendar.js"></script> - - <!-- language for the calendar --> - <script type="text/javascript" src="lang/calendar-en.js"></script> - - <!-- the following script defines the Calendar.setup helper function, which makes - adding a calendar a matter of 1 or 2 lines of code. --> - <script type="text/javascript" src="calendar-setup.js"></script> - -</head> - -<body> - -<h2>DHTML Calendar — for the impatient</h2> - - <blockquote> - <p> - This page lists some common setups for the popup calendar. In - order to see how to do any of them please see the source of this - page. For each example it's structured like this: there's the - <form> that contains the input field, and following there is - the JavaScript snippet that setups that form. An example of - <em>flat</em> calendar is available in <a - href="simple-2.html">another page</a>. - </p> - <p> - The code in this page uses a helper function defined in - "calendar-setup.js". With it you can setup the calendar in - minutes. If you're not <em>that</em> impatient, ;-) <a - href="doc/html/reference.html">complete documenation</a> is - available. - </p> - </blockquote> - - - -<hr /> - -<p><b>Basic setup: one input per calendar.</b> Clicking in the input field -activates the calendar. The date format is "%m/%d/%Y %I:%M %p". The -calendar defaults to "single-click mode".</p> - -<p>The example below has been updated to show you how to create "linked" -fields. Basically, when some field is filled with a date, the other -is updated so that the difference between them remains one week. The -property useful here is "onUpdate".</p> - -<form action="#" method="get"> -<input type="text" name="date" id="f_date_a" /> -<input type="text" name="date" id="f_calcdate" /> -</form> - -<script type="text/javascript"> - function catcalc(cal) { - var date = cal.date; - var time = date.getTime() - // use the _other_ field - var field = document.getElementById("f_calcdate"); - if (field == cal.params.inputField) { - field = document.getElementById("f_date_a"); - time -= Date.WEEK; // substract one week - } else { - time += Date.WEEK; // add one week - } - var date2 = new Date(time); - field.value = date2.print("%Y-%m-%d %H:%M"); - } - Calendar.setup({ - inputField : "f_date_a", // id of the input field - ifFormat : "%Y-%m-%d %H:%M", // format of the input field - showsTime : true, - timeFormat : "24", - onUpdate : catcalc - }); - Calendar.setup({ - inputField : "f_calcdate", - ifFormat : "%Y-%m-%d %H:%M", - showsTime : true, - timeFormat : "24", - onUpdate : catcalc - }); -</script> - - - -<hr /> - -<p><b>Input field with a trigger button.</b> Clicking the button activates -the calendar. Note that this one needs double-click (singleClick parameter -is explicitely set to false). Also demonstrates the "step" parameter -introduced in 0.9.6 (show all years in drop-down boxes, instead of every -other year as default).</p> - -<form action="#" method="get"> -<input type="text" name="date" id="f_date_b" /><button type="reset" id="f_trigger_b">...</button> -</form> - -<script type="text/javascript"> - Calendar.setup({ - inputField : "f_date_b", // id of the input field - ifFormat : "%m/%d/%Y %I:%M %p", // format of the input field - showsTime : true, // will display a time selector - button : "f_trigger_b", // trigger for the calendar (button ID) - singleClick : false, // double-click mode - step : 1 // show all years in drop-down boxes (instead of every other year as default) - }); -</script> - - - -<hr /> - -<p><b>Input field with a trigger image.</b> Note that the Calendar.setup -function doesn't care if the trigger is a button, image, or anything else. -Also in this example we setup a different alignment, just to show how it's -done. The input field is read-only (that is set from HTML).</p> - -<form action="#" method="get"> -<table cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr> - <td><input type="text" name="date" id="f_date_c" readonly="1" /></td> - <td><img src="img.gif" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector" - onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td> -</table> -</form> - -<script type="text/javascript"> - Calendar.setup({ - inputField : "f_date_c", // id of the input field - ifFormat : "%B %e, %Y", // format of the input field - button : "f_trigger_c", // trigger for the calendar (button ID) - align : "Tl", // alignment (defaults to "Bl") - singleClick : true - }); -</script> - - - -<hr /> - -<p><b>Hidden field, display area.</b> The calendar now puts the date into 2 -elements: one is an input field of type "hidden"—so that the user -can't directly see or modify it— and one is a <span> element in -which the date is displayed. Note that if the trigger is not specified the -calendar will use the displayArea (or inputField as in the first example). -The display area can have it's own format. This is useful if, for instance, -we need to store one format in the database (thus pass it in the input -field) but we wanna show a friendlier format to the end-user.</p> - -<form action="#" method="get" style="visibility: hidden"> -<input type="hidden" name="date" id="f_date_d" /> -</form> - -<p>Your birthday: - <span style="background-color: #ff8; cursor: default;" - onmouseover="this.style.backgroundColor='#ff0';" - onmouseout="this.style.backgroundColor='#ff8';" - id="show_d" - >Click to open date selector</span>.</p> - -<script type="text/javascript"> - Calendar.setup({ - inputField : "f_date_d", // id of the input field - ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored) - displayArea : "show_d", // ID of the span where the date is to be shown - daFormat : "%A, %B %d, %Y",// format of the displayed date - align : "Tl", // alignment (defaults to "Bl") - singleClick : true - }); -</script> - - - -<hr /> - -<p><b>Hidden field, display area, trigger image.</b> Very similar to the -previous example. The difference is that we also have a trigger image.</p> - -<form action="#" method="get" style="visibility: hidden"> -<input type="hidden" name="date" id="f_date_e" /> -</form> - -<p>Your birthday: <span id="show_e">-- not entered --</span> <img -src="img.gif" id="f_trigger_e" style="cursor: pointer; border: 1px solid -red;" title="Date selector" onmouseover="this.style.background='red';" -onmouseout="this.style.background=''" />.</p> - -<script type="text/javascript"> - Calendar.setup({ - inputField : "f_date_e", // id of the input field - ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored) - displayArea : "show_e", // ID of the span where the date is to be shown - daFormat : "%A, %B %d, %Y",// format of the displayed date - button : "f_trigger_e", // trigger button (well, IMG in our case) - align : "Tl", // alignment (defaults to "Bl") - singleClick : true - }); -</script> - - - -<hr /> - -<p><b>Hidden field, display area.</b> Very much like the previous examples, -but we now disable some dates (all weekends, that is, Saturdays and -Sundays).</p> - -<form action="#" method="get" style="visibility: hidden"> -<input type="hidden" name="date" id="f_date_f" /> -</form> - -<p>Your birthday: - <span style="background-color: #ff8; cursor: default;" - onmouseover="this.style.backgroundColor='#ff0';" - onmouseout="this.style.backgroundColor='#ff8';" - id="show_f" - >Click to open date selector</span>.</p> - -<script type="text/javascript"> - Calendar.setup({ - inputField : "f_date_f", // id of the input field - ifFormat : "%Y/%d/%m", // format of the input field (even if hidden, this format will be honored) - displayArea : "show_f", // ID of the span where the date is to be shown - daFormat : "%A, %B %d, %Y",// format of the displayed date - align : "Tl", // alignment (defaults to "Bl") - dateStatusFunc : function (date) { // disable weekend days (Saturdays == 6 and Subdays == 0) - return (date.getDay() == 6 || date.getDay() == 0) ? true : false; - } - }); -</script> - - -</body> -</html> diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-2.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-2.html deleted file mode 100644 index b55bae85b89166ee2fe1a2c9e28f3c5d24e8c258..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-2.html +++ /dev/null @@ -1,108 +0,0 @@ -<html style="background-color: buttonface; color: buttontext;"> - -<head> -<meta http-equiv="content-type" content="text/xml; charset=utf-8" /> - -<title>Simple calendar setup [flat calendar]</title> - - <!-- calendar stylesheet --> - <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" /> - - <!-- main calendar program --> - <script type="text/javascript" src="calendar.js"></script> - - <!-- language for the calendar --> - <script type="text/javascript" src="lang/calendar-en.js"></script> - - <!-- the following script defines the Calendar.setup helper function, which makes - adding a calendar a matter of 1 or 2 lines of code. --> - <script type="text/javascript" src="calendar-setup.js"></script> - -</head> - -<body> - -<h2>DHTML Calendar — for the impatient</h2> - - <blockquote> - <p> - This page demonstrates how to setup a flat calendar. Examples of - <em>popup</em> calendars are available in <a - href="simple-1.html">another page</a>. - </p> - <p> - The code in this page uses a helper function defined in - "calendar-setup.js". With it you can setup the calendar in - minutes. If you're not <em>that</em> impatient, ;-) <a - href="doc/html/reference.html">complete documenation</a> is - available. - </p> - </blockquote> - - - -<hr /> - -<div style="float: right; margin-left: 1em; margin-bottom: 1em;" -id="calendar-container"></div> - -<script type="text/javascript"> - function dateChanged(calendar) { - // Beware that this function is called even if the end-user only - // changed the month/year. In order to determine if a date was - // clicked you can use the dateClicked property of the calendar: - if (calendar.dateClicked) { - // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php - var y = calendar.date.getFullYear(); - var m = calendar.date.getMonth(); // integer, 0..11 - var d = calendar.date.getDate(); // integer, 1..31 - // redirect... - window.location = "/" + y + "/" + m + "/" + d + "/index.php"; - } - }; - - Calendar.setup( - { - flat : "calendar-container", // ID of the parent element - flatCallback : dateChanged // our callback function - } - ); -</script> - -<p>The positioning of the DIV that contains the calendar is entirely your -job. For instance, the "calendar-container" DIV from this page has the -following style: "float: right; margin-left: 1em; margin-bottom: 1em".</p> - -<p>Following there is the code that has been used to create this calendar. -You can find the full description of the <tt>Calendar.setup()</tt> function -in the <a href="doc/html/reference.html">calendar documenation</a>.</p> - -<pre -><div style="float: right; margin-left: 1em; margin-bottom: 1em;" -id="calendar-container"></div> - -<script type="text/javascript"> - function dateChanged(calendar) { - // Beware that this function is called even if the end-user only - // changed the month/year. In order to determine if a date was - // clicked you can use the dateClicked property of the calendar: - if (calendar.dateClicked) { - // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php - var y = calendar.date.getFullYear(); - var m = calendar.date.getMonth(); // integer, 0..11 - var d = calendar.date.getDate(); // integer, 1..31 - // redirect... - window.location = "/" + y + "/" + m + "/" + d + "/index.php"; - } - }; - - Calendar.setup( - { - flat : "calendar-container", // ID of the parent element - flatCallback : dateChanged // our callback function - } - ); -</script></pre> - -</body> -</html> diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-3.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-3.html deleted file mode 100644 index c096e872bd732fb573af0143f085164bc80fe200..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/simple-3.html +++ /dev/null @@ -1,130 +0,0 @@ -<html style="background-color: buttonface; color: buttontext;"> - -<head> -<meta http-equiv="content-type" content="text/xml; charset=utf-8" /> - -<title>Simple calendar setup [flat calendar]</title> - - <!-- calendar stylesheet --> - <link rel="stylesheet" type="text/css" media="all" href="calendar-win2k-cold-1.css" title="win2k-cold-1" /> - - <!-- main calendar program --> - <script type="text/javascript" src="calendar.js"></script> - - <!-- language for the calendar --> - <script type="text/javascript" src="lang/calendar-en.js"></script> - - <!-- the following script defines the Calendar.setup helper function, which makes - adding a calendar a matter of 1 or 2 lines of code. --> - <script type="text/javascript" src="calendar-setup.js"></script> - - <style type="text/css"> - .special { background-color: #000; color: #fff; } - </style> - -</head> - -<body> - -<h2>DHTML Calendar — for the impatient</h2> - - <blockquote> - <p> - This page demonstrates how to setup a flat calendar. Examples of - <em>popup</em> calendars are available in <a - href="simple-1.html">another page</a>. - </p> - <p> - The code in this page uses a helper function defined in - "calendar-setup.js". With it you can setup the calendar in - minutes. If you're not <em>that</em> impatient, ;-) <a - href="doc/html/reference.html">complete documenation</a> is - available. - </p> - </blockquote> - - - -<hr /> - -<div style="float: right; margin-left: 1em; margin-bottom: 1em;" -id="calendar-container"></div> - -<script type="text/javascript"> - var SPECIAL_DAYS = { - 0 : [ 13, 24 ], // special days in January - 2 : [ 1, 6, 8, 12, 18 ], // special days in March - 8 : [ 21, 11 ] // special days in September - }; - - function dateIsSpecial(year, month, day) { - var m = SPECIAL_DAYS[month]; - if (!m) return false; - for (var i in m) if (m[i] == day) return true; - return false; - }; - - function dateChanged(calendar) { - // Beware that this function is called even if the end-user only - // changed the month/year. In order to determine if a date was - // clicked you can use the dateClicked property of the calendar: - if (calendar.dateClicked) { - // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php - var y = calendar.date.getFullYear(); - var m = calendar.date.getMonth(); // integer, 0..11 - var d = calendar.date.getDate(); // integer, 1..31 - // redirect... - window.location = "/" + y + "/" + m + "/" + d + "/index.php"; - } - }; - - Calendar.setup( - { - flat : "calendar-container", // ID of the parent element - flatCallback : dateChanged, // our callback function - dateStatusFunc : function(date, y, m, d) { - if (dateIsSpecial(y, m, d)) return "special"; - else return false; // other dates are enabled - // return true if you want to disable other dates - } - } - ); -</script> - -<p>The positioning of the DIV that contains the calendar is entirely your -job. For instance, the "calendar-container" DIV from this page has the -following style: "float: right; margin-left: 1em; margin-bottom: 1em".</p> - -<p>Following there is the code that has been used to create this calendar. -You can find the full description of the <tt>Calendar.setup()</tt> function -in the <a href="doc/html/reference.html">calendar documenation</a>.</p> - -<pre -><div style="float: right; margin-left: 1em; margin-bottom: 1em;" -id="calendar-container"></div> - -<script type="text/javascript"> - function dateChanged(calendar) { - // Beware that this function is called even if the end-user only - // changed the month/year. In order to determine if a date was - // clicked you can use the dateClicked property of the calendar: - if (calendar.dateClicked) { - // OK, a date was clicked, redirect to /yyyy/mm/dd/index.php - var y = calendar.date.getFullYear(); - var m = calendar.date.getMonth(); // integer, 0..11 - var d = calendar.date.getDate(); // integer, 1..31 - // redirect... - window.location = "/" + y + "/" + m + "/" + d + "/index.php"; - } - }; - - Calendar.setup( - { - flat : "calendar-container", // ID of the parent element - flatCallback : dateChanged // our callback function - } - ); -</script></pre> - -</body> -</html> diff --git a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/test-position.html b/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/test-position.html deleted file mode 100644 index 5544871622f84f2ba313208ffd3a6776066f4a1e..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/form/_static/js/jscalendar/test-position.html +++ /dev/null @@ -1,40 +0,0 @@ -<html xmlns="http://www.w3.org/1999/xhtml"> - - <head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <title>JS Calendar (positioning test)</title> - <script type="text/javascript" src="calendar.js"></script> - <script type="text/javascript" src="calendar-setup.js"></script> - <script type="text/javascript" src="lang/calendar-en.js"></script> - <style type="text/css"> @import url("calendar-win2k-cold-1.css"); </style> - </head> - - <body style="height: 100%; margin: 0px; padding: 0px;"> - <table style="height: 100%; width: 100%;" cellspacing="0" cellpadding="0"> - <tr style="height: 100%;"> - <td style="vertical-align: top; text-align: left;"> - <input type="text" id="cal-field-1" /> - <button type="submit" id="cal-button-1">...</button> - <script type="text/javascript"> - Calendar.setup({ - inputField : "cal-field-1", - button : "cal-button-1", - align : "Tr" - }); - </script> - </td> - <td style="vertical-align: bottom; text-align: right;"> - <input type="text" id="cal-field-2" /> - <button type="submit" id="cal-button-2">...</button> - <script type="text/javascript"> - Calendar.setup({ - inputField : "cal-field-2", - button : "cal-button-2" - }); - </script> - </td> - </tr> - </table> - </body> - -</html> diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java index 94d9295b3dd7db0b8f316c1ec8b1a74d936a5884..1ffa821df66f7e640fbf0e1688a06ed6a4974870 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/FormUIFactory.java @@ -33,7 +33,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.form.flexible.elements.DateChooser; import org.olat.core.gui.components.form.flexible.elements.FileElement; -import org.olat.core.gui.components.form.flexible.elements.FlexiTableElment; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.elements.FormToggle; import org.olat.core.gui.components.form.flexible.elements.IntegerElement; @@ -921,13 +921,13 @@ public class FormUIFactory { * @param formLayout * @return */ - public FlexiTableElment addTableElement(String name, FlexiTableDataModel tableModel, FormItemContainer formLayout) { + public FlexiTableElement addTableElement(String name, FlexiTableDataModel tableModel, FormItemContainer formLayout) { FlexiTableElementImpl fte = new FlexiTableElementImpl(name,tableModel); formLayout.add(fte); return fte; } - public FlexiTableElment addTableElement(String name, FlexiTableDataModel tableModel, Translator translator, FormItemContainer formLayout) { + public FlexiTableElement addTableElement(String name, FlexiTableDataModel tableModel, Translator translator, FormItemContainer formLayout) { FlexiTableElementImpl fte = new FlexiTableElementImpl(name, translator, tableModel); formLayout.add(fte); return fte; diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElment.java b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java similarity index 95% rename from src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElment.java rename to src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java index decbd52a9a8476b95bbde3931a6850a64903fc86..51dbf3c3a9bab356a9a18095c99e1d5c16020fb4 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElment.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/elements/FlexiTableElement.java @@ -30,6 +30,6 @@ import org.olat.core.gui.components.form.flexible.FormItem; /** * */ -public interface FlexiTableElment extends FormItem { +public interface FlexiTableElement extends FormItem { } \ No newline at end of file diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java index 187394a2f95e43bd042c4764dc5e165014b76d9b..45407c4cb5ceca3fe5ea4dcbc0e0a3cc04946689 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/JSDateChooserComponent.java @@ -90,24 +90,4 @@ class JSDateChooserComponent extends FormBaseComponentImpl { public String getExampleDateString() { return element.getExampleDateString(); } - - /** - * @see org.olat.core.gui.components.Component#validate(org.olat.core.gui.UserRequest, - * org.olat.core.gui.render.ValidationResult) - */ - @Override - public void validate(UserRequest ureq, ValidationResult vr) { - super.validate(ureq, vr); - JSAndCSSAdder jsa = vr.getJsAndCSSAdder(); - // FIXME:FG:THEME: calendar.css files for themes - jsa.addRequiredCSSFile(org.olat.core.gui.components.form.Form.class, - "css/jscalendar.css", false); - jsa.addRequiredJsFile(org.olat.core.gui.components.form.Form.class, - "js/jscalendar/calendar.js"); - jsa.addRequiredJsFile(org.olat.core.gui.components.form.Form.class, - "js/jscalendar/olatcalendartranslator.js"); - jsa.addRequiredJsFile(org.olat.core.gui.components.form.Form.class, - "js/jscalendar/calendar-setup.js"); - } - } diff --git a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java index e278897fc7caf02b54705b01878432c5f9ea56d4..c8f1247c01afe9dba37deb9e8f18156537c3a6a3 100644 --- a/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java +++ b/src/main/java/org/olat/core/gui/components/form/flexible/impl/elements/table/FlexiTableElementImpl.java @@ -31,7 +31,7 @@ import org.olat.core.CoreSpringFactory; import org.olat.core.dispatcher.mapper.MapperService; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; -import org.olat.core.gui.components.form.flexible.elements.FlexiTableElment; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.impl.FormItemImpl; import org.olat.core.gui.translator.Translator; @@ -40,7 +40,7 @@ import org.olat.core.gui.translator.Translator; * * @author Christian Guretzki */ -public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableElment { +public class FlexiTableElementImpl extends FormItemImpl implements FlexiTableElement { private FlexiTableDataModel tableModel; private FlexiTableComponent component; diff --git a/src/main/java/org/olat/core/gui/components/link/Link.java b/src/main/java/org/olat/core/gui/components/link/Link.java index f913397bad13c2fb67a3b2e0cfbd728b44c1caa5..5a6c46bc28d9dbdf4c8acb292207af9f4ef56597 100644 --- a/src/main/java/org/olat/core/gui/components/link/Link.java +++ b/src/main/java/org/olat/core/gui/components/link/Link.java @@ -95,7 +95,6 @@ public class Link extends Component { boolean hasTooltip; boolean hasStickyTooltip; - Component tooltipContent; private boolean suppressDirtyFormWarning = false; private boolean isDownloadLink = false; @@ -507,18 +506,6 @@ public class Link extends Component { this.hasTooltip = true; this.hasStickyTooltip = sticky; setDirty(true); - - } - - /** - * sets a tooltip with a more complext content which is passed as an component - * @param comp - * @param stricky if true the user has to close the tooltip himself - */ - public void setTooltip(Component comp, boolean stricky) { - this.tooltipContent = comp; - this.hasStickyTooltip = stricky; - setDirty(true); } /** 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 264f29c9cc4b972f3358a3da83fe9be3422c9ecc..b4e84c1456a9a6b5174dd656003eac3541d4ced9 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 @@ -42,7 +42,6 @@ import org.olat.core.gui.render.RenderingState; import org.olat.core.gui.render.StringOutput; import org.olat.core.gui.render.URLBuilder; import org.olat.core.gui.translator.Translator; -import org.olat.core.logging.AssertException; import org.olat.core.util.StringHelper; /** @@ -69,9 +68,6 @@ public class LinkRenderer implements ComponentRenderer { boolean flexiformlink = (presentation - Link.FLEXIBLEFORMLNK) >= 0; if (flexiformlink) { presentation = presentation - Link.FLEXIBLEFORMLNK; - if (link.tooltipContent != null) { - throw new AssertException("Form link does not support long transaction, tooltip yet!"); - } } boolean nontranslated = (presentation - Link.NONTRANSLATED) >= 0; if (nontranslated) { @@ -248,19 +244,6 @@ public class LinkRenderer implements ComponentRenderer { extJsSb.append(" jQuery('#"+elementId+"').on('"+link.mouseEvent+"', "+link.javascriptHandlerFunction+");"); hasExtJsSb = true; } - - if (link.tooltipContent != null) { - extJsSb.append("Ext.QuickTips.tips({"); - extJsSb.append("target: '").append(elementId).append("',"); - //FIXME:FG:Check component containing single quotes or line breaks - StringOutput clearedContentSb = new StringOutput(100); - renderer.render(link.tooltipContent, clearedContentSb, null); - String clearedContent = clearedContentSb.toString().replaceAll("\n", ""); - extJsSb.append("text: '").append(clearedContent).append("',"); - extJsSb.append("autoHide: ").append(String.valueOf(!link.hasStickyTooltip)); - extJsSb.append("});"); - hasExtJsSb=true; - } } else { String text; if (customDisplayText != null) { @@ -281,7 +264,7 @@ public class LinkRenderer implements ComponentRenderer { description = msq.replaceAll("'"); Matcher mdq = doubleQutoe.matcher(description); description = mdq.replaceAll("\\\\\""); - sb.append(" ext:qtip=\"").append(description).append("\" "); + sb.append(" title=\"").append(description).append("\" "); } sb.append(cssSb).append(">").append(text).append("</span>"); } diff --git a/src/main/java/org/olat/core/gui/components/table/Table.java b/src/main/java/org/olat/core/gui/components/table/Table.java index 367d9d69e85c8eec2d2ae01fb055b7724e1cb089..372a0bba4c5f9394671496de21dd6bbd7f792404 100644 --- a/src/main/java/org/olat/core/gui/components/table/Table.java +++ b/src/main/java/org/olat/core/gui/components/table/Table.java @@ -37,9 +37,7 @@ import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.ComponentRenderer; import org.olat.core.gui.control.Event; -import org.olat.core.gui.control.JSAndCSSAdder; import org.olat.core.gui.render.StringOutput; -import org.olat.core.gui.render.ValidationResult; import org.olat.core.gui.translator.Translator; import org.olat.core.logging.OLATRuntimeException; import org.olat.core.logging.OLog; @@ -860,14 +858,6 @@ public class Table extends Component implements Comparator { protected BitSet getMultiSelectSelectedRows() { return multiSelectSelectedRows; } - - public void validate(final UserRequest ureq, final ValidationResult vr) { - super.validate(ureq, vr); - // include needed css and js libs - - JSAndCSSAdder jsa = vr.getJsAndCSSAdder(); - jsa.addRequiredJsFile(Table.class, "js/table.js"); - } public boolean isShowAllSelected() { return isShowAllSelected; diff --git a/src/main/java/org/olat/core/gui/components/table/_static/js/table.js b/src/main/java/org/olat/core/gui/components/table/_static/js/table.js deleted file mode 100644 index 49753d9b1cc4f4d345cfb4f1f1835517ae2239b9..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/table/_static/js/table.js +++ /dev/null @@ -1,19 +0,0 @@ -function tableFormInjectCommandAndSubmit(formName, cmd, param) { - document.forms[formName].elements["cmd"].value = cmd; - document.forms[formName].elements["param"].value = param; - document.forms[formName].submit(); -} - -function b_table_toggleCheck(ref, checked) { - var tb_checkboxes = document.forms[ref].elements["tb_ms"]; - len = tb_checkboxes.length; - if (typeof(len) == 'undefined') { - tb_checkboxes.checked = checked; - } - else { - var i; - for (i=0; i < len; i++) { - tb_checkboxes[i].checked=checked; - } - } -} diff --git a/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java b/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java index e2c92ff63c360fe60bae4f543e8bda2ff448fd63..02a6ec1fea9882c8e78fb2d6ba830ce8d87b1556 100644 --- a/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java +++ b/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListComponent.java @@ -290,7 +290,9 @@ public abstract class TextBoxListComponent extends FormBaseComponentImpl { public void validate(UserRequest ureq, ValidationResult vr) { super.validate(ureq, vr); JSAndCSSAdder jsa = vr.getJsAndCSSAdder(); - jsa.addRequiredJsFile(TextBoxListComponent.class, "js/multiselect.js"); + //jsa.addRequiredJsFile(TextBoxListComponent.class, "js/multiselect.js"); + jsa.addRequiredStaticJsFile("js/jquery/tagit/tag-it.min.js"); + if (this.provider != null) setMapper(ureq); } diff --git a/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListRenderer.java b/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListRenderer.java index 7137ff237ee5ff7a3241e076408095ad87a9ae9d..e78effbb06c0a954decbdfdaa5af3613831af54f 100644 --- a/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListRenderer.java +++ b/src/main/java/org/olat/core/gui/components/textboxlist/TextBoxListRenderer.java @@ -144,6 +144,32 @@ public class TextBoxListRenderer implements ComponentRenderer { // generate the JS-code for the textboxlist output.append(FormJSHelper.getJSStart()); + output.append("jQuery(function(){\n") + .append(" jQuery('#textboxlistinput").append(dispatchId).append("').tagit({\n") + .append(" allowDuplicates:").append(tblComponent.isAllowDuplicates()).append(",\n"); + + + if (tblComponent.doFormSubmitOnInput()) { + output.append(" afterTagAdded: function(input){\n") + .append(" document.forms['").append(rootForm.getFormName()).append("'].submit();\n") + .append(" },\n") + .append(" afterTagRemoved: function(input){\n") + .append(" document.forms['").append(rootForm.getFormName()).append("'].submit();\n") + .append(" },\n").append(lineBreak); + } else { + // otherwise, o_ffEvents are fired: OO-137 ( invoke o_ffEvent on UserAdd or userRemove ) but only in flexiform + String o_ffEvent = FormJSHelper.getJSFnCallFor(rootForm, dispatchId, 2); + output.append(" afterTagAdded: function(input){").append(lineBreak) + .append(o_ffEvent).append(";},").append(lineBreak) + .append(" afterTagRemoved: function(input){").append(lineBreak) + .append(o_ffEvent).append(";},").append(lineBreak); + } + output.append(" test:''")//so i don't forget a , + .append(" });\n") + .append("})\n"); + + + /* output.append("tlist = new ProtoMultiSelect('textboxlistinput").append(dispatchId).append("', 'textboxlist-auto").append(dispatchId) .append("',{ newValues: ").append(lineBreak); output.append(Boolean.toString(tblComponent.isAllowNewValues())).append(lineBreak); @@ -217,6 +243,7 @@ public class TextBoxListRenderer implements ComponentRenderer { output.append(";"); output.append("myjson.each(function(t){tlist.autoFeed(t)});"); } + */ output.append(FormJSHelper.getJSEnd()).append(lineBreak); } diff --git a/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js b/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js deleted file mode 100644 index 01fe946e0f95c0ce7d88e40849d971a021a3ce76..0000000000000000000000000000000000000000 --- a/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js +++ /dev/null @@ -1,1167 +0,0 @@ -/* - Proto!MultiSelect - Copyright: InteRiders <http://interiders.com/> - Distributed under MIT - Keep this message! - - Using garrytan's fork: http://github.com/garrytan/protomultiselect -*/ - -// Added key contstant for COMMA watching happiness -Object.extend(Event, { KEY_COMMA: 188, CHAR_COMMA: 44 }); -// fxdiff: set to true to get some debug statements! -var debug = false; - -// helper functions -Element.addMethods({ - getCaretPosition: function() - { - if (this.createTextRange) - { - var r = document.selection.createRange().duplicate(); - r.moveEnd('character', this.value.length); - if (r.text === '') return this.value.length; - return this.value.lastIndexOf(r.text); - } - else return this.selectionStart; - }, - - cacheData: function(element, key, value) - { - if (jQuery.type(this[$(element).identify()]) === "undefined" || !Object.isHash(this[$(element).identify()])) - { - this[$(element).identify()] = $H(); - } - - this[$(element).identify()].set(key,value); - return element; - }, - - retrieveData: function(element, key) - { - return this[$(element).identify()].get(key); - }, - - onBoxDispose: function(item, obj) - { - // Set to not to "add back" values in the drop-down upon delete if they were new value - item = item.retrieveData('text').evalJSON(true); - if (!item.newValue) obj.autoFeed(item); - }, - - onInputFocus: function(el, obj) - { - if (obj.autoShow) obj.autoShow(); - }, - - onInputBlur: function(el, obj) - { - obj.lastinput = el; - if (!obj.curOn && obj.autoHide) - { - obj.blurhide = obj.autoHide.bind(obj).delay(0.1); - } - } -}); - -Object.extend(String.prototype, { - entitizeHTML: function() - { - return this.replace(/</g,'<').replace(/>/g,'>'); - }, - - unentitizeHTML: function() - { - return this.replace(/</g,'<').replace(/>/g,'>'); - } -}); - -function $pick() -{ - for (var i = 0; i < arguments.length; i++) - { - if (!jQuery.type(arguments[i]) === "undefined") - { - return arguments[i]; - } - } - return null; -} - -var ResizableTextbox = Class.create({ - initialize: function(element, options) - { - var that = this; - - this.options = $H({ - minimum: 5, - maximum: 500 - }).update(options); - - this.el = $(element); - this.measurediv = this.getMeasurementDiv(); - this.setElementWidth(); - - this.el.observe('keypress', this.setElementWidth.bind(this)) - .observe('change', this.setElementWidth.bind(this)) - .observe('keyup', this.setElementWidth.bind(this)); - }, - - calculateWidth: function() - { - this.measurediv.update($F(this.el).escapeHTML() + 'MM') // M is generally the widest character - // increase the width by 2 M's so that there is no scrolling when inputting wide chars - - newsize = this.measurediv.getWidth(); - if (newsize < this.options.get('minimum')) newsize = this.options.get('minimum'); - if (newsize > this.options.get('maximum')) newsize = this.options.get('maximum'); - return newsize; - }, - - clear: function() - { - this.el.clear(); - this.setElementWidth(); - return this; - }, - - focus: function() - { - this.el.focus(); - return this; - }, - - getMeasurementDiv: function() - { - var div; - - // A hidden div created in order to measure the width of the text - if (!$('__resizeable_textbox_measure_div')) - { - div = new Element('div', { id: '__resizeable_textbox_measure_div' }) - div.setStyle({ - position: 'absolute', - top: '-1000px', - left: '-1000px' - }); - $(document.body).insert(div); - } - else - { - div = $('__resizeable_textbox_measure_div'); - } - - return div.setStyle({ - fontSize: this.el.getStyle('font-size'), - fontFamily: this.el.getStyle('font-family') - }); - }, - - setElementWidth: function() - { - var newsize = this.calculateWidth(); - if (newsize >= this.options.get('minimum') && newsize <= this.options.get('maximum')) - { - this.el.setStyle({ width: newsize + "px"}); - } - } -}); - -var TextboxList = Class.create({ - initialize: function(element, options) - { - // Default options for TextboxList - this.options = $H({ - resizable: {}, - className: 'bit', - separator: ',', - extrainputs: true, - startinput: true, - onAdd: function(text){}, - onRemove: function(text){}, - hideempty: true, - newValues: false, - spaceReplace: '', - encodeEntities: false, - jsonInputValue: false - }); - - this.current_input = ""; - this.options.update(options); - this.element = $(element).hide(); - this.bits = new Hash(); - this.events = new Hash(); - this.count = 0; - this.current = false; - this.maininput = this.createInput({ 'class': 'maininput' }); - this.holder = new Element('div', { 'class': 'holder' }).insert(this.maininput); - this.element.insert({ before: this.holder }); - - this.holder.observe('click', function(event) - { - event.stop(); - this.focus(this.maininput); - }.bind(this)); - - this.makeResizable(this.maininput); - this.setEvents(); - }, - - setEvents: function() - { - this.holder.observe('keyup', - function(e) - { - e.stop(); - if (!this.current) return null; - switch (e.keyCode) - { - case Event.KEY_LEFT: return this.move('left'); - case Event.KEY_RIGHT: return this.move('right'); - - case Event.KEY_DELETE: - case Event.KEY_BACKSPACE: - return this.moveDispose(); - } - - return null; - }.bind(this) - ).observe(Prototype.Browser.IE || Prototype.Browser.WebKit ? 'keydown' : 'keypress', - function(e) - { - if (!this.current) return null; - if (this.current.retrieveData('type') == 'box' && e.keyCode == Event.KEY_BACKSPACE) e.stop(); - if (this.current.retrieveData('input') && !this.checkInput()) return null; - - if ([Event.KEY_HOME, Event.KEY_END].include(e.keyCode)) e.stop(); - - // The handlers for Home and End need to be done on keypress; by the time - // keyup fires, the default behaviour (scroll the page) will have happened - switch (e.keyCode) - { - case Event.KEY_HOME: return this.move('home'); - case Event.KEY_END: return this.move('end'); - } - - return null; - }.bind(this) - ) - - document.observe('click', function() { this.blur() }.bindAsEventListener(this)); - }, - - update: function() - { - var values = this.bits.values(); - if (this.options.get('jsonInputValue')) { - if (!this.current_input.blank()) { - this.current_input.split(/,/).each(function(value) { - value = value.strip(); - values.push({caption: value, value: value, newValue: true}); - }.bind(this)); //bindAsEventListener(this)) -- we are not listening - } - this.element.value = Object.toJSON(values); - } else { - if (this.options.get('encodeEntities')) { - // entitizeHTML / unentitizeHTML needs to be called around the unescapeHTML() call in order to preserve any braces - values = values.map(function(e) { return e.toString().entitizeHTML().unescapeHTML().unentitizeHTML(); }); - } - this.element.value = values.join(this.options.get('separator')); - - if (!this.current_input.blank()) { - this.element.value += (this.element.value.blank() ? "" : this.options.get('separator')) + this.current_input; - } - - } - - return this; - }, - - add: function(text, html) - { - var id = this.id_base + '-' + this.count++; - var el = this.createBox( - $pick(html, text), - { - 'id': id, - 'class': this.options.get('className'), - 'newValue' : text.newValue ? 'true' : 'false', - 'href': '#' - } - ); - - (this.current || this.maininput).insert({ 'before': el }); - - el.observe('click', - function(e) - { - e.stop(); - this.focus(el); - }.bind(this) - ); - - if (this.options.get('jsonInputValue')) { - this.bits.set(id, text); - } else { - this.bits.set(id, text.value); - } - - // Dynamic updating... why not? - this.update(); - - if (this.options.get('extrainputs') && (this.options.get('startinput') || el.previous())) - { - this.addSmallInput(el, 'before'); - } - - this.options.get("onAdd")( text ); - return el; - }, - - addSmallInput: function(el, where) { - var input = this.createInput({ 'class': 'smallinput' }); - el.insert({}[where] = input); - input.cacheData('small', true); - this.makeResizable(input); - if (this.options.get('hideempty')) input.hide(); - return input; - }, - - insertCurrent: function() { - if (this.options.get('newValues')) { - var new_value_el = this.current.retrieveData('input'); - - new_value_el.value = new_value_el.value.strip(); - - if (new_value_el.value.indexOf(",") < (new_value_el.value.length - 1)) { - var comma_pos = new_value_el.value.indexOf(","); - if (comma_pos > 0) { - new_value_el.value = new_value_el.value.substr(0, comma_pos).strip(); - } - - } else { - new_value_el.value = new_value_el.value.strip(); - } - - if (!this.options.get("spaceReplace").blank()) { - new_value_el.value.gsub(" ", this.options.get("spaceReplace")); - } - - if (!new_value_el.value.blank()) { - this.newvalue = true; - var value = new_value_el.value.gsub(",", ""); - value = this.options.get('encodeEntities') ? value.entitizeHTML() : value.escapeHTML(); - new_value_el.retrieveData('resizable').clear().focus(); - - this.current_input = ""; // stops the value from being added to the element twice - this.add({ caption: value, value: value, newValue: true }); - - return true; - } - } - return false; - }, - - dispose: function(el) { - this.bits.unset(el.id); - // Dynamic updating... why not? - var value = el.innerHTML.stripScripts(); - value = this.options.get('encodeEntities') ? value.entitizeHTML() : value.escapeHTML(); - this.options.get("onRemove")( value.replace(/[\n\r\s]+/g, ' ') ); - this.update(); - - if (el.previous() && el.previous().retrieveData('small')) - { - el.previous().remove(); - } - - if (this.current == el) - { - this.focus(el.next()); - } - - if (el.retrieveData('type') == 'box') - { - el.onBoxDispose(this); - } - - el.remove(); - return this; - }, - - focus: function(el, nofocus) - { - if (!this.current) - { - el.fire('focus'); - } - else if (this.current == el) - { - return this; - } - - this.blur(); - el.addClassName(this.options.get('className') + '-' + el.retrieveData('type') + '-focus'); - - if (el.retrieveData('small')) - { - el.setStyle({ display: 'block' }); - } - - if (el.retrieveData('type') == 'input') - { - el.onInputFocus(this); - if (!nofocus) this.callEvent(el.retrieveData('input'), 'focus'); - } - else - { - el.fire('onBoxFocus'); - this.callEvent(el, 'focus'); - } - - this.current = el; - return this; - }, - - blur: function(noblur) - { - if (!this.current) return this; - - if (this.current.retrieveData('type') == 'input') - { - var input = this.current.retrieveData('input'); - if (!noblur) this.callEvent(input, 'blur'); - input.onInputBlur(this); - } - else this.current.fire('onBoxBlur'); - - if (this.current.retrieveData('small') && !input.get('value') && this.options.get('hideempty')) - { - this.current.hide(); - } - - this.current.removeClassName(this.options.get('className') + '-' + this.current.retrieveData('type') + '-focus'); - this.current = false; - return this; - }, - - createBox: function(text, options) - { - var box = new Element('a', options).addClassName(this.options.get('className') + '-box').update(text.caption.entitizeHTML()).cacheData('type', 'box'); - var a = new Element('a', { - href: '#', - 'class': 'closebutton' - }); - - a.observe('click',function(e) - { - e.stop(); - if (!this.current) this.focus(this.maininput); - this.dispose(box); - }.bind(this)); - - box.insert(a).cacheData('text', Object.toJSON(text)); - return box; - }, - - createInput: function(options) - { - var a = new Element('a', { 'class': this.options.get('className') + '-input' }); - var el = new Element('input', Object.extend(options,{ type: 'text', autocomplete: 'off' })); - - el.observe('focus', function(e) { if (!this.isSelfEvent('focus')) this.focus(a, true); }.bind(this)) - .observe('blur', function() { if (!this.isSelfEvent('blur')) this.blur(true); }.bind(this)) - .observe('keydown', function(e) { this.cacheData('lastvalue', this.value).cacheData('lastcaret', this.getCaretPosition()); }) - .observe('keypress', function(e) - { - var charCode = e.charCode || e.keyCode; - if (e.keyCode == Event.KEY_RETURN || charCode == Event.CHAR_COMMA) - { - this.insertCurrentValue = true; - } - }.bind(this)) - .observe('keyup', function(e) - { - if (e.keyCode == Event.KEY_RETURN && !this.insertCurrentValue) this.insertCurrentValue = true; - - // We need to do the insert on keyup so that a value of just a comma won't be accepted - if (this.insertCurrentValue) - { - if (this.insertCurrent()) - { - e.stop(); - } - this.insertCurrentValue = false; - } - }.bind(this)); - - var tmp = a.cacheData('type', 'input').cacheData('input', el).insert(el); - return tmp; - }, - - callEvent: function(el, type) - { - this.events.set(type, el); - el[type](); - }, - - isSelfEvent: function(type) - { - return (this.events.get(type)) ? !!this.events.unset(type) : false; - }, - - makeResizable: function(box) - { - var el = box.retrieveData('input'); - el.cacheData('resizable', - new ResizableTextbox( - el, - Object.extend( - this.options.get('resizable'), { - min: el.offsetWidth, - max: this.element.getWidth() ? this.element.getWidth() : 0 - } - ) - ) - ); - return this; - }, - - checkInput: function() - { - var input = this.current.retrieveData('input'); - return (!input.retrieveData('lastvalue') || (input.getCaretPosition() === 0 && input.retrieveData('lastcaret') === 0)); - }, - - move: function(direction) - { - switch (direction) - { - case 'home': - var el = this.current.parentNode.firstDescendant(); - break; - - case 'end': - var el = this.current.parentNode.childElements().last(); - break; - - default: - var el = this.current[(direction == 'left' ? 'previous' : 'next')](); - } - if (el && (!this.current.retrieveData('input') || this.checkInput() || direction == 'right')) this.focus(el); - return this; - }, - - moveDispose: function() - { - if (this.current.retrieveData('type') == 'box') return this.dispose(this.current); - if (this.checkInput() && this.bits.keys().length && this.current.previous()) return this.focus(this.current.previous()); - return null; - } -}); - -var ProtoMultiSelect = Class.create(TextboxList, { - initialize: function($super, element, autoholder, options, func) - { - // Set up default options for ProtoMultiSelect - options = $H({ - fetchFile: undefined, - fetchMethod: 'get', - fetchParameters: {}, - results: 10, - maxResults: 0, // 0 = set to default (which is 10 (see MultiSelect class)), - wordMatch: false, - onEmptyInput: function(input){}, - onUserAdd: function(elem){}, // use this instead of onAdd to get user actions - onUserRemove: function(elem){}, // use this instead of onRemove to to get the original info on what got removed (caption, id) - caseSensitive: false, - addPrefix: "", //fxdiff: use translated prefix for 'add: <item>' - searchMessage: "", //fxdiff: show message about searching state - moreMessage: "found more result, please specify search", // fxdiff: message to show, if server sent "....." in reply implying that there are more results - regexSearch: true, - loadFromInput: true, - defaultMessage: "", // Used to provide the default autocomplete message if built by the control - inputMessage: null, // Used to provide a default message in the input box - sortResults: false, - allowDuplicates: false, // prevent dupes by checking for duplicate normalized captions - autoDelay: 500, - autoResize: false - }).update(options); - - $super(element, options); - - this.loptions = $H({ - autocomplete: { - opacity: 1, - maxresults: 10, - minchars: 3 //fxdiff : we want at least 3 chars - } - }); - - this.id_base = $(element).identify() + "_" + this.options.get("className"); - - this.data = []; - this.data_searchable = []; - this.selectedValues = new Hash(); - - // Defines the div that contains autocomplete values - this.autoholder = $(autoholder) || this.createAutoholder(autoholder) - this.autoholder.setOpacity(this.loptions.get('autocomplete').opacity) - .observe('mouseover', function() { this.curOn = true; }.bind(this)) - .observe('mouseout', function() { this.curOn = false; }.bind(this)); - - // Keep the autocomplete element the same size as the input - // Allows for width on the holder to be specified as a percentage - if (this.options.get('autoResize')) - { - this.autoResize(); - jQuery(window).resize(function() { this.autoResize(); });//.bind(this)); - } - - // Defines the autocomplete list - this.autoresults = this.autoholder.select('ul').first(); - - var children = this.autoresults.select('li'); - children.each(function(el) - { - this.add({ value: el.readAttribute('value'), caption: el.innerHTML }); - }, this); - - // this.loadfromfile(); // fxdiff: no initial loading, as list might be too large! - this.processing = false; - - // We need to load from input as part of the AJAX request when using fetchFile - // or else the data won't have completed being fetched before the data in the - // input is loaded - if (JQuery.type(this.options.get('fetchFile')) === "undefined" && this.options.get('loadFromInput')) - { - this.loadFromInput() - } - - document.observe('click', function() { this.autoHide() }.bindAsEventListener(this)); - - // Setup inputmessage - this.inputElem = this.maininput.firstDescendant(); - if (this.options.get('inputMessage')) { - this.inputElem.setValue(this.options.get('inputMessage')); - this.inputElem.retrieveData('resizable').setElementWidth(); - this.messageCleared = false; - this.inputElem.addClassName('inputMessage'); - this.inputElem.observe('focus', function(e) { - if (!this.messageCleared) { - this.inputElem.setValue(''); - this.inputElem.removeClassName('inputMessage'); - this.messageCleared = true; - } - }.bindAsEventListener(this)); - } - }, - - loadfromfile: function (){ - // Loading the options list only once at initialize. - // This would need to be further extended if the list was exceptionally long - // fxdiff: changed to load all time! - if (!(jQuery.type(this.options.get('fetchFile')) === "undefined")) - { - var fetchParamName = this.options.get('fetchParameters') + "=" + this.current.retrieveData('input').getValue(); - if (debug) o_log("fetch data; processing is: " + this.processing); - // if (!this.processing) { // query even if old didn't return but make sure delay to do query is high enough! - this.processing=true; - var ajr = new Ajax.Request(this.options.get('fetchFile'), { - method: this.options.get('fetchMethod'), - parameters: fetchParamName , - onSuccess: function(transport) - { - if (debug) o_log("query successful "); - this.foundMoreResults = false; - transport.responseText.evalJSON(true).each(function(t){this.autoFeed(t)}.bind(this)); - if (this.options.get('loadFromInput')) this.loadFromInput(); - this.processing=false; - this.autoShow(this.current.retrieveData('input').getValue()); - }.bind(this), - onFailure: function(){ - if (debug) o_log("failure getting server reply"); - this.processing=false; - } - }); - // } - } - else if (!(jQuery.type(this.options.get('feed')) === "undefined")) - { - this.options.get('feed').each(function(t) { this.autoFeed(t) }.bind(this)); - } - }, - - - add: function($super, elem) { - var retval = $super(elem); - this.selectedValues.set(retval.getAttribute('id'), elem); - return retval; - }, - - // the removing of a bit/item - dispose: function($super, elem) { - var removed = this.selectedValues.get(elem.getAttribute('id')); - // fxdiff: first unset the bit ("remove it"), then invoke our custom "onUserRemove" - this.selectedValues.unset(elem.getAttribute('id')); - this.bits.unset(elem.id); - this.update(); - this.options.get("onUserRemove")( removed ); - return $super(elem); - }, - foundInData: function(search) { - return this.data.find(function(d) { - if (!d) return false; - var dataObj = d.evalJSON(true); - - return (dataObj && (dataObj.caption.toLowerCase().gsub(' ', '') == search.toLowerCase().gsub(' ', ''))); - }); - }, - foundInSelectedValues: function(search) { - return this.selectedValues.values().find(function(elem) { - return (elem && elem.caption && (elem.caption.toLowerCase().gsub(' ', '') == search.toLowerCase().gsub(' ', ''))); - }); - }, - isSearchInsertable: function(new_value) { - return (this.options.get('newValues') && (this.options.get('allowDuplicates') || (!this.foundInSelectedValues(new_value) && !this.foundInData(new_value)))); - }, - - insertCurrent: function($super, elem) { - var retval = false; - var new_value_el = this.current.retrieveData('input'); - - // handle pasted commas - new_value_el.value.split(/,/).each(function(new_value) { - if (new_value && new_value != '' && this.isSearchInsertable(new_value)) { - new_value = new_value.strip(); - new_value_el.value = new_value; - - if ($super()) { - this.options.get("onUserAdd")( {caption: new_value, value: new_value, newValue: true } ); - retval = true; - } - } - }.bind(this));// }.bindAsEventListener(this)); -- caused strange bug in webkit browsers … and seems unnecessary - - return retval; - }, - - autoShow: function(search) { - var matches, regexp, matches_found, i, v, count, extra_elems_count, special_add_el; - - this.autoholder.setStyle({'display': 'block'}); - this.autoholder.descendants().each(function(e) { e.hide(); }); - - if (!search || !search.strip() || (!search.length || search.length < this.loptions.get('autocomplete').minchars)) { - if (this.autoholder.select('.default').first()) { - this.autoholder.select('.default').first().setStyle({'display': 'block'}); - } - this.resultsshown = false; - if (debug) o_log("no results!" ); - } else { - this.resultsshown = true; - this.autoresults.setStyle({'display': 'block'}).update(''); - if (debug) o_log("autoshow results for: " + search); - - if (!this.options.get('regexSearch')) { - matches = new Array(); - if (search) { - if (!this.options.get('caseSensitive')) { - search = search.toLowerCase(); - } - - for (matches_found = 0, i = 0, len = this.data_searchable.length; i < len; i++) { - if (this.data_searchable[i].indexOf(search) >= 0) { - v = this.data[i]; - if (v !== undefined) { - matches[matches_found++] = v; - } - } - } - - } - - } else { - if (this.options.get('wordMatch')) { - regexp = new RegExp("(^|\\s)"+RegExp.escape(search),(!this.options.get('caseSensitive') ? 'i' : '')); - } else { - regexp = new RegExp(RegExp.escape(search),(!this.options.get('caseSensitive') ? 'i' : '')); - } - - matches = this.data.filter( - function(str) { - return str ? regexp.test(str.evalJSON(true).caption) : false; - } - ); - } - - if(matches && !this.options.get('allowDuplicates')) { - var toDelete = new Array(); - var count = 0; - for(var i=0; i<matches.length; i++) { - var val = matches[i].evalJSON(true).value; - if(this.foundInSelectedValues(val)) { - toDelete[count++] = matches[i]; - } - } - for(var i=0;i<toDelete.length; i++) { - matches.remove(toDelete[i]); - } - } - - if (this.options.get('sortResults')) { - matches = matches.sortBy(function(el) { return el.evalJSON(true).caption }); - } - - count = 0; - extra_elems_count = 0; - special_add_el = null; - - // "Add **search**" element - if (this.isSearchInsertable(search)) { - count++; - extra_elems_count++; - - special_add_el = new Element('li'); - special_add_el.addClassName('add-value-special-element'); - special_add_el.cacheData('result', { caption: search, value: search, newValue: true }) - special_add_el.cacheData('input', this.inputElem); - special_add_el.observe('click', function(e) { - e.stop(); - this.current_input = ""; - this.autoAdd(special_add_el); - }.bindAsEventListener(this)).observe('mouseover',function() { - this.autoFocus(special_add_el); - }.bindAsEventListener(this)).update(this.options.get('addPrefix') + ": <b>" + search + "</b>"); //fxdiff: use translated prefix - this.autoresults.insert(special_add_el); - } - - // fxdiff: show search state as first element - if (this.processing) { - var el = new Element('li'); - el.update(this.options.get('searchMessage') + "<b>" + search + "</b>"); - el.addClassName("loading-indicator"); - - this.autoresults.insert(el); - count++; - extra_elems_count++; - } - - if (debug) o_log("found more results on server? add hint in autoShow: " + this.foundMoreResults); - if (this.foundMoreResults) { - count++; - extra_elems_count++; - } - - // Handle matches... - matches.each( - function(result, ti) { - var that = this, - el, caption; - - count++; - if (ti >= ((this.options.get('maxResults') ? this.options.get('maxResults') : this.loptions.get('autocomplete').maxresults) - extra_elems_count)) return; - - el = new Element('li'); - caption = result.evalJSON(true).caption; - - el.observe('click', function(e) - { - e.stop(); - that.current_input = ""; - that.autoAdd(this); - }) - .observe('mouseover', function() { that.autoFocus(this); } ) - .update(this.autoHighlight(caption, search)); - - this.autoresults.insert(el); - el.cacheData('result', result.evalJSON(true)); - if (ti == 0) this.autoFocus(el); - }, this - ); - - if (extra_elems_count == count) { - this.autoFocus(special_add_el); - } - - if (this.foundMoreResults) { - var el = new Element('li'); - el.update(this.options.get('moreMessage')); - el.addClassName("more-indicator"); - this.autoresults.insert(el); - this.foundMoreResults = false; - } - } // found something - - if (debug) o_log("matches for search: " + count); - if (count == 0 && !this.processing) { - // if there are no results, hide everything so that KEY_RETURN has no effect - this.autocurrent = false; - this.autoHide(); -// this.autoresults.setStyle({'height': 0 + 'px'}); - } else { - if (this.autoresults.firstDescendant()) { - var autoresult_height = this.autoresults.firstDescendant().offsetHeight + 1; - - if (count > this.options.get('results')) { - this.autoresults.setStyle({'height': (this.options.get('results') * autoresult_height) + 'px'}); - } else { - this.autoresults.setStyle({'height': (count ? (count * autoresult_height) : 0) + 'px'}); - } - } - } - - return this; - }, - - autoHighlight: function(html, highlight) - { - // Because the autocomplete will be filled with HTML, we need to escape any HTML in the string - return html.entitizeHTML().unescapeHTML().gsub(new RegExp(RegExp.escape(highlight),'i'), function(match) - { - return '<em>' + match[0] + '</em>'; - } - ).gsub(/<(?!\/?em>)/, "<"); // ... except for the <em> tags that we add here. - }, - - autoHide: function() - { - this.resultsshown = false; - this.autoholder.hide(); - return this; - }, - - autoFocus: function(el) - { - if (!el) return null; - if (this.autocurrent) this.autocurrent.removeClassName('auto-focus'); - this.autocurrent = el.addClassName('auto-focus'); - return this; - }, - - autoMove: function(direction) - { - if (!this.resultsshown) return null; - this.autoFocus(this.autocurrent[(direction == 'up' ? 'previous' : 'next')]()); - this.autoresults.scrollTop = this.autocurrent.positionedOffset()[1]-this.autocurrent.getHeight(); - return this; - }, - - autoFeed: function(text) - { - var with_case = this.options.get('caseSensitive'); - if (text.caption.indexOf(".....") != -1) { //fxdiff: mark if server implied having more results - this.foundMoreResults = true; - if (debug) o_log("had ..... in RS/more results than : " + this.options.get('maxResults')); - } - if (this.data.indexOf(Object.toJSON(text)) == -1) - { - if (debug) o_log("put new data to cache: " + text.caption); - this.data.push(Object.toJSON(text)); - var data_searchable = Object.toJSON(text).evalJSON(true).caption.unentitizeHTML(); - this.data_searchable.push(with_case ? data_searchable : data_searchable.toLowerCase()); - } - return this; - }, - - autoAdd: function(el) - { - if (!el || !el.retrieveData('result')) return null; - - this.current_input = ""; - var new_value = el.retrieveData('result'); - - // handle commas in new values - if (new_value.newValue) { - values = new_value.caption.split(/,/).each(function(search) { - if (search && search != '' && this.isSearchInsertable(search)) { - this.autoAddSingle({caption: search, value: search, newValue: true}); - } - }.bind(this)); //.bindAsEventListener(this)); -- unlikely it should be bound as event listener since it is called directly and not attached to an element's event - } else { - this.autoAddSingle(new_value); - } - var input = this.lastinput || this.current.retrieveData('input'); - - this.autoHide(); - input.retrieveData('resizable').clear().focus(); - return this; - }, - autoAddSingle: function(new_value) { - this.add(new_value); - this.options.get("onUserAdd")( new_value ); - delete this.data[this.data.indexOf(Object.toJSON( new_value ))]; - }, - - autoResize: function() - { - this.autoholder.setStyle({width: this.holder.getWidth() + "px"}); - }, - - createInput: function($super,options) - { - var box = $super(options); - var input = box.retrieveData('input'); - - input.observe('keydown', function(e) - { - this.dosearch = false; - this.newvalue = false; - - switch (e.keyCode) - { - case Event.KEY_UP: e.stop(); return this.autoMove('up'); - case Event.KEY_DOWN: e.stop(); return this.autoMove('down'); - case Event.KEY_RETURN: - case Event.KEY_TAB: - var input_value = this.current.retrieveData('input').getValue(); - - // If the text input is blank and the user hits Enter call the onEmptyInput callback. - if (input_value.blank()) - { - this.options.get("onEmptyInput")(); - this.autocurrent = false; // if the input is blank, we shouldn't be adding an autocomplete result - } - - e.stop(); - - // Ensure that the value matches this.autocurrent before autoAdd'ing. - // This stops the wrong value from being added if the user types fast and hits enter before a new autocurrent is found - if (this.autocurrent && new RegExp(RegExp.escape(input_value), 'i').test(this.autocurrent.retrieveData('result').caption.unentitizeHTML())) { - this.autoAdd(this.autocurrent); - } else { - this.autoHide(); - } - - this.current_input = ""; - this.autocurrent = false; - this.autoenter = true; - break; - - case Event.KEY_ESC: - // If ESC is pressed, hide the autocomplete, but let the user still enter the text they typed - // This lets the user type part of an autocomplete result but add just what they typed instead - // of the full result. - this.autocurrent = false; - this.autoHide(); - break; - - default: - this.dosearch = true; - } - return null; - }.bind(this)); - - input.observe('keyup', function(e) - { - switch (e.keyCode) - { - case Event.KEY_COMMA: - case Event.KEY_RETURN: - case Event.KEY_TAB: - case Event.KEY_UP: - case Event.KEY_DOWN: - case Event.KEY_ESC: - break; - - default: - //fxdiff: Don't search on server if not enouth characters entered - var data = this.current.retrieveData('input').getValue().strip(); - if (data.length < this.loptions.get('autocomplete').minchars) { - break; - } - // If the user doesn't add comma after, the value is discarded upon submit - this.current_input = this.options.get('encodeEntities') ? input.value.strip().entitizeHTML() : input.value.strip().escapeHTML(); - this.update(); - - // Removed Ajax.Request from here and moved to initialize, - // now doesn't create server queries every search but only - // refreshes the list on initialize (page load) - // fxdiff: do this again!! - - if (debug) o_log("qtimeout " + this.queryTimeout); - if (this.queryTimeout) { - clearTimeout(this.queryTimeout); - if (debug) o_log("reset timeout, wait for querying"); - } - this.queryTimeout = setTimeout(function() - { - if (this.dosearch) - { - this.loadfromfile(); - this.autocurrent = false; - // fxdiff: show after loadfromFile(), to also show search-state! - this.autoShow(input.value.escapeHTML()); - } - }.bind(this), this.options.get('autoDelay')); - } - }.bind(this)); - - input.observe(Prototype.Browser.IE ? 'keydown' : 'keypress', function(e) - { - if ((e.keyCode == Event.KEY_RETURN) && this.autoenter) e.stop(); - this.autoenter = false; - }.bind(this)); - - return box; - }, - - createBox: function($super,text, options) - { - var box = $super(text, options); - - box.observe('mouseover', function() { this.addClassName('bit-hover'); }) - .observe('mouseout',function() { this.removeClassName('bit-hover'); }); - - return box; - }, - - createAutoholder: function(id) - { - var div = new Element('div', { id: id, 'class': 'autocomplete' }); - var ul = new Element('ul', { 'class': 'feed' }); - - if (this.options.get('defaultMessage').length) - { - var default_div = new Element('div', { 'class': 'default' }).update(this.options.get('defaultMessage')); - div.insert(default_div); - } - - div.insert(ul); - - this.element.insert({ after: div }); - return div - }, - - loadFromInput: function() { - if (this.options.get('jsonInputValue')) { - // parse from json format [{caption: 'abc', value: 1},{caption: 'def', value: 'def', newValue: true}] - var input_values = this.element.value.evalJSON(true); - if (this.data.length) { - input_values.each(function(el) { - this.add(el); - if (!el.newValue) delete this.data[this.data.indexOf(Object.toJSON(el))]; - }.bind(this)); //bindAsEventListener(this)); -- event listener seems to be unnecessary and erroneous - } - } else { - var input_values = this.element.value.split(this.options.get('separator')).invoke('strip'); - - if (this.data.length) { - this.data.select(function(el) { return input_values.include(el.evalJSON(true).value) }).each(function(el) { - el = el.evalJSON(true); - this.add({ value: el.value, caption: el.caption}); - delete this.data[this.data.indexOf(Object.toJSON(el))]; - input_values = input_values.without(el.value); - }, this); - } - - input_values.each(function(el) { - if (!el.empty()) { - this.add({ value: el, caption: el }); - } - }, this); - } - } -}); - - -/* Copyright: InteRiders <http://interiders.com/> - Distributed under MIT - Keep this message! */ -// vi: noexpandtab 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 d8743b33a09e323e6f5d9e502bb6e0fa84e711ac..8103eda259c4f9ded7f68250ec8258ffff462d2d 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 @@ -102,8 +102,7 @@ public class MenuTreeRenderer implements ComponentRenderer { if(!tree.isRootVisible()) { target.append(" b_tree_root_hidden"); } - target.append("'>\n"); - target.append("<ul class=\"b_tree_l0\">"); + target.append("'><ul class=\"b_tree_l0\">"); if(tree.isRootVisible()) { renderLevel(target, 0, root, selPath, openNodeIds, ubu, flags, tree.markingTreeNode, tree); } else { @@ -114,14 +113,12 @@ public class MenuTreeRenderer implements ComponentRenderer { renderLevel(target, 0, curChd, selPath, openNodeIds, ubu, flags, tree.markingTreeNode, tree); } } - - target.append("</ul>"); - target.append("\n</div>"); + target.append("</ul>").append("</div>"); } - private void renderLevel(StringOutput target, int level, TreeNode curRoot, List<INode> selPath, Collection<String> openNodeIds, - URLBuilder ubu, AJAXFlags flags, TreeNode markedNode, MenuTree tree) { - //TODO make performant + private void renderLevel(StringOutput target, int level, TreeNode curRoot, List<INode> selPath, + Collection<String> openNodeIds, URLBuilder ubu, AJAXFlags flags, TreeNode markedNode, MenuTree tree) { + INode curSel = null; if (level < selPath.size()) { curSel = selPath.get(level); diff --git a/src/main/java/org/olat/core/gui/control/JSAndCSSAdder.java b/src/main/java/org/olat/core/gui/control/JSAndCSSAdder.java index b91bf980c26a4fa25ef11eb84e9813252d615441..231983af44cabb4a3dfc1224ae771507e9bd1780 100644 --- a/src/main/java/org/olat/core/gui/control/JSAndCSSAdder.java +++ b/src/main/java/org/olat/core/gui/control/JSAndCSSAdder.java @@ -42,6 +42,10 @@ public abstract class JSAndCSSAdder { // everything that must be loaded after the theme: 51 - 99 public static final int CSS_INDEX_AFTER_THEME = 65; + + + public abstract void addRequiredStaticJsFile(String jsFileName); + /** * adds a js file to be served in the html header to the list of required * js-files. e.g. addRequiredJsFile(MyController.class, "js/myscript.js") 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 c05a836d2b90b26e382d1b3286c13be70045c60a..d4c6d8c49babc063dc93b664312b9d69c10f105c 100644 --- a/src/main/java/org/olat/core/gui/control/JSAndCSSAdderImpl.java +++ b/src/main/java/org/olat/core/gui/control/JSAndCSSAdderImpl.java @@ -122,6 +122,14 @@ public class JSAndCSSAdderImpl extends JSAndCSSAdder implements ComponentRendere jsToRender = curJsList; } + /** + * @see org.olat.core.gui.control.JSAndCSSAdder#addRequiredJsFile(java.lang.Object, + * java.lang.String) + */ + public void addRequiredStaticJsFile(String jsFileName) { + addRequiredJsFile(null, jsFileName, ENCODING_DEFAULT, null); + } + /** * @see org.olat.core.gui.control.JSAndCSSAdder#addRequiredJsFile(java.lang.Object, * java.lang.String) @@ -144,7 +152,16 @@ public class JSAndCSSAdderImpl extends JSAndCSSAdder implements ComponentRendere */ public void addRequiredJsFile(Class baseClass, String jsFileName, String fileEncoding, String AJAXAddJsCode) { - String jsPath = getMappedPathFor(baseClass, jsFileName); + + String jsPath; + if(baseClass == null) { + StringOutput sb = new StringOutput(50); + Renderer.renderStaticURI(sb, jsFileName); + jsPath = sb.toString(); + } else { + jsPath = getMappedPathFor(baseClass, jsFileName); + } + if (!curJsList.contains(jsPath)) { //System.out.println("reqJs:"+jsPath); curJsList.add(jsPath); diff --git a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java index 66c602a4457786c6d8e05cf6afc9921b06f2fc3f..ccdbd58d3e98930a98004bcc7458086e980f1f58 100644 --- a/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java +++ b/src/main/java/org/olat/core/gui/control/floatingresizabledialog/FloatingResizableDialogController.java @@ -200,6 +200,7 @@ public class FloatingResizableDialogController extends BasicController { String w = getPanelName(); StringBuilder sb = new StringBuilder(); sb.append("try{"); + //TODO jquery sb.append("Ext.getCmp('").append(w).append("').purgeListeners();"); sb.append("Ext.getCmp('").append(w).append("').close();"); sb.append("Ext.getCmp('").append(w).append("').distroy();"); 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 ee75a1637830b13d610db935410ba49b33b34ed7..5a623086e0e96e110b81af11ee5631daf1b51425 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 @@ -17,13 +17,11 @@ jQuery(function() { #end }); - console.log('$target'); jQuery('#$target').tooltip({ items: '#$target', position: { my: 'left+15 center', at: 'right bottom', collision: 'flipfit'}, content: function(response) { - var txt = jQuery('#callout_layer_content_$r.getCId()').html(); - return txt; + return jQuery('#callout_layer_content_$r.getCId()').html(); }, close: function( event, ui ) { $r.javaScriptBgCommand('close'); 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 a4919639781650c9bca04a9a19b487e9913d6817..e6dc7ef44a2eae3c6bbe8bb662d333a0235e9469 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 @@ -342,7 +342,6 @@ public class IFrameDeliveryMapper implements Mapper, Serializable { sb.append("b_addOnclickEvent(b_sizeIframe);"); } // register the tooltips enabling on document load event - sb.append("b_addOnloadEvent(b_enableTooltips);"); sb.append("b_addOnloadEvent(b_hideExtMessageBox);"); if (addCheckForInlineEvents) { // Refresh dirty menu tree by triggering client side request to component which fires events diff --git a/src/main/java/org/olat/core/gui/control/generic/iframe/_static/js/iframe.js b/src/main/java/org/olat/core/gui/control/generic/iframe/_static/js/iframe.js index 85ce7a76d536be25d62ebde7062b49a272853692..e835d76f0ba92eb26d1445c07f535918ad494090 100644 --- a/src/main/java/org/olat/core/gui/control/generic/iframe/_static/js/iframe.js +++ b/src/main/java/org/olat/core/gui/control/generic/iframe/_static/js/iframe.js @@ -127,12 +127,6 @@ function b_sizeIframe() { } } -function b_enableTooltips(){ - if (window["Ext"]) { - Ext.QuickTips.init(); - }; -}; - //start highlighting glossary term inside iframe. will also generate ext-tooltips in the correct context. function b_glossaryHighlight(){ if (typeof(o_tm_doHighlightAll) == 'function'){ diff --git a/src/main/java/org/olat/core/gui/render/StringOutput.java b/src/main/java/org/olat/core/gui/render/StringOutput.java index 91b5e9dfad707e0587111710f4db44d890c6fd73..b21b201897c2743a7c63401154be913078654784 100644 --- a/src/main/java/org/olat/core/gui/render/StringOutput.java +++ b/src/main/java/org/olat/core/gui/render/StringOutput.java @@ -53,19 +53,28 @@ public class StringOutput extends Writer { /** * @param val - * @return + * @return this */ public StringOutput append(String val) { sb.append(val); return this; } + + /** + * @param val + * @return this + */ + public StringOutput append(boolean val) { + sb.append(val); + return this; + } /** * @param i * @return */ public StringOutput append(int i) { - sb.append(String.valueOf(i)); + sb.append(i); return this; } diff --git a/src/main/java/org/olat/course/statistic/StatisticDisplayController.java b/src/main/java/org/olat/course/statistic/StatisticDisplayController.java index 916c0d652452d56957ecfffbecc42b146f786503..0f8b77bbad448c7cbd0ec60cbde9fa8642670ec3 100644 --- a/src/main/java/org/olat/course/statistic/StatisticDisplayController.java +++ b/src/main/java/org/olat/course/statistic/StatisticDisplayController.java @@ -199,7 +199,7 @@ public class StatisticDisplayController extends BasicController { } protected Component createInitialComponent(UserRequest ureq) { - statisticVc_ = this.createVelocityContainer("statistic"); + statisticVc_ = createVelocityContainer("statistic"); statisticVc_.contextPut("statsSince", getStatsSinceStr(ureq)); Package pkg = getStatisticManager().getClass().getPackage(); String fullPkgName = pkg.getName(); @@ -535,9 +535,7 @@ public class StatisticDisplayController extends BasicController { statisticVc_.contextPut("chartUrl", url); statisticVc_.contextPut("thicks", thicks); statisticVc_.contextPut("d2", vals); - - - System.out.println(url); + if (url.length()>2000) { // from http://code.google.com/apis/chart/faq.html#url_length // The maximum length of a URL is not determined by the Google Chart API, diff --git a/src/main/java/org/olat/course/statistic/_content/statistic.html b/src/main/java/org/olat/course/statistic/_content/statistic.html index 62a0bca11111e04e6f9afdfb4881250de4698ba5..46edf0b93c55ce6ec15d42af56914b75b778d24c 100644 --- a/src/main/java/org/olat/course/statistic/_content/statistic.html +++ b/src/main/java/org/olat/course/statistic/_content/statistic.html @@ -7,6 +7,7 @@ <hr class="b_form_spacer"/> <p>$chartIntro</p> <div id="placeholder" style="width:600px;height:300px"></div> +<script type="text/javascript" src='$r.staticLink("js/jquery/flot/jquery.flot.js")'></script> <script type="text/javascript"> jQuery(function () { var d2 = [$d2]; diff --git a/src/main/java/org/olat/course/statistic/daily/_content/statistic.html b/src/main/java/org/olat/course/statistic/daily/_content/statistic.html index e66d107548ff89ba1de9df3292f6be3c21b2599f..8ea6f209da27332664ee287c0be139b403c916b9 100644 --- a/src/main/java/org/olat/course/statistic/daily/_content/statistic.html +++ b/src/main/java/org/olat/course/statistic/daily/_content/statistic.html @@ -2,6 +2,7 @@ <hr class="b_form_spacer"/> <p>$chartIntro</p> <div id="placeholder" style="width:600px;height:300px"></div> +<script type="text/javascript" src='$r.staticLink("js/jquery/flot/jquery.flot.js")'></script> <script type="text/javascript"> jQuery(function () { var d2 = [$d2]; diff --git a/src/main/java/org/olat/course/statistic/weekly/_content/statistic.html b/src/main/java/org/olat/course/statistic/weekly/_content/statistic.html index 36485a08a85f522db28536e42eb9c9c3b9918c40..7dfd1793d28abf9e599572bc98dc63c798e7849f 100644 --- a/src/main/java/org/olat/course/statistic/weekly/_content/statistic.html +++ b/src/main/java/org/olat/course/statistic/weekly/_content/statistic.html @@ -2,6 +2,8 @@ <hr class="b_form_spacer"/> <p>$chartIntro</p> <div id="placeholder" style="width:600px;height:300px"></div> + +<script type="text/javascript" src='$r.staticLink("js/jquery/flot/jquery.flot.js")'></script> <script type="text/javascript"> jQuery(function () { var d2 = [$d2]; diff --git a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoTooltipsController.java b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoTooltipsController.java index 57dc20959d34ff52e4f5e0da4363f4c13c801d58..0a2920604a00140824dcb49f3ea0a364f7a86481 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/GuiDemoTooltipsController.java +++ b/src/main/java/org/olat/gui/demo/guidemo/GuiDemoTooltipsController.java @@ -72,7 +72,6 @@ public class GuiDemoTooltipsController extends BasicController { */ Link link3 = LinkFactory.createLink("link3", content, this); - link3.setTooltip(tooltipContent, true); content.put("tooltipContent", tooltipContent); link4 = LinkFactory.createLink("link4", tooltipContent, this); diff --git a/src/main/java/org/olat/gui/demo/guidemo/_content/tooltips.html b/src/main/java/org/olat/gui/demo/guidemo/_content/tooltips.html index 937cb8642daf80dc06791944636a49cab9179fdb..61bda4cc8bad9db92a9672a215c9e3eeb965e61d 100644 --- a/src/main/java/org/olat/gui/demo/guidemo/_content/tooltips.html +++ b/src/main/java/org/olat/gui/demo/guidemo/_content/tooltips.html @@ -1,16 +1,6 @@ $r.render("sourceview") -<script type="text/javascript"> -Ext.apply(Ext.QuickTips.getQuickTip(), { - //autoWidth:true, - //autoHeight:true, - maxWidth:500, - monitorResize:true -}); -</script> - $r.render("tooltipContent") - <div style="float:right" class="b_clearfix">$r.render("button")</div> <p>$r.render("linkT")</p> <p>$r.render("link1")</p> @@ -19,7 +9,6 @@ $r.render("tooltipContent") <p><div ext:qtip="this div has an tooltipIf you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.If you do not like the html namespace extensions do it with an id reference.">Any element can have a tooltip, see source for details...</div></p> - <p><div id="test1234">If you do not like the html namespace extensions do it with an id reference.</div></p> <p><div id="test1235">If you do not like the html namespace extensions do it with an id reference. And grab the content from an other div</div></p> @@ -28,33 +17,3 @@ $r.render("tooltipContent") <!-- note the x-hidden css class, you have to use this one when refering to an external content element for a tooltip --> <p><div ext:qtip="This tooltip will disapear when you click the close button or somewhere else in the body" ext:hide="user" ext:qtitle="asdf asdf" ext:qwidth="400">Tooltips have many config options, they can e.g. be sticky.</div></p> - -<script type="text/javascript"> -new Ext.ToolTip({ - target: 'test1234', - html: "The body of <b>my</b> tip. It also can ' which ext handles", //nice ext handles the escaping itself - width: 200, - title: 'My tip', - autoHide: true, - hideDelay: 1000 -}); - -new Ext.ToolTip({ - target: 'test1235', - contentEl: 'test3333', - title: 'My Tip Title', - autoHide: false, - closable: true, - draggable:true -}); - -//see http://extjs.com/deploy/ext/docs/index.html for API documentation - -</script> - -<!-- -Ext.QuickTips.register({title: 'Play', target: playId, autoHide:true}); - -When setting it on a DOM node that you have a reference to (not through markup) you can/should use -el.qtip = 'blah'; (or el.dom.qtip) to set an expando. ---> \ No newline at end of file diff --git a/src/main/java/org/olat/modules/qpool/ui/AbstractQuestionListController.java b/src/main/java/org/olat/modules/qpool/ui/AbstractQuestionListController.java index e309b6eb3bb42b40eaf42001649fcb712633fcb6..f2a62495af6902cbd7643ad183ac2d7449b8105d 100644 --- a/src/main/java/org/olat/modules/qpool/ui/AbstractQuestionListController.java +++ b/src/main/java/org/olat/modules/qpool/ui/AbstractQuestionListController.java @@ -32,7 +32,7 @@ import org.olat.core.commons.services.mark.MarkManager; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.form.flexible.FormItem; import org.olat.core.gui.components.form.flexible.FormItemContainer; -import org.olat.core.gui.components.form.flexible.elements.FlexiTableElment; +import org.olat.core.gui.components.form.flexible.elements.FlexiTableElement; import org.olat.core.gui.components.form.flexible.elements.FormLink; import org.olat.core.gui.components.form.flexible.impl.FormBasicController; import org.olat.core.gui.components.form.flexible.impl.FormEvent; @@ -55,7 +55,7 @@ import org.olat.modules.qpool.QuestionPoolService; */ public class AbstractQuestionListController extends FormBasicController implements StackedControllerAware { - private FlexiTableElment itemsTable; + private FlexiTableElement itemsTable; private QuestionItemDataModel model; private StackedController stackPanel; protected final QuestionPoolService qpoolService; 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 b9b0953e118a1f500bbc760ff814b40b1e9d95a6..c0d2947ea0c931d20d520de7105c664337c812d6 100644 --- a/src/main/java/org/olat/social/shareLink/_content/shareLink.html +++ b/src/main/java/org/olat/social/shareLink/_content/shareLink.html @@ -30,34 +30,20 @@ #elseif ($link == "mail") <a id="b_mail" href="mailto:?body=$baseURL" title="$r.translateInAttribute("share.mail")"></a> #elseif ($link == "link") - <span id="b_link" href="" title="$r.translateInAttribute("share.link")" onclick="javascript:b_shareSocialLink();"></span> + <a id="b_link" href="#" onclick="javascript:b_shareSocialLink();"></a> <script type="text/javascript"> /* <![CDATA[ */ function b_shareSocialLink() { - if(Ext.getCmp('callout_share_link') != null ) { - Ext.getCmp('callout_share_link').destroy(); - }; - var tt = new Ext.ToolTip({ - id: 'callout_share_link', - html: '<p><span>$r.translate("share.link")</span>:<br/><input id="callout_share_link_in" type="text" name="cl_share_link" value="' + b_shareSocialUrl() + '" /></p>', - target: 'b_link', - title: '<span>' + b_shareSocialTitle() + '</span>', - closable: true, - autoHide: false, - hideDelay: 100000, - anchor: 'box', - width: 500, - autoScroll: true, - style: 'z-index:900', - onDocMouseDown: function(e) { } - }); - tt.show(); - document.getElementById('callout_share_link_in').focus(); + jQuery('#b_link').tooltip({ + items: '#b_link', + content: function() { + return jQuery('<p><span>$r.translate("share.link")</span>:<br/><input id="callout_share_link_in" type="text" name="cl_share_link" value="' + b_shareSocialUrl() + '" /></p>') + .html(); + } + }).tooltip('open'); } /* ]]> */ </script> - #else - <!-- did not found code for $link share link button in shareLink.html template--> #end #end </div> diff --git a/src/main/webapp/static/js/functions.js b/src/main/webapp/static/js/functions.js index 6575fcc26d4fe4577cac916b99090e2d35ae8752..4ce33ed50fd9d0146e5ac775378053cb21e3fd27 100644 --- a/src/main/webapp/static/js/functions.js +++ b/src/main/webapp/static/js/functions.js @@ -960,6 +960,32 @@ function showMessageBox(type, title, message, buttonCallback){ } } +/* + * For standard tables + */ +function tableFormInjectCommandAndSubmit(formName, cmd, param) { + document.forms[formName].elements["cmd"].value = cmd; + document.forms[formName].elements["param"].value = param; + document.forms[formName].submit(); +} + +/* + * For standard tables + */ +function b_table_toggleCheck(ref, checked) { + var tb_checkboxes = document.forms[ref].elements["tb_ms"]; + len = tb_checkboxes.length; + if (typeof(len) == 'undefined') { + tb_checkboxes.checked = checked; + } + else { + var i; + for (i=0; i < len; i++) { + tb_checkboxes[i].checked=checked; + } + } +} + /* * print command, prints iframes when available diff --git a/src/main/webapp/static/js/jquery/tagit/jquery.tagit.css b/src/main/webapp/static/js/jquery/tagit/jquery.tagit.css new file mode 100644 index 0000000000000000000000000000000000000000..1620ba5e6c4d11b3391bf4e7c859caee760843c6 --- /dev/null +++ b/src/main/webapp/static/js/jquery/tagit/jquery.tagit.css @@ -0,0 +1,67 @@ +ul.tagit { + padding: 1px 5px; + overflow: auto; + margin-left: inherit; /* usually we don't want the regular ul margins. */ + margin-right: inherit; +} +ul.tagit li { + display: block; + float: left; + margin: 2px 5px 2px 0; +} +ul.tagit li.tagit-choice { + position: relative; + line-height: inherit; +} + +ul.tagit li.tagit-choice-read-only { + padding: .2em .5em .2em .5em; +} + +ul.tagit li.tagit-choice-editable { + padding: .2em 18px .2em .5em; +} + +ul.tagit li.tagit-new { + padding: .25em 4px .25em 0; +} + +ul.tagit li.tagit-choice a.tagit-label { + cursor: pointer; + text-decoration: none; +} +ul.tagit li.tagit-choice .tagit-close { + cursor: pointer; + position: absolute; + right: .1em; + top: 50%; + margin-top: -8px; + line-height: 17px; +} + +/* used for some custom themes that don't need image icons */ +ul.tagit li.tagit-choice .tagit-close .text-icon { + display: none; +} + +ul.tagit li.tagit-choice input { + display: block; + float: left; + margin: 2px 5px 2px 0; +} +ul.tagit input[type="text"] { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; + + border: none; + margin: 0; + padding: 0; + width: inherit; + background-color: inherit; + outline: none; +} diff --git a/src/main/webapp/static/js/jquery/tagit/tag-it.js b/src/main/webapp/static/js/jquery/tagit/tag-it.js new file mode 100644 index 0000000000000000000000000000000000000000..9d231dfed1b272ae19b00bb470e14bb54360a953 --- /dev/null +++ b/src/main/webapp/static/js/jquery/tagit/tag-it.js @@ -0,0 +1,533 @@ +/* +* jQuery UI Tag-it! +* +* @version v2.0 (06/2011) +* +* Copyright 2011, Levy Carneiro Jr. +* Released under the MIT license. +* http://aehlke.github.com/tag-it/LICENSE +* +* Homepage: +* http://aehlke.github.com/tag-it/ +* +* Authors: +* Levy Carneiro Jr. +* Martin Rehfeld +* Tobias Schmidt +* Skylar Challand +* Alex Ehlke +* +* Maintainer: +* Alex Ehlke - Twitter: @aehlke +* +* Dependencies: +* jQuery v1.4+ +* jQuery UI v1.8+ +*/ +(function($) { + + $.widget('ui.tagit', { + options: { + allowDuplicates : false, + caseSensitive : true, + fieldName : 'tags', + placeholderText : null, // Sets `placeholder` attr on input field. + readOnly : false, // Disables editing. + removeConfirmation: false, // Require confirmation to remove tags. + tagLimit : null, // Max number of tags allowed (null for unlimited). + + // Used for autocomplete, unless you override `autocomplete.source`. + availableTags : [], + + // Use to override or add any options to the autocomplete widget. + // + // By default, autocomplete.source will map to availableTags, + // unless overridden. + autocomplete: {}, + + // Shows autocomplete before the user even types anything. + showAutocompleteOnFocus: false, + + // When enabled, quotes are unneccesary for inputting multi-word tags. + allowSpaces: false, + + // The below options are for using a single field instead of several + // for our form values. + // + // When enabled, will use a single hidden field for the form, + // rather than one per tag. It will delimit tags in the field + // with singleFieldDelimiter. + // + // The easiest way to use singleField is to just instantiate tag-it + // on an INPUT element, in which case singleField is automatically + // set to true, and singleFieldNode is set to that element. This + // way, you don't need to fiddle with these options. + singleField: false, + + // This is just used when preloading data from the field, and for + // populating the field with delimited tags as the user adds them. + singleFieldDelimiter: ',', + + // Set this to an input DOM node to use an existing form field. + // Any text in it will be erased on init. But it will be + // populated with the text of tags as they are created, + // delimited by singleFieldDelimiter. + // + // If this is not set, we create an input node for it, + // with the name given in settings.fieldName. + singleFieldNode: null, + + // Whether to animate tag removals or not. + animate: true, + + // Optionally set a tabindex attribute on the input that gets + // created for tag-it. + tabIndex: null, + + // Event callbacks. + beforeTagAdded : null, + afterTagAdded : null, + + beforeTagRemoved : null, + afterTagRemoved : null, + + onTagClicked : null, + onTagLimitExceeded : null, + + + // DEPRECATED: + // + // /!\ These event callbacks are deprecated and WILL BE REMOVED at some + // point in the future. They're here for backwards-compatibility. + // Use the above before/after event callbacks instead. + onTagAdded : null, + onTagRemoved: null, + // `autocomplete.source` is the replacement for tagSource. + tagSource: null + // Do not use the above deprecated options. + }, + + _create: function() { + // for handling static scoping inside callbacks + var that = this; + + // There are 2 kinds of DOM nodes this widget can be instantiated on: + // 1. UL, OL, or some element containing either of these. + // 2. INPUT, in which case 'singleField' is overridden to true, + // a UL is created and the INPUT is hidden. + if (this.element.is('input')) { + this.tagList = $('<ul></ul>').insertAfter(this.element); + this.options.singleField = true; + this.options.singleFieldNode = this.element; + this.element.css('display', 'none'); + } else { + this.tagList = this.element.find('ul, ol').andSelf().last(); + } + + this.tagInput = $('<input type="text" />').addClass('ui-widget-content'); + + if (this.options.readOnly) this.tagInput.attr('disabled', 'disabled'); + + if (this.options.tabIndex) { + this.tagInput.attr('tabindex', this.options.tabIndex); + } + + if (this.options.placeholderText) { + this.tagInput.attr('placeholder', this.options.placeholderText); + } + + if (!this.options.autocomplete.source) { + this.options.autocomplete.source = function(search, showChoices) { + var filter = search.term.toLowerCase(); + var choices = $.grep(this.options.availableTags, function(element) { + // Only match autocomplete options that begin with the search term. + // (Case insensitive.) + return (element.toLowerCase().indexOf(filter) === 0); + }); + showChoices(this._subtractArray(choices, this.assignedTags())); + }; + } + + if (this.options.showAutocompleteOnFocus) { + this.tagInput.focus(function(event, ui) { + that._showAutocomplete(); + }); + + if (typeof this.options.autocomplete.minLength === 'undefined') { + this.options.autocomplete.minLength = 0; + } + } + + // Bind autocomplete.source callback functions to this context. + if ($.isFunction(this.options.autocomplete.source)) { + this.options.autocomplete.source = $.proxy(this.options.autocomplete.source, this); + } + + // DEPRECATED. + if ($.isFunction(this.options.tagSource)) { + this.options.tagSource = $.proxy(this.options.tagSource, this); + } + + this.tagList + .addClass('tagit') + .addClass('ui-widget ui-widget-content ui-corner-all') + // Create the input field. + .append($('<li class="tagit-new"></li>').append(this.tagInput)) + .click(function(e) { + var target = $(e.target); + if (target.hasClass('tagit-label')) { + var tag = target.closest('.tagit-choice'); + if (!tag.hasClass('removed')) { + that._trigger('onTagClicked', e, {tag: tag, tagLabel: that.tagLabel(tag)}); + } + } else { + // Sets the focus() to the input field, if the user + // clicks anywhere inside the UL. This is needed + // because the input field needs to be of a small size. + that.tagInput.focus(); + } + }); + + // Single field support. + var addedExistingFromSingleFieldNode = false; + if (this.options.singleField) { + if (this.options.singleFieldNode) { + // Add existing tags from the input field. + var node = $(this.options.singleFieldNode); + var tags = node.val().split(this.options.singleFieldDelimiter); + node.val(''); + $.each(tags, function(index, tag) { + that.createTag(tag, null, true); + addedExistingFromSingleFieldNode = true; + }); + } else { + // Create our single field input after our list. + this.options.singleFieldNode = $('<input type="hidden" style="display:none;" value="" name="' + this.options.fieldName + '" />'); + this.tagList.after(this.options.singleFieldNode); + } + } + + // Add existing tags from the list, if any. + if (!addedExistingFromSingleFieldNode) { + this.tagList.children('li').each(function() { + if (!$(this).hasClass('tagit-new')) { + that.createTag($(this).text(), $(this).attr('class'), true); + $(this).remove(); + } + }); + } + + // Events. + this.tagInput + .keydown(function(event) { + // Backspace is not detected within a keypress, so it must use keydown. + if (event.which == $.ui.keyCode.BACKSPACE && that.tagInput.val() === '') { + var tag = that._lastTag(); + if (!that.options.removeConfirmation || tag.hasClass('remove')) { + // When backspace is pressed, the last tag is deleted. + that.removeTag(tag); + } else if (that.options.removeConfirmation) { + tag.addClass('remove ui-state-highlight'); + } + } else if (that.options.removeConfirmation) { + that._lastTag().removeClass('remove ui-state-highlight'); + } + + // Comma/Space/Enter are all valid delimiters for new tags, + // except when there is an open quote or if setting allowSpaces = true. + // Tab will also create a tag, unless the tag input is empty, + // in which case it isn't caught. + if ( + event.which === $.ui.keyCode.COMMA || + event.which === $.ui.keyCode.ENTER || + ( + event.which == $.ui.keyCode.TAB && + that.tagInput.val() !== '' + ) || + ( + event.which == $.ui.keyCode.SPACE && + that.options.allowSpaces !== true && + ( + $.trim(that.tagInput.val()).replace( /^s*/, '' ).charAt(0) != '"' || + ( + $.trim(that.tagInput.val()).charAt(0) == '"' && + $.trim(that.tagInput.val()).charAt($.trim(that.tagInput.val()).length - 1) == '"' && + $.trim(that.tagInput.val()).length - 1 !== 0 + ) + ) + ) + ) { + // Enter submits the form if there's no text in the input. + if (!(event.which === $.ui.keyCode.ENTER && that.tagInput.val() === '')) { + event.preventDefault(); + } + + that.createTag(that._cleanedInput()); + + // The autocomplete doesn't close automatically when TAB is pressed. + // So let's ensure that it closes. + that.tagInput.autocomplete('close'); + } + }).blur(function(e){ + // Create a tag when the element loses focus. + // If autocomplete is enabled and suggestion was clicked, don't add it. + if (!that.tagInput.data('autocomplete-open')) { + that.createTag(that._cleanedInput()); + } + }); + + // Autocomplete. + if (this.options.availableTags || this.options.tagSource || this.options.autocomplete.source) { + var autocompleteOptions = { + select: function(event, ui) { + that.createTag(ui.item.value); + // Preventing the tag input to be updated with the chosen value. + return false; + } + }; + $.extend(autocompleteOptions, this.options.autocomplete); + + // tagSource is deprecated, but takes precedence here since autocomplete.source is set by default, + // while tagSource is left null by default. + autocompleteOptions.source = this.options.tagSource || autocompleteOptions.source; + + this.tagInput.autocomplete(autocompleteOptions).bind('autocompleteopen', function(event, ui) { + that.tagInput.data('autocomplete-open', true); + }).bind('autocompleteclose', function(event, ui) { + that.tagInput.data('autocomplete-open', false) + }); + } + }, + + _cleanedInput: function() { + // Returns the contents of the tag input, cleaned and ready to be passed to createTag + return $.trim(this.tagInput.val().replace(/^"(.*)"$/, '$1')); + }, + + _lastTag: function() { + return this.tagList.find('.tagit-choice:last:not(.removed)'); + }, + + _tags: function() { + return this.tagList.find('.tagit-choice:not(.removed)'); + }, + + assignedTags: function() { + // Returns an array of tag string values + var that = this; + var tags = []; + if (this.options.singleField) { + tags = $(this.options.singleFieldNode).val().split(this.options.singleFieldDelimiter); + if (tags[0] === '') { + tags = []; + } + } else { + this._tags().each(function() { + tags.push(that.tagLabel(this)); + }); + } + return tags; + }, + + _updateSingleTagsField: function(tags) { + // Takes a list of tag string values, updates this.options.singleFieldNode.val to the tags delimited by this.options.singleFieldDelimiter + $(this.options.singleFieldNode).val(tags.join(this.options.singleFieldDelimiter)).trigger('change'); + }, + + _subtractArray: function(a1, a2) { + var result = []; + for (var i = 0; i < a1.length; i++) { + if ($.inArray(a1[i], a2) == -1) { + result.push(a1[i]); + } + } + return result; + }, + + tagLabel: function(tag) { + // Returns the tag's string label. + if (this.options.singleField) { + return $(tag).find('.tagit-label:first').text(); + } else { + return $(tag).find('input:first').val(); + } + }, + + _showAutocomplete: function() { + this.tagInput.autocomplete('search', ''); + }, + + _findTagByLabel: function(name) { + var that = this; + var tag = null; + this._tags().each(function(i) { + if (that._formatStr(name) == that._formatStr(that.tagLabel(this))) { + tag = $(this); + return false; + } + }); + return tag; + }, + + _isNew: function(name) { + return !this._findTagByLabel(name); + }, + + _formatStr: function(str) { + if (this.options.caseSensitive) { + return str; + } + return $.trim(str.toLowerCase()); + }, + + _effectExists: function(name) { + return Boolean($.effects && ($.effects[name] || ($.effects.effect && $.effects.effect[name]))); + }, + + createTag: function(value, additionalClass, duringInitialization) { + var that = this; + + value = $.trim(value); + + if (value === '') { + return false; + } + + if (!this.options.allowDuplicates && !this._isNew(value)) { + var existingTag = this._findTagByLabel(value); + if (this._trigger('onTagExists', null, { + existingTag: existingTag, + duringInitialization: duringInitialization + }) !== false) { + if (this._effectExists('highlight')) { + existingTag.effect('highlight'); + } + } + return false; + } + + if (this.options.tagLimit && this._tags().length >= this.options.tagLimit) { + this._trigger('onTagLimitExceeded', null, {duringInitialization: duringInitialization}); + return false; + } + + var label = $(this.options.onTagClicked ? '<a class="tagit-label"></a>' : '<span class="tagit-label"></span>').text(value); + + // Create tag. + var tag = $('<li></li>') + .addClass('tagit-choice ui-widget-content ui-state-default ui-corner-all') + .addClass(additionalClass) + .append(label); + + if (this.options.readOnly){ + tag.addClass('tagit-choice-read-only'); + } else { + tag.addClass('tagit-choice-editable'); + // Button for removing the tag. + var removeTagIcon = $('<span></span>') + .addClass('ui-icon ui-icon-close'); + var removeTag = $('<a><span class="text-icon">\xd7</span></a>') // \xd7 is an X + .addClass('tagit-close') + .append(removeTagIcon) + .click(function(e) { + // Removes a tag when the little 'x' is clicked. + that.removeTag(tag); + }); + tag.append(removeTag); + } + + // Unless options.singleField is set, each tag has a hidden input field inline. + if (!this.options.singleField) { + var escapedValue = label.html(); + tag.append('<input type="hidden" style="display:none;" value="' + escapedValue + '" name="' + this.options.fieldName + '" />'); + } + + if (this._trigger('beforeTagAdded', null, { + tag: tag, + tagLabel: this.tagLabel(tag), + duringInitialization: duringInitialization + }) === false) { + return; + } + + if (this.options.singleField) { + var tags = this.assignedTags(); + tags.push(value); + this._updateSingleTagsField(tags); + } + + // DEPRECATED. + this._trigger('onTagAdded', null, tag); + + this.tagInput.val(''); + + // Insert tag. + this.tagInput.parent().before(tag); + + this._trigger('afterTagAdded', null, { + tag: tag, + tagLabel: this.tagLabel(tag), + duringInitialization: duringInitialization + }); + + if (this.options.showAutocompleteOnFocus && !duringInitialization) { + setTimeout(function () { that._showAutocomplete(); }, 0); + } + }, + + removeTag: function(tag, animate) { + animate = typeof animate === 'undefined' ? this.options.animate : animate; + + tag = $(tag); + + // DEPRECATED. + this._trigger('onTagRemoved', null, tag); + + if (this._trigger('beforeTagRemoved', null, {tag: tag, tagLabel: this.tagLabel(tag)}) === false) { + return; + } + + if (this.options.singleField) { + var tags = this.assignedTags(); + var removedTagLabel = this.tagLabel(tag); + tags = $.grep(tags, function(el){ + return el != removedTagLabel; + }); + this._updateSingleTagsField(tags); + } + + if (animate) { + tag.addClass('removed'); // Excludes this tag from _tags. + var hide_args = this._effectExists('blind') ? ['blind', {direction: 'horizontal'}, 'fast'] : ['fast']; + + hide_args.push(function() { + tag.remove(); + }); + + tag.fadeOut('fast').hide.apply(tag, hide_args).dequeue(); + } else { + tag.remove(); + } + + this._trigger('afterTagRemoved', null, {tag: tag, tagLabel: this.tagLabel(tag)}); + }, + + removeTagByLabel: function(tagLabel, animate) { + var toRemove = this._findTagByLabel(tagLabel); + if (!toRemove) { + throw "No such tag exists with the name '" + tagLabel + "'"; + } + this.removeTag(toRemove, animate); + }, + + removeAll: function() { + // Removes all tags. + var that = this; + this._tags().each(function(index, tag) { + that.removeTag(tag, false); + }); + } + + }); +})(jQuery); + diff --git a/src/main/webapp/static/js/jquery/tagit/tag-it.min.js b/src/main/webapp/static/js/jquery/tagit/tag-it.min.js new file mode 100644 index 0000000000000000000000000000000000000000..3fdf3ce05e3febeb9a707aa507d20a8a7b238e7c --- /dev/null +++ b/src/main/webapp/static/js/jquery/tagit/tag-it.min.js @@ -0,0 +1,15 @@ +(function(b){b.widget("ui.tagit",{options:{allowDuplicates:!1,caseSensitive:!0,fieldName:"tags",placeholderText:null,readOnly:!1,removeConfirmation:!1,tagLimit:null,availableTags:[],autocomplete:{},showAutocompleteOnFocus:!1,allowSpaces:!1,singleField:!1,singleFieldDelimiter:",",singleFieldNode:null,animate:!0,tabIndex:null,beforeTagAdded:null,afterTagAdded:null,beforeTagRemoved:null,afterTagRemoved:null,onTagClicked:null,onTagLimitExceeded:null,onTagAdded:null,onTagRemoved:null,tagSource:null},_create:function(){var a= +this;this.element.is("input")?(this.tagList=b("<ul></ul>").insertAfter(this.element),this.options.singleField=!0,this.options.singleFieldNode=this.element,this.element.css("display","none")):this.tagList=this.element.find("ul, ol").andSelf().last();this.tagInput=b('<input type="text" />').addClass("ui-widget-content");this.options.readOnly&&this.tagInput.attr("disabled","disabled");this.options.tabIndex&&this.tagInput.attr("tabindex",this.options.tabIndex);this.options.placeholderText&&this.tagInput.attr("placeholder", +this.options.placeholderText);this.options.autocomplete.source||(this.options.autocomplete.source=function(a,c){var d=a.term.toLowerCase(),e=b.grep(this.options.availableTags,function(a){return 0===a.toLowerCase().indexOf(d)});c(this._subtractArray(e,this.assignedTags()))});this.options.showAutocompleteOnFocus&&(this.tagInput.focus(function(){a._showAutocomplete()}),"undefined"===typeof this.options.autocomplete.minLength&&(this.options.autocomplete.minLength=0));b.isFunction(this.options.autocomplete.source)&& +(this.options.autocomplete.source=b.proxy(this.options.autocomplete.source,this));b.isFunction(this.options.tagSource)&&(this.options.tagSource=b.proxy(this.options.tagSource,this));this.tagList.addClass("tagit").addClass("ui-widget ui-widget-content ui-corner-all").append(b('<li class="tagit-new"></li>').append(this.tagInput)).click(function(c){var d=b(c.target);d.hasClass("tagit-label")?(d=d.closest(".tagit-choice"),d.hasClass("removed")||a._trigger("onTagClicked",c,{tag:d,tagLabel:a.tagLabel(d)})): +a.tagInput.focus()});var d=!1;if(this.options.singleField)if(this.options.singleFieldNode){var c=b(this.options.singleFieldNode),e=c.val().split(this.options.singleFieldDelimiter);c.val("");b.each(e,function(b,c){a.createTag(c,null,!0);d=!0})}else this.options.singleFieldNode=b('<input type="hidden" style="display:none;" value="" name="'+this.options.fieldName+'" />'),this.tagList.after(this.options.singleFieldNode);d||this.tagList.children("li").each(function(){b(this).hasClass("tagit-new")||(a.createTag(b(this).text(), +b(this).attr("class"),!0),b(this).remove())});this.tagInput.keydown(function(c){if(c.which==b.ui.keyCode.BACKSPACE&&""===a.tagInput.val()){var d=a._lastTag();!a.options.removeConfirmation||d.hasClass("remove")?a.removeTag(d):a.options.removeConfirmation&&d.addClass("remove ui-state-highlight")}else a.options.removeConfirmation&&a._lastTag().removeClass("remove ui-state-highlight");if(c.which===b.ui.keyCode.COMMA||c.which===b.ui.keyCode.ENTER||c.which==b.ui.keyCode.TAB&&""!==a.tagInput.val()||c.which== +b.ui.keyCode.SPACE&&!0!==a.options.allowSpaces&&('"'!=b.trim(a.tagInput.val()).replace(/^s*/,"").charAt(0)||'"'==b.trim(a.tagInput.val()).charAt(0)&&'"'==b.trim(a.tagInput.val()).charAt(b.trim(a.tagInput.val()).length-1)&&0!==b.trim(a.tagInput.val()).length-1))c.which===b.ui.keyCode.ENTER&&""===a.tagInput.val()||c.preventDefault(),a.createTag(a._cleanedInput()),a.tagInput.autocomplete("close")}).blur(function(){a.tagInput.data("autocomplete-open")||a.createTag(a._cleanedInput())});if(this.options.availableTags|| +this.options.tagSource||this.options.autocomplete.source)c={select:function(b,c){a.createTag(c.item.value);return!1}},b.extend(c,this.options.autocomplete),c.source=this.options.tagSource||c.source,this.tagInput.autocomplete(c).bind("autocompleteopen",function(){a.tagInput.data("autocomplete-open",!0)}).bind("autocompleteclose",function(){a.tagInput.data("autocomplete-open",!1)})},_cleanedInput:function(){return b.trim(this.tagInput.val().replace(/^"(.*)"$/,"$1"))},_lastTag:function(){return this.tagList.find(".tagit-choice:last:not(.removed)")}, +_tags:function(){return this.tagList.find(".tagit-choice:not(.removed)")},assignedTags:function(){var a=this,d=[];this.options.singleField?(d=b(this.options.singleFieldNode).val().split(this.options.singleFieldDelimiter),""===d[0]&&(d=[])):this._tags().each(function(){d.push(a.tagLabel(this))});return d},_updateSingleTagsField:function(a){b(this.options.singleFieldNode).val(a.join(this.options.singleFieldDelimiter)).trigger("change")},_subtractArray:function(a,d){for(var c=[],e=0;e<a.length;e++)-1== +b.inArray(a[e],d)&&c.push(a[e]);return c},tagLabel:function(a){return this.options.singleField?b(a).find(".tagit-label:first").text():b(a).find("input:first").val()},_showAutocomplete:function(){this.tagInput.autocomplete("search","")},_findTagByLabel:function(a){var d=this,c=null;this._tags().each(function(){if(d._formatStr(a)==d._formatStr(d.tagLabel(this)))return c=b(this),!1});return c},_isNew:function(a){return!this._findTagByLabel(a)},_formatStr:function(a){return this.options.caseSensitive? +a:b.trim(a.toLowerCase())},_effectExists:function(a){return Boolean(b.effects&&(b.effects[a]||b.effects.effect&&b.effects.effect[a]))},createTag:function(a,d,c){var e=this;a=b.trim(a);if(""===a)return!1;if(!this.options.allowDuplicates&&!this._isNew(a))return a=this._findTagByLabel(a),!1!==this._trigger("onTagExists",null,{existingTag:a,duringInitialization:c})&&this._effectExists("highlight")&&a.effect("highlight"),!1;if(this.options.tagLimit&&this._tags().length>=this.options.tagLimit)return this._trigger("onTagLimitExceeded", +null,{duringInitialization:c}),!1;var g=b(this.options.onTagClicked?'<a class="tagit-label"></a>':'<span class="tagit-label"></span>').text(a),f=b("<li></li>").addClass("tagit-choice ui-widget-content ui-state-default ui-corner-all").addClass(d).append(g);this.options.readOnly?f.addClass("tagit-choice-read-only"):(f.addClass("tagit-choice-editable"),d=b("<span></span>").addClass("ui-icon ui-icon-close"),d=b('<a><span class="text-icon">\u00d7</span></a>').addClass("tagit-close").append(d).click(function(){e.removeTag(f)}), +f.append(d));this.options.singleField||(g=g.html(),f.append('<input type="hidden" style="display:none;" value="'+g+'" name="'+this.options.fieldName+'" />'));!1!==this._trigger("beforeTagAdded",null,{tag:f,tagLabel:this.tagLabel(f),duringInitialization:c})&&(this.options.singleField&&(g=this.assignedTags(),g.push(a),this._updateSingleTagsField(g)),this._trigger("onTagAdded",null,f),this.tagInput.val(""),this.tagInput.parent().before(f),this._trigger("afterTagAdded",null,{tag:f,tagLabel:this.tagLabel(f), +duringInitialization:c}),this.options.showAutocompleteOnFocus&&!c&&setTimeout(function(){e._showAutocomplete()},0))},removeTag:function(a,d){d="undefined"===typeof d?this.options.animate:d;a=b(a);this._trigger("onTagRemoved",null,a);if(!1!==this._trigger("beforeTagRemoved",null,{tag:a,tagLabel:this.tagLabel(a)})){if(this.options.singleField){var c=this.assignedTags(),e=this.tagLabel(a),c=b.grep(c,function(a){return a!=e});this._updateSingleTagsField(c)}d?(a.addClass("removed"),c=this._effectExists("blind")? +["blind",{direction:"horizontal"},"fast"]:["fast"],c.push(function(){a.remove()}),a.fadeOut("fast").hide.apply(a,c).dequeue()):a.remove();this._trigger("afterTagRemoved",null,{tag:a,tagLabel:this.tagLabel(a)})}},removeTagByLabel:function(a,b){var c=this._findTagByLabel(a);if(!c)throw"No such tag exists with the name '"+a+"'";this.removeTag(c,b)},removeAll:function(){var a=this;this._tags().each(function(b,c){a.removeTag(c,!1)})}})})(jQuery);