sogo/UI/WebServerResources/UIxMailEditor.js
Wolfgang Sourdeau 29f8ab0852 Monotone-Parent: 9b4c2eadc3d38aa14dc504c80d606df816c2f924
Monotone-Revision: 0df73c55c83973b5088ccb3350d103006525098c

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2006-10-03T14:38:51
Monotone-Branch: ca.inverse.sogo
2006-10-03 14:38:51 +00:00

74 lines
1.8 KiB
JavaScript

function addContact(tag, fullContactName, contactId, contactName, contactEmail)
{
if (!mailIsRecipient(contactEmail)) {
var neededOptionValue = 0;
if (tag == "cc")
neededOptionValue = 1;
else if (tag == "bcc")
neededOptionValue = 2;
var rows = $("addressList").childNodes;
// log ("tag: /" + tag + "/");
// log ("neededOptionValue: " + neededOptionValue);
var stop = false;
var counter = 0;
var currentRow = $('row_' + counter);
while (currentRow
&& !stop) {
var currentValue = currentRow.childNodes[0].childNodes[0].value;
if (currentValue == neededOptionValue) {
// log ("currentValue: " + currentValue);
stop = true;
insertContact($("addr_" + counter), contactName, contactEmail);
}
counter++;
currentRow = $('row_' + counter);
}
if (!stop) {
fancyAddRow(false, "");
$("row_" + counter).childNodes[0].childNodes[0].value
= neededOptionValue;
insertContact($("addr_" + counter), contactName, contactEmail);
}
}
}
function mailIsRecipient(mailto) {
var isRecipient = false;
var counter = 0;
var currentRow = $('row_' + counter);
var email = extractEmailAddress(mailto);
while (currentRow && !isRecipient) {
var currentValue = $("addr_"+counter).value;
if (currentValue.indexOf(email) > -1)
isRecipient = true;
else
{
counter++;
currentRow = $('row_' + counter);
}
}
return isRecipient;
}
function insertContact(inputNode, contactName, contactEmail) {
var value = '' + inputNode.value;
var newContact = contactName;
if (newContact.length > 0)
newContact += ' <' + contactEmail + '>';
else
newContact = contactEmail;
if (value.length > 0)
value += ", ";
value += newContact;
inputNode.value = value;
}