diff --git a/UI/WebServerResources/HTMLTableElement.js b/UI/WebServerResources/HTMLTableElement.js
index b83a42d66..0390497ae 100644
--- a/UI/WebServerResources/HTMLTableElement.js
+++ b/UI/WebServerResources/HTMLTableElement.js
@@ -15,16 +15,14 @@ HTMLTableElement.prototype.selectRowsMatchingClass = function(className) {
var nodes = tbody.childNodes;
for (var i = 0; i < nodes.length; i++) {
var node = nodes.item(i);
- if (node instanceof HTMLElement) {
- var classStr = '' + node.getAttribute("class");
- if (classStr.indexOf(className, 0) >= 0)
- selectNode(node);
- }
+ if (node instanceof HTMLElement
+ && node.hasClassName(className))
+ node.select();
}
}
HTMLTableElement.prototype.deselectAll = function() {
var nodes = this.getSelectedRows();
for (var i = 0; i < nodes.length; i++)
- deselectNode(nodes[i]);
+ nodes[i].deselect();
}
diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js
index d4fb3fe03..04270052c 100644
--- a/UI/WebServerResources/MailerUI.js
+++ b/UI/WebServerResources/MailerUI.js
@@ -394,8 +394,8 @@ function onMailboxTreeItemClick(element)
var mailbox = element.parentNode.getAttribute("dataname");
if (topNode.selectedEntry)
- deselectNode(topNode.selectedEntry);
- selectNode(element);
+ topNode.selectedEntry.deselect();
+ element.select();
topNode.selectedEntry = element;
openMailbox(mailbox);
@@ -478,7 +478,7 @@ function messageListCallback(http)
var selected = http.callbackData;
if (selected) {
var row = $('row_' + selected);
- selectNode(row);
+ row.select();
}
configureMessageListEvents();
configureSortableTableHeaders();
@@ -496,10 +496,10 @@ function onMessageContextMenu(event)
var topNode = $('messageList');
var selectedNodes = topNode.getSelectedRows();
for (var i = 0; i < selectedNodes.length; i++)
- deselectNode (selectedNodes[i]);
+ selectedNodes[i].deselect();
topNode.menuSelectedRows = selectedNodes;
topNode.menuSelectedEntry = this;
- selectNode(this);
+ this.select();
}
function onMessageContextMenuHide(event)
@@ -507,13 +507,13 @@ function onMessageContextMenuHide(event)
var topNode = $('messageList');
if (topNode.menuSelectedEntry) {
- deselectNode(topNode.menuSelectedEntry);
+ topNode.menuSelectedEntry.deselect();
topNode.menuSelectedEntry = null;
}
if (topNode.menuSelectedRows) {
var nodes = topNode.menuSelectedRows;
for (var i = 0; i < nodes.length; i++)
- selectNode(nodes[i]);
+ nodes[i].select();
topNode.menuSelectedRows = null;
}
}
@@ -538,11 +538,11 @@ function onFolderMenuClick(event, element, menutype)
var topNode = $('d');
if (topNode.selectedEntry)
- deselectNode(topNode.selectedEntry);
+ topNode.selectedEntry.deselect();
if (topNode.menuSelectedEntry)
- deselectNode(topNode.menuSelectedEntry);
+ topNode.menuSelectedEntry.deselect();
topNode.menuSelectedEntry = element;
- selectNode(element);
+ element.select();
}
function onFolderMenuHide(event)
@@ -550,11 +550,11 @@ function onFolderMenuHide(event)
var topNode = $('d');
if (topNode.menuSelectedEntry) {
- deselectNode(topNode.menuSelectedEntry);
+ topNode.menuSelectedEntry.deselect();
topNode.menuSelectedEntry = null;
}
if (topNode.selectedEntry)
- selectNode(topNode.selectedEntry);
+ topNode.selectedEntry.select();
}
function deleteCachedMessage(messageId) {
@@ -807,8 +807,8 @@ function initMailboxSelection(mailboxName)
if (i < treeNodes.length) {
var links = document.getElementsByClassName("node", treeNodes[i]);
if (tree.selectedEntry)
- deselectNode(tree.selectedEntry);
- selectNode(links[0]);
+ tree.selectedEntry.deselect();
+ links[0].select();
tree.selectedEntry = links[0];
expandUpperTree(links[0]);
}
diff --git a/UI/WebServerResources/SchedulerUI.js b/UI/WebServerResources/SchedulerUI.js
index 836f2ca04..f6fc7a5b3 100644
--- a/UI/WebServerResources/SchedulerUI.js
+++ b/UI/WebServerResources/SchedulerUI.js
@@ -199,9 +199,9 @@ function onDaySelect(node)
// log ("table.selected: " + table.selected);
if (document.selectedDate)
- deselectNode(document.selectedDate);
+ document.selectedDate.deselect();
- selectNode(td);
+ td.select();
document.selectedDate = td;
changeCalendarDisplay( { "day": day } );
@@ -297,7 +297,7 @@ function tasksListCallback(http)
if (http.callbackData) {
var selectedNodesId = http.callbackData;
for (var i = 0; i < selectedNodesId.length; i++)
- selectNode($(selectedNodesId[i]));
+ $(selectedNodesId[i]).select();
}
}
else
@@ -322,8 +322,8 @@ function restoreCurrentDaySelection(div)
if (day && day == currentDay) {
var td = elements[i].getParentWithTagName("td");
if (document.selectedDate)
- deselectNode(document.selectedDate);
- selectNode(td);
+ document.selectedDate.deselect();
+ td.select();
document.selectedDate = td;
}
}
@@ -531,10 +531,10 @@ function onAppointmentContextMenu(event, element)
var selectedNodes = topNode.getSelectedRows();
topNode.menuSelectedRows = selectedNodes;
for (var i = 0; i < selectedNodes.length; i++)
- deselectNode (selectedNodes[i]);
+ selectedNodes[i].deselect();
topNode.menuSelectedEntry = element;
- selectNode(element);
+ element.select();
}
function onAppointmentContextMenuHide(event)
@@ -542,14 +542,14 @@ function onAppointmentContextMenuHide(event)
var topNode = $("appointmentsList");
if (topNode.menuSelectedEntry) {
- deselectNode(topNode.menuSelectedEntry);
+ topNode.menuSelectedEntry.deselect();
topNode.menuSelectedEntry = null;
}
if (topNode.menuSelectedRows) {
var nodeIds = topNode.menuSelectedRows;
for (var i = 0; i < nodeIds.length; i++) {
var node = $(nodeIds[i]);
- selectNode (node);
+ node.select();
}
topNode.menuSelectedRows = null;
}
@@ -730,7 +730,7 @@ function onCalendarSelectAppointment() {
if (row) {
var div = row.parentNode.parentNode.parentNode;
div.scrollTop = row.offsetTop - (div.offsetHeight / 2);
- selectNode(row);
+ row.select();
}
}
diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js
index 03ffb46cc..727cb7ba8 100644
--- a/UI/WebServerResources/generic.js
+++ b/UI/WebServerResources/generic.js
@@ -335,20 +335,11 @@ function triggerOpenerCallback() {
/* selection mechanism */
-function selectNode(node) {
- node.addClassName('_selected');
-}
-
-function deselectNode(node) {
-// log ("deselecting a node: '" + node.tagName + "'");
- node.removeClassName('_selected');
-}
-
function deselectAll(parent) {
for (var i = 0; i < parent.childNodes.length; i++) {
var node = parent.childNodes.item(i);
if (node.nodeType == 1)
- deselectNode(node);
+ node.deselect();
}
}
@@ -376,13 +367,13 @@ function onRowClick(event) {
&& (acceptMultiSelect(node.parentNode)
|| acceptMultiSelect(node.parentNode.parentNode))) {
if (isNodeSelected(node) == true) {
- deselectNode(node);
+ node.deselect();
} else {
- selectNode(node);
+ node.select();
}
} else {
deselectAll(node.parentNode);
- selectNode(node);
+ node.select();
}
if (startSelection != node.parentNode.getSelectedNodes()) {