');
+ (opts.closePosition == 'bottom') ? $closeLink.appendTo($cluetipInner) : (opts.closePosition == 'title') ? $closeLink.prependTo($cluetipTitle) : $closeLink.prependTo($cluetipInner);
+ $closeLink.click(function() {
+ cluetipClose();
+ return false;
+ });
+ if (opts.mouseOutClose) {
+ if ($.fn.hoverIntent && opts.hoverIntent) {
+ $cluetip.hoverIntent({
+ over: doNothing,
+ timeout: opts.hoverIntent.timeout,
+ out: function() { $closeLink.trigger('click'); }
+ });
+ } else {
+ $cluetip.hover(doNothing,
+ function() {$closeLink.trigger('click'); });
+ }
+ } else {
+ $cluetip.unbind('mouseout');
+ }
+ }
+// now that content is loaded, finish the positioning
+ var direction = '';
+ $cluetipOuter.css({overflow: defHeight == 'auto' ? 'visible' : 'auto', height: defHeight});
+ tipHeight = defHeight == 'auto' ? Math.max($cluetip.outerHeight(),$cluetip.height()) : parseInt(defHeight,10);
+ tipY = posY;
+ baseline = sTop + wHeight;
+ if (opts.positionBy == 'fixed') {
+ tipY = posY - opts.dropShadowSteps + tOffset;
+ } else if ( (posX < mouseX && Math.max(posX, 0) + tipWidth > mouseX) || opts.positionBy == 'bottomTop') {
+ if (posY + tipHeight + tOffset > baseline && mouseY - sTop > tipHeight + tOffset) {
+ tipY = mouseY - tipHeight - tOffset;
+ direction = 'top';
+ } else {
+ tipY = mouseY + tOffset;
+ direction = 'bottom';
+ }
+ } else if ( posY + tipHeight + tOffset > baseline ) {
+ tipY = (tipHeight >= wHeight) ? sTop : baseline - tipHeight - tOffset;
+ } else if ($this.css('display') == 'block' || $this[0].tagName.toLowerCase() == 'area' || opts.positionBy == "mouse") {
+ tipY = bpY - tOffset;
+ } else {
+ tipY = posY - opts.dropShadowSteps;
+ }
+ if (direction == '') {
+ posX < linkLeft ? direction = 'left' : direction = 'right';
+ }
+ $cluetip.css({top: tipY + 'px'}).removeClass().addClass('clue-' + direction + '-' + ctClass).addClass(' cluetip-' + ctClass);
+ if (opts.arrows) { // set up arrow positioning to align with element
+ var bgY = (posY - tipY - opts.dropShadowSteps);
+ $cluetipArrows.css({top: (/(left|right)/.test(direction) && posX >=0 && bgY > 0) ? bgY + 'px' : /(left|right)/.test(direction) ? 0 : ''}).show();
+ } else {
+ $cluetipArrows.hide();
+ }
+
+// (first hide, then) ***SHOW THE CLUETIP***
+ $dropShadow.hide();
+ $cluetip.hide()[opts.fx.open](opts.fx.open != 'show' && opts.fx.openSpeed);
+ if (opts.dropShadow) $dropShadow.css({height: tipHeight, width: tipInnerWidth}).show();
+ if ($.fn.bgiframe) { $cluetip.bgiframe(); }
+ // trigger the optional onShow function
+ if (opts.delayedClose > 0) {
+ closeOnDelay = setTimeout(cluetipClose, opts.delayedClose);
+ }
+ opts.onShow($cluetip, $cluetipInner);
+
+ };
+
+/***************************************
+ =INACTIVATION
+-------------------------------------- */
+ var inactivate = function() {
+ isActive = false;
+ $('#cluetip-waitimage').hide();
+ if (!opts.sticky || (/click|toggle/).test(opts.activation) ) {
+ cluetipClose();
+clearTimeout(closeOnDelay);
+ };
+ if (opts.hoverClass) {
+ $this.removeClass(opts.hoverClass);
+ }
+ $('.cluetip-clicked').removeClass('cluetip-clicked');
+ };
+// close cluetip and reset some things
+ var cluetipClose = function() {
+ $cluetipOuter
+ .parent().hide().removeClass().end()
+ .children().empty();
+ if (tipTitle) {
+ $this.attr(opts.titleAttribute, tipTitle);
+ }
+ $this.css('cursor','');
+ if (opts.arrows) $cluetipArrows.css({top: ''});
+ };
+
+/***************************************
+ =BIND EVENTS
+-------------------------------------- */
+ // activate by click
+ if ( (/click|toggle/).test(opts.activation) ) {
+ $this.click(function(event) {
+ if ($cluetip.is(':hidden') || !$this.is('.cluetip-clicked')) {
+ activate(event);
+ $('.cluetip-clicked').removeClass('cluetip-clicked');
+ $this.addClass('cluetip-clicked');
+
+ } else {
+ inactivate(event);
+
+ }
+ this.blur();
+ return false;
+ });
+ // activate by focus; inactivate by blur
+ } else if (opts.activation == 'focus') {
+ $this.focus(function(event) {
+ activate(event);
+ });
+ $this.blur(function(event) {
+ inactivate(event);
+ });
+ // activate by hover
+ // clicking is returned false if cluetip url is same as href url
+ } else {
+ $this.click(function() {
+ if ($this.attr('href') && $this.attr('href') == tipAttribute && !opts.clickThrough) {
+ return false;
+ }
+ });
+ //set up mouse tracking
+ var mouseTracks = function(evt) {
+ if (opts.tracking == true) {
+ var trackX = posX - evt.pageX;
+ var trackY = tipY ? tipY - evt.pageY : posY - evt.pageY;
+ $this.mousemove(function(evt) {
+ $cluetip.css({left: evt.pageX + trackX, top: evt.pageY + trackY });
+ });
+ }
+ };
+ if ($.fn.hoverIntent && opts.hoverIntent) {
+ $this.mouseover(function() {$this.attr('title',''); })
+ .hoverIntent({
+ sensitivity: opts.hoverIntent.sensitivity,
+ interval: opts.hoverIntent.interval,
+ over: function(event) {
+ activate(event);
+ mouseTracks(event);
+ },
+ timeout: opts.hoverIntent.timeout,
+ out: function(event) {inactivate(event); $this.unbind('mousemove');}
+ });
+ } else {
+ $this.hover(function(event) {
+ activate(event);
+ mouseTracks(event);
+ }, function(event) {
+ inactivate(event);
+ $this.unbind('mousemove');
+ });
+ }
+ }
+ });
+ };
+
+/*
+ * options for clueTip
+ *
+ * each one can be explicitly overridden by changing its value.
+ * for example: $.fn.cluetip.defaults.width = 200;
+ * would change the default width for all clueTips to 200.
+ *
+ * each one can also be overridden by passing an options map to the cluetip method.
+ * for example: $('a.example').cluetip({width: 200});
+ * would change the default width to 200 for clueTips invoked by a link with class of "example"
+ *
+ */
+
+ $.fn.cluetip.defaults = { // set up default options
+ width: 275, // The width of the clueTip
+ height: 'auto', // The height of the clueTip
+ cluezIndex: 97, // Sets the z-index style property of the clueTip
+ positionBy: 'auto', // Sets the type of positioning: 'auto', 'mouse','bottomTop', 'fixed'
+ topOffset: 15, // Number of px to offset clueTip from top of invoking element
+ leftOffset: 15, // Number of px to offset clueTip from left of invoking element
+ local: false, // Whether to use content from the same page for the clueTip's body
+ hideLocal: true, // If local option is set to true, this determines whether local content
+ // to be shown in clueTip should be hidden at its original location
+ attribute: 'rel', // the attribute to be used for fetching the clueTip's body content
+ titleAttribute: 'title', // the attribute to be used for fetching the clueTip's title
+ splitTitle: '', // A character used to split the title attribute into the clueTip title and divs
+ // within the clueTip body. more info below [6]
+ showTitle: true, // show title bar of the clueTip, even if title attribute not set
+ cluetipClass: 'default',// class added to outermost clueTip div in the form of 'cluetip-' + clueTipClass.
+ hoverClass: '', // class applied to the invoking element onmouseover and removed onmouseout
+ waitImage: true, // whether to show a "loading" img, which is set in jquery.cluetip.css
+ cursor: 'help',
+ arrows: false, // if true, displays arrow on appropriate side of clueTip
+ dropShadow: true, // set to false if you don't want the drop-shadow effect on the clueTip
+ dropShadowSteps: 6, // adjusts the size of the drop shadow
+ sticky: false, // keep visible until manually closed
+ mouseOutClose: false, // close when clueTip is moused out
+ activation: 'hover', // set to 'click' to force user to click to show clueTip
+ // set to 'focus' to show on focus of a form element and hide on blur
+ clickThrough: false, // if true, and activation is not 'click', then clicking on link will take user to the link's href,
+ // even if href and tipAttribute are equal
+ tracking: false, // if true, clueTip will track mouse movement (experimental)
+ delayedClose: 0, // close clueTip on a timed delay (experimental)
+ closePosition: 'top', // location of close text for sticky cluetips; can be 'top' or 'bottom' or 'title'
+ closeText: 'Close', // text (or HTML) to to be clicked to close sticky clueTips
+ truncate: 0, // number of characters to truncate clueTip's contents. if 0, no truncation occurs
+
+ // effect and speed for opening clueTips
+ fx: {
+ open: 'show', // can be 'show' or 'slideDown' or 'fadeIn'
+ openSpeed: ''
+ },
+
+ // settings for when hoverIntent plugin is used
+ hoverIntent: {
+ sensitivity: 3,
+ interval: 50,
+ timeout: 0
+ },
+
+ // function to run just before clueTip is shown.
+ onActivate: function(e) {return true;},
+
+ // function to run just after clueTip is shown.
+ onShow: function(ct, c){},
+
+ // whether to cache results of ajax request to avoid unnecessary hits to server
+ ajaxCache: true,
+
+ // process data retrieved via xhr before it's displayed
+ ajaxProcess: function(data) {
+ data = data.replace(//g, '').replace(/<(link|title)(.|\s)*?\/(link|title)>/g,'');
+ return data;
+ },
+
+ // can pass in standard $.ajax() parameters, not including error, complete, success, and url
+ ajaxSettings: {
+ dataType: 'html'
+ },
+ debug: false
+ };
+
+
+/*
+ * Global defaults for clueTips. Apply to all calls to the clueTip plugin.
+ *
+ * @example $.cluetip.setup({
+ * insertionType: 'prependTo',
+ * insertionElement: '#container'
+ * });
+ *
+ * @property
+ * @name $.cluetip.setup
+ * @type Map
+ * @cat Plugins/tooltip
+ * @option String insertionType: Default is 'appendTo'. Determines the method to be used for inserting the clueTip into the DOM. Permitted values are 'appendTo', 'prependTo', 'insertBefore', and 'insertAfter'
+ * @option String insertionElement: Default is 'body'. Determines which element in the DOM the plugin will reference when inserting the clueTip.
+ *
+ */
+
+ var insertionType = 'appendTo', insertionElement = 'body';
+ $.cluetip = {};
+ $.cluetip.setup = function(options) {
+ if (options && options.insertionType && (options.insertionType).match(/appendTo|prependTo|insertBefore|insertAfter/)) {
+ insertionType = options.insertionType;
+ }
+ if (options && options.insertionElement) {
+ insertionElement = options.insertionElement;
+ }
+ };
+
+})(jQuery);
Index: lams_tool_notebook/web/pages/authoring/pedagogicalPlannerForm.jsp
===================================================================
diff -u -r344f1bf7750e8e33ac55f19a31f192dfbc4019c1 -r1f477181cf09a7f9e0a4c38845b81dc075361413
--- lams_tool_notebook/web/pages/authoring/pedagogicalPlannerForm.jsp (.../pedagogicalPlannerForm.jsp) (revision 344f1bf7750e8e33ac55f19a31f192dfbc4019c1)
+++ lams_tool_notebook/web/pages/authoring/pedagogicalPlannerForm.jsp (.../pedagogicalPlannerForm.jsp) (revision 1f477181cf09a7f9e0a4c38845b81dc075361413)
@@ -4,11 +4,27 @@
<%@ include file="/common/taglibs.jsp"%>
-
-
-
-
+
+
+
+
+
+
<%@ include file="/common/messages.jsp"%>
@@ -20,10 +36,8 @@
-
- "
- href="${tipUrl}" id="editingAdvice">
+