3 var contactSelectorAction = 'acls-contacts';
5 function addContact(tag, fullContactName, contactId, contactName,
7 if (tag == "assistant")
8 addUser(contactName, contactId, false);
9 else if (tag == "delegate")
10 addUser(contactName, contactId, true);
13 function addUser(userName, userId, checked) {
14 var uidList = $("uixselector-userRoles-uidList");
17 if (uidList.value.length > 0) {
18 uids = uidList.value.split(",");
23 if (uids.indexOf(userId) < 0) {
25 var ul = $("uixselector-userRoles-display");
26 ul.appendChild(nodeForUser(userName, userId, checked));
27 uidList.value = uids.join(",");
30 log("addUser: " + uidList.value);
33 function nodeForUser(userName, userId, checked) {
34 var node = document.createElement("li");
35 node.setAttribute("uid", userId);
36 node.setAttribute("class", "");
37 node.addEventListener("mousedown", listRowMouseDownHandler, true);
38 node.addEventListener("click", onRowClick, true);
40 var checkbox = document.createElement("input");
41 checkbox.setAttribute("type", "checkbox");
42 checkbox.setAttribute("class", "checkBox");
43 checkbox.checked = checked;
44 checkbox.addEventListener("change", updateAclStatus, true);
46 node.appendChild(checkbox);
47 node.appendChild(document.createTextNode(userName));
52 function updateAclStatus() {
56 var form = $("aclForm");
57 var lis = $("uixselector-userRoles-display").childNodesWithTag("li");
59 var assistants = new Array();
60 var delegates = new Array();
61 for (var i = 0; i < lis.length; i++) {
62 var uName = lis[i].getAttribute("uid");
63 var cb = lis[i].childNodesWithTag("input")[0];
65 delegates.push(uName);
67 assistants.push(uName);
69 $("assistants").value = assistants.join(",");
70 $("delegates").value = delegates.join(",");