var openTab = {
'type' : [], // 8 types of tabs, further info. see expressolivre.org/dev/wiki/mail/Documentacao
'content_id' : [],
'imapUid' : [], // Stores the imap email number of current tab
'countFile' : [0,0,0,0,0,0,0,0,0,0], // Stores the number of files attached in current tab
'imapBox' : [], // Stores the folder name
'toPreserve' : [], // Check if the message should be removed from draft after send
'autosave_timer' : [] // The timeout timer for autosave function
};
var tabTypes = {
'new':4,
'forward':6,
'reply_with_history':7,
'reply_to_all_with_history':7,
'reply_without_history':7,
'reply_to_all_without_history':7,
'edit':5
};
var currentTab,numBox = 0; // Open Tab and num of mailboxes opened at context
// Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo
// aqui no expressoMail.
function Map()
{
this.keys = new Array();
this.values = new Array();
}
Map.prototype.add = function(key, value)
{
this.keys.push(key);
this.values.push(value);
};
Map.prototype.get = function(key)
{
result = new Array();
for (i = 0; i < this.keys.length; i++)
{
if (this.keys[i] == key)
{
result.push(this.values[i]);
}
}
if (result.length == 0)
{
return null;
}
return result;
};
var translatedFolders = new Map();
function draw_header_box(){
switch(sort_box_type){
case 'SORTFROM':
type_name = get_lang("Who");
break;
case 'SORTSUBJECT':
type_name = get_lang("Subject");
break;
case 'SORTARRIVAL':
type_name = get_lang("Date");
break;
case 'SORTSIZE':
type_name = get_lang("Size");
break;
default:
type_name = get_lang("Date");
break;
}
document.getElementById("message_header_SORTFROM_"+numBox).innerHTML = get_lang("Who");
document.getElementById("message_header_SORTSUBJECT_"+numBox).innerHTML = get_lang("Subject");
document.getElementById("message_header_SORTARRIVAL_"+numBox).innerHTML = get_lang("Date");
document.getElementById("message_header_SORTSIZE_"+numBox).innerHTML = get_lang("Size");
document.getElementById("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ).innerHTML = ""+type_name+'';
}
function draw_message(info_msg, ID){
var content = document.getElementById('content_id_' + ID);
var defaultWidth = document.body.offsetWidth - 37;
var menuHidden = Element("folderscol").style.display == 'none' ? true : false;
if(!menuHidden)
defaultWidth -= Element("folderscol").offsetWidth;
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Make the next/previous buttom.
//////////////////////////////////////////////////////////////////////////////////////////////////////
var next_previous_msg_td = document.createElement("TD");
next_previous_msg_td.setAttribute("noWrap","true");
next_previous_msg_td.align = "right";
next_previous_msg_td.width = "40px";
var img_next_msg = document.createElement("IMG");
img_next_msg.id = 'msg_opt_next_' + ID;
img_next_msg.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/down.button.png';
img_next_msg.title = get_lang('Next');
img_next_msg.style.cursor = 'pointer';
// Old
//img_next_msg.onclick = function () {cExecute ("expressoMail1_2.imap_functions.get_info_next_msg&msg_number="+ info_msg.msg_number + "&msg_folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type + "&search_box_type="+ search_box_type +"&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)};
var folder_id = 0;
folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number;
var folder = document.getElementById(folder_id);
if (!folder){
delete_border(ID);
return;
}
if (folder){ // mensagem local criptografada nao tem ID da pasta local
if (folder.nextSibling){
var nextMsgBox = folder.nextSibling.name?folder.nextSibling.name:info_msg.msg_folder;
if (nextMsgBox == "INBOX/decifradas")// teste para ver se a mensagem vem da pasta oculta decifradas
nextMsgBox = get_current_folder();
img_next_msg.onclick = function()
{
currentTab = ID;
openTab.type[ID] = 2;
proxy_mensagens.get_msg(folder.nextSibling.id,nextMsgBox,true,show_msg);
//cExecute("expressoMail1_2.imap_functions.get_info_msg&msg_number="+folder.nextSibling.id+"&msg_folder="+nextMsgBox, show_msg);
};
}
else
{
img_next_msg.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/down.gray.button.png';
img_next_msg.style.cursor = 'default';
}
}
else
{
img_next_msg.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/down.gray.button.png';
img_next_msg.style.cursor = 'default';
if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX/decifradas")) // testa se a mensagem e local
{
img_next_msg.onclick = function()
{
/*current_page++;
msg_range_end = (current_page*preferences.max_email_per_page);
msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1);
kill_current_box();
cExecute ('expressoMail1_2.imap_functions.get_range_msgs2&folder='+current_folder+'&msg_range_begin='+msg_range_begin+'&msg_range_end='+msg_range_end+'&sort_box_reverse=1', function handler(data){draw_box(data, current_folder);}) */
delete_border(ID);
};
}
}
var img_space = document.createElement("SPAN");
img_space.innerHTML = " ";
var img_previous_msg = document.createElement("IMG");
img_previous_msg.id = 'msg_opt_previous_' + ID;
img_previous_msg.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/up.button.png';
img_previous_msg.title = get_lang('Previous');
img_previous_msg.style.cursor = 'pointer';
//Old
//img_previous_msg.onclick = function () {cExecute ("expressoMail1_2.imap_functions.get_info_previous_msg&msgs_number="+ info_msg.msg_number + "&folder="+ info_msg.msg_folder + "&sort_box_type="+ sort_box_type+ "&search_box_type="+ search_box_type + "&sort_box_reverse="+ sort_box_reverse +"&reuse_border="+ID, show_msg)}
//folder = document.getElementById(ID.substr(0, ID.indexOf('_')));
if (!folder){
delete_border(ID);
return;
}
if (folder){ // mensagem local criptografada nao tem ID da pasta local
if (folder.previousSibling)
{
var previousMsgBox = folder.previousSibling.name?folder.previousSibling.name:info_msg.msg_folder;
if (previousMsgBox == "INBOX/decifradas") // teste para ver se a mensagem vem da pasta oculta decifradas
previousMsgBox = get_current_folder();
img_previous_msg.onclick = function()
{
currentTab = ID;
openTab.type[ID] = 2;
//cExecute("expressoMail1_2.imap_functions.get_info_msg&msg_number="+folder.previousSibling.id+"&msg_folder=" + previousMsgBox, show_msg);
proxy_mensagens.get_msg(folder.previousSibling.id,previousMsgBox,true,show_msg);
};
}
else
{
img_previous_msg.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/up.gray.button.png';
img_previous_msg.style.cursor = 'default';
}
}
else
{
img_previous_msg.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/up.gray.button.png';
img_previous_msg.style.cursor = 'default';
if (!proxy_mensagens.is_local_folder(get_current_folder()) && !(info_msg.msg_folder == "INBOX/decifradas")) // testa se a mensagem e local
{
img_previous_msg.onclick = function()
{
delete_border(ID);
};
}
}
next_previous_msg_td.appendChild(img_previous_msg);
next_previous_msg_td.appendChild(img_space);
next_previous_msg_td.appendChild(img_next_msg);
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Make the header message.
//////////////////////////////////////////////////////////////////////////////////////////////////////
var table_message = document.createElement("TABLE");
var tbody_message = document.createElement("TBODY");
table_message.border = "0";
table_message.width = defaultWidth ;
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Make the options message.
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr0 = document.createElement("TR");
tr0.className = "tr_message_header";
var td0 = document.createElement("TD");
var table_message_options = document.createElement("TABLE");
table_message_options.width = "100%";
table_message_options.border = '0';
table_message_options.className = 'table_message';
var tbody_message_options = document.createElement("TBODY");
var tr = document.createElement("TR");
var td = document.createElement("TD");
td.setAttribute("noWrap","true");
var _name = '';
var _maxChar = menuHidden ? 40 : 15;
if (info_msg.from.name)
{
var spanName = document.createElement("SPAN");
spanName.innerHTML = info_msg.from.name;
_name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML;
}
else
_name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email;
td.innerHTML = _name.bold() + ', ' + info_msg.smalldate;
if (info_msg.attachments.length > 0)
td.innerHTML += " ";
if (typeof(info_msg.signature) == 'string')
{
if (info_msg.signature != "void")
td.innerHTML += ' ';
else
td.innerHTML += " ";
}
if (info_msg.DispositionNotificationTo)
{
td.innerHTML += ' ';
}
// NORMAL MSG
if(info_msg.Draft != 'X')
{
var options = document.createElement("TD");
options.width = "30%";
options.setAttribute("noWrap","true");
var option_hide_more = document.createElement("SPAN");
option_hide_more.className = 'message_options';
options.align = 'right';
option_hide_more.value = 'more_options';
option_hide_more.id = 'option_hide_more_'+ID;
option_hide_more.onclick = function(){
var _height = Element("div_message_scroll_"+ID).style.height;
_height = parseInt(_height.replace("px",""));
var _offset = 35;
if (this.value == 'more_options'){
this.innerHTML = ""+get_lang('hide details')+"";
this.value = 'hide_options';
Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px";
Element('table_message_others_options_'+ID).style.display = '';
}
else{
this.innerHTML = get_lang('show details');
this.value = 'more_options';
Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px";
Element('table_message_others_options_'+ID).style.display = 'none';
}
};
var option_mark = document.createElement('TD');
option_mark.align = "left";
option_mark.width = "50%";
var option_mark_as_unseen = ''+get_lang("Unseen")+', ';
if (info_msg.Flagged == "F")
var option_mark_important = ''+get_lang("Normal")+'';
else
var option_mark_important = ''+get_lang("Important")+'';
option_mark.innerHTML = option_mark_as_unseen+option_mark_important;
option_hide_more.innerHTML = get_lang('show details');
options.appendChild(option_hide_more);
var space0 = document.createElement("SPAN");
space0.innerHTML = ' | ';
var space1 = document.createElement("SPAN");
space1.innerHTML = ' | ';
var space2 = document.createElement("SPAN");
space2.innerHTML = ' | ';
var space3 = document.createElement("SPAN");
space3.innerHTML = ' | ';
var space4 = document.createElement("SPAN");
space4.innerHTML = ' | ';
var option_forward = document.createElement("SPAN");
option_forward.id = 'msg_opt_forward_'+ID;
option_forward.className = 'message_options';
option_forward.onclick = function(){new_message('forward', ID);};
option_forward.innerHTML = get_lang('Forward');
options.appendChild(space1);
options.appendChild(option_forward);
var option_reply_options = document.createElement("IMG");
option_reply_options.id = 'msg_opt_reply_options_'+ID;
option_reply_options.onmouseover = function(){
option_reply_options.src= URL_SERVER+'/expressoMail1_2/templates/default/images/over.png';
};
option_reply_options.onmouseout = function(){
if (this.value == 'show')
{
option_reply_options.src= URL_SERVER+'/expressoMail1_2/templates/default/images/down.png';
}
else
{
option_reply_options.src= URL_SERVER+'/expressoMail1_2/templates/default/images/pressed.png';
}
};
option_reply_options.onclick = function(){
if (this.value == 'show'){
this.value = 'hide';
option_reply_options.src= URL_SERVER+'/expressoMail1_2/templates/default/images/pressed.png';
Element('tr_other_options_'+ID).style.display = '';
}
else{
this.value = 'show';
option_reply_options.src= URL_SERVER+'/expressoMail1_2/templates/default/images/down.png';
Element('tr_other_options_'+ID).style.display = 'none';
}
};
option_reply_options.src= URL_SERVER+'/expressoMail1_2/templates/default/images/down.png';
option_reply_options.value = 'show';
var option_reply = document.createElement("SPAN");
option_reply.id = 'msg_opt_reply_'+ID;
option_reply.className = 'message_options';
option_reply.onclick = function(){new_message('reply_with_history', ID);};
option_reply.innerHTML = get_lang('Reply');
options.appendChild(space2);
options.appendChild(option_reply_options);
options.appendChild(option_reply);
tr.appendChild(td);
tr.appendChild(option_mark);
tr.appendChild(options);
tr.appendChild(next_previous_msg_td);
tbody_message_options.appendChild(tr);
////////// OTHER OPTIONS ////////////////////
var tr_other_options = document.createElement("TR");
tr_other_options.id = 'tr_other_options_' + ID;
tr_other_options.style.display = 'none';
var td_other_options = document.createElement("TD");
td_other_options.colSpan = '3';
td_other_options.align = 'right';
td_other_options.setAttribute("noWrap","true");
var div_other_options = document.createElement("DIV");
var option_mark_as = ''+get_lang("Mark as")+': ';
var option_mark_as_unseen = ''+get_lang("Unseen")+', ';
var option_mark_as_important = ''+get_lang("Important")+', ';
var option_mark_as_normal = ''+get_lang("Normal")+' | ';
var option_move = ''+get_lang("Move")+' | ';
var option_reply_to_all = ''+get_lang("Reply to all")+' | ';
var option_reply_without_history = ''+get_lang("Reply without history")+' | ';
var option_reply_to_all_without_history = ''+get_lang("Reply to all without history")+''
div_other_options.innerHTML = option_reply_to_all + option_reply_without_history + option_reply_to_all_without_history;
if (use_spam_filter) {
if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam')
div_other_options.innerHTML += ' | '+get_lang("Not Spam")+'';
else
div_other_options.innerHTML += ' | '+get_lang("Mark as Spam")+'';
}
td_other_options.appendChild(div_other_options);
//td_other_options.innerHTML = option_print + option_reply_to_all + option_source_msg;
tr_other_options.appendChild(td_other_options);
tbody_message_options.appendChild(tr_other_options);
////////// END OTHER OPTIONS ////////////////
////////// BEGIN SIGNATURE //////////////////
if (info_msg.signature && info_msg.signature.length > 0)
{
var tr_signature = document.createElement("TR");
var td_signature = document.createElement("TD");
td_signature.className = 'tr_message_header';
tr_signature.id = 'tr_signature_'+ID;
td_signature.colSpan = "5";
tr_signature.style.display = 'none';
for (i in info_msg.signature)
td_signature.innerHTML += ''+info_msg.signature[i]+'
';
var signature_status_pos = info_msg.signature[0].indexOf(get_lang('Message untouched'));
td_signature.id = "td_signature_"+ID;
if(signature_status_pos < 0 )
{
td.innerHTML += ' ';
tr_signature.style.display = '';
}
else
{
td.innerHTML += ' ';
}
td.onclick = function(){
var _height = Element("div_message_scroll_"+ID).style.height;
_height = parseInt(_height.replace("px",""));
var _offset = 130;
if (this.value == 'more_cert'){
//this.innerHTML += "Mais Informaᅵᅵes";
this.value = 'hide_cert';
Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px";
Element('tr_signature_'+ID).style.display = 'none';
Element('td_signature_'+ID).style.display = 'none';
}
else{
//this.innerHTML += "Mais Informaᅵᅵes";
this.value = 'more_cert';
Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px";
Element('tr_signature_'+ID).style.display = '';
Element('td_signature_'+ID).style.display = '';
}
};
tr_signature.appendChild(td_signature);
tbody_message_options.appendChild(tr_signature);
/******************************************* Old signature ***********************************************/
//if (info_msg.signature != "void")
// td.innerHTML += ' ';
//else
// td.innerHTML += " ";
/***************************************** ********/
}
//////////// END SIGNATURE ////////////////
table_message_options.appendChild(tbody_message_options);
td0.appendChild(table_message_options);
tr0.appendChild(td0);
tbody_message.appendChild(tr0);
}
else // IF DRAFT
{
var options = document.createElement("TD");
options.width = "1%";
options.setAttribute("noWrap","true");
var option_edit = ''+get_lang('Edit')+' | ';
var option_print = ''+get_lang('Print')+' | ';
var option_delete = ''+get_lang('Delete')+' | ';
var option_hide_more = document.createElement("SPAN");
option_hide_more.className = 'message_options';
options.align = 'right';
option_hide_more.value = 'more_options';
option_hide_more.id = 'option_hide_more_'+ID;
option_hide_more.innerHTML = get_lang('Options');
option_hide_more.onclick = function(){
var _height = Element("div_message_scroll_"+ID).style.height;
_height = parseInt(_height.replace("px",""));
var _offset = 35;
if (this.value == 'more_options'){
this.innerHTML = ""+get_lang('Options')+"";
this.value = 'hide_options';
Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px";
Element('table_message_others_options_'+ID).style.display = '';
}
else{
this.innerHTML = get_lang('Options');
this.value = 'more_options';
Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px";
Element('table_message_others_options_'+ID).style.display = 'none';
}
};
options.innerHTML = option_edit + option_print + option_delete;
options.appendChild(option_hide_more);
tr.appendChild(td);
tr.appendChild(options);
tr.appendChild(next_previous_msg_td);
tbody_message_options.appendChild(tr);
table_message_options.appendChild(tbody_message_options);
td0.appendChild(table_message_options);
tr0.appendChild(td0);
tbody_message.appendChild(tr0);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
// END options message.
//////////////////////////////////////////////////////////////////////////////////////////////////////
var table_message_others_options = document.createElement("TABLE");
table_message_others_options.id = 'table_message_others_options_' + ID;
table_message_others_options.width = defaultWidth - 30;
table_message_others_options.style.display = 'none';
table_message_others_options.className = "table_message";
var tbody_message_others_options = document.createElement("TBODY");
var tr1 = document.createElement("TR");
tr1.className = "tr_message_header";
var td1 = document.createElement("TD");
td1.innerHTML = get_lang("From: ");
td1.appendChild(deny_email(info_msg.from.email));
td1.width = "7%";
if (info_msg.sender){
var tr111 = document.createElement("TR");
tr111.className = "tr_message_header";
var td111 = document.createElement("TD");
td111.innerHTML = get_lang("Sent by")+": ";
td111.appendChild(deny_email(info_msg.sender.email));
td111.setAttribute("noWrap","true");
var sender = document.createElement("TD");
sender.id = "sender_"+ID;
var sender_values = document.createElement("INPUT");
sender_values.id = "sender_values_"+ID;
sender_values.type = "HIDDEN";
sender_values.value = info_msg.sender.full; //Veio do IMAP, sem images nem links.
sender.innerHTML += draw_plugin_cc(ID, info_msg.sender.full);
sender.className = "header_message_field";
tr111.appendChild(td111);
tr111.appendChild(sender);
tr111.appendChild(sender_values);
tbody_message_others_options.appendChild(tr111);
}
var from = document.createElement("TD");
from.id = "from_"+ID;
from.innerHTML = info_msg.from.full;
if (info_msg.Draft != "X"){
from.innerHTML += draw_plugin_cc(ID, info_msg.from);
tbody_message_others_options.appendChild(tr1);
}
from.className = "header_message_field";
var from_values = document.createElement("INPUT");
from_values.id = "from_values_"+ID;
from_values.type = "HIDDEN";
from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links.
var local_message = document.createElement("INPUT");
local_message.id = "is_local_"+ID;
local_message.name = "is_local";
local_message.type = "HIDDEN";
local_message.value = (info_msg.local_message)?"1":"0";
tr1.appendChild(td1);
tr1.appendChild(from);
tr1.appendChild(from_values);
tr1.appendChild(local_message);
if (info_msg.reply_to){
var tr11 = document.createElement("TR");
tr11.className = "tr_message_header";
var td11 = document.createElement("TD");
td11.innerHTML = get_lang("Reply to")+": ";
td11.setAttribute("noWrap","true");
var reply_to = document.createElement("TD");
reply_to.id = "reply_to_"+ID;
var reply_to_values = document.createElement("INPUT");
reply_to_values.id = "reply_to_values_"+ID;
reply_to_values.type = "HIDDEN";
reply_to_values.value = info_msg.reply_to; //Veio do IMAP, sem images nem links.
reply_to.innerHTML = draw_plugin_cc(ID, info_msg.reply_to);
reply_to.className = "header_message_field";
tr11.appendChild(td11);
tr11.appendChild(reply_to);
tr11.appendChild(reply_to_values);
tbody_message_others_options.appendChild(tr11);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr2 = document.createElement("TR");
tr2.className = "tr_message_header";
var td2 = document.createElement("TD");
td2.innerHTML = get_lang("To: ");
var to = document.createElement("TD");
to.id = "to_"+ID;
var to_values = document.createElement("INPUT");
to_values.id = "to_values_"+ID;
to_values.type = "HIDDEN";
to_values.value = info_msg.toaddress2; //Veio do IMAP, sem images nem links.
// Salva a pasta da mensagem
var input_current_folder = document.createElement('input');
input_current_folder.id = "input_folder_"+ID;
input_current_folder.name = "input_folder";
input_current_folder.type = "hidden";
input_current_folder.value = info_msg.msg_folder;
td2.appendChild(input_current_folder);
// fim
toaddress_array[ID] = info_msg.toaddress2.split(",");
if (toaddress_array[ID].length > 1){
to.innerHTML += draw_plugin_cc(ID, toaddress_array[ID][0]);
var div_toaddress = document.createElement("SPAN");
div_toaddress.id = "div_toaddress_"+ID;
div_toaddress.style.display="";
div_toaddress.innerHTML += " ("+get_lang('more')+")";
to.appendChild(div_toaddress);
}
else {
to.innerHTML += draw_plugin_cc(ID,toaddress_array[ID]);
}
to.className = "header_message_field";
tr2.appendChild(td2);
tr2.appendChild(to);
tr2.appendChild(to_values);
tbody_message_others_options.appendChild(tr2);
if (info_msg.cc){
var tr3 = document.createElement("TR");
tr3.className = "tr_message_header";
var td3 = document.createElement("TD");
td3.innerHTML = "CC: ";
var cc = document.createElement("TD");
cc.id = "cc_"+ID;
var cc_values = document.createElement("INPUT");
cc_values.id = "cc_values_"+ID;
cc_values.type = "HIDDEN";
cc_values.value = info_msg.cc;
ccaddress_array[ID] = info_msg.cc.split(",");
if (ccaddress_array[ID].length > 1){
var div_ccaddress = document.createElement("SPAN");
div_ccaddress.id = "div_ccaddress_"+ID;
var div_ccaddress_full = document.createElement("SPAN");
div_ccaddress_full.id = "div_ccaddress_full_"+ID;
div_ccaddress.style.display="";
cc.innerHTML = draw_plugin_cc(ID, ccaddress_array[ID][0]);
div_ccaddress.innerHTML += " ("+get_lang('more')+")";
cc.appendChild(div_ccaddress);
}
else{
cc.innerHTML = draw_plugin_cc(ID, info_msg.cc);
}
cc.className = "header_message_field";
tr3.appendChild(td3);
tr3.appendChild(cc);
tr3.appendChild(cc_values);
tbody_message_others_options.appendChild(tr3);
}
/*
* @AUTHOR Rodrigo Souza dos Santos
* @MODIFY-DATE 2008/09/11
* @BRIEF Adding routine to create bcc field if there is one.
*/
if (info_msg.bcc)
{
var tr3 = document.createElement("tr");
tr3.className = "tr_message_header";
var td3 = document.createElement("td");
td3.innerHTML = get_lang("BCC") + " : ";
var cco = document.createElement("td");
cco.id = "cco_"+ID;
var cco_values = document.createElement("input");
cco_values.id = "cco_values_"+ID;
cco_values.type = "hidden";
cco_values.value = info_msg.bcc;
ccoaddress_array[ID] = info_msg.bcc.split(",");
if (ccoaddress_array[ID].length > 1){
var div_ccoaddress = document.createElement("SPAN");
div_ccoaddress.id = "div_ccoaddress_"+ID;
var div_ccoaddress_full = document.createElement("SPAN");
div_ccoaddress_full.id = "div_ccoaddress_full_"+ID;
div_ccoaddress.style.display="";
/*
* The function below is ugly, doesn't possible use this.
* The problem is that the code's function was written
* on a hardcode concept.
*/
//cco.innerHTML = draw_plugin_cc(ID, ccoaddress_array[ID][0]);
cco.innerHTML = ccoaddress_array[ID][0];
div_ccoaddress.innerHTML += " ("+get_lang('more')+")";
cco.appendChild(div_ccoaddress);
}
else{
/*
* The function below is ugly, it is not possible to use this.
* The problem is that the code's function was written
* on a hardcode concept.
*/
//cco.innerHTML = draw_plugin_cc(ID, info_msg.cco);
cco.innerHTML = info_msg.bcc;
}
cco.className = "header_message_field";
tr3.appendChild(td3);
tr3.appendChild(cco);
tr3.appendChild(cco_values);
tbody_message_others_options.appendChild(tr3);
}
var tr4 = document.createElement("TR");
tr4.className = "tr_message_header";
var td4 = document.createElement("TD");
td4.innerHTML = get_lang("Date: ");
var date = document.createElement("TD");
date.id = "date_"+ID;
date.innerHTML = info_msg.fulldate;
var date_day = document.createElement("INPUT");
date_day.id = "date_day_"+ID;
date_day.type = "HIDDEN";
date_day.value = info_msg.msg_day;
var date_hour = document.createElement("INPUT");
date_hour.id = "date_hour_"+ID;
date_hour.type = "HIDDEN";
date_hour.value = info_msg.msg_hour;
date.className = "header_message_field";
tr4.appendChild(td4);
tr4.appendChild(date);
tr4.appendChild(date_day);
tr4.appendChild(date_hour);
tbody_message_others_options.appendChild(tr4);
var tr5 = document.createElement("TR");
tr5.className = "tr_message_header";
var td5 = document.createElement("TD");
td5.innerHTML = get_lang("Subject");
var subject = document.createElement("TD");
subject.id = "subject_"+ID;
subject.innerHTML = info_msg.subject;
subject.className = "header_message_field";
tr5.appendChild(td5);
tr5.appendChild(subject);
tbody_message_others_options.appendChild(tr5);
if (info_msg.attachments.length > 0){
var tr6 = document.createElement("TR");
tr6.className = "tr_message_header";
var td6 = document.createElement("TD");
td6.innerHTML = get_lang("Attachments: ");
var attachments = document.createElement("TD");
td6.vAlign = "top";
attachments.align='left';
var zipped_attachments = '';
if(info_msg.attachments.length >= 1) {
var zipped_attachments = document.createElement("TABLE");
zipped_attachments.style.marginBottom = "4px";
zipped_attachments.cellPadding="0";
zipped_attachments.cellSpacing="0";
var td = document.createElement("TD");
if(info_msg.attachments.length > 1) {
var link_attachment = document.createElement("A");
if(proxy_mensagens.is_local_folder(current_folder))
link_attachment.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
else
link_attachment.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
link_attachment.innerHTML = " "+info_msg.attachments.length+' '+get_lang('files')+' :: '+get_lang('Download all atachments');
link_attachment.innerHTML += '
';
td.appendChild(link_attachment);
}
var tr = document.createElement("TR");
if(parseInt(preferences.remove_attachments_function))
{
var del_attachments = document.createElement("A");
del_attachments.setAttribute("href", "javascript:remove_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
del_attachments.innerHTML = get_lang('remove all attachments');
del_attachments.appendChild(document.createElement('BR'));
td.appendChild(del_attachments);
tr.appendChild(td);
}
tr.appendChild(td);
zipped_attachments.appendChild(tr);
attachments.appendChild(zipped_attachments);
}
attachments.id = "attachments_" + ID;
for (var i=0; i';
attachments.appendChild(link_attachment);
}
}
tr6.appendChild(td6);
tr6.appendChild(attachments);
tbody_message_others_options.appendChild(tr6);
}
// BEGIN MAKE THE SCROLL HEIGHT
var bar = document.getElementById("toolbar");
var offset = 0;
if(bar.style.visibility != 'hidden')
offset = bar.offsetHeight ? bar.offsetHeight : bar.clientHeight;
var div = document.createElement("DIV");
div.id = "div_message_scroll_"+ID;
div.style.background = 'WHITE';
div.style.height = document.body.clientHeight - offset - 125;
content.style.height = document.body.clientHeight - offset - 90;
div.style.overflow = "auto";
div.style.width = defaultWidth - (is_ie ? 5 : 0);
// END MAKE THE SCROLL HEIGHT
table_message_others_options.appendChild(tbody_message_others_options);
var tr = document.createElement("TR");
var td = document.createElement("TD");
td.colSpan = '2';
div.appendChild(table_message_others_options);
var imgTag = info_msg.body.match(/(]*src[^>=]*=['"]?[^'">]*["']?[^>]*>)|(<[^>]*(style[^=>]*=['"][^>]*background(-image)?:[^:;>]*url\()[^>]*>)/gi);
var newBody = info_msg.body;
if(!info_msg.showImg && imgTag)
{
var domains = '';
var blocked = false;
var forbidden = true;
if (preferences.notification_domains != null && typeof(preferences.notification_domains) != 'undefined')
{
domains = preferences.notification_domains.split(',');
for(var j = 0; j < imgTag.length; j++)
{
for (var i = 0; i < domains.length; i++)
{
if (imgTag[j].match(/cid:([\w\d]){5,}/) || imgTag[j].match(/src=\"\.\/inc\/show_embedded_attach\.php/g))
{
forbidden = false;
continue;
}
imgSource = imgTag[j].match(/=['"](http:\/\/)+[^'"\/]*/);
if (imgSource && imgSource.toString().substr(5).match(domains[i]))
forbidden = false;
}
if (forbidden)
{
newBody = newBody.replace(imgTag[j],"");
blocked=true;
}
}
if (blocked)
{
var showImgLink = document.createElement('DIV');
showImgLink.id="show_img_link_"+ID;
showImgLink.onclick = function(){show_msg_img(info_msg.msg_number,info_msg.msg_folder)};
showImgLink.className="show_img_link";
showImgLink.innerHTML = get_lang("Show images from")+": "+info_msg.from.email;
td.appendChild(showImgLink);
}
}
}
td.appendChild(div);
tr.appendChild(td);
tbody_message.appendChild(tr);
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Make the body message.
///////////////////////////////////////////////////////////////////////////////////////////////////////
var tr = document.createElement("TR");
tr.className = "tr_message_body";
var td = document.createElement("TD");
//td.setAttribute("colSpan","2");
newBody = newBody.replace(""+newBody+"
";
function mailto( link )
{
var mail = link.href.substr( 7 );
link.onclick = function( )
{
new_message_to( mail );
return false;
};
}
var links = div.getElementsByTagName( 'a' );
for ( var i = 0; i < links.length; i++ )
if ( links.item( i ).href.indexOf( 'mailto:' ) === 0 )
mailto( links.item( i ) );
else
{
if ( links.item( i ).href.indexOf( 'javascript:' ) !== 0 )
links.item( i ).setAttribute( 'target', '_blank' );
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Make the thumbs of the message.
//////////////////////////////////////////////////////////////////////////////////////////////////////
if ((info_msg.thumbs)&&(info_msg.thumbs.length > 0)){
var table_message_thumbs = document.createElement("TABLE");
table_message_thumbs.width = "80%";
table_message_thumbs.style.borderTop = "2px solid rgb(170, 170, 170)";
var tbody_message_thumbs = document.createElement("TBODY");
var tr = document.createElement("TR");
tr.className = "tr_message_body";
var td = document.createElement("TD");
td.setAttribute("colSpan","2");
td.id = "body_thumbs_"+ID;
td.innerHTML += " "+info_msg.attachments.length+" "+get_lang("attachment")+(info_msg.attachments.length > 1 ? "s" : "")+" "+get_lang("in this message")+"";
var _link_attachments = '';
if(info_msg.thumbs.length > 1){
_link_attachments = document.createElement("A");
_link_attachments.className = "message_options";
if(proxy_mensagens.is_local_folder(current_folder))
_link_attachments.setAttribute("href", "javascript:expresso_local_messages.download_all_local_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
else
_link_attachments.setAttribute("href", "javascript:download_all_attachments('"+info_msg.msg_folder+"','"+info_msg.msg_number+"')");
_link_attachments.innerHTML = get_lang('Download all atachments');
}
if(_link_attachments){
td.innerHTML += " :: ";
td.appendChild(_link_attachments);
}
td.innerHTML += "
"+get_lang("Tip: For faster save, click over the image with right button.");
td.innerHTML += "
";
for (var i=0; i";
td.innerHTML += info_msg.thumbs[i];
td.innerHTML += " ";
}
tr.appendChild(td);
tbody_message_thumbs.appendChild(tr);
table_message_thumbs.appendChild(tbody_message_thumbs);
div.appendChild(table_message_thumbs);
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
table_message.appendChild(tbody_message);
content.appendChild(table_message);
var msg_number = document.createElement('INPUT');
msg_number.id = "msg_number_" + ID;
msg_number.type = "hidden";
msg_number.value = info_msg.msg_number;
content.appendChild(msg_number);
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Exibe o cabecalho da mensagem totalmente aberto caso esteja setado nas preferencias do usuario
if (preferences.show_head_msg_full == 1)
{
option_hide_more.onclick();
if (Element('div_toaddress_'+ID) != null)
{
show_div_address_full(ID,'to');
}
if (Element('div_ccaddress_'+ID) != null)
{
show_div_address_full(ID,'cc');
}
}
}
function changeLinkState(el,state){
el.innerHTML = get_lang(state);
switch (state){
case 'important':
{
el.onclick = function(){changeLinkState(el,'normal');set_messages_flag('unflagged',currentTab.substr(0,currentTab.indexOf("_r"))); write_msg(get_lang('Message marked as ')+get_lang("Normal"))};
break;
}
case 'normal':
{
el.onclick = function(){ changeLinkState(el,'important');set_messages_flag('flagged',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("Important"))};
break;
}
case 'unseen':
{
el.onclick = function(){ changeLinkState(el,'seen');set_messages_flag('unseen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("unseen"))};
break;
}
case 'seen':
{
el.onclick = function(){ changeLinkState(el,'unseen');set_messages_flag('seen',currentTab.substr(0,currentTab.indexOf("_r")));write_msg(get_lang('Message marked as ')+get_lang("seen"))};
break;
}
default:
{
break;
}
}
}
function constructMenuNewMessage(ID,tbody_message,table_message,content)
{
table_message.width = "100%";
var tr0 = document.createElement("TR");
tr0.className = "tr_message_header";
var td0 = document.createElement("TD");
td0.colSpan = '3';
var table_menu_new_message = document.createElement("TABLE");
table_menu_new_message.width = "100%";
table_menu_new_message.border = '0';
table_menu_new_message.className = 'table_message';
var tbody_menu_new_message = document.createElement("TBODY");
var tr_menu_new_message = document.createElement("TR");
var td_menu_new_message = document.createElement("TD");
td_menu_new_message.setAttribute("noWrap","true");
if ((preferences.save_in_folder == '-1') || (preferences.save_in_folder == '')){
//var option_send = ''+get_lang("Send")+' | ';
var option_send = '' + ' | ';
if(!expresso_offline)
var option_send_and_file= ''+get_lang("Send and file")+' | ';
else
var option_send_and_file='';
}
else{
//var option_send = ''+get_lang("Send")+' | ';
var option_send = '' + ' | ';
var option_send_and_file='';
wfolders.alert = true;
}
// var option_save_as = ''+get_lang("Save as")+' | ';
if (!expresso_offline) {
var option_save = ''+get_lang("Save")+' | ';
var option_search = ''+get_lang("Search")+'';
}
else {
var option_save = '';
var option_search = '';
}
td_menu_new_message.innerHTML = option_send + option_send_and_file + option_save + option_search;
tr_menu_new_message.appendChild(td_menu_new_message);
tbody_menu_new_message.appendChild(tr_menu_new_message);
table_menu_new_message.appendChild(tbody_menu_new_message);
content.appendChild(table_menu_new_message);
tr0.appendChild(td0);
tbody_message.appendChild(tr0);
////////////////////////////////////////////////////////////////////////////////////////////////////////
}
function constructFromField(tbody_message,ID)
{
var tr1_1 = document.createElement("TR");
tr1_1.style.display = 'none';
var td1_1 = document.createElement("TD");
td1_1.innerHTML = get_lang("From")+":";
td1_1.setAttribute("noWrap","true");
td1_1.style.width = "1%";
var td_from = document.createElement("TD");
td_from.setAttribute("noWrap","true");
td_from.style.width = "100%";
var sel_from = document.createElement('SELECT');
sel_from.id = "from_"+ID;
sel_from.name = "input_from";
sel_from.style.width = "70%";
sel_from.setAttribute("wrap","soft");
td_from.appendChild(sel_from);
tr1_1.appendChild(td1_1);
tr1_1.appendChild(td_from);
tbody_message.appendChild(tr1_1);
if(!expresso_offline)
draw_from_field(sel_from,tr1_1);
var tr1 = document.createElement("TR");
var td1 = document.createElement("TD");
td1.innerHTML = get_lang("To")+":";
td1.setAttribute("noWrap","true");
td1.style.width = "1%";
var td_to = document.createElement("TD");
td_to.setAttribute("noWrap","true");
td_to.style.width = "100%";
var input_to = document.createElement('TEXTAREA');
input_to.id = "to_"+ID;
input_to.name = "input_to";
input_to.setAttribute("tabIndex","1");
input_to.style.width = "100%";
input_to.setAttribute("wrap","soft");
input_to.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus', this.id);};
input_to.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
if (!is_ie)
{
input_to.rows = 2;
input_to.onkeypress = function (e)
{
if ((e.keyCode) == 120) //F9
{
emQuickSearch(input_to.value, 'to', ID);
}
else
{
if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
{
e.preventDefault();
search_contacts(e.keyCode,this.id);
}
}
};
input_to.onkeyup = function (e)
{
if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
{
search_contacts(e.keyCode,this.id);
}
};
}
else
{
input_to.rows = 3;
input_to.onkeyup = function (e)
{
if ((window.event.keyCode) == 120) //F9
{
emQuickSearch(input_to.value, 'to', ID);
}
else
{
search_contacts(window.event.keyCode,this.id);
}
};
}
td_to.appendChild(input_to);
var forwarded_local_message = document.createElement("INPUT"); //Hidden para indicar se é um forward de uma mensagem local
forwarded_local_message.id = "is_local_forward"+ID;
forwarded_local_message.name = "is_local_forward";
forwarded_local_message.type = "HIDDEN";
forwarded_local_message.value = "0";
td_to.appendChild(forwarded_local_message);
////////////////////////////////////////////////////////////////////////////////////////////////////////
if (!expresso_offline) {
var img_search = document.createElement("IMG");
img_search.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/search.gif';
img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
img_search.onclick = function () {emQuickSearch(document.getElementById('to_'+ID).value, 'to', ID);};
}
else {
var img_search = document.createElement("SPAN");
}
var span_search = document.createElement("SPAN");
span_search.innerHTML = get_lang('Search');
var td1_img_search = document.createElement("TD");
td1_img_search.setAttribute("noWrap","true");
var td1_span_search = document.createElement("TD");
td1_span_search.setAttribute("noWrap","true");
td1_img_search.appendChild(img_search);
td1_span_search.appendChild(span_search);
tr1.appendChild(td1);
tr1.appendChild(td_to);
tr1.appendChild(td1_img_search);
tbody_message.appendChild(tr1);
}
function draw_new_message(border_ID)
{
Tooltip.init();
var ID = create_border("",border_ID);
if (ID === false){
return false;
}
expresso.connector.hold_session = true;
var footer_menu = Element("footer_menu");
if (footer_menu) {
footer_menu.style.display = 'none';
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
var form = document.createElement("FORM");
form.name = "form_message_"+ID;
form.method = "POST";
form.onsubmit = function(){return false;};
if(!is_ie)
form.enctype="multipart/form-data";
else
form.encoding="multipart/form-data";
var content = Element('content_id_' + ID);
var table_message = document.createElement("TABLE");
var tbody_message = document.createElement("TBODY");
constructMenuNewMessage(ID,tbody_message,table_message,content);
constructFromField(tbody_message,ID);
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr2 = document.createElement("TR");
tr2.id = "tr_cc_"+ID;
tr2.style.display = 'none';
var td2 = document.createElement("TD");
td2.innerHTML = "Cc:";
td2.setAttribute("noWrap","true");
td2.style.width = "1%";
var td_cc = document.createElement("TD");
td_cc.setAttribute("noWrap","true");
td_cc.style.width = "100%";
var input_cc = document.createElement('TEXTAREA');
input_cc.id = "cc_"+ID;
input_cc.name = "input_cc";
input_cc.setAttribute("tabIndex","1");
input_cc.style.width = "100%";
input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);};
input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
if (!is_ie)
{
input_cc.rows = 2;
input_cc.onkeypress = function (e)
{
if ((e.keyCode) == 120) //F9
{
emQuickSearch(input_cc.value, 'cc', ID);
}
else
{
if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
{
e.preventDefault();
search_contacts(e.keyCode,this.id);
}
}
};
input_cc.onkeyup = function (e)
{
if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
{
search_contacts(e.keyCode,this.id);
}
};
}
else if (is_ie)
{
input_cc.rows = 3;
input_cc.onkeyup = function (e)
{
if ((window.event.keyCode) == 120) //F9
{
emQuickSearch(input_cc.value, 'cc', ID);
}
else
{
search_contacts(window.event.keyCode,this.id);
}
};
}
td_cc.appendChild(input_cc);
var img_search = document.createElement("IMG");
img_search.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/search.gif';
img_search.onclick = function () {emQuickSearch(document.getElementById('cc_'+ID).value, 'cc', ID)};
img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
var span_search = document.createElement("SPAN");
span_search.innerHTML = get_lang('Search');
var td2_img_search = document.createElement("TD");
td2_img_search.setAttribute("noWrap","true");
var td2_span_search = document.createElement("TD");
td2_span_search.setAttribute("noWrap","true");
td2_img_search.appendChild(img_search);
td2_span_search.appendChild(span_search);
tr2.appendChild(td2);
tr2.appendChild(td_cc);
tr2.appendChild(td2_img_search);
tbody_message.appendChild(tr2);
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr3 = document.createElement("TR");
tr3.id = "tr_cco_"+ID;
tr3.style.display = 'none';
var td3 = document.createElement("TD");
td3.setAttribute("noWrap","true");
td3.innerHTML = get_lang("CCo")+":";
td3.style.width = "1%";
var td_cco = document.createElement("TD");
td_cco.setAttribute("noWrap","true");
td_cco.style.width = "100%";
var input_cco = document.createElement('TEXTAREA');
input_cco.id = "cco_"+ID;
input_cco.name = "input_cco";
input_cco.setAttribute("tabIndex","1");
input_cco.style.width = "100%";
input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);};
input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);};
if (!is_ie)
{
input_cco.rows = 2;
input_cco.onkeypress = function (e)
{
if ((e.keyCode) == 120) //F9
{
emQuickSearch(input_cco.value, 'cco', ID);
}
else
{
if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden'))
{
e.preventDefault();
search_contacts(e.keyCode,this.id);
}
}
};
input_cco.onkeyup = function (e)
{
if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40))
{
search_contacts(e.keyCode,this.id);
}
};
}
else if (is_ie)
{
input_cco.rows = 3;
input_cco.onkeyup = function (e)
{
if ((window.event.keyCode) == 120) //F9
{
emQuickSearch(input_cco.value, 'cco', ID);
}
else
{
search_contacts(window.event.keyCode,this.id);
}
};
}
td_cco.appendChild(input_cco);
var img_search = document.createElement("IMG");
img_search.src = URL_SERVER + '/expressoMail1_2/templates/'+template+'/images/search.gif';
img_search.title = get_lang('Search') + " | " + get_lang('Use F9 Key as shortcut.');
img_search.onclick = function () {emQuickSearch(document.getElementById('cco_'+ID).value, 'cco', ID);};
var span_search = document.createElement("SPAN");
span_search.innerHTML = get_lang('Search');
var td3_img_search = document.createElement("TD");
td3_img_search.setAttribute("noWrap","true");
var td3_span_search = document.createElement("TD");
td3_span_search.setAttribute("noWrap","true");
td3_img_search.appendChild(img_search);
td3_span_search.appendChild(span_search);
tr3.appendChild(td3);
tr3.appendChild(td_cco);
tr3.appendChild(td3_img_search);
tbody_message.appendChild(tr3);
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr_link = document.createElement("TR");
tr_link.id = "tr_link_"+ID;
var td1_link = document.createElement("TD");
var td2_link = document.createElement("TD");
td1_link.innerHTML = " ";
var a_cc_link = document.createElement('A');
a_cc_link.innerHTML = get_lang('Add CC');
a_cc_link.id = "a_cc_link_"+ID;
a_cc_link.setAttribute("href","javascript:void(0)");
a_cc_link.setAttribute("tabIndex","-1");
a_cc_link.onclick = function () {
this.style.display='none';
document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';
input_cc.focus();
return false;
};
td2_link.appendChild(a_cc_link);
var space = document.createElement("span");
space.id ="space_link_"+ID;
space.innerHTML=" | ";
td2_link.appendChild(space);
var a_cco_link = document.createElement('A');
a_cco_link.innerHTML = get_lang('Add BCC');
a_cco_link.id = "a_cco_link_"+ID;
a_cco_link.setAttribute("href","javascript:void(0)");
a_cco_link.setAttribute("tabIndex","-1");
a_cco_link.onclick = function () {
this.style.display='none';
document.getElementById('tr_cco_'+ID).style.display='';
document.getElementById('space_link_'+ID).style.display='none';
input_cco.focus();
return false;
};
td2_link.appendChild(a_cco_link);
tr_link.appendChild(td1_link);
tr_link.appendChild(td2_link);
tbody_message.appendChild(tr_link);
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr4 = document.createElement("TR");
var td4 = document.createElement("TD");
//td4.setAttribute("noWrap","true");
td4.innerHTML = get_lang("Subject")+":";
var td_subject = document.createElement("TD");
var input_subject = document.createElement('input');
input_subject.id = "subject_"+ID;
input_subject.name = "input_subject";
input_subject.setAttribute("tabIndex","1");
input_subject.style.width = "90%";
input_subject.setAttribute("autocomplete","off");
td_subject.appendChild(input_subject);
tr4.appendChild(td4);
tr4.appendChild(td_subject);
tbody_message.appendChild(tr4);
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr5 = document.createElement("TR");
var td5 = document.createElement("TD");
td5.innerHTML = " ";
var td_return_receipt = document.createElement("TD");
td_return_receipt.setAttribute("noWrap","true");
td_return_receipt.innerHTML = get_lang("Return receipt")+":";
if (is_ie)
{
var input_return_receipt = document.createElement('input name=input_return_receipt');
}
else
{
var input_return_receipt = document.createElement('input');
input_return_receipt.name = "input_return_receipt";
}
input_return_receipt.type = "checkbox";
input_return_receipt.className = "checkbox";
input_return_receipt.id = "return_receipt_"+ID;
input_return_receipt.setAttribute("tabIndex","-1");
td_return_receipt.appendChild(input_return_receipt);
// Workaround para resolver problema ao enviar e-mails
if((preferences.use_assinar_criptografar != '0'))
{
if(parseInt(preferences.use_signature_digital_cripto)==1)
{
td_return_receipt.innerHTML += " " + get_lang("Digitally sign message?")+"";
if (is_ie)
{
var input_return_digital = document.createElement('input name=input_return_digital');
}
else
{
var input_return_digital = document.createElement('input');
input_return_digital.name = "input_return_digital";
}
input_return_digital.type = "checkbox";
input_return_digital.className = "checkbox";
input_return_digital.id = "return_digital_"+ID;
input_return_digital.setAttribute("tabIndex","-1");
if(parseInt(preferences.use_signature_digital)==1)
{
input_return_digital.defaultChecked=true;
}
td_return_receipt.appendChild(input_return_digital);
td_return_receipt.innerHTML += " " + get_lang("Digitally crypt message?")+"";
if (is_ie)
{
var input_return_cripto = document.createElement('input name=input_return_cripto');
}
else
{
var input_return_cripto = document.createElement('input');
input_return_cripto.name = "input_return_cripto";
}
input_return_cripto.type = "checkbox";
input_return_cripto.className = "checkbox";
input_return_cripto.id = "return_cripto_"+ID;
input_return_cripto.setAttribute("tabIndex","-1");
input_return_cripto.defaultChecked=false;
if(parseInt(preferences.use_signature_cripto)==1)
{
input_return_cripto.defaultChecked=true;
}
td_return_receipt.appendChild(input_return_cripto);
}
td_return_receipt.innerHTML += "";
}
tr5.appendChild(td5);
tr5.appendChild(td_return_receipt);
tbody_message.appendChild(tr5);
if (parseInt(preferences.use_important_flag))
{
var trn = document.createElement("TR");
var tdn = document.createElement("TD");
tdn.innerHTML = " ";
var td_important_msg = document.createElement("TD");
td_important_msg.setAttribute("noWrap","true");
td_important_msg.innerHTML = get_lang("Important message")+":";
var input_important_message = document.createElement('input');
input_important_message.type = "checkbox";
input_important_message.className = "checkbox";
input_important_message.id = "important_message_"+ID;
input_important_message.name = "input_important_message";
input_important_message.setAttribute("tabIndex","-1");
td_important_msg.appendChild(input_important_message);
trn.appendChild(tdn);
trn.appendChild(td_important_msg);
tbody_message.appendChild(trn);
}
var add_files = document.createElement("A");
add_files.setAttribute("href", "javascript:void(0)");
add_files.onclick = function () { addFile(ID); return false;};
add_files.innerHTML = get_lang("Attachments: add+");
add_files.setAttribute("tabIndex","-1");
var divfiles = document.createElement("DIV");
divfiles.id = "divFiles_"+ID;
var tr5 = document.createElement("TR");
var td5_link = document.createElement("TD");
var td5_input = document.createElement("TD");
td5_input.innerHTML = " ";
td5_link.setAttribute("valign","top");
td5_link.setAttribute("colSpan","2");
td5_link.appendChild(add_files);
tr5.appendChild(td5_input);
tr5.appendChild(td5_link);
tbody_message.appendChild(tr5);
var tr6 = document.createElement("TR");
var td6_link = document.createElement("TD");
var td6_input = document.createElement("TD");
tr6.appendChild(td6_link);
td6_input.appendChild(divfiles);
tr6.appendChild(td6_input);
tbody_message.appendChild(tr6);
//////////////////////////////////////////////////////////////////////////////////////////////////////
var tr5 = document.createElement("TR");
var td5 = document.createElement("TD");
td5.innerHTML = " ";
var td_body = document.createElement("TD");
td_body.setAttribute("colSpan","2");
var div_body_position = document.createElement("DIV");
div_body_position.id = "body_position_" + ID;
td_body.appendChild(div_body_position);
tr5.appendChild(td5);
tr5.appendChild(td_body);
tbody_message.appendChild(tr5);
// BEGIN MAKE THE SCROLL HEIGHT
var defaultWidth = document.body.clientWidth - (is_ie ? 200 : 195);
var _bar = document.getElementById("toolbar");
var _offset = 0;
if(_bar.style.visibility != 'hidden')
_offset = _bar.offsetHeight ? _bar.offsetHeight : _bar.clientHeight;
var _div = document.createElement("DIV");
_div.id = "div_message_scroll_"+ID;
_div.style.height = document.body.clientHeight - _offset - 105;
content.style.height = document.body.clientHeight - _offset - 80;
_div.style.overflow = "auto";
_div.style.width = defaultWidth;
// END MAKE THE SCROLL HEIGHT
// Hide the contac tips and re-position the pallete color.
_div.onscroll = function() {
var intElemScrollTop = Element("div_message_scroll_"+ID).scrollTop;
if (!is_ie)
ColorPalette.repos(intElemScrollTop);
Tooltip.scrollChanged();
};
//////////////////////////////////////////////////////////////////////////////////////////////////////
_div.appendChild(form);
content.appendChild(_div);
table_message.appendChild(tbody_message);
form.appendChild(table_message);
expresso.connector.loadScript("jscode/rich_text_editor");
RichTextEditor.loadEditor(ID);
//////////////////////////////////////////////////////////////////////////////////////////////////////
return ID;
}
// Verify if any user is sharing his name/email address
// for use in the new messages's "From " field.
function draw_from_field(sel_from,tr1_1){
var el_shared_users = Element("el_shared_users");
// The element was loaded and populated...so return.
if(el_shared_users){
// Nothing to work...so return.
if(el_shared_users.options.length == 0)
return;
tr1_1.style.display = '';
for (var x = 0; x < el_shared_users.options.length; x++) {
var _option = document.createElement("OPTION");
_option.text = el_shared_users.options[x].text;
_option.value = el_shared_users.options[x].value;
sel_from.options[sel_from.options.length] = _option;
}
return;
}
// Get the shared folders.....
var sharedFolders = new Array();
for(var i = 0; i < folders.length; i++) {
var x = folders[i].folder_id;
if (folders[i].folder_parent == 'user'){
sharedFolders[sharedFolders.length] = x;
}
}
var matchUser = '#';
var sharedUsers = new Array();
// Filter the shared folders (only root folders) .....
for(var i = 0; i < sharedFolders.length; i++) {
if(!sharedFolders[i].match(matchUser)) {
matchUser = sharedFolders[i];
sharedUsers[sharedUsers.length] = matchUser.substring(("user"+cyrus_delimiter).length,matchUser.length);
}
}
// Handler function for cExecute
var h_user = function(data) {
if(data.length > 0) {
tr1_1.style.display = '';
var _option = document.createElement("OPTION");
_option.text = '"'+data.myname+'" <'+Element("user_email").value+'>';
_option.value = data.myname+";"+Element("user_email").value;
sel_from.options[sel_from.options.length] = _option;
var options = '';
for (var x = 0; x < data.length; x++) {
var _option = document.createElement("OPTION");
_option.text = '"'+data[x].cn[0] + '" <'+data[x].mail[0]+'>';
_option.value = data[x].cn[0] + ';'+data[x].mail[0]+';'+data[x].save_shared[0]+';'+data[x].uid[0];
sel_from.options[sel_from.options.length] = _option;
}
}
var shared_users_from = Element("el_shared_users");
if(!shared_users_from) {
shared_users_from = sel_from.cloneNode(true);
shared_users_from.id = "el_shared_users";
shared_users_from.style.display = 'none';
document.body.appendChild(shared_users_from);
}
};
// First time, so execute.....
cExecute ("expressoMail1_2.ldap_functions.getSharedUsersFrom&uids="+sharedUsers.join(';'), h_user);
}
function changeBgColorToON(all_messages, begin, end){
for (begin; begin<=end; begin++)
{
add_className(all_messages[begin], 'selected_msg');
Element("check_box_message_" + all_messages[begin].id).checked = true;
}
}
function updateBoxBgColor(box){
// Set first TR Class
var _className = 'tr_msg_read2';
for(var i = 0; i < box.length;i++){
if(exist_className(box[i],_className))
remove_className(box[i], _className);
_className = (_className == 'tr_msg_read2' ? 'tr_msg_read' : 'tr_msg_read2');
if(!exist_className(box[i],_className))
add_className( box[i], _className);
}
}
function changeBgColor(event, msg_number){
actual_tr = Element(msg_number);
if (event.shiftKey)
{
last_tr = Element(last_message_selected);
if(!last_tr)
last_tr = actual_tr;
all_messages = actual_tr.parentNode.childNodes;
for (var i=0; i < all_messages.length; i++)
{
if (actual_tr.id == all_messages[i].id)
first_order = i;
if (last_tr.id == all_messages[i].id)
last_order = i;
}
if (parseInt(first_order) > parseInt(last_order))
changeBgColorToON(all_messages, last_order, first_order);
else
changeBgColorToON(all_messages, first_order, last_order);
}
else{
//if ( exist_className(actual_tr, 'selected_msg') )
if ( Element('check_box_message_' + msg_number).checked )
add_className(actual_tr, 'selected_msg');
else
remove_className(actual_tr, 'selected_msg');
}
last_message_selected = msg_number;
}
function deny_email(email){
expresso.connector.loadScript("jscode/filter");
expresso.connector.loadScript("jscode/filters");
var dn_em = document.createElement("SPAN");
dn_em.id = "tt_d";
dn_em.onclick = function(){filter_rules.new_rule(email);};
dn_em.setAttribute("title",get_lang("Block Sender"));
dn_em.style.cursor = "pointer";
dn_em.innerHTML = "";
return dn_em;
}
function show_div_address_full(id, type) {
var div_address_full = Element("div_"+type+"address_full_"+id);
if(!div_address_full) {
div_address_full = document.createElement("SPAN");
div_address_full.id = "div_"+type+"address_full_"+id;
div_address_full.style.display="none";
var _address = eval(type+"address_array['"+id+"']");
var isOverLimit = (_address.length > 100);
if(isOverLimit) {
alert("Esse campo possui muitos endereços ("+_address.length+" destinatários).\r\n"+
"Para evitar o travamento do navegador, o botão 'Adicionar Contato' foi desabilitado!");
}
for(var idx = 1 ; idx < _address.length;idx++) {
div_address_full.innerHTML += isOverLimit ? '
'+_address[idx] : ','+draw_plugin_cc(id,_address[idx]);
}
div_address_full.innerHTML += " ("+get_lang('less')+")";
Element(type+"_"+id).appendChild(div_address_full);
}
Element('div_'+type+'address_'+id).style.display='none';
div_address_full.style.display='';
}
function draw_footer_box(num_msgs){
folder = get_current_folder();
var span_R = Element("table_message");
var span_options = Element("span_options");
if(!span_options) {
span_options = document.createElement("TD");
span_options.style.fontSize = "12";
span_options.id = "span_options";
span_R.appendChild(span_options);
}
var change_font_color = 'onmouseover="var last_class = this.className;'+
'if (this.className != \'message_options_over\')'+
'this.className=\'message_options_active\'; '+
'this.onmouseout=function(){this.className=last_class;}"';
span_options.innerHTML =
''+get_lang("Delete")+''+
''+get_lang("Move")+''+
((expresso_offline)?" ":''+get_lang("Print")+'')+
// ''+get_lang("Print")+''+
((expresso_offline)?" ":''+get_lang("Export")+'') +
((expresso_offline)?" ":''+get_lang("Import")+'');
if(preferences.use_local_messages==1 && !expresso_offline)
if(proxy_mensagens.is_local_folder(current_folder))
span_options.innerHTML += ' '+get_lang("Unarchive")+'';
else
span_options.innerHTML += ' '+get_lang("Archive")+'';
if (use_spam_filter) {
if ( current_folder == 'INBOX'+cyrus_delimiter+'Spam' ) {
span_options.innerHTML += ' | '+get_lang("Not Spam")+'';
}
else {
span_options.innerHTML += ' | '+get_lang("Mark as Spam")+'';
}
}
var span_D = Element("span_D");
if(!span_D){
span_D = document.createElement("TD");
span_D.align = "right";
span_D.style.fontSize = "12";
span_D.id = "span_D";
span_R.appendChild(span_D);
}
span_D.innerHTML =
get_lang("List")+': '+
''+get_lang("All")+', '+
''+get_lang("l_unseen")+', '+
''+get_lang("l_seen")+', '+
''+get_lang("l_answered")+', '+
''+get_lang("l_important")+' ';
draw_paging(num_msgs);
Element("tot_m").innerHTML = num_msgs;
};