diff --git a/UI/WebServerResources/UIxAttendeesEditor.js b/UI/WebServerResources/UIxAttendeesEditor.js
index 60f415943..2735ebb07 100644
--- a/UI/WebServerResources/UIxAttendeesEditor.js
+++ b/UI/WebServerResources/UIxAttendeesEditor.js
@@ -97,10 +97,12 @@ function UIDLookupCallback(http) {
var searchField = http.callbackData;
var start = searchField.value.length;
var text = http.responseText.split(":");
- if (text[0].length > 0)
- searchField.uid = text[0];
+ if (text[0].length > 0) {
+ searchField.uid = text[0];
+ displayFreeBusyForNode(searchField);
+ }
else
- searchField.uid = null;
+ searchField.uid = null
}
}
}
@@ -212,33 +214,38 @@ function checkAttendee() {
}
function displayFreeBusyForNode(node) {
- var nodes = node.parentNode.parentNode.cells;
- if (node.uid) {
- for (var i = 1; i < nodes.length; i++) {
- nodes[i].removeClassName("noFreeBusy");
- nodes[i].innerHTML = (''
- + ''
- + ''
- + '');
- }
- if (document.contactFreeBusyAjaxRequest) {
- document.contactFreeBusyAjaxRequest.aborted = true;
- document.contactFreeBusyAjaxRequest.abort();
- }
- var sd = $('startTime_date').valueAsShortDateString();
- var ed = $('endTime_date').valueAsShortDateString();
- var urlstr = ( UserFolderURL + "../" + node.uid + "/freebusy.ifb/ajaxRead?"
- + "sday=" + sd + "&eday=" + ed + "&additional=" + additionalDays );
- document.contactFreeBusyAjaxRequest
- = triggerAjaxRequest(urlstr,
- updateFreeBusyData,
- node);
- } else {
- for (var i = 1; i < nodes.length; i++) {
- nodes[i].addClassName("noFreeBusy");
- nodes[i].innerHTML = '';
- }
- }
+ if (document.contactFreeBusyAjaxRequest)
+ awaitingFreeBusyRequests.push(node);
+ else {
+ var nodes = node.parentNode.parentNode.cells;
+ if (node.uid) {
+ for (var i = 1; i < nodes.length; i++) {
+ nodes[i].removeClassName("noFreeBusy");
+ nodes[i].innerHTML = (''
+ + ''
+ + ''
+ + '');
+ }
+ if (document.contactFreeBusyAjaxRequest) {
+ document.contactFreeBusyAjaxRequest.aborted = true;
+ document.contactFreeBusyAjaxRequest.abort();
+ }
+ var sd = $('startTime_date').valueAsShortDateString();
+ var ed = $('endTime_date').valueAsShortDateString();
+ var urlstr = ( UserFolderURL + "../" + node.uid + "/freebusy.ifb/ajaxRead?"
+ + "sday=" + sd + "&eday=" + ed + "&additional=" +
+ additionalDays );
+ document.contactFreeBusyAjaxRequest
+ = triggerAjaxRequest(urlstr,
+ updateFreeBusyData,
+ node);
+ } else {
+ for (var i = 1; i < nodes.length; i++) {
+ nodes[i].addClassName("noFreeBusy");
+ nodes[i].innerHTML = '';
+ }
+ }
+ }
}
function setSlot(tds, nbr, status) {
@@ -280,7 +287,6 @@ function updateFreeBusyData(http) {
function resetAttendeesValue() {
var table = $("freeBusy");
var inputs = table.getElementsByTagName("input");
- var uids = new Array();
for (var i = 0; i < inputs.length - 2; i++) {
var currentInput = inputs[i];
var uid = currentInput.getAttribute("uid");
@@ -288,7 +294,6 @@ function resetAttendeesValue() {
currentInput.uid = uid;
currentInput.setAttribute("uid", null);
}
- uids.push(currentInput.uid);
currentInput.setAttribute("autocomplete", "off");
currentInput.addEventListener("keydown", onContactKeydown, false);
currentInput.addEventListener("blur", checkAttendee, false);
@@ -304,11 +309,8 @@ function resetAllFreeBusys() {
for (var i = 0; i < inputs.length - 2; i++) {
var currentInput = inputs[i];
currentInput.hasfreebusy = false;
-// log ("input: " + currentInput.uid);
- awaitingFreeBusyRequests.push(currentInput);
+ displayFreeBusyForNode(inputs[i]);
}
- if (awaitingFreeBusyRequests.length > 0)
- displayFreeBusyForNode(awaitingFreeBusyRequests.shift());
}
function initializeWindowButtons() {
@@ -478,14 +480,10 @@ function prepareTableRows() {
var rows = $("freeBusy").tBodies[0].rows;
var days = startDate.daysUpTo(endDate);
- for (var i = 0; i < days.length; i++) {
- for (var rowNbr = 0; rowNbr < rows.length; rowNbr++) {
- for (var hour = dayStartHour; hour < (dayEndHour + 1); hour++) {
- var cell = document.createElement("td");
- rows[rowNbr].appendChild(cell);
- }
- }
- }
+ for (var i = 0; i < days.length; i++)
+ for (var rowNbr = 0; rowNbr < rows.length; rowNbr++)
+ for (var hour = dayStartHour; hour < (dayEndHour + 1); hour++)
+ rows[rowNbr].appendChild(document.createElement("td"));
}
function prepareAttendees() {
@@ -494,8 +492,6 @@ function prepareAttendees() {
attendeesNames = parent$("attendeesNames").value.split(",");
attendeesEmails = parent$("attendeesEmails").value.split(",");
- var baseUrl = UserFolderURL + "Contacts/contactSearch?search=";
-
var body = $("freeBusy").tBodies[0];
for (var i = 0; i < attendeesNames.length; i++) {
var tr = body.insertRow(i);
@@ -509,11 +505,9 @@ function prepareAttendees() {
input.value = value;
input.addClassName("textField");
input.setAttribute("modified", "0");
- triggerAjaxRequest(baseUrl + attendeesEmails[i],
- UIDLookupCallback, input);
- input.setAttribute("uid", attendeesNames[i]);
- tr.appendChild(td)
- td.appendChild(input)
+ tr.appendChild(td);
+ td.appendChild(input);
+ displayFreeBusyForNode(input);
}
}
else {
@@ -522,6 +516,14 @@ function prepareAttendees() {
}
}
+function initializeFreebusys() {
+ var inputs = $("freeBusy").getElementsByTagName("input");
+ var baseUrl = UserFolderURL + "Contacts/contactSearch?search=";
+ for (var i = 0; i < attendeesEmails.length; i++)
+ triggerAjaxRequest(baseUrl + attendeesEmails[i],
+ UIDLookupCallback, inputs[i]);
+}
+
function onFreeBusyLoadHandler() {
initializeWindowButtons();
initializeTimeWidgets();
@@ -530,7 +532,7 @@ function onFreeBusyLoadHandler() {
prepareTableRows();
redisplayFreeBusyZone();
resetAttendeesValue();
- resetAllFreeBusys();
+ initializeFreebusys();
}
window.addEventListener("load", onFreeBusyLoadHandler, false);
diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js
index df12e456f..89cce21d5 100644
--- a/UI/WebServerResources/generic.js
+++ b/UI/WebServerResources/generic.js
@@ -582,7 +582,7 @@ function log(message) {
}
var logConsole = logWindow.document.getElementById("logConsole");
if (logConsole)
- logConsole.innerHTML += message + '
' + "\n";
+ logConsole.innerHTML += message.replace("<", "<") + '
' + "\n";
}
function backtrace() {