1 function onPopupAttendeesWindow(event) {
4 window.open(ApplicationBaseURL + "/editAttendees", null,
5 "width=803,height=573");
10 function onSelectPrivacy(event) {
11 if (event.button == 0 || (isSafari() && event.button == 1)) {
12 var node = getTarget(event);
13 if (node.tagName != 'BUTTON')
14 node = $(node).up("button");
15 popupToolbarMenu(node, "privacy-menu");
17 // preventDefault(event);
21 function onPopupUrlWindow(event) {
23 preventDefault(event);
25 var urlInput = document.getElementById("url");
26 var newUrl = window.prompt(labels["Target:"], urlInput.value);
28 var documentHref = $("documentHref");
29 var documentLabel = $("documentLabel");
30 if (documentHref.childNodes.length > 0) {
31 documentHref.childNodes[0].nodeValue = newUrl;
32 if (newUrl.length > 0)
33 documentLabel.setStyle({ display: "block" });
35 documentLabel.setStyle({ display: "none" });
38 documentHref.appendChild(document.createTextNode(newUrl));
39 if (newUrl.length > 0)
40 documentLabel.setStyle({ display: "block" });
42 urlInput.value = newUrl;
48 function onPopupDocumentWindow(event) {
49 var documentUrl = $("url");
51 preventDefault(event);
52 window.open(documentUrl.value, "SOGo_Document");
57 function onMenuSetClassification(event) {
58 event.cancelBubble = true;
60 var classification = this.getAttribute("classification");
61 if (this.parentNode.chosenNode)
62 this.parentNode.chosenNode.removeClassName("_chosen");
63 this.addClassName("_chosen");
64 this.parentNode.chosenNode = this;
66 // log("classification: " + classification);
67 var privacyInput = document.getElementById("privacy");
68 privacyInput.value = classification;
71 function onChangeCalendar(event) {
72 var calendars = $("calendarFoldersList").value.split(",");
73 var form = document.forms["editform"];
74 var urlElems = form.getAttribute("action").split("/");
75 var choice = calendars[this.value];
76 urlElems[urlElems.length-3] = choice;
77 form.setAttribute("action", urlElems.join("/"));
80 function refreshAttendees() {
81 var attendeesLabel = $("attendeesLabel");
82 var attendeesNames = $("attendeesNames");
83 var attendeesHref = $("attendeesHref");
84 var organizerListLabel = $("organizerListLabel");
86 log ("label: "+ organizerListLabel);
87 for (var i = 0; i < attendeesHref.childNodes.length; i++)
88 attendeesHref.removeChild(attendeesHref.childNodes[i]);
90 if (attendeesNames.value.length > 0) {
91 attendeesHref.appendChild(document.createTextNode(attendeesNames.value));
92 attendeesLabel.setStyle({ display: "block" });
93 if (organizerListLabel)
94 organizerListLabel.setStyle({ display: "block" });
97 attendeesLabel.setStyle({ display: "none" });
98 if (organizerListLabel)
99 organizerListLabel.setStyle({ display: "none" });
103 function initializeAttendeesHref() {
104 var attendeesHref = $("attendeesHref");
105 var attendeesLabel = $("attendeesLabel");
106 var attendeesNames = $("attendeesNames");
107 var organizerListLabel = $("organizerListLabel");
109 Event.observe(attendeesHref, "click", onPopupAttendeesWindow, false);
110 if (attendeesNames.value.length > 0) {
111 if (organizerListLabel)
112 organizerListLabel.setStyle({ display: "block" });
113 attendeesHref.setStyle({ textDecoration: "underline", color: "#00f" });
114 attendeesHref.appendChild(document.createTextNode(attendeesNames.value));
115 attendeesLabel.setStyle({ display: "block" });
119 function initializeDocumentHref() {
120 var documentHref = $("documentHref");
121 var documentLabel = $("documentLabel");
122 var documentUrl = $("url");
124 Event.observe(documentHref, "click", onPopupDocumentWindow, false);
125 documentHref.setStyle({ textDecoration: "underline", color: "#00f" });
126 if (documentUrl.value.length > 0) {
127 documentHref.appendChild(document.createTextNode(documentUrl.value));
128 documentLabel.setStyle({ display: "block" });
131 var changeUrlButton = $("changeUrlButton");
132 Event.observe(changeUrlButton, "click", onPopupUrlWindow, false);
135 function initializePrivacyMenu() {
136 var privacy = $("privacy").value.toUpperCase();
137 if (privacy.length > 0) {
138 var privacyMenu = $("privacy-menu").childNodesWithTag("ul")[0];
139 var menuEntries = $(privacyMenu).childNodesWithTag("li");
141 if (privacy == "CONFIDENTIAL")
142 chosenNode = menuEntries[1];
143 else if (privacy == "PRIVATE")
144 chosenNode = menuEntries[2];
146 chosenNode = menuEntries[0];
147 privacyMenu.chosenNode = chosenNode;
148 $(chosenNode).addClassName("_chosen");
152 function onComponentEditorLoad(event) {
153 if (!$("statusPercent"))
154 initializeAttendeesHref();
155 initializeDocumentHref();
156 initializePrivacyMenu();
157 var list = $("calendarList");
158 Event.observe(list, "mousedown",
159 onChangeCalendar.bindAsEventListener(list),
161 list.fire("mousedown");
163 var menuItems = $("itemPrivacyList").childNodesWithTag("li");
164 for (var i = 0; i < menuItems.length; i++)
165 Event.observe(menuItems[i], "mousedown",
166 onMenuSetClassification.bindAsEventListener(menuItems[i]),
170 FastInit.addOnLoad(onComponentEditorLoad);