1 function onPopupAttendeesWindow(event) {
4 window.open(ApplicationBaseURL + "editAttendees", null,
5 "width=803,height=573");
10 function onSelectPrivacy(event) {
11 if (event.button == 0) {
12 var node = event.target;
13 if (node.tagName != 'A')
14 node = node.getParentWithTagName("a");
15 node = node.childNodesWithTag("span")[0];
17 popupToolbarMenu(node, "privacy-menu");
19 // preventDefault(event);
23 function onPopupUrlWindow(event) {
25 preventDefault(event);
27 var urlInput = document.getElementById("url");
28 var newUrl = window.prompt(labels["Target:"].decodeEntities(), urlInput.value);
30 var documentHref = $("documentHref");
31 var documentLabel = $("documentLabel");
32 if (documentHref.childNodes.length > 0) {
33 documentHref.childNodes[0].nodeValue = newUrl;
34 if (newUrl.length > 0)
35 documentLabel.setStyle({ display: "block" });
37 documentLabel.setStyle({ display: "none" });
40 documentHref.appendChild(document.createTextNode(newUrl));
41 if (newUrl.length > 0)
42 documentLabel.setStyle({ display: "block" });
44 urlInput.value = newUrl;
50 function onPopupDocumentWindow(event) {
51 var documentUrl = $("url");
53 preventDefault(event);
54 window.open(documentUrl.value, "SOGo_Document");
59 function onMenuSetClassification(event) {
60 event.cancelBubble = true;
62 var classification = this.getAttribute("classification");
63 if (this.parentNode.chosenNode)
64 this.parentNode.chosenNode.removeClassName("_chosen");
65 this.addClassName("_chosen");
66 this.parentNode.chosenNode = this;
68 // log("classification: " + classification);
69 var privacyInput = document.getElementById("privacy");
70 privacyInput.value = classification;
73 function onChangeCalendar(event) {
74 var calendars = $("calendarFoldersList").value.split(",");
75 var form = document.forms["editform"];
76 var urlElems = form.getAttribute("action").split("/");
77 var choice = calendars[this.value];
79 if (choice.indexOf(":") > -1)
80 ownerLogin = choice.split(":")[0];
82 ownerLogin = UserLogin;
83 urlElems[urlElems.length-4] = ownerLogin;
85 form.setAttribute("action", urlElems.join("/"));
88 function refreshAttendees() {
89 var attendeesLabel = $("attendeesLabel");
90 var attendeesNames = $("attendeesNames");
91 var attendeesHref = $("attendeesHref");
93 for (var i = 0; i < attendeesHref.childNodes.length; i++)
94 attendeesHref.removeChild(attendeesHref.childNodes[i]);
96 if (attendeesNames.value.length > 0) {
97 attendeesHref.appendChild(document.createTextNode(attendeesNames.value));
98 attendeesLabel.setStyle({ display: "block" });
101 attendeesLabel.setStyle({ display: "none" });
104 function initializeAttendeesHref() {
105 var attendeesHref = $("attendeesHref");
106 var attendeesLabel = $("attendeesLabel");
107 var attendeesNames = $("attendeesNames");
109 Event.observe(attendeesHref, "click", onPopupAttendeesWindow, false);
110 if (attendeesNames.value.length > 0) {
111 attendeesHref.setStyle({ textDecoration: "underline", color: "#00f" });
112 attendeesHref.appendChild(document.createTextNode(attendeesNames.value));
113 attendeesLabel.setStyle({ display: "block" });
117 function initializeDocumentHref() {
118 var documentHref = $("documentHref");
119 var documentLabel = $("documentLabel");
120 var documentUrl = $("url");
122 Event.observe(documentHref, "click", onPopupDocumentWindow, false);
123 documentHref.setStyle({ textDecoration: "underline", color: "#00f" });
124 if (documentUrl.value.length > 0) {
125 documentHref.appendChild(document.createTextNode(documentUrl.value));
126 documentLabel.setStyle({ display: "block" });
129 var changeUrlButton = $("changeUrlButton");
130 Event.observe(changeUrlButton, "click", onPopupUrlWindow, false);
133 function initializePrivacyMenu() {
134 var privacy = $("privacy").value.toUpperCase();
135 if (privacy.length > 0) {
136 var privacyMenu = $("privacy-menu").childNodesWithTag("ul")[0];
137 var menuEntries = privacyMenu.childNodesWithTag("li");
139 if (privacy == "CONFIDENTIAL")
140 chosenNode = menuEntries[1];
141 else if (privacy == "PRIVATE")
142 chosenNode = menuEntries[2];
144 chosenNode = menuEntries[0];
145 privacyMenu.chosenNode = chosenNode;
146 chosenNode.addClassName("_chosen");
150 function onComponentEditorLoad(event) {
151 if (!$("statusPercent"))
152 initializeAttendeesHref();
153 initializeDocumentHref();
154 initializePrivacyMenu();
155 var list = $("calendarList");
156 Event.observe(list, "change",
157 onChangeCalendar.bindAsEventListener(list),
159 if (document.createEvent) {
160 var onSelectionChangeEvent = document.createEvent("Event");
161 onSelectionChangeEvent.initEvent("change", false, false);
162 list.dispatchEvent(onSelectionChangeEvent);
165 list.fireEvent("onchange"); // IE
168 var menuItems = $("itemPrivacyList").childNodesWithTag("li");
169 for (var i = 0; i < menuItems.length; i++)
170 Event.observe(menuItems[i], "mouseup",
171 onMenuSetClassification.bindAsEventListener(menuItems[i]),
175 addEvent(window, 'load', onComponentEditorLoad);