diff --git a/UI/WebServerResources/HTMLElement.js b/UI/WebServerResources/HTMLElement.js
index cf415acf0..8781cf3fc 100644
--- a/UI/WebServerResources/HTMLElement.js
+++ b/UI/WebServerResources/HTMLElement.js
@@ -205,7 +205,8 @@ Element.addMethods(
setCaretTo: function(element, pos) {
element = $(element);
- if (element.selectionStart) { // For Mozilla and Safari
+ if (typeof(element.selectionStart)
+ != "undefined") { // For Mozilla and Safari
element.focus();
element.setSelectionRange(pos, pos);
}
diff --git a/UI/WebServerResources/UIxMailEditor.js b/UI/WebServerResources/UIxMailEditor.js
index 7126629ef..63ae37732 100644
--- a/UI/WebServerResources/UIxMailEditor.js
+++ b/UI/WebServerResources/UIxMailEditor.js
@@ -283,10 +283,17 @@ function onTextKeyDown(event) {
}
else {
if (!(event.shiftKey || event.metaKey || event.ctrlKey)) {
- if (this.selectionStart) { // FF
- var startText = this.value.substr(0, this.selectionStart);
- var endText = this.value.substr(this.selectionStart);
- this.value = startText + " " + endText;
+ if (typeof(this.selectionStart)
+ != "undefined") { // For Mozilla and Safari
+ var cursor = this.selectionStart;
+ var startText = ((cursor > 0)
+ ? this.value.substr(0, cursor)
+ : "");
+ var endText = this.value.substr(cursor);
+ var newText = startText + " " + endText;
+ this.value = newText;
+ cursor += 3;
+ this.setSelectionRange(cursor, cursor);
}
else if (this.selectionRange) // IE
this.selectionRange.text = " ";