+ Event.observe(editDraftButton, "click",
+ onMessageEditDraft.bindAsEventListener(editDraftButton));
+
+ configureiCalLinksInMessage();
+}
+
+function configureiCalLinksInMessage() {
+ var buttons = { "iCalendarAccept": "accept",
+ "iCalendarDecline": "decline",
+ "iCalendarTentative": "tentative",
+ "iCalendarUpdateUserStatus": "updateUserStatus",
+ "iCalendarAddToCalendar": "addToCalendar",
+ "iCalendarDeleteFromCalendar": "deleteFromCalendar" };
+
+ for (var key in buttons) {
+ var button = $(key);
+ if (button) {
+ button.action = buttons[key];
+ Event.observe(button, "click",
+ onICalendarButtonClick.bindAsEventListener(button));
+ }
+ }
+}
+
+function onICalendarButtonClick(event) {
+ var link = $("iCalendarAttachment").value;
+ if (link) {
+ var urlstr = link + "/" + this.action;
+ triggerAjaxRequest(urlstr, ICalendarButtonCallback,
+ Mailer.currentMailbox + "/"
+ + Mailer.currentMessages[Mailer.currentMailbox]);
+ }
+ else
+ log("no link");
+}
+
+function ICalendarButtonCallback(http) {
+ if (http.readyState == 4)
+ if (isHttpStatus204(http.status)) {
+ var oldMsg = http.callbackData;
+ var msg = Mailer.currentMailbox + "/" + Mailer.currentMessages[Mailer.currentMailbox];
+ if (oldMsg == msg) {
+ deleteCachedMessage(oldMsg);
+ loadMessage(Mailer.currentMessages[Mailer.currentMailbox]);
+ }
+ }
+ else {
+ window.alert("received code: " + http.status);
+ }
+}
+
+function resizeMailContent() {
+ var headerTable = document.getElementsByClassName('mailer_fieldtable')[0];
+ var contentDiv = document.getElementsByClassName('mailer_mailcontent')[0];
+
+ contentDiv.setStyle({ 'top':
+ (Element.getHeight(headerTable) + headerTable.offsetTop) + 'px' });