mailAccounts = new Array();
}
-var currentMessages = {};
-var maxCachedMessages = 20;
-var cachedMessages = new Array();
-var currentMailbox = null;
-var currentMailboxType = "";
+var Mailer = {
+ currentMailbox: null,
+ currentMailboxType: "",
+ currentMessages: {},
+ maxCachedMessages: 20,
+ cachedMessages: new Array(),
+ foldersStateTimer: false
+};
var usersRightsWindowHeight = 320;
var usersRightsWindowWidth = 400;
function onMessageDoubleClick(event) {
var action;
- if (currentMailboxType == "draft")
+ if (Mailer.currentMailboxType == "draft")
action = "edit";
else
action = "popupview";
function openMessageWindowsForSelection(action, firstOnly) {
if (document.body.hasClassName("popup")) {
- return true;
+ var url = window.location.href;
+ var parts = url.split("/");
+ parts[parts.length-1] = action;
+ window.location.href = parts.join("/");
}
else {
var messageList = $("messageList");
if (rows.length > 0) {
for (var i = 0; i < rows.length; i++) {
openMessageWindow(rows[i].substr(4),
- ApplicationBaseURL + currentMailbox
+ ApplicationBaseURL + Mailer.currentMailbox
+ "/" + rows[i].substr(4)
+ "/" + action);
if (firstOnly)
action = 'markMessageUnread';
markread = false;
}
- var url = ApplicationBaseURL + currentMailbox + "/" + msguid + "/" + action;
+ var url = ApplicationBaseURL + Mailer.currentMailbox + "/" + msguid + "/" + action;
var data = { "window": window, "msguid": msguid, "markread": markread };
triggerAjaxRequest(url, mailListMarkMessageCallback, data);
/* bulk delete of messages */
function deleteSelectedMessages(sender) {
- var messageList = $("messageList");
- var rowIds = messageList.getSelectedRowsId();
-
- for (var i = 0; i < rowIds.length; i++) {
- var url;
- var rowId = rowIds[i].substr(4);
- var messageId = currentMailbox + "/" + rowId;
- url = ApplicationBaseURL + messageId + "/trash";
- deleteMessageRequestCount++;
- var data = { "id": rowId, "mailbox": currentMailbox, "messageId": messageId };
- triggerAjaxRequest(url, deleteSelectedMessagesCallback, data);
- }
-
- return false;
+ var messageList = $("messageList");
+ var rowIds = messageList.getSelectedRowsId();
+
+ if (rowIds.length > 0) {
+ for (var i = 0; i < rowIds.length; i++) {
+ var url;
+ var rowId = rowIds[i].substr(4);
+ var messageId = Mailer.currentMailbox + "/" + rowId;
+ url = ApplicationBaseURL + messageId + "/trash";
+ deleteMessageRequestCount++;
+ var data = { "id": rowId, "mailbox": Mailer.currentMailbox, "messageId": messageId };
+ triggerAjaxRequest(url, deleteSelectedMessagesCallback, data);
+ }
+ }
+ else
+ window.alert(labels["Please select a message."]);
+
+ return false;
}
function deleteSelectedMessagesCallback(http) {
if (isHttpStatus204(http.status)) {
var data = http.callbackData;
deleteCachedMessage(data["messageId"]);
- if (currentMailbox == data["mailbox"]) {
-
+ deleteMessageRequestCount--;
+ if (Mailer.currentMailbox == data["mailbox"]) {
var div = $('messageContent');
- if (currentMessages[currentMailbox] == data["id"]) {
+ if (Mailer.currentMessages[Mailer.currentMailbox] == data["id"]) {
div.update();
- currentMessages[currentMailbox] = null;
+ Mailer.currentMessages[Mailer.currentMailbox] = null;
}
var row = $("row_" + data["id"]);
+ var nextRow = row.next("tr");
+ if (!nextRow)
+ nextRow = row.previous("tr");
row.parentNode.removeChild(row);
// row.addClassName("deleted"); // when we'll offer "mark as deleted"
-
- deleteMessageRequestCount--;
+
+ if (deleteMessageRequestCount == 0) {
+ if (nextRow) {
+ Mailer.currentMessages[Mailer.currentMailbox] = nextRow.getAttribute("id").substr(4);
+ nextRow.select();
+ loadMessage(Mailer.currentMessages[Mailer.currentMailbox]);
+ }
+ }
}
}
}
new Ajax.Request(url, {
method: 'post',
onFailure: function(transport) {
- if (!isHttpStatus204)
- log("draftDeleteCallback: problem during ajax request: " + transport.status);
+ log("draftDeleteCallback: problem during ajax request: " + transport.status);
}
});
}
/* send AJAX request (synchronously) */
- var messageId = currentMailbox + "/" + rowIds[i];
+ var messageId = Mailer.currentMailbox + "/" + rowIds[i];
url = (ApplicationBaseURL + messageId
+ "/move?tofolder=" + folder);
http = createHTTPClient();
var row = $("row_" + rowIds[i]);
row.parentNode.removeChild(row);
deleteCachedMessage(messageId);
- if (currentMessages[currentMailbox] == rowIds[i]) {
+ if (Mailer.currentMessages[Mailer.currentMailbox] == rowIds[i]) {
var div = $('messageContent');
div.update();
- currentMessages[currentMailbox] = null;
+ Mailer.currentMessages[Mailer.currentMailbox] = null;
}
}
else /* request failed */
}
function onMenuDeleteMessage(event) {
- deleteSelectedMessages();
- preventDefault(event);
+ deleteSelectedMessages();
+ preventDefault(event);
+}
+
+function deleteMessage(url, id, mailbox, messageId) {
+ var data = { "id": id, "mailbox": mailbox, "messageId": messageId };
+ deleteMessageRequestCount++;
+ triggerAjaxRequest(url, deleteSelectedMessagesCallback, data);
+}
+
+function deleteMessageWithDelay(url, id, mailbox, messageId) {
+ /* this is called by UIxMailPopupView with window.opener */
+ setTimeout("deleteMessage('" +
+ url + "', '" +
+ id + "', '" +
+ mailbox + "', '" +
+ messageId + "')",
+ 50);
}
function onPrintCurrentMessage(event) {
$("searchValue").value = "";
initCriteria();
- currentMailboxType = this.parentNode.getAttribute("datatype");
- if (currentMailboxType == "account" || currentMailboxType == "additional") {
- currentMailbox = mailbox;
+ Mailer.currentMailboxType = this.parentNode.getAttribute("datatype");
+ if (Mailer.currentMailboxType == "account" || Mailer.currentMailboxType == "additional") {
+ Mailer.currentMailbox = mailbox;
$("messageContent").update();
var table = $("messageList");
var head = table.tHead;
function _onMailboxMenuAction(menuEntry, error, actionName) {
var targetMailbox = menuEntry.mailbox.fullName();
+ var messages = new Array();
- if (targetMailbox == currentMailbox)
+ if (targetMailbox == Mailer.currentMailbox)
window.alert(labels[error]);
else {
- var message;
if (document.menuTarget.tagName == "DIV")
- message = currentMessages[currentMailbox];
+ // Menu called from message content view
+ messages.push(Mailer.currentMessages[Mailer.currentMailbox]);
+ else if (Object.isArray(document.menuTarget))
+ // Menu called from multiple selection in messages list view
+ messages = $(document.menuTarget).collect(function(row) {
+ return row.getAttribute("id").substr(4);
+ });
else
- message = document.menuTarget.getAttribute("id").substr(4);
-
- var urlstr = (URLForFolderID(currentMailbox) + "/" + message
- + "/" + actionName + "?folder=" + targetMailbox);
- triggerAjaxRequest(urlstr, folderRefreshCallback, currentMailbox);
+ // Menu called from one selection in messages list view
+ messages.push(document.menuTarget.getAttribute("id").substr(4));
+
+ var url_prefix = URLForFolderID(Mailer.currentMailbox) + "/";
+ messages.each(function(msgid, i) {
+ var url = url_prefix + msgid + "/" + actionName
+ + "?folder=" + targetMailbox;
+ triggerAjaxRequest(url, folderRefreshCallback,
+ ((i == messages.size() - 1)?Mailer.currentMailbox:""));
+ });
}
}
}
function composeNewMessage() {
- var account = currentMailbox.split("/")[1];
+ var account = Mailer.currentMailbox.split("/")[1];
var url = ApplicationBaseURL + "/" + account + "/compose";
openMailComposeWindow(url);
}
function openMailbox(mailbox, reload, idx) {
- if (mailbox != currentMailbox || reload) {
- currentMailbox = mailbox;
+ if (mailbox != Mailer.currentMailbox || reload) {
+ Mailer.currentMailbox = mailbox;
var url = ApplicationBaseURL + encodeURI(mailbox) + "/view?noframe=1";
- var messageContent = $("messageContent");
- messageContent.update();
- lastClickedRow = -1; // from generic.js
-
+
+ if (!reload || idx) {
+ var messageContent = $("messageContent");
+ messageContent.update();
+ lastClickedRow = -1; // from generic.js
+ }
+
var currentMessage;
+
if (!idx) {
- currentMessage = currentMessages[mailbox];
+ currentMessage = Mailer.currentMessages[mailbox];
if (currentMessage) {
- loadMessage(currentMessage);
url += '&pageforuid=' + currentMessage;
+ if (!reload)
+ loadMessage(currentMessage);
}
}
}
function openMailboxAtIndex(event) {
- openMailbox(currentMailbox, true, this.getAttribute("idx"));
+ openMailbox(Mailer.currentMailbox, true, this.getAttribute("idx"));
Event.stop(event);
}
if (http.readyState == 4
&& http.status == 200) {
- document.messageListAjaxRequest = null;
+ document.messageListAjaxRequest = null;
if (table) {
// Update table
if (row) {
row.select();
lastClickedRow = row.rowIndex - $(row).up('table').down('thead').getElementsByTagName('tr').length;
- div.scrollTop = row.rowIndex * row.getHeight(); // scroll to selected message
+ var rowPosition = row.rowIndex * row.getHeight();
+ if ($(row).up('div').getHeight() > rowPosition)
+ rowPosition = 0;
+ div.scrollTop = rowPosition; // scroll to selected message
}
else
$("messageContent").update();
}
if (hasQuotas) {
- var treePath = currentMailbox.split("/");
+ var treePath = Mailer.currentMailbox.split("/");
var quotasMB = new Array();
for (var i = 2; i < treePath.length; i++)
quotasMB.push(treePath[i].substr(6));
function onMessageContextMenu(event) {
var menu = $('messageListMenu');
- Event.observe(menu, "hideMenu", onMessageContextMenuHide);
- popupMenu(event, "messageListMenu", this);
-
var topNode = $('messageList');
var selectedNodes = topNode.getSelectedRows();
- for (var i = 0; i < selectedNodes.length; i++)
- selectedNodes[i].deselect();
- topNode.menuSelectedRows = selectedNodes;
- topNode.menuSelectedEntry = this;
- this.select();
+
+ Event.observe(menu, "hideMenu", onMessageContextMenuHide);
+
+ if (selectedNodes.length > 1)
+ popupMenu(event, "messagesListMenu", selectedNodes);
+ else
+ popupMenu(event, "messageListMenu", this);
}
function onMessageContextMenuHide(event) {
var done = false;
var counter = 0;
- while (counter < cachedMessages.length
+ while (counter < Mailer.cachedMessages.length
&& !done)
- if (cachedMessages[counter]
- && cachedMessages[counter]['idx'] == messageId) {
- cachedMessages.splice(counter, 1);
+ if (Mailer.cachedMessages[counter]
+ && Mailer.cachedMessages[counter]['idx'] == messageId) {
+ Mailer.cachedMessages.splice(counter, 1);
done = true;
}
else
var message = null;
var counter = 0;
- while (counter < cachedMessages.length
+ while (counter < Mailer.cachedMessages.length
&& message == null)
- if (cachedMessages[counter]
- && cachedMessages[counter]['idx'] == currentMailbox + '/' + idx)
- message = cachedMessages[counter];
+ if (Mailer.cachedMessages[counter]
+ && Mailer.cachedMessages[counter]['idx'] == Mailer.currentMailbox + '/' + idx)
+ message = Mailer.cachedMessages[counter];
else
counter++;
var timeOldest = -1;
var counter = 0;
- if (cachedMessages.length < maxCachedMessages)
- oldest = cachedMessages.length;
+ if (Mailer.cachedMessages.length < Mailer.maxCachedMessages)
+ oldest = Mailer.cachedMessages.length;
else {
- while (cachedMessages[counter]) {
+ while (Mailer.cachedMessages[counter]) {
if (oldest == -1
- || cachedMessages[counter]['time'] < timeOldest) {
+ || Mailer.cachedMessages[counter]['time'] < timeOldest) {
oldest = counter;
- timeOldest = cachedMessages[counter]['time'];
+ timeOldest = Mailer.cachedMessages[counter]['time'];
}
counter++;
}
oldest = 0;
}
- cachedMessages[oldest] = cachedMessage;
+ Mailer.cachedMessages[oldest] = cachedMessage;
}
function onMessageSelectionChange() {
if (rows.length == 1) {
var idx = rows[0].substr(4);
-
- if (currentMessages[currentMailbox] != idx) {
- currentMessages[currentMailbox] = idx;
+ if (Mailer.currentMessages[Mailer.currentMailbox] != idx) {
+ Mailer.currentMessages[Mailer.currentMailbox] = idx;
loadMessage(idx);
}
}
markMailInWindow(window, idx, true);
if (cachedMessage == null) {
- var url = (ApplicationBaseURL + currentMailbox + "/"
+ var url = (ApplicationBaseURL + Mailer.currentMailbox + "/"
+ idx + "/view?noframe=1");
document.messageAjaxRequest
= triggerAjaxRequest(url, messageCallback, idx);
var mailContentDiv = document.getElementsByClassName('mailer_mailcontent',
messageDiv)[0];
if (!document.body.hasClassName("popup"))
- Event.observe(mailContentDiv, "contextmenu",
- onMessageContentMenu.bindAsEventListener(mailContentDiv));
+ mailContentDiv.observe("contextmenu", onMessageContentMenu);
+
var anchors = messageDiv.getElementsByTagName('a');
for (var i = 0; i < anchors.length; i++)
if (anchors[i].href.substring(0,7) == "mailto:") {
- Event.observe(anchors[i], "click",
- onEmailAddressClick.bindAsEventListener(anchors[i]));
- Event.observe(anchors[i], "contextmenu",
- onEmailAddressClick.bindAsEventListener(anchors[i]));
+ $(anchors[i]).observe("click", onEmailTo);
+ $(anchors[i]).observe("contextmenu", onEmailAddressClick);
}
else
- Event.observe(anchors[i], "click",
- onMessageAnchorClick.bindAsEventListener(anchors[i]));
+ $(anchors[i]).observe("click", onMessageAnchorClick);
+
+ var images = messageDiv.getElementsByTagName('img');
+ for (var i = 0; i < images.length; i++)
+ $(images[i]).observe("contextmenu", onImageClick);
var editDraftButton = $("editDraftButton");
if (editDraftButton)
var buttons = { "iCalendarAccept": "accept",
"iCalendarDecline": "decline",
"iCalendarTentative": "tentative",
+ "iCalendarUpdateUserStatus": "updateUserStatus",
"iCalendarAddToCalendar": "addToCalendar",
"iCalendarDeleteFromCalendar": "deleteFromCalendar" };
if (link) {
var urlstr = link + "/" + this.action;
triggerAjaxRequest(urlstr, ICalendarButtonCallback,
- currentMailbox + "/"
- + currentMessages[currentMailbox]);
- window.alert(urlstr);
+ 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 = currentMailbox + "/" + currentMessages[currentMailbox];
+ var msg = Mailer.currentMailbox + "/" + Mailer.currentMessages[Mailer.currentMailbox];
if (oldMsg == msg) {
deleteCachedMessage(oldMsg);
- loadMessage(currentMessages[currentMailbox]);
+ loadMessage(Mailer.currentMessages[Mailer.currentMailbox]);
}
}
+ else {
+ window.alert("received code: " + http.status);
+ }
}
function resizeMailContent() {
}
function onMessageContentMenu(event) {
+ var element = getTarget(event);
+ if ((element.tagName == 'A' && element.href.substring(0,7) == "mailto:")
+ || element.tagName == 'IMG')
+ // Don't show the default contextual menu; let the click propagate to
+ // other observers
+ return true;
popupMenu(event, 'messageContentMenu', this);
}
function onEmailAddressClick(event) {
popupMenu(event, 'addressMenu', this);
+ preventDefault(event);
+ return false;
}
function onMessageAnchorClick(event) {
preventDefault(event);
}
+function onImageClick(event) {
+ popupMenu(event, 'imageMenu', this);
+ preventDefault(event);
+ return false;
+}
+
function messageCallback(http) {
var div = $('messageContent');
if (http.callbackData) {
var cachedMessage = new Array();
- cachedMessage['idx'] = currentMailbox + '/' + http.callbackData;
+ cachedMessage['idx'] = Mailer.currentMailbox + '/' + http.callbackData;
cachedMessage['time'] = (new Date()).getTime();
cachedMessage['text'] = http.responseText;
if (cachedMessage['text'].length < 30000)
var rows = messageList.getSelectedRowsId();
if (rows.length > 0) {
- var url = (ApplicationBaseURL + currentMailbox + "/"
+ var url = (ApplicationBaseURL + Mailer.currentMailbox + "/"
+ rows[0].substr(4) + "/viewsource");
openMailComposeWindow(url);
}
preventDefault(event);
}
+function saveImage(event) {
+ var img = document.menuTarget;
+ var url = img.getAttribute("src");
+ var urlAsAttachment = url.replace(/(\/[^\/]*)$/,"/asAttachment$1");
+
+ window.location.href = urlAsAttachment;
+}
+
/* contacts */
function newContactFromEmail(event) {
var mailto = document.menuTarget.innerHTML;
return false; /* stop following the link */
}
+function onEmailTo(event) {
+ openMailTo(this.innerHTML.strip());
+ preventDefault(event);
+ return false;
+}
+
function newEmailTo(sender) {
return openMailTo(document.menuTarget.innerHTML);
}
}
function onHeaderClick(event) {
+ if (TableKit.Resizable._onHandle)
+ return;
+
var headerId = this.getAttribute("id");
var newSortAttribute;
if (headerId == "subjectHeader")
}
function refreshCurrentFolder() {
- openMailbox(currentMailbox, true);
+ openMailbox(Mailer.currentMailbox, true);
}
function refreshFolderByType(type) {
- if (currentMailboxType == type)
+ if (Mailer.currentMailboxType == type)
refreshCurrentFolder();
}
if (data) {
var folder = this.parentNode.parentNode.getAttribute("dataname");
- if (folder != currentMailbox)
+ if (folder != Mailer.currentMailbox)
success = (moveMessages(data, folder) == 0);
}
else
}
function initMailer(event) {
- if (!document.body.hasClassName("popup")) {
+ if (!$(document.body).hasClassName("popup")) {
// initDnd();
initMailboxTree();
initMessageCheckTimer();
}
+
+ // Default sort options
+ sorting["attribute"] = "date";
+ sorting["ascending"] = false;
}
function initMessageCheckTimer() {
onFolderMenuClick.bindAsEventListener(nodes[i]));
if (!inboxFound
&& nodes[i].parentNode.getAttribute("datatype") == "inbox") {
+ Mailer.currentMailboxType = "inbox";
openInbox(nodes[i]);
inboxFound = true;
}
menu.appendChild(menuEntry);
var mailbox = accounts[mailAccounts[i]];
var newSubmenuId = generateMenuForMailbox(mailbox,
- key, mailboxActions[key]);
+ key, mailboxActions[key]);
submenuIds.push(newSubmenuId);
}
initMenu(menuDIV, submenuIds);
updateMailboxTreeInPage();
updateMailboxMenus();
checkAjaxRequestsState();
+ getFoldersState();
}
}
}
// var treeNodes = document.getElementsByClassName("dTreeNode", tree);
// var i = 0;
// while (i < treeNodes.length
- // && treeNodes[i].getAttribute("dataname") != currentMailbox)
+ // && treeNodes[i].getAttribute("dataname") != Mailer.currentMailbox)
// i++;
// if (i < treeNodes.length) {
// // log("found mailbox");
return account;
}
+function getFoldersState() {
+ if (mailAccounts.length > 0) {
+ var urlstr = ApplicationBaseURL + "foldersState";
+ triggerAjaxRequest(urlstr, getFoldersStateCallback);
+ }
+}
+
+function getFoldersStateCallback(http) {
+ if (http.readyState == 4
+ && http.status == 200) {
+ if (http.responseText.length > 0) {
+ // The response text is a JSOn representation
+ // of the folders that were left opened.
+ var data = http.responseText.evalJSON(true);
+ for (var i = 1; i < mailboxTree.aNodes.length; i++) {
+ if ($(data).indexOf(mailboxTree.aNodes[i].dataname) > 0)
+ // If the folder is found, open it
+ mailboxTree.o(i);
+ }
+ }
+ }
+ mailboxTree.autoSync();
+}
+
+function saveFoldersState() {
+ if (mailAccounts.length > 0) {
+ var foldersState = mailboxTree.getFoldersState();
+ var urlstr = ApplicationBaseURL + "saveFoldersState" + "?expandedFolders=" + foldersState;
+ triggerAjaxRequest(urlstr, saveFoldersStateCallback);
+ }
+}
+
+function saveFoldersStateCallback(http) {
+ if (http.readyState == 4
+ && isHttpStatus204(http.status)) {
+ log ("folders state saved");
+ }
+}
+
function onMenuCreateFolder(event) {
var name = window.prompt(labels["Name :"], "");
if (name && name.length > 0) {
var urlstr = URLForFolderID(folderID) + "/emptyTrash";
triggerAjaxRequest(urlstr, folderOperationCallback, folderID);
- if (folderID == currentMailbox) {
+ if (folderID == Mailer.currentMailbox) {
var div = $('messageContent');
for (var i = div.childNodes.length - 1; i > -1; i--)
div.removeChild(div.childNodes[i]);
refreshCurrentFolder();
}
- var msgID = currentMessages[folderID];
+ var msgID = Mailer.currentMessages[folderID];
if (msgID)
deleteCachedMessage(folderID + "/" + msgID);
}
}
function onMenuLabelNone() {
- var rowId = document.menuTarget.getAttribute("id").substr(4);
- var messageId = currentMailbox + "/" + rowId;
- var urlstr = ApplicationBaseURL + messageId + "/removeAllLabels";
- triggerAjaxRequest(urlstr, messageFlagCallback,
- { mailbox: currentMailbox, msg: rowId, label: null } );
+ var messages = new Array();
+
+ if (document.menuTarget.tagName == "DIV")
+ // Menu called from message content view
+ messages.push(Mailer.currentMessages[Mailer.currentMailbox]);
+ else if (Object.isArray(document.menuTarget))
+ // Menu called from multiple selection in messages list view
+ $(document.menuTarget).collect(function(row) {
+ messages.push(row.getAttribute("id").substr(4));
+ });
+ else
+ // Menu called from one selection in messages list view
+ messages.push(document.menuTarget.getAttribute("id").substr(4));
+
+ var url = ApplicationBaseURL + Mailer.currentMailbox + "/";
+ messages.each(function(id) {
+ triggerAjaxRequest(url + id + "/removeAllLabels",
+ messageFlagCallback,
+ { mailbox: Mailer.currentMailbox, msg: id, label: null } );
+ });
}
function _onMenuLabelFlagX(flag) {
- var flags = document.menuTarget.getAttribute("labels").split(" ");
-
- var rowId = document.menuTarget.getAttribute("id").substr(4);
- var messageId = currentMailbox + "/" + rowId;
+ var messages = new Hash();
+
+ if (document.menuTarget.tagName == "DIV")
+ // Menu called from message content view
+ messages.set(Mailer.currentMessages[Mailer.currentMailbox],
+ $('tr#row_' + Mailer.currentMessages[Mailer.currentMailbox]).getAttribute("labels"));
+ else if (Object.isArray(document.menuTarget))
+ // Menu called from multiple selection in messages list view
+ $(document.menuTarget).collect(function(row) {
+ messages.set(row.getAttribute("id").substr(4),
+ row.getAttribute("labels"));
+ });
+ else
+ // Menu called from one selection in messages list view
+ messages.set(document.menuTarget.getAttribute("id").substr(4),
+ document.menuTarget.getAttribute("labels"));
+
+ var url = ApplicationBaseURL + Mailer.currentMailbox + "/";
+ messages.keys().each(function(id) {
+ var flags = messages.get(id).split(" ");
+ var operation = "add";
+
+ if (flags.indexOf("label" + flag) > -1)
+ operation = "remove";
- var operation = "add";
- if (flags.indexOf("label" + flag) > -1)
- operation = "remove";
- var urlstr = (ApplicationBaseURL + messageId
- + "/" + operation + "Label" + flag);
- triggerAjaxRequest(urlstr, messageFlagCallback,
- { mailbox: currentMailbox, msg: rowId,
- label: operation + flag } );
+ triggerAjaxRequest(url + id + "/" + operation + "Label" + flag,
+ messageFlagCallback,
+ { mailbox: Mailer.currentMailbox, msg: id,
+ label: operation + flag } );
+ });
}
function onMenuLabelFlag1() {
if (http.readyState == 4
&& isHttpStatus204(http.status)) {
var oldMailbox = http.callbackData;
- if (oldMailbox == currentMailbox)
+ if (oldMailbox == Mailer.currentMailbox)
refreshCurrentFolder();
}
else
if (http.readyState == 4
&& isHttpStatus204(http.status)) {
var data = http.callbackData;
- if (data["mailbox"] == currentMailbox) {
+ if (data["mailbox"] == Mailer.currentMailbox) {
var row = $("row_" + data["msg"]);
var operation = data["label"];
if (operation) {
"mark-menu", "-", null,
onMenuViewMessageSource, null,
null, onMenuDeleteMessage);
+ menus["messagesListMenu"] = new Array(onMenuForwardMessage,
+ "-", "moveMailboxMenu",
+ "copyMailboxMenu", "label-menu",
+ "mark-menu", "-",
+ null, null,
+ onMenuDeleteMessage);
+ menus["imageMenu"] = new Array(saveImage);
menus["messageContentMenu"] = new Array(onMenuReplyToSender,
onMenuReplyToAll,
onMenuForwardMessage,
return menus;
}
-addEvent(window, 'load', initMailer);
+FastInit.addOnLoad(initMailer);
function Mailbox(type, name) {
this.type = type;