711 lines
34 KiB
JavaScript
711 lines
34 KiB
JavaScript
/*********************************************************************************
|
|
** The contents of this file are subject to the vtiger CRM Public License Version 1.0
|
|
* ("License"); You may not use this file except in compliance with the License
|
|
* The Original Code is: vtiger CRM Open Source
|
|
* The Initial Developer of the Original Code is vtiger.
|
|
* Portions created by vtiger are Copyright (C) vtiger.
|
|
* All Rights Reserved.
|
|
*
|
|
********************************************************************************/
|
|
function load_webmail(mid,hasAttachment) {
|
|
var node = $("row_"+mid);
|
|
preview_id = mid;
|
|
if(typeof($('fnt_subject_'+mid)) != "undefined" && $('fnt_subject_'+mid).color=="green")
|
|
{
|
|
$('fnt_subject_'+mid).color="";
|
|
$('fnt_date_'+mid).color="";
|
|
$('fnt_from_'+mid).color="";
|
|
|
|
}
|
|
if(node.className == "mailSelected") {
|
|
var unread = parseInt($(mailbox+"_unread").innerHTML);
|
|
if(unread != 0)
|
|
{
|
|
var curUnread;
|
|
curUnread = unread -1;
|
|
if(curUnread == 0)
|
|
$(mailbox+"_count").style.display="none";
|
|
else
|
|
$(mailbox+"_unread").innerHTML = curUnread;
|
|
}
|
|
|
|
|
|
$("unread_img_"+mid).removeChild($("unread_img_"+mid).firstChild);
|
|
$("unread_img_"+mid).appendChild(Builder.node('a',
|
|
{href: 'javascript:;', onclick: 'OpenComposer('+mid+',\'reply\')'},
|
|
[Builder.node('img',{src: 'themes/images/openmail.gif', border: '0', width: '12', height: '12'})]
|
|
));
|
|
}
|
|
node.className='read_email';
|
|
//Fix for webmails body display in IE - dartagnanlaf
|
|
/*
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=body&mailid=' + mid + '&mailbox='+mailbox,
|
|
onComplete: function(response) {
|
|
document.getElementById("body_area").innerHTML=response.responseText;
|
|
}
|
|
}
|
|
);
|
|
*/
|
|
|
|
oiframe = $("email_description");
|
|
oiframe.src = 'index.php?module=Webmails&action=body&theme='+theme+'&mailid='+mid+'&mailbox='+mailbox;
|
|
//$("body_area").appendChild(Builder.node('iframe',{src: 'index.php?module=Webmails&action=body&mailid='+mid+'&mailbox='+mailbox, width: '100%', height: '210', frameborder: '0'},'You must enable iframes'));
|
|
|
|
tmp = document.getElementsByClassName("previewWindow");
|
|
for(var i=0;i<tmp.length;i++) {
|
|
if(tmp[i].style.visibility === "hidden") {
|
|
tmp[i].style.visibility="visible";
|
|
}
|
|
}
|
|
if($("preview1").style.visibility === "hidden" || $("preview2").style.visibility === "hidden") {
|
|
$("preview1").style.visibility="visible";
|
|
$("preview2").style.visibility="visible";
|
|
}
|
|
|
|
$("delete_button").removeChild($("delete_button").firstChild);
|
|
$("delete_button").appendChild(Builder.node('input',{type: 'button', name: 'Button', value: alert_arr.LBL_DELETE_EMAIL, className: 'buttonok', onclick: 'runEmailCommand(\'delete_msg\','+mid+')'}));
|
|
|
|
$("reply_button_all").removeChild($("reply_button_all").firstChild);
|
|
$("reply_button_all").appendChild(Builder.node('input',{type: 'button', name: 'reply', value: alert_arr.LBL_REPLY_TO_ALL, className: 'buttonok', onclick: 'OpenComposer('+mid+',\'replyall\')'}));
|
|
|
|
$("reply_button").removeChild($("reply_button").firstChild);
|
|
$("reply_button").appendChild(Builder.node('input',{type: 'button', name: 'reply', value: alert_arr.LBL_REPLY_TO_SENDER, className: 'buttonok', onclick: 'OpenComposer('+mid+',\'reply\')'}));
|
|
|
|
$("forward_button").removeChild($("forward_button").firstChild);
|
|
$("forward_button").appendChild(Builder.node('input',{type: 'button', name: 'forward', value: alert_arr.LBL_FORWARD_EMAIL, className: 'buttonok', onclick: 'OpenComposer('+mid+',\'forward\')'}));
|
|
|
|
$("qualify_button").removeChild($("qualify_button").firstChild);
|
|
if(showQualify == 'yes')
|
|
$("qualify_button").appendChild(Builder.node('input',{type: 'button', name: 'Qualify2', value: alert_arr.LBL_QUALIFY_EMAIL, className: 'buttonok', onclick: 'showRelationships('+mid+')'}));
|
|
else
|
|
$("qualify_button").appendChild(Builder.node('input',{type: 'hidden',name: 'hide'}));
|
|
$("download_attach_button").removeChild($("download_attach_button").firstChild);
|
|
$("download_attach_button").appendChild(Builder.node('input',{type: 'button', name: 'download', value: ' Download Attachments ', className: 'buttonok', onclick: 'displayAttachments('+mid+')'}));
|
|
|
|
makeSelected(node.id)
|
|
}
|
|
function displayAttachments(mid) {
|
|
var url = "index.php?module=Webmails&action=dlAttachments&mailid="+mid+"&mailbox="+mailbox;
|
|
window.open(url,"DownloadAttachments",'menubar=no,toolbar=no,location=no,status=no,resizable=no,width=450,height=450');
|
|
}
|
|
function OpenComposer(id,mode)
|
|
{
|
|
switch(mode)
|
|
{
|
|
case 'edit':
|
|
url = 'index.php?module=Webmails&action=EditView&record='+id;
|
|
break;
|
|
case 'create':
|
|
url = 'index.php?module=Emails&action=EmailsAjax&file=EditView';
|
|
break;
|
|
case 'forward':
|
|
url = 'index.php?module=Emails&action=EmailsAjax&mailid='+id+'&forward=true&webmail=true&file=EditView&mailbox='+mailbox;
|
|
break;
|
|
case 'reply':
|
|
url = 'index.php?module=Emails&action=EmailsAjax&mailid='+id+'&reply=single&webmail=true&file=EditView&mailbox='+mailbox;
|
|
break;
|
|
case 'replyall':
|
|
url = 'index.php?module=Emails&action=EmailsAjax&mailid='+id+'&reply=all&webmail=true&file=EditView&mailbox='+mailbox;
|
|
break;
|
|
case 'attachments':
|
|
url = 'index.php?module=Webmails&action=dlAttachments&mailid='+id+'&mailbox='+mailbox;
|
|
break;
|
|
case 'full_view':
|
|
url = 'index.php?module=Webmails&action=DetailView&record='+id+'&mailid='+id+'&mailbox='+mailbox;
|
|
break;
|
|
}
|
|
openPopUp('xComposeEmail',this,url,'createemailWin',830,662,'menubar=no,toolbar=no,location=no,status=no,resizable=yes,scrollbars=yes');
|
|
}
|
|
|
|
function makeSelected(rowId)
|
|
{
|
|
if(gselected_mail != '')
|
|
$(gselected_mail).className = '';
|
|
|
|
$(rowId).className = 'mailSelected_select';
|
|
gselected_mail = rowId;
|
|
}
|
|
|
|
function showRelationships(mid) {
|
|
// TODO: present the user with a simple DHTML div to
|
|
// choose what type of relationship they would like to create
|
|
// before creating it.
|
|
if(confirm(alert_arr.WISH_TO_QUALIFY_MAIL_AS_CONTACT))
|
|
add_to_vtiger(mid);
|
|
}
|
|
function add_to_vtiger(mid) {
|
|
// TODO: update this function to allow you to set what entity type
|
|
// you would like to associate to
|
|
var rowId = "row_"+mid;
|
|
$(rowId).className = "qualify_email";
|
|
$("status").style.display="block";
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=Save&mailid='+mid+'&ajax=true'+'&mailbox='+mailbox,
|
|
onComplete: function(t) {
|
|
setTimeout('makeSelected("'+rowId+'");',500);
|
|
$("status").style.display="none";
|
|
}
|
|
}
|
|
);
|
|
}
|
|
function select_all() {
|
|
var els = document.getElementsByClassName("msg_check");
|
|
var id='';
|
|
for(var i=0;i<els.length;i++) {
|
|
id = els[i].name.substr((els[i].name.indexOf("_")+1),els[i].name.length);
|
|
var tels = $("row_"+id);
|
|
if(tels.className == "deletedRow") {
|
|
els[i].checked = false;
|
|
} else {
|
|
if(els[i].checked)
|
|
els[i].checked = false;
|
|
else
|
|
els[i].checked = true;
|
|
}
|
|
}
|
|
}
|
|
function check_in_all_boxes(mymbox) {
|
|
// TODO: There is possibly still a bug in the mailbox counting code
|
|
// check for NaN
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=WebmailsAjax&command=check_mbox_all&mailbox='+mymbox+'&ajax=true&file=ListView',
|
|
onComplete: function(t) {
|
|
//alert(t.responseText);
|
|
if(t.responseText != "") {
|
|
var data = eval('(' + t.responseText + ')');
|
|
for (var i=0;i<data.msgs.length;i++) {
|
|
var mbox = data.msgs[i].msg.box;
|
|
if(mbox != mailbox) {
|
|
var numnew = parseInt(data.msgs[i].msg.newmsgs);
|
|
|
|
var read = parseInt($(mbox+"_read").innerHTML);
|
|
$(mbox+"_read").innerHTML = (read+numnew);
|
|
var unread = parseInt($(mbox+"_unread").innerHTML);
|
|
$(mbox+"_unread").innerHTML = (unread+numnew);
|
|
}
|
|
}
|
|
}
|
|
$("status").style.display="none";
|
|
}
|
|
}
|
|
);
|
|
}
|
|
function check_for_new_mail(mbox) {
|
|
//window.location=window.location;
|
|
if(degraded_service == 'true') {
|
|
return;
|
|
}
|
|
mailbox = mbox;
|
|
runEmailCommand("reload",0);
|
|
$("status").style.display="block";
|
|
/*
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=WebmailsAjax&mailbox='+mbox+'&command=check_mbox&ajax=true&file=ListView',
|
|
onComplete: function(t) {
|
|
try {
|
|
// TODO: replace this at some point with prototype JSON
|
|
// tools
|
|
var data = eval('(' + t.responseText + ')');
|
|
//var read = parseInt($(mailbox+"_read").innerHTML);
|
|
//$(mailbox+"_read").innerHTML = (read+data.mails.length);
|
|
var unread = parseInt($(mailbox+"_unread").innerHTML);
|
|
$(mailbox+"_unread").innerHTML = (unread+data.mails.length);
|
|
for (var i=0;i<data.mails.length;i++) {
|
|
var mailid = data.mails[i].mail.mailid;
|
|
var date = data.mails[i].mail.date;
|
|
var subject=data.mails[i].mail.subject;
|
|
var attachments=data.mails[i].mail.attachments;
|
|
var from=data.mails[i].mail.from;
|
|
|
|
webmail[mailid] = new Array();
|
|
webmail[mailid]["from"] = from;
|
|
webmail[mailid]["to"] = data.mails[i].mail.to;
|
|
webmail[mailid]["subject"] = subject;
|
|
webmail[mailid]["date"] = date;
|
|
|
|
// main row
|
|
var tr = Builder.node(
|
|
'tr',
|
|
{id:'row_'+mailid, className: 'unread_email'}
|
|
);
|
|
|
|
// checkbox
|
|
var check = Builder.node(
|
|
'td',
|
|
[ Builder.node(
|
|
'input',
|
|
{type: 'checkbox', name: 'selected_id', value: mailid, className: 'msg_check'}
|
|
|
|
)]
|
|
|
|
|
|
);
|
|
|
|
tr.appendChild(check);
|
|
// images
|
|
// Attachment
|
|
imgtd = Builder.node('td');
|
|
if(attachments === "1") {
|
|
var attach = Builder.node('a',
|
|
{href: 'javascript:;', onclick: 'displayAttachments('+mailid+')'},
|
|
[ Builder.node('img',
|
|
{src: 'modules/Webmails/images/stock_attach.png', border: '0', width: '14px', height: '14px'}
|
|
)]
|
|
);
|
|
} else {
|
|
var attach = Builder.node('a',
|
|
{src: 'modules/Webmails/images/blank.png', border: '0', width: '14px', height: '14px'}
|
|
);
|
|
}
|
|
imgtd.appendChild(attach);
|
|
imgtd.innerHTML += " ";
|
|
|
|
var unread = Builder.node('span',
|
|
{id: 'unread_img_'+mailid},
|
|
[ Builder.node('a',
|
|
{href: 'javascript:;', onclick: 'OpenCompose('+mailid+',\'reply\')'},
|
|
[ Builder.node('img',
|
|
{src: 'modules/Webmails/images/stock_mail-unread.png', border: '0', width: '10', height: '14'}
|
|
)]
|
|
)]
|
|
);
|
|
imgtd.appendChild(unread);
|
|
imgtd.innerHTML += " ";
|
|
|
|
var flag = Builder.node('span',
|
|
{id: 'set_td_'+mailid},
|
|
[ Builder.node('a',
|
|
{href: 'javascript:void(0);', onclick: 'runEmailCommand(\'set_flag\','+mailid+')'},
|
|
[ Builder.node('img',
|
|
{src: 'modules/Webmails/images/plus.gif', border: '0', width: '11px', height: '11px', id: 'set_flag_img_'+mailid}
|
|
)]
|
|
)]
|
|
);
|
|
imgtd.appendChild(flag);
|
|
tr.appendChild(imgtd);
|
|
|
|
|
|
// MSG details
|
|
tr.appendChild( Builder.node('td',
|
|
[ Builder.node('a',
|
|
{href: 'javascript:;', onclick: 'load_webmail(\''+mailid+'\')', id: 'ndeleted_subject_'+mailid},
|
|
''+subject+''
|
|
)]
|
|
));
|
|
tr.appendChild( Builder.node('td',
|
|
{id: 'ndeleted_date_'+mailid},
|
|
''+date+''
|
|
));
|
|
tr.appendChild( Builder.node('td',
|
|
{id: 'ndeleted_from_'+mailid},
|
|
''+from+''
|
|
));
|
|
|
|
var del = Builder.node('td',
|
|
{align: 'center', id:'ndeleted_td_'+mailid},
|
|
[ Builder.node('span',
|
|
{id: 'del_link_'+mailid},
|
|
[ Builder.node('a',
|
|
{href: 'javascript:;', onclick: 'runEmailCommand(\'delete_msg\','+mailid+')'},
|
|
[ Builder.node('img',
|
|
{src: 'modules/Webmails/images/gnome-fs-trash-empty.png', border: '0', width: '14', height: '14', alt: 'del'}
|
|
)]
|
|
)]
|
|
)]
|
|
);
|
|
tr.appendChild(del);
|
|
|
|
// TODO: this is ugly, replace using prototype child walker tools
|
|
tr.style.display='none';
|
|
var tels = $("message_table").childNodes[1].childNodes;
|
|
for(var j=0;j<tels.length;j++) {
|
|
try {
|
|
if(tels[j].id.match(/row_/)) {
|
|
//we are deleting the row and add it - AVOID THIS DELTE - MICKIE
|
|
//$("message_table").childNodes[1].deleteRow(tr,tels[j]);commented since header does not come when new mails arrive
|
|
$("message_table").childNodes[1].insertBefore(tr,tels[j]);
|
|
break;
|
|
}
|
|
}catch(f){}
|
|
}
|
|
new Effect.Appear("row_"+mailid);
|
|
}
|
|
}catch(e) {}
|
|
check_in_all_boxes(mailbox);
|
|
//$("status").style.display="none";
|
|
}
|
|
}
|
|
);
|
|
*/
|
|
}
|
|
function periodic_event() {
|
|
// NOTE: any functions you put in here may race. This could probably
|
|
// be avoided by executing functions in a 0'ed timeout, or a prototype
|
|
// enumerator
|
|
check_for_new_mail(mailbox);
|
|
window.setTimeout("periodic_event()",box_refresh);
|
|
}
|
|
function show_hidden() {
|
|
// prototype uses enumerable lists to queue events for execution.
|
|
// because of this, this function executes and returns imediately and
|
|
// the status spinner is never seen. The status spinner below is a hack
|
|
// and doesn't even attempt to pretend like it knows the event is finished.
|
|
// this cannot be fixed with the scriptaculous beforeStart and afterFinish
|
|
// event hooks for some reason, maybe because the event duration is too quick?
|
|
window.setTimeout(function() {
|
|
$("status").style.display="block";
|
|
window.setTimeout(function() {
|
|
$("status").style.display="none";
|
|
},2000);
|
|
},0);
|
|
var els = document.getElementsByClassName("deletedRow");
|
|
for(var i=0;i<els.length;i++) {
|
|
if(els[i].style.display == "none")
|
|
new Effect.Appear(els[i],{queue: {position: 'end', scope: 'show'}, duration: 0.2});
|
|
else
|
|
new Effect.Fade(els[i],{queue: {position: 'end', scope: 'show'}, duration: 0.2});
|
|
}
|
|
}
|
|
function mass_delete()
|
|
{
|
|
var select_options = document.getElementsByName('selected_id');
|
|
var x = select_options.length;
|
|
var nids = "";
|
|
var nid='';
|
|
xx = 0;
|
|
for(i = 0; i < x ; i++)
|
|
{
|
|
if(select_options[i].checked)
|
|
{
|
|
idvalue= select_options[i].value;
|
|
nid += idvalue +":";
|
|
xx++;
|
|
}
|
|
}
|
|
if (xx != 0)
|
|
nids=nid;
|
|
else
|
|
{
|
|
alert(alert_arr.SELECT_ATLEAST_ONEMSG_TO_DEL);
|
|
return false;
|
|
}
|
|
if(confirm(alert_arr.SURE_TO_DELETE))
|
|
runEmailCommand("delete_multi_msg",nids);
|
|
}
|
|
function move_messages()
|
|
{
|
|
var nid = '';
|
|
var chkname=document.getElementsByName("selected_id");
|
|
mvmbox = $("mailbox_select").value;
|
|
var nid = Array();
|
|
var i=0;
|
|
move_mail = 1;
|
|
for(var m=0;m<chkname.length;m++)
|
|
{
|
|
if(chkname[m].checked)
|
|
nid[i++] = chkname[m].value;
|
|
}
|
|
|
|
if(nid.length > 0)
|
|
{
|
|
$("status").style.display="block";
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=WebmailsAjax&mailbox='+mailbox+'&start='+start+'&command=move_msg&ajax=true&mailid='+nid.join(":")+'&mvbox='+mvmbox,
|
|
onComplete: function(t) {
|
|
sh = $("show_msg");
|
|
var leftSide = findPosX(sh);
|
|
var topSide = findPosY(sh);
|
|
sh.style.left= leftSide + 400+'px';
|
|
sh.style.top= topSide + 350 +'px';
|
|
sh.innerHTML = "Moving mail(s) from "+mailbox+" folder to "+mvmbox+" folder";
|
|
sh.style.display = "block";
|
|
sh.classname = "delete_email";
|
|
new Effect.Fade(sh,{queue: {position: 'end', scope: 'effect'},duration: '50'});
|
|
for(i=0;i<nid.length;i++)
|
|
{
|
|
var oRow = $('row_'+nid[i]);
|
|
new Effect.Fade(oRow,{queue: {position: 'end', scope: 'effect'},duration: '0.5'});
|
|
}
|
|
$("status").style.display = "none";
|
|
start = t.responseText;
|
|
runEmailCommand("reload",0);
|
|
}
|
|
}
|
|
);
|
|
}else
|
|
{
|
|
alert(alert_arr.SELECT_MAIL_MOVE);
|
|
}
|
|
}
|
|
|
|
/*function move_messages() {
|
|
$("status").style.display="block";
|
|
var els = document.getElementsByTagName("INPUT");
|
|
var cnt = (els.length-1);
|
|
for(var i=cnt;i>0;i--) {
|
|
if(els[i].type == "checkbox" && els[i].name.indexOf("_")) {
|
|
if(els[i].checked) {
|
|
var nid = els[i].name.substr((els[i].name.indexOf("_")+1),els[i].name.length);
|
|
var mvmbox = $("mailbox_select").value;
|
|
var row = $("row_"+nid);
|
|
new Effect.Fade(row,{queue: {position: 'end', scope: 'effect'},duration: '0.5'});
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=WebmailsAjax&file=ListView&mailbox='+gCurrentFolder+'&command=move_msg&ajax=true&mailid='+nid+'&mvbox='+mvmbox,
|
|
onComplete: function(t) {
|
|
//alert(t.responseText);
|
|
}
|
|
}
|
|
);
|
|
}
|
|
}
|
|
}
|
|
$('mailbox_select').selectedIndex=0;
|
|
//runEmailCommand('expunge','');
|
|
$("status").style.display="none";
|
|
}*/
|
|
function search_emails() {
|
|
// TODO: find a way to search in degraded functionality mode.
|
|
var search_query = $("search_input").value;
|
|
var search_type = $("search_type").value;
|
|
window.location = "index.php?module=Webmails&action=index&search=true&search_type="+search_type+"&search_input="+search_query+'&mailbox='+mailbox;
|
|
}
|
|
function runEmailCommand(com,id) {
|
|
command=com;
|
|
id=id;
|
|
gselected_mail = '';
|
|
if(com == 'delete_msg')
|
|
{
|
|
if(!confirm(alert_arr.DELETE+" "+alert_arr.MAIL+" ?"))
|
|
return;
|
|
}
|
|
if(com=="reload")
|
|
var file="ListViewAjax";
|
|
else
|
|
var file="";
|
|
|
|
if(move_mail == 1){
|
|
var qry_str = "&mvbox="+mvmbox;
|
|
move_mail = 0;
|
|
}
|
|
else
|
|
qry_str = "";
|
|
|
|
$("status").style.display="block";
|
|
new Ajax.Request(
|
|
'index.php',
|
|
{queue: {position: 'end', scope: 'command'},
|
|
method: 'post',
|
|
postBody: 'module=Webmails&action=WebmailsAjax&start='+start+'&command='+command+'&mailid='+id+'&file='+file+'&mailbox='+mailbox+qry_str+'&search_type='+$("search_type").value+'&search_input='+$("search_input").value,
|
|
onComplete: function(t) {
|
|
resp = t.responseText;
|
|
id=resp;
|
|
if(resp.match(/ajax failed/)) {return;}
|
|
switch(command) {
|
|
case 'reload':
|
|
$("rssScroll").innerHTML = resp;
|
|
var unread_count = parseInt($(mailbox+"_tempcount").innerHTML);
|
|
if(unread_count > 0) {
|
|
$(mailbox+"_unread").innerHTML = unread_count;
|
|
}
|
|
else{
|
|
$(mailbox+"_count").innerHTML = "";
|
|
}
|
|
$("nav").innerHTML = $("navTemp").innerHTML;
|
|
$("box_list").innerHTML = $("temp_boxlist").innerHTML;
|
|
$("move_pane").innerHTML = $("temp_movepane").innerHTML;
|
|
$("temp_boxlist").innerHTML = "";
|
|
$("temp_movepane").innerHTML = "";
|
|
$("navTemp").innerHTML = '';
|
|
$(mailbox+"_tempcount").innerHTML = "";
|
|
break;
|
|
case 'expunge':
|
|
// NOTE: we either have to reload the page or count up from the messages that
|
|
// are deleted and moved or we introduce a bug from invalid mail ids
|
|
//window.location = window.location;
|
|
start = resp;
|
|
runEmailCommand("reload",0);
|
|
break;
|
|
case 'delete_multi_msg':
|
|
var ids;
|
|
eval(resp);
|
|
var rows = ids.split(":");
|
|
for(i=0;i<rows.length;i++) {
|
|
var id = rows[i];
|
|
var row = $("row_"+id);
|
|
if(row.className == "mailSelected") {
|
|
var unread = parseInt($(mailbox+"_unread").innerHTML);
|
|
$(mailbox+"_unread").innerHTML = (unread-1);
|
|
}
|
|
row.className = "delete_email";
|
|
|
|
Try.these (
|
|
function() {
|
|
$("ndeleted_subject_"+id).innerHTML = "<s>"+$("ndeleted_subject_"+id).innerHTML+"</s>";
|
|
$("ndeleted_date_"+id).innerHTML = "<s>"+$("ndeleted_date_"+id).innerHTML+"</s>";
|
|
$("ndeleted_from_"+id).innerHTML = "<s>"+$("ndeleted_from_"+id).innerHTML+"</s>";
|
|
},
|
|
function() {
|
|
$("deleted_subject_"+id).innerHTML = "<s>"+$("deleted_subject_"+id).innerHTML+"</s>";
|
|
$("deleted_date_"+id).innerHTML = "<s>"+$("deleted_date_"+id).innerHTML+"</s>";
|
|
$("deleted_from_"+id).innerHTML = "<s>"+$("deleted_from_"+id).innerHTML+"</s>";
|
|
}
|
|
);
|
|
|
|
try {
|
|
$("del_link_"+id).innerHTML = '<a href="javascript:void(0);" onclick="runEmailCommand(\'undelete_msg\','+id+');"><img src="modules/Webmails/images/gnome-fs-trash-full.png" border="0" width="14" height="14" alt="del"></a>';
|
|
|
|
new Effect.Fade(row,{queue: {position: 'end', scope: 'effect'},duration: '0.5'});
|
|
tmp = document.getElementsByClassName("previewWindow");
|
|
// tmp[0].style.visibility="hidden";
|
|
}catch(g){}
|
|
if(preview_id == id){
|
|
// alert(preview_id + id);
|
|
$("preview1").style.visibility="hidden";
|
|
$("preview2").style.visibility="hidden";
|
|
}
|
|
/*for(var i=0;i<tmp.length;i++) {
|
|
if(tmp[i].style.visibility === "visible") {
|
|
tmp[i].style.visibility="hidden";
|
|
}
|
|
}*/
|
|
|
|
$("status").style.display="none";
|
|
if(i == ((rows.length)-2)){
|
|
runEmailCommand("reload",0);
|
|
}
|
|
}
|
|
break;
|
|
case 'delete_msg':
|
|
//id=resp;
|
|
eval(resp);
|
|
if($("row_"+id))
|
|
{
|
|
var row = $("row_"+id);
|
|
if(row.className == "unread_email") {
|
|
var unread = parseInt($(mailbox+"_unread").innerHTML);
|
|
$(mailbox+"_unread").innerHTML = (unread-1);
|
|
}
|
|
row.className = 'delete_email';
|
|
// row.className = "deletedRow";
|
|
|
|
Try.these (
|
|
function() {
|
|
$("ndeleted_subject_"+id).innerHTML = "<s>"+$("ndeleted_subject_"+id).innerHTML+"</s>";
|
|
$("ndeleted_date_"+id).innerHTML = "<s>"+$("ndeleted_date_"+id).innerHTML+"</s>";
|
|
$("ndeleted_from_"+id).innerHTML = "<s>"+$("ndeleted_from_"+id).innerHTML+"</s>";
|
|
},
|
|
function() {
|
|
$("deleted_subject_"+id).innerHTML = "<s>"+$("deleted_subject_"+id).innerHTML+"</s>";
|
|
$("deleted_date_"+id).innerHTML = "<s>"+$("deleted_date_"+id).innerHTML+"</s>";
|
|
$("deleted_from_"+id).innerHTML = "<s>"+$("deleted_from_"+id).innerHTML+"</s>";
|
|
}
|
|
);
|
|
|
|
$("del_link_"+id).innerHTML = '<a href="javascript:void(0);" onclick="runEmailCommand(\'undelete_msg\','+id+');"><img src="modules/Webmails/images/gnome-fs-trash-full.png" border="0" width="14" height="14" alt="del"></a>';
|
|
new Effect.Fade(row,{queue: {position: 'end', scope: 'effect'},duration: '1.0'});
|
|
}
|
|
|
|
|
|
if(preview_id == id){
|
|
// alert(preview_id + id);
|
|
$("preview1").style.visibility="hidden";
|
|
$("preview2").style.visibility="hidden";
|
|
}
|
|
|
|
runEmailCommand("reload",0);
|
|
break;
|
|
case 'undelete_msg':
|
|
id=resp;
|
|
var node = $("row_"+id);
|
|
node.className='';
|
|
node.style.display = '';
|
|
var newhtml = remove(remove(node.innerHTML,'<s>'),'</s>');
|
|
node.innerHTML=newhtml;
|
|
$("del_link_"+id).innerHTML = '<a href="javascript:void(0);" onclick="runEmailCommand(\'delete_msg\','+id+');"><img src="modules/Webmails/images/gnome-fs-trash-empty.png" border="0" width="14" height="14" alt="del"></a>';
|
|
$("status").style.display="none";
|
|
break;
|
|
case 'clear_flag':
|
|
var nm = "clear_td_"+id;
|
|
var el = $(nm);
|
|
var tmp = el.innerHTML;
|
|
el.innerHTML ='<a href="javascript:void(0);" onclick="runEmailCommand(\'set_flag\','+id+');"><img src="themes/images/important2.gif" border="0" width="11" height="11" id="set_flag_img_'+id+'"></a>';
|
|
el.id = "set_td_"+id;
|
|
break;
|
|
case 'set_flag':
|
|
var nm = "set_td_"+id;
|
|
var el = $(nm);
|
|
var tmp = el.innerHTML;
|
|
el.innerHTML ='<a href="javascript:void(0);" onclick="runEmailCommand(\'clear_flag\','+id+');"><img src="themes/images/important1.gif" border="0" width="11" height="11" id="clear_flag_img'+id+'"></a>';
|
|
el.id = "clear_td_"+id;
|
|
break;
|
|
|
|
}
|
|
$("status").style.display="none";
|
|
}
|
|
}
|
|
);
|
|
}
|
|
function cal_navigation(box,page){
|
|
start = page;
|
|
mailbox = box;
|
|
runEmailCommand("reload",0);
|
|
}
|
|
function remove(s, t) {
|
|
/*
|
|
** Remove all occurrences of a token in a string
|
|
** s string to be processed
|
|
** t token to be removed
|
|
** returns new string
|
|
*/
|
|
i = s.indexOf(t);
|
|
r = "";
|
|
if (i == -1) return s;
|
|
r += s.substring(0,i) + remove(s.substring(i + t.length), t);
|
|
return r;
|
|
}
|
|
function changeMbox(box) {
|
|
mailbox=box;
|
|
start = 0;
|
|
change_box=1;
|
|
runEmailCommand("reload",0);
|
|
//location.href = "index.php?module=Webmails&action=index&mailbox="+box;
|
|
}
|
|
// TODO: these two functions should be tied into a mailbox management panel of some kind.
|
|
// could be a DHTML div with AJAX calls to execute the commands on the mailbox.
|
|
function show_addfolder() {
|
|
var fldr = $("folderOpts");
|
|
if(fldr.style.display == 'none')
|
|
$("folderOpts").style.display="";
|
|
else
|
|
$("folderOpts").style.display="none";
|
|
}
|
|
function show_remfolder(mb) {
|
|
var fldr = $("remove_"+mb);
|
|
if(typeof(fldr) != "undefined")
|
|
{
|
|
if(fldr.style.display == 'none')
|
|
fldr.style.display="";
|
|
else
|
|
fldr.style.display="none";
|
|
}
|
|
}
|