w.focus();
return false;
- }
+}
function addContact(tag, fullContactName, contactId, contactName, contactEmail) {
if (!mailIsRecipient(contactEmail)) {
var counter = 0;
var currentRow = $('row_' + counter);
while (currentRow && !stop) {
- var currentValue = $(currentRow.childNodesWithTag("span")[1]).childNodesWithTag("input")[0].value;
+ var currentValue = $(currentRow.childNodesWithTag("td")[1]).childNodesWithTag("input")[0].value;
if (currentValue == neededOptionValue) {
stop = true;
insertContact($("addr_" + counter), contactName, contactEmail);
if (!stop) {
fancyAddRow(false, "");
- $("row_" + counter).childNodesWithTag("span")[0].childNodesWithTag("select")[0].value
+ $($("row_" + counter).childNodesWithTag("td")[0]).childNodesWithTag("select")[0].value
= neededOptionValue;
insertContact($("addr_" + counter), contactName, contactEmail);
+ onWindowResize(null);
}
}
}
/* mail editor */
function validateEditorInput(sender) {
- var errortext = "";
- var field;
+ var errortext = "";
+ var field;
- field = document.pageform.subject;
- if (field.value == "")
- errortext = errortext + labels.error_missingsubject + "\n";
+ field = document.pageform.subject;
+ if (field.value == "")
+ errortext = errortext + labels["error_missingsubject"] + "\n";
- if (!UIxRecipientSelectorHasRecipients())
- errortext = errortext + labels.error_missingrecipients + "\n";
+ if (!hasRecipients())
+ errortext = errortext + labels["error_missingrecipients"] + "\n";
- if (errortext.length > 0) {
- alert(labels.error_validationfailed + ":\n" + errortext);
- return false;
- }
- return true;
+ if (errortext.length > 0) {
+ alert(labels["error_validationfailed"] + ":\n" + errortext);
+ return false;
+ }
+
+ return true;
}
function clickedEditorSend(sender) {
- if (!validateEditorInput(sender))
- return false;
+ if (!validateEditorInput(sender))
+ return false;
- window.shouldPreserve = true;
- document.pageform.action = "send";
- document.pageform.submit();
+ var input = currentAttachmentInput();
+ if (input)
+ input.parentNode.removeChild(input);
- return false;
+ var toolbar = document.getElementById("toolbar");
+ if (!document.busyAnim)
+ document.busyAnim = startAnimation(toolbar);
+
+ window.shouldPreserve = true;
+ document.pageform.action = "send";
+ document.pageform.submit();
+
+ return false;
}
-function clickedEditorAttach(sender) {
- var area = $("attachmentsArea");
+function currentAttachmentInput() {
+ var input = null;
+
+ var inputs = $("attachmentsArea").getElementsByTagName("input");
+ var i = 0;
+ while (!input && i < inputs.length)
+ if ($(inputs[i]).hasClassName("currentAttachment"))
+ input = inputs[i];
+ else
+ i++;
- if (!area.style.display) {
- area.setStyle({ display: "block" });
- onWindowResize(null);
- }
+ return input;
+}
- var inputs = area.getElementsByTagName("input");
+function clickedEditorAttach(sender) {
+ var input = currentAttachmentInput();
+ if (!input) {
+ var area = $("attachmentsArea");
- // Verify if there's already a visible file input field
- for (var i = 0; i < inputs.length; i++)
- if ($(inputs[i]).hasClassName("currentAttachment"))
- return false;
-
- // Add new file input field
- var attachmentName = "attachment" + inputs.length;
- var newAttachment = createElement("input", attachmentName,
- "currentAttachment", null,
- { type: "file",
- name: attachmentName },
- area);
- Event.observe(newAttachment, "change",
- onAttachmentChange.bindAsEventListener(newAttachment));
+ if (!area.style.display) {
+ area.setStyle({ display: "block" });
+ onWindowResize(null);
+ }
+ var inputs = area.getElementsByTagName("input");
+ var attachmentName = "attachment" + inputs.length;
+ var newAttachment = createElement("input", attachmentName,
+ "currentAttachment", null,
+ { type: "file",
+ name: attachmentName },
+ area);
+ Event.observe(newAttachment, "change",
+ onAttachmentChange.bindAsEventListener(newAttachment));
+ }
return false;
}
}
function clickedEditorSave(sender) {
+ var input = currentAttachmentInput();
+ if (input)
+ input.parentNode.removeChild(input);
+
window.shouldPreserve = true;
document.pageform.action = "save";
document.pageform.submit();
- refreshMailbox();
+ if (window.opener && window.open && !window.closed)
+ window.opener.refreshFolderByType('draft');
return false;
}
if (listContent.length > 0)
$("attachmentsArea").setStyle({ display: "block" });
+ var list = $("addressList");
+ TableKit.Resizable.init(list, {'trueResize' : true, 'keepWidth' : true});
+
onWindowResize(null);
Event.observe(window, "resize", onWindowResize);
Event.observe(window, "beforeunload", onMailEditorClose);
function attachmentDeleteCallback(http) {
if (http.readyState == 4) {
- if (http.status == 204) {
+ if (isHttpStatus204(http.status)) {
var node = http.callbackData;
node.parentNode.removeChild(node);
}
var textarea = document.pageform.text;
var rowheight = (Element.getHeight(textarea) / textarea.rows);
var headerarea = $("headerArea");
-
- // Set textarea position
- textarea.setStyle({ 'top': (headerarea.getHeight() + headerarea.offsetTop) + 'px' });
-
- var textareaoffset = textarea.offsetTop;
-
- // Resize the textarea (message content)
- textarea.rows = Math.round((window.height() - textareaoffset) / rowheight);
var attachmentsarea = $("attachmentsArea");
var attachmentswidth = 0;
- if (attachmentsarea.style.display)
+ if (attachmentsarea.style.display) {
attachmentswidth = attachmentsarea.getWidth();
- var subjectfield = $(document).getElementsByClassName('headerField',
- $('subjectRow'))[0];
- var subjectinput = $(document).getElementsByClassName('textField',
- $('subjectRow'))[0];
-
+ // Resize of attachment list is b0rken under IE7
+// fromfield = $(document).getElementsByClassName('headerField',
+// headerarea)[0];
+// $("attachments").setStyle({ height: (headerarea.getHeight() - fromfield.getHeight() - 10) + 'px' });
+ }
+// var subjectfield = $(document).getElementsByClassName('headerField',
+// $('subjectRow'))[0];
+// var subjectinput = $(document).getElementsByClassName('textField',
+// $('subjectRow'))[0];
+//
// Resize subject field
- subjectinput.setStyle({ width: (window.width()
- - $(subjectfield).getWidth()
- - attachmentswidth
- - 4 - 30) + 'px' });
+// subjectinput.setStyle({ width: (window.width()
+// - $(subjectfield).getWidth()
+// - attachmentswidth
+// - 4 - 30) + 'px' });
// Resize address fields
var addresslist = $('addressList');
- var firstselect = document.getElementsByClassName('headerField', addresslist)[0];
- var inputwidth = ($(this).width() - $(firstselect).getWidth()
- - attachmentswidth - 24 - 30);
- var addresses = document.getElementsByClassName('textField', addresslist);
- for (var i = 0; i < addresses.length; i++)
- addresses[i].setStyle({ width: inputwidth + 'px' });
+ addresslist.setStyle({ width: ($(this).width() - attachmentswidth - 10) + 'px' });
+
+ // Set textarea position
+ textarea.setStyle({ 'top': (headerarea.getHeight() + headerarea.offsetTop) + 'px' });
+
+ var textareaoffset = textarea.offsetTop;
+
+ // Resize the textarea (message content)
+ textarea.rows = Math.round((window.height() - textareaoffset) / rowheight);
}
function onMailEditorClose(event) {
if (window.shouldPreserve)
window.shouldPreserve = false;
else {
- var url = "" + window.location;
- var parts = url.split("/");
- parts[parts.length-1] = "delete";
- url = parts.join("/");
- http = createHTTPClient();
- http.open("POST", url, false /* not async */);
- http.send("");
+ if (window.opener && window.opener.open && !window.opener.closed) {
+ var url = "" + window.location;
+ var parts = url.split("/");
+ parts[parts.length-1] = "delete";
+ url = parts.join("/");
+ window.opener.deleteDraft(url);
+ }
}
-
+
Event.stopObserving(window, "beforeunload", onMailEditorClose);
}