diff --git a/lang/en/form.php b/lang/en/form.php
index d55667d4b3e..d926cd28c05 100644
--- a/lang/en/form.php
+++ b/lang/en/form.php
@@ -25,6 +25,7 @@
$string['addfields'] = 'Add {$a} fields to form';
$string['advancedelement'] = 'Advanced element';
+$string['close'] = 'Close';
$string['day'] = 'Day';
$string['display'] = 'Display';
$string['err_alphanumeric'] = 'You must enter only letters or numbers here.';
diff --git a/lib/javascript-static.js b/lib/javascript-static.js
index bf5ecf21e72..3f07ac16175 100644
--- a/lib/javascript-static.js
+++ b/lib/javascript-static.js
@@ -1407,16 +1407,19 @@ M.util.help_icon = {
event.preventDefault();
if (M.util.help_icon.instance === null) {
var Y = M.util.help_icon.Y;
- Y.use('overlay', 'io-base', 'event-mouseenter', 'node', 'event-key', function(Y) {
+ Y.use('overlay', 'io-base', 'event-mouseenter', 'node', 'event-key', 'escape', function(Y) {
var help_content_overlay = {
helplink : null,
overlay : null,
init : function() {
- var closebtn = Y.Node.create('
');
+ var strclose = Y.Escape.html(M.str.form.close);
+ var closebtn = Y.Node.create('
');
+ var footerbtn = Y.Node.create('');
// Create an overlay from markup
this.overlay = new Y.Overlay({
headerContent: closebtn,
+ footerContent: footerbtn,
bodyContent: '',
id: 'helppopupbox',
width:'400px',
@@ -1426,6 +1429,7 @@ M.util.help_icon = {
this.overlay.render(Y.one(document.body));
closebtn.on('click', this.overlay.hide, this.overlay);
+ footerbtn.on('click', this.overlay.hide, this.overlay);
var boundingBox = this.overlay.get("boundingBox");
diff --git a/lib/outputrenderers.php b/lib/outputrenderers.php
index 918235b37e9..2f330caa088 100644
--- a/lib/outputrenderers.php
+++ b/lib/outputrenderers.php
@@ -1752,6 +1752,7 @@ class core_renderer extends renderer_base {
$output = html_writer::tag('a', $output, $attributes);
$this->page->requires->js_init_call('M.util.help_icon.add', array(array('id'=>$id, 'url'=>$url->out(false))));
+ $this->page->requires->string_for_js('close', 'form');
// and finally span
return html_writer::tag('span', $output, array('class' => 'helplink'));
@@ -1817,6 +1818,7 @@ class core_renderer extends renderer_base {
$output = html_writer::tag('a', $output, $attributes);
$this->page->requires->js_init_call('M.util.help_icon.add', array(array('id'=>$id, 'url'=>$url->out(false))));
+ $this->page->requires->string_for_js('close', 'form');
// and finally span
return html_writer::tag('span', $output, array('class' => 'helplink'));
diff --git a/theme/base/style/core.css b/theme/base/style/core.css
index d91d8d90565..69fc8a1eb20 100644
--- a/theme/base/style/core.css
+++ b/theme/base/style/core.css
@@ -484,6 +484,8 @@ body.tag .managelink {padding: 5px;}
#helppopupbox {background-color: #eee; border: 1px solid #848484;z-index: 10000 !important;}
#helppopupbox .yui3-widget-hd {float:right;margin:3px 3px 0 0;}
#helppopupbox .yui3-widget-bd {margin:0 1em 1em 1em;border-top:1px solid #eee;}
+#helppopupbox .yui3-widget-ft {text-align: center;}
+#helppopupbox .yui3-widget-ft .closebtn {margin:0 1em 1em 1em;}
#helppopupbox .helpheading {font-size: 1em;}
#helppopupbox .spinner {margin:1em;}