Changeset 2694


Ignore:
Timestamp:
05/03/10 15:08:47 (14 years ago)
Author:
amuller
Message:

Ticket #1059 - Diminuição da função new_message

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/jscode/draw_api_messages.js

    r2681 r2694  
    7979        document.getElementById("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ).innerHTML = "<B>"+type_name+'</B><img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_'+(sort_box_reverse == 1 ? 'desc' : 'asc')+'endant.gif">'; 
    8080} 
    81 function draw_message(info_msg, ID){ 
    82         var content = document.getElementById('content_id_' + ID); 
    83         var defaultWidth = document.body.offsetWidth - 37; 
    84  
    85         var menuHidden = Element("folderscol").style.display == 'none' ? true : false; 
    86         if(!menuHidden) 
    87                 defaultWidth -= Element("folderscol").offsetWidth; 
    88         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    89         //Make the next/previous buttom. 
    90         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    91         var next_previous_msg_td = document.createElement("TD"); 
    92         next_previous_msg_td.setAttribute("noWrap","true"); 
    93         next_previous_msg_td.align = "right"; 
    94         next_previous_msg_td.width = "40px"; 
    95         var img_next_msg = document.createElement("IMG"); 
    96         img_next_msg.id = 'msg_opt_next_' + ID; 
    97         img_next_msg.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/down.button.png'; 
    98         img_next_msg.title = get_lang('Next'); 
     81 
     82function createNxtPrevButtons(info_msg,ID,folder_id){ 
     83        var next_previous_msg_td = createAndSet("TD",[ "noWrap", "align", "width" ], [ "true", "right", "40px"]); 
     84        var img_next_msg = createAndSet("IMG", [ 'id', 'src', 'title' ], [ 
     85                        'msg_opt_next_' + ID, 
     86                        URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/down.button.png', 
     87                        get_lang('Next') ]); 
    9988        img_next_msg.style.cursor = 'pointer'; 
    10089 
    101         // Old 
    102         //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)}; 
    103         var folder_id = 0; 
    104         folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 
    10590        var folder = document.getElementById(folder_id); 
    106         if (!folder){ 
    107                 delete_border(ID); 
    108                 return; 
    109         } 
    11091        if (folder){ // mensagem local criptografada nao tem ID da pasta local 
    11192                if (folder.nextSibling){ 
     
    120101                                openTab.type[ID] = 2; 
    121102                                proxy_mensagens.get_msg(folder.nextSibling.id,nextMsgBox,true,show_msg); 
    122                                 //cExecute("expressoMail1_2.imap_functions.get_info_msg&msg_number="+folder.nextSibling.id+"&msg_folder="+nextMsgBox, show_msg); 
    123103                        }; 
    124104                } 
     
    138118                        img_next_msg.onclick = function() 
    139119                        { 
    140                                 /*current_page++; 
    141                                   msg_range_end = (current_page*preferences.max_email_per_page); 
    142                                   msg_range_begin = (msg_range_end-(preferences.max_email_per_page)+1); 
    143                                   kill_current_box(); 
    144                                   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);}) */ 
    145120                                delete_border(ID); 
    146121                        }; 
     
    148123        } 
    149124        var img_space = document.createElement("SPAN"); 
    150         img_space.innerHTML = "&nbsp;"; 
    151         var img_previous_msg = document.createElement("IMG"); 
    152         img_previous_msg.id = 'msg_opt_previous_' + ID; 
    153         img_previous_msg.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/up.button.png'; 
    154         img_previous_msg.title = get_lang('Previous'); 
     125        img_space.innerHTML = "&nbsp;"; 
     126        var img_previous_msg = createAndSet("IMG",['id','src','title'],['msg_opt_previous_' + ID, 
     127                        URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/up.button.png', 
     128                        get_lang('Previous')]); 
    155129        img_previous_msg.style.cursor = 'pointer'; 
    156130 
    157         //Old 
    158         //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)} 
    159131        //folder = document.getElementById(ID.substr(0, ID.indexOf('_'))); 
    160132        if (!folder){ 
     
    174146                                currentTab = ID; 
    175147                                openTab.type[ID] = 2; 
    176                                 //cExecute("expressoMail1_2.imap_functions.get_info_msg&msg_number="+folder.previousSibling.id+"&msg_folder=" + previousMsgBox, show_msg); 
    177148                                proxy_mensagens.get_msg(folder.previousSibling.id,previousMsgBox,true,show_msg); 
    178149                        }; 
     
    199170        next_previous_msg_td.appendChild(img_space); 
    200171        next_previous_msg_td.appendChild(img_next_msg); 
    201         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    202         //Make the header message. 
    203         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    204         var table_message = document.createElement("TABLE"); 
    205         var tbody_message = document.createElement("TBODY"); 
    206         table_message.border = "0"; 
    207         table_message.width = defaultWidth ; 
    208  
    209         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    210         //Make the options message. 
    211         ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    212         var tr0 = document.createElement("TR"); 
    213         tr0.className = "tr_message_header"; 
    214         var td0 = document.createElement("TD"); 
    215         var table_message_options = document.createElement("TABLE"); 
    216         table_message_options.width = "100%"; 
    217         table_message_options.border = '0'; 
    218         table_message_options.className = 'table_message'; 
    219         var tbody_message_options = document.createElement("TBODY"); 
    220         var tr = document.createElement("TR"); 
    221         var td = document.createElement("TD"); 
    222         td.setAttribute("noWrap","true"); 
    223         var _name = ''; 
    224         var _maxChar = menuHidden ? 40 : 15; 
    225  
    226         if (info_msg.from.name) 
    227         { 
    228                 var spanName = document.createElement("SPAN"); 
    229                 spanName.innerHTML = info_msg.from.name; 
    230                 _name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML; 
    231         } 
    232         else 
    233                 _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email; 
    234  
    235         td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; 
    236         if (info_msg.attachments.length > 0) 
    237                 td.innerHTML += "&nbsp<img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/clip.gif' title='"+info_msg.attachments.names+"'>"; 
    238  
    239         if (typeof(info_msg.signature) == 'string') 
    240         {        
    241                 if (info_msg.signature != "void") 
    242                         td.innerHTML += '&nbsp;<img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/signed.gif">'; 
    243                 else 
    244                         td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/invalid.gif'>"; 
    245         } 
    246  
    247         if (info_msg.DispositionNotificationTo) 
    248         { 
    249                 td.innerHTML += '&nbsp;<img style="cursor:pointer" alt="'+ get_lang('Message with read notification') + '" title="'+ get_lang('Message with read notification') + '" src="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/notification.gif">'; 
    250         } 
    251  
    252         // NORMAL MSG 
    253         if(info_msg.Draft != 'X') 
    254         { 
    255                 var options = document.createElement("TD"); 
    256                 options.width = "30%"; 
    257                 options.setAttribute("noWrap","true"); 
    258                 var option_hide_more = document.createElement("SPAN"); 
    259                 option_hide_more.className = 'message_options'; 
    260                 options.align = 'right'; 
    261                 option_hide_more.value = 'more_options'; 
    262                 option_hide_more.id = 'option_hide_more_'+ID; 
    263                 option_hide_more.onclick = function(){ 
    264                         var _height = Element("div_message_scroll_"+ID).style.height; 
    265                         _height = parseInt(_height.replace("px","")); 
    266                         var _offset = 35; 
    267                         if (this.value == 'more_options'){ 
    268                                 this.innerHTML = "<b><u>"+get_lang('hide details')+"</u></b>"; 
    269                                 this.value = 'hide_options'; 
    270                                 Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; 
    271                                 Element('table_message_others_options_'+ID).style.display = ''; 
    272  
    273                         } 
    274                         else{ 
    275                                 this.innerHTML = get_lang('show details'); 
    276                                 this.value = 'more_options'; 
    277                                 Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; 
    278                                 Element('table_message_others_options_'+ID).style.display = 'none'; 
    279                         } 
    280                 }; 
    281                 var option_mark = document.createElement('TD'); 
    282                 option_mark.align = "left"; 
    283                 option_mark.width = "50%"; 
    284  
    285                 var option_mark_as_unseen = '<span class="message_options" onclick="changeLinkState(this,\'seen\');set_messages_flag(\'unseen\','+ 
    286                                                 folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+ 
    287                                                 '.\');">'+get_lang("Unseen")+'</span>, '; 
    288  
    289                 if (info_msg.Flagged == "F") 
    290                         var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'important\');set_messages_flag(\'unflagged\','+ 
    291                                                         folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+ 
    292                                                         '.\');">'+get_lang("Normal")+'</span>'; 
    293                 else 
    294                         var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'normal\');set_messages_flag(\'flagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+ 
    295                                                                     '.\');">'+get_lang("Important")+'</span>'; 
    296                 option_mark.innerHTML = option_mark_as_unseen+option_mark_important; 
    297                 option_hide_more.innerHTML = get_lang('show details'); 
    298                 options.appendChild(option_hide_more); 
    299  
    300                 var space0 = document.createElement("SPAN"); 
    301                 space0.innerHTML = '&nbsp;|&nbsp;'; 
    302                 var space1 = document.createElement("SPAN"); 
    303                 space1.innerHTML = '&nbsp;|&nbsp;'; 
    304                 var space2 = document.createElement("SPAN"); 
    305                 space2.innerHTML = '&nbsp;|&nbsp;'; 
    306                 var space3 = document.createElement("SPAN"); 
    307                 space3.innerHTML = '&nbsp;|&nbsp;'; 
    308                 var space4 = document.createElement("SPAN"); 
    309                 space4.innerHTML = '&nbsp;|&nbsp;'; 
    310  
    311                 var option_forward = document.createElement("SPAN"); 
    312                 option_forward.id = 'msg_opt_forward_'+ID; 
    313                 option_forward.className = 'message_options'; 
    314                 option_forward.onclick = function(){new_message('forward', ID);}; 
    315                 option_forward.innerHTML = get_lang('Forward'); 
    316                 options.appendChild(space1); 
    317                 options.appendChild(option_forward); 
    318                 var option_reply_options = document.createElement("IMG"); 
    319                 option_reply_options.id = 'msg_opt_reply_options_'+ID; 
    320                 option_reply_options.onmouseover = function(){ 
    321                                 option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/over.png'; 
    322                 }; 
    323                 option_reply_options.onmouseout = function(){ 
    324                         if (this.value == 'show') 
    325                         { 
    326                                 option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/down.png'; 
    327                         } 
    328                         else 
    329                         { 
    330                                 option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/pressed.png'; 
    331                         } 
    332                 }; 
    333                 option_reply_options.onclick = function(){ 
    334                         if (this.value == 'show'){ 
    335                                 this.value = 'hide'; 
    336                                 option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/pressed.png'; 
    337                                 Element('tr_other_options_'+ID).style.display = ''; 
    338  
    339                         } 
    340                         else{ 
    341                                 this.value = 'show'; 
    342                                 option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/down.png'; 
    343                                 Element('tr_other_options_'+ID).style.display = 'none'; 
    344                         } 
    345                 }; 
    346                 option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/down.png'; 
    347                 option_reply_options.value = 'show'; 
    348                 var option_reply = document.createElement("SPAN"); 
    349                 option_reply.id = 'msg_opt_reply_'+ID; 
    350                 option_reply.className = 'message_options'; 
    351                 option_reply.onclick = function(){new_message('reply_with_history', ID);}; 
    352                 option_reply.innerHTML = get_lang('Reply'); 
    353                 options.appendChild(space2); 
    354                 options.appendChild(option_reply_options); 
    355                 options.appendChild(option_reply); 
    356  
    357                 tr.appendChild(td); 
    358                 tr.appendChild(option_mark); 
    359                 tr.appendChild(options); 
    360                 tr.appendChild(next_previous_msg_td); 
    361                 tbody_message_options.appendChild(tr); 
    362  
    363                 ////////// OTHER OPTIONS //////////////////// 
    364                 var tr_other_options = document.createElement("TR"); 
    365                 tr_other_options.id = 'tr_other_options_' + ID; 
    366                 tr_other_options.style.display = 'none'; 
    367  
    368                 var td_other_options = document.createElement("TD"); 
    369                 td_other_options.colSpan = '3'; 
    370                 td_other_options.align = 'right'; 
    371                 td_other_options.setAttribute("noWrap","true"); 
    372                 var div_other_options = document.createElement("DIV"); 
    373  
    374                 var option_mark_as      = '<span>'+get_lang("Mark as")+'</span>: '; 
    375                 var option_mark_as_unseen       = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
    376                 var option_mark_as_important                    = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
    377                 var option_mark_as_normal                               = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
    378  
    379                 var option_reply_without_history                = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span>'; 
    380                 var option_reply_to_all                                 = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_to_all_with_history","'+ID+'");>'+get_lang("Reply to all")+'</span> | '; 
    381  
    382                 var option_reply_to_all_without_history = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | </div>'; 
    383  
    384                 div_other_options.innerHTML = option_reply_to_all + option_reply_to_all_without_history + option_reply_without_history; 
    385                 if (use_spam_filter) { 
    386                         if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam') 
    387                                 div_other_options.innerHTML += ' | <span class="reply_options" onclick="nospam('+info_msg.msg_number+',\'null\', \''+info_msg.msg_folder+'\')";>'+get_lang("Not Spam")+'</span>';        
    388                         else 
    389                                 div_other_options.innerHTML += ' | <span class="reply_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\')";>'+get_lang("Mark as Spam")+'</span>';      
    390                 } 
    391  
    392                 td_other_options.appendChild(div_other_options); 
    393                 //td_other_options.innerHTML = option_print + option_reply_to_all + option_source_msg; 
    394  
    395                 tr_other_options.appendChild(td_other_options); 
    396                 tbody_message_options.appendChild(tr_other_options); 
    397                 ////////// END OTHER OPTIONS //////////////// 
    398  
    399                 ////////// BEGIN SIGNATURE ////////////////// 
    400                 if (info_msg.signature && info_msg.signature.length > 0) 
    401                 { 
     172        return next_previous_msg_td; 
     173 
     174} 
     175 
     176function putSignature(ID,info_msg){ 
    402177                        var tr_signature = document.createElement("TR"); 
    403178                        var td_signature = document.createElement("TD"); 
     
    442217 
    443218                        tr_signature.appendChild(td_signature); 
    444                         tbody_message_options.appendChild(tr_signature); 
     219                        return tr_signature; 
    445220                        /******************************************* Old signature   ***********************************************/ 
    446221                        //if (info_msg.signature != "void") 
     
    449224                        //      td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='"+tpl_img_path+"/invalid.gif'>"; 
    450225                        /*****************************************                                                                                                                      ********/ 
    451                 } 
    452                 //////////// END SIGNATURE //////////////// 
     226} 
     227 
     228 
     229function draw_message(info_msg, ID){ 
     230        var content = document.getElementById('content_id_' + ID); 
     231        var defaultWidth = document.body.offsetWidth - 37; 
     232 
     233        var menuHidden = Element("folderscol").style.display == 'none' ? true : false; 
     234        if(!menuHidden) 
     235                defaultWidth -= Element("folderscol").offsetWidth; 
     236 
     237        var folder_id = 0; 
     238        folder_id = info_msg.original_ID ? info_msg.original_ID: info_msg.msg_number; 
     239        var folder = document.getElementById(folder_id); 
     240        if (!folder){ 
     241                delete_border(ID); 
     242                return; 
     243        } 
     244 
     245        var next_previous_msg_td = createNxtPrevButtons(info_msg,ID,folder_id); 
     246        if (typeof(next_previous_msg_td) == 'undefined') 
     247                return; 
     248 
     249        var table_message = createAndSet("TABLE",['border','width'],["0",defaultWidth]); 
     250        var tbody_message = document.createElement("TBODY"); 
     251 
     252        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
     253        //Make the options message. 
     254        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
     255        var tr0 = document.createElement("TR"); 
     256        tr0.className = "tr_message_header"; 
     257        var td0 = document.createElement("TD"); 
     258        var table_message_options = createAndSet("TABLE",['border','width','class'],["0","100%",'table_message']); 
     259        var tbody_message_options = document.createElement("TBODY"); 
     260        var tr = document.createElement("TR"); 
     261        var td = document.createElement("TD"); 
     262        td.setAttribute("noWrap","true"); 
     263        var _name = ''; 
     264        var _maxChar = menuHidden ? 40 : 15; 
     265 
     266        if (info_msg.from.name) 
     267        { 
     268                var spanName = document.createElement("SPAN"); 
     269                spanName.innerHTML = info_msg.from.name; 
     270                _name = spanName.innerHTML.length > _maxChar ? spanName.innerHTML.substring(0,_maxChar) + "..." : spanName.innerHTML; 
     271        } 
     272        else 
     273                _name = info_msg.from.email.length > _maxChar ? info_msg.from.email.substring(0,_maxChar) + "..." : info_msg.from.email; 
     274 
     275        td.innerHTML = _name.bold() + ', ' + info_msg.smalldate; 
     276        if (info_msg.attachments.length > 0) 
     277                td.innerHTML += "&nbsp<img style='cursor:pointer' onclick='javascript:Element(\"option_hide_more_"+ID+"\").onclick()' src ='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/clip.gif' title='"+info_msg.attachments.names+"'>"; 
     278 
     279        if (typeof(info_msg.signature) == 'string') 
     280        { 
     281                if (info_msg.signature != "void") 
     282                        td.innerHTML += '&nbsp;<img style="cursor:pointer" onclick="alert(\''+ get_lang("This message is signed, and you can trust.") + info_msg.signature +'\');" src="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/signed.gif">'; 
     283                else 
     284                        td.innerHTML += "&nbsp;<img style='cursor:pointer' onclick='alert(\""+get_lang("This message is signed, but it is invalid. You should not trust on it.")+"\");' title='"+get_lang("Voided message")+"' src='" + URL_SERVER + "expressoMail1_2/templates/"+template+"/images/invalid.gif'>"; 
     285        } 
     286 
     287        if (info_msg.DispositionNotificationTo) 
     288        { 
     289                td.innerHTML += '&nbsp;<img style="cursor:pointer" alt="'+ get_lang('Message with read notification') + '" title="'+ get_lang('Message with read notification') + '" src="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/notification.gif">'; 
     290        } 
     291 
     292        // NORMAL MSG 
     293        if(info_msg.Draft != 'X') 
     294        { 
     295                var options = createAndSet("TD",['noWrap','width','align'],['true','30%','right']); 
     296                var option_hide_more = createAndSet("SPAN",['class','value','id'],['message_options','more_options','option_hide_more_'+ID],get_lang('show details')); 
     297                option_hide_more.onclick = function(){ 
     298                        var _height = Element("div_message_scroll_"+ID).style.height; 
     299                        _height = parseInt(_height.replace("px","")); 
     300                        var _offset = 35; 
     301                        if (this.value == 'more_options'){ 
     302                                this.innerHTML = "<b><u>"+get_lang('hide details')+"</u></b>"; 
     303                                this.value = 'hide_options'; 
     304                                Element("div_message_scroll_"+ID).style.height = (_height - _offset)+"px"; 
     305                                Element('table_message_others_options_'+ID).style.display = ''; 
     306 
     307                        } 
     308                        else{ 
     309                                this.innerHTML = get_lang('show details'); 
     310                                this.value = 'more_options'; 
     311                                Element("div_message_scroll_"+ID).style.height = (_height + _offset)+"px"; 
     312                                Element('table_message_others_options_'+ID).style.display = 'none'; 
     313                        } 
     314                }; 
     315                var option_mark = createAndSet("TD",['width','align'],['50%','left']); 
     316 
     317                var option_mark_as_unseen = '<span class="message_options" onclick="changeLinkState(this,\'seen\');set_messages_flag(\'unseen\','+ 
     318                                                folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+ 
     319                                                '.\');">'+get_lang("Unseen")+'</span>, '; 
     320 
     321                if (info_msg.Flagged == "F") 
     322                        var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'important\');set_messages_flag(\'unflagged\','+ 
     323                                                        folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+ 
     324                                                        '.\');">'+get_lang("Normal")+'</span>'; 
     325                else 
     326                        var option_mark_important = '<span class="message_options" onclick="changeLinkState(this,\'normal\');set_messages_flag(\'flagged\','+folder_id+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+ 
     327                                                                    '.\');">'+get_lang("Important")+'</span>'; 
     328                option_mark.innerHTML = option_mark_as_unseen+option_mark_important; 
     329 
     330                var option_forward = createAndSet("SPAN",['id','class'],['msg_opt_forward_'+ID, 'message_options'],get_lang('Forward')); 
     331                option_forward.onclick = function(){new_message('forward', ID);}; 
     332                appendChilds(options,option_hide_more,createAndSet('SPAN',false,false,'&nbsp;|&nbsp;'),option_forward); 
     333                var option_reply_options = createAndSet("IMG",['id', 'src', 'value'],['msg_opt_reply_options_'+ID,URL_SERVER+'expressoMail1_2/templates/default/images/down.png','show']); 
     334                option_reply_options.onmouseover = function(){ 
     335                                option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/over.png'; 
     336                }; 
     337                option_reply_options.onmouseout = function(){ 
     338                        if (this.value == 'show') 
     339                        { 
     340                                option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/down.png'; 
     341                        } 
     342                        else 
     343                        { 
     344                                option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/pressed.png'; 
     345                        } 
     346                }; 
     347                option_reply_options.onclick = function(){ 
     348                        if (this.value == 'show'){ 
     349                                this.value = 'hide'; 
     350                                option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/pressed.png'; 
     351                                Element('tr_other_options_'+ID).style.display = ''; 
     352 
     353                        } 
     354                        else{ 
     355                                this.value = 'show'; 
     356                                option_reply_options.src= URL_SERVER+'expressoMail1_2/templates/default/images/down.png'; 
     357                                Element('tr_other_options_'+ID).style.display = 'none'; 
     358                        } 
     359                }; 
     360 
     361                var _option_reply = createAndSet("SPAN",['id','class'],['msg_opt_reply_'+ID,'message_options'],get_lang('Reply')); 
     362                _option_reply.onclick = function(){new_message('reply_with_history', ID);}; 
     363 
     364                appendChilds(options,createAndSet('SPAN',false,false,'&nbsp;|&nbsp;'),option_reply_options,_option_reply); 
     365                appendChilds(tr,td,option_mark,options,next_previous_msg_td); 
     366                tbody_message_options.appendChild(tr); 
     367 
     368                ////////// OTHER OPTIONS //////////////////// 
     369                var _tr_other_options = createAndSet("TR",['id'],['tr_other_options_' + ID]); 
     370                _tr_other_options.style.display = 'none'; 
     371 
     372                var div_other_options = document.createElement("DIV"); 
     373 
     374                var option_mark_as      = '<span>'+get_lang("Mark as")+'</span>: '; 
     375                var option_mark_as_unseen       = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unseen\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Unseen")+'.\');">'+get_lang("Unseen")+'</span>, '; 
     376                var option_mark_as_important                    = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'flagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Important")+'.\');">'+get_lang("Important")+'</span>, '; 
     377                var option_mark_as_normal                               = '<span class="message_options" onclick="proxy_mensagens.proxy_set_messages_flag(\'unflagged\','+info_msg.msg_number+');write_msg(\''+get_lang('Message marked as ')+get_lang("Normal")+'.\');">'+get_lang("Normal")+'</span> | '; 
     378 
     379                var option_reply_without_history                = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_without_history","'+ID+'");>'+get_lang("Reply without history")+'</span>'; 
     380                var option_reply_to_all                                 = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_to_all_with_history","'+ID+'");>'+get_lang("Reply to all")+'</span> | '; 
     381 
     382                var option_reply_to_all_without_history = '<span onmouseover="this.className=\'reply_options_active\'" onmouseout="this.className=\'reply_options\'" class="reply_options" onclick=new_message("reply_to_all_without_history","'+ID+'");>'+get_lang("Reply to all without history")+'</span> | </div>'; 
     383 
     384                div_other_options.innerHTML = option_reply_to_all + option_reply_to_all_without_history + option_reply_without_history; 
     385                if (use_spam_filter) { 
     386                        if(info_msg.msg_folder == 'INBOX'+cyrus_delimiter+'Spam') 
     387                                div_other_options.innerHTML += ' | <span class="reply_options" onclick="nospam('+info_msg.msg_number+',\'null\', \''+info_msg.msg_folder+'\')";>'+get_lang("Not Spam")+'</span>'; 
     388                        else 
     389                                div_other_options.innerHTML += ' | <span class="reply_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\')";>'+get_lang("Mark as Spam")+'</span>'; 
     390                } 
     391 
     392                var td_other_options = createAndSet("TD",['colSpan','align','noWrap'],['3','right','true']); 
     393                td_other_options.appendChild(div_other_options); 
     394 
     395                _tr_other_options.appendChild(td_other_options); 
     396                tbody_message_options.appendChild(_tr_other_options); 
     397                ////////// END OTHER OPTIONS //////////////// 
     398 
     399                if (info_msg.signature && info_msg.signature.length > 0) 
     400                { 
     401                        tbody_message_options.appendChild(putSignature(ID,info_msg)); 
     402                } 
    453403 
    454404                table_message_options.appendChild(tbody_message_options); 
     
    459409        else    // IF DRAFT 
    460410        { 
    461                 var options = document.createElement("TD"); 
    462                 options.width = "1%"; 
    463                 options.setAttribute("noWrap","true"); 
    464                 var option_edit   = document.createElement("SPAN"); 
    465                 option_edit.className = 'message_options'; 
    466                 option_edit.innerHTML = get_lang('Edit'); 
    467                 option_edit.onclick= function () { new_message('edit',ID); }; 
    468                 var separator = document.createElement("SPAN"); 
    469                 separator.innerHTML = "&nbsp;|&nbsp;"; 
    470                 var option_hide_more = document.createElement("SPAN"); 
    471                 option_hide_more.className = 'message_options'; 
    472                 options.align = 'right'; 
    473                 option_hide_more.value = 'more_options'; 
    474                 option_hide_more.id = 'option_hide_more_'+ID; 
    475                 option_hide_more.innerHTML = get_lang('Show details'); 
     411                var options = createAndSet('TD',['width','noWrap','align'],['1%','true','right']); 
     412                var option_hide_more = createAndSet("SPAN",['class','value','id'],['message_options','more_options','option_hide_more_'+ID],get_lang('Show details')); 
    476413                option_hide_more.onclick = function(){ 
    477414                        var _height = Element("div_message_scroll_"+ID).style.height; 
     
    491428                        } 
    492429                }; 
    493                 options.appendChild(option_hide_more); 
    494                 options.appendChild(separator); 
    495                 options.appendChild(option_edit); 
    496                 tr.appendChild(td); 
    497                 tr.appendChild(options); 
    498                 tr.appendChild(next_previous_msg_td); 
    499                 tbody_message_options.appendChild(tr); 
     430                var option_edit = createAndSet('SPAN',['class'],['message_options'], get_lang('Edit')); 
     431                option_edit.onclick= function () { new_message('edit',ID); }; 
     432                appendChilds(options, option_hide_more, createAndSet('SPAN',false,false,"&nbsp;|&nbsp;"), option_edit); 
     433 
     434                tbody_message_options.appendChild(appendChilds(tr, td, options, next_previous_msg_td)); 
    500435                table_message_options.appendChild(tbody_message_options); 
    501436                td0.appendChild(table_message_options); 
     
    507442        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
    508443 
    509         var table_message_others_options = document.createElement("TABLE"); 
    510         table_message_others_options.id = 'table_message_others_options_' + ID; 
    511         table_message_others_options.width =  defaultWidth - 30; 
     444        var table_message_others_options = createAndSet("TABLE",['id','width','class'],['table_message_others_options_' + ID,defaultWidth - 30,'table_message']); 
    512445        table_message_others_options.style.display = 'none'; 
    513         table_message_others_options.className = "table_message"; 
    514446        var tbody_message_others_options = document.createElement("TBODY"); 
    515447        var tr1 = document.createElement("TR"); 
    516448        tr1.className = "tr_message_header"; 
    517         var td1 = document.createElement("TD"); 
    518         td1.innerHTML = get_lang("From: "); 
     449        var td1 = createAndSet('TD',['width'],['7%'],get_lang("From: ")); 
    519450        td1.appendChild(deny_email(info_msg.from.email)); 
    520         td1.width = "7%"; 
    521451 
    522452        if (info_msg.sender){ 
    523453                var tr111 = document.createElement("TR"); 
    524454                tr111.className = "tr_message_header"; 
    525                 var td111 = document.createElement("TD"); 
    526                 td111.innerHTML = get_lang("Sent by")+": "; 
     455                var td111 = createAndSet('TD',['noWrap'],['true'],get_lang("Sent by")+": "); 
    527456                td111.appendChild(deny_email(info_msg.sender.email)); 
    528                 td111.setAttribute("noWrap","true"); 
    529457                var sender = document.createElement("TD"); 
     458                sender.className = "header_message_field"; 
    530459                sender.id = "sender_"+ID; 
    531                 var sender_values = document.createElement("INPUT"); 
    532                 sender_values.id = "sender_values_"+ID; 
    533                 sender_values.type = "HIDDEN"; 
    534                 sender_values.value = info_msg.sender.full; //Veio do IMAP, sem images nem links. 
    535460                sender.innerHTML += draw_plugin_cc(ID, info_msg.sender.full); 
    536                 sender.className = "header_message_field"; 
    537                 tr111.appendChild(td111); 
    538                 tr111.appendChild(sender); 
    539                 tr111.appendChild(sender_values); 
    540                 tbody_message_others_options.appendChild(tr111); 
    541         } 
    542  
    543         var from = document.createElement("TD"); 
    544         from.id = "from_"+ID; 
    545         from.innerHTML = info_msg.from.full; 
     461                var sender_values = createAndSet("INPUT",['id','type','value'],["sender_values_"+ID,"HIDDEN",info_msg.sender.full]); 
     462 
     463                tbody_message_others_options.appendChild(appendChilds(tr111, td111, sender, sender_values)); 
     464        } 
     465 
     466        var from = createAndSet('TD',['id','class'],["from_"+ID,"header_message_field"],info_msg.from.full); 
     467 
    546468        if (info_msg.Draft != "X"){ 
    547469                from.innerHTML += draw_plugin_cc(ID, info_msg.from); 
    548470                tbody_message_others_options.appendChild(tr1); 
    549471        } 
    550         from.className = "header_message_field"; 
    551         var from_values = document.createElement("INPUT"); 
    552         from_values.id = "from_values_"+ID; 
    553         from_values.type = "HIDDEN"; 
    554         from_values.value = info_msg.from.full; //Veio do IMAP, sem images nem links. 
     472        var from_values = createAndSet('INPUT',['id','type','value'],["from_values_"+ID,"HIDDEN",info_msg.from.full]); 
    555473 
    556474        var local_message = document.createElement("INPUT"); 
     
    560478        local_message.value = (info_msg.local_message)?"1":"0"; 
    561479 
    562         tr1.appendChild(td1); 
    563         tr1.appendChild(from); 
    564         tr1.appendChild(from_values); 
    565         tr1.appendChild(local_message); 
    566  
    567  
     480        appendChilds(tr1,td1,from,from_values,local_message); 
    568481 
    569482        if (info_msg.reply_to){ 
     
    582495                reply_to.innerHTML = draw_plugin_cc(ID, info_msg.reply_to); 
    583496                reply_to.className = "header_message_field"; 
    584                 tr11.appendChild(td11); 
    585                 tr11.appendChild(reply_to); 
    586                 tr11.appendChild(reply_to_values); 
    587                 tbody_message_others_options.appendChild(tr11); 
     497                tbody_message_others_options.appendChild(appendChilds(tr11,td11,reply_to,reply_to_values)); 
    588498        } 
    589499        ////////////////////////////////////////////////////////////////////////////////////////////////////// 
     
    615525                div_toaddress.style.display=""; 
    616526                div_toaddress.innerHTML += " (<a STYLE='color: RED;' onclick=javascript:show_div_address_full('"+ID+"','to');>"+get_lang('more')+"</a>)"; 
    617                 to.appendChild(div_toaddress);           
     527                to.appendChild(div_toaddress); 
    618528        } 
    619529        else { 
     
    621531        } 
    622532        to.className = "header_message_field"; 
    623         tr2.appendChild(td2); 
    624         tr2.appendChild(to); 
    625         tr2.appendChild(to_values); 
    626         tbody_message_others_options.appendChild(tr2); 
     533        tbody_message_others_options.appendChild(appendChilds(tr2,td2,to,to_values)); 
    627534 
    628535        if (info_msg.cc){ 
     
    654561                } 
    655562                cc.className = "header_message_field"; 
    656                 tr3.appendChild(td3); 
    657                 tr3.appendChild(cc); 
    658                 tr3.appendChild(cc_values); 
    659                 tbody_message_others_options.appendChild(tr3); 
     563                tbody_message_others_options.appendChild(appendChilds(tr3,td3,cc,cc_values)); 
    660564        } 
    661565 
     
    707611                } 
    708612                cco.className = "header_message_field"; 
    709                 tr3.appendChild(td3); 
    710                 tr3.appendChild(cco); 
    711                 tr3.appendChild(cco_values); 
    712                 tbody_message_others_options.appendChild(tr3); 
     613                tbody_message_others_options.appendChild(appendChilds(tr3,td3,cco,cco_values)); 
    713614        } 
    714615 
     
    729630        date_hour.value = info_msg.msg_hour; 
    730631        date.className = "header_message_field"; 
    731         tr4.appendChild(td4); 
    732         tr4.appendChild(date); 
    733         tr4.appendChild(date_day); 
    734         tr4.appendChild(date_hour); 
    735         tbody_message_others_options.appendChild(tr4); 
     632        tbody_message_others_options.appendChild(appendChilds(tr4,td4,date,date_day,date_hour)); 
    736633 
    737634        var tr5 = document.createElement("TR"); 
     
    743640        subject.innerHTML = info_msg.subject; 
    744641        subject.className = "header_message_field"; 
    745         tr5.appendChild(td5); 
    746         tr5.appendChild(subject); 
    747         tbody_message_others_options.appendChild(tr5); 
     642        tbody_message_others_options.appendChild(appendChilds(tr5,td5,subject)); 
    748643        if (info_msg.attachments.length > 0){ 
    749644                var tr6 = document.createElement("TR"); 
     
    805700                                var space = document.createElement("span"); 
    806701                                space.innerHTML = "&nbsp;"; 
    807                                 attachments.appendChild(link_attachment); 
    808                                 attachments.appendChild(space); 
    809                                 attachments.appendChild(link_import_attachment); 
     702                                appendChilds(attachments,link_attachment,space,link_import_attachment); 
    810703                        } 
    811704                        else { 
     
    834727        // END MAKE THE SCROLL HEIGHT 
    835728        table_message_others_options.appendChild(tbody_message_others_options); 
     729        div.appendChild(table_message_others_options); 
     730 
    836731        var tr = document.createElement("TR"); 
    837732        var td = document.createElement("TD"); 
    838733        td.colSpan = '2'; 
    839         div.appendChild(table_message_others_options); 
     734 
    840735        var imgTag = info_msg.body.match(/(<img[^>]*src[^>=]*=['"]?[^'">]*["']?[^>]*>)|(<[^>]*(style[^=>]*=['"][^>]*background(-image)?:[^:;>]*url\()[^>]*>)/gi); 
    841736 
     
    883778        tr.appendChild(td); 
    884779        tbody_message.appendChild(tr); 
    885  
    886780 
    887781        //////////////////////////////////////////////////////////////////////////////////////////////////////   
  • trunk/expressoMail1_2/js/jscode/filter.js

    r2673 r2694  
    575575                                        return false; 
    576576                                }else{ 
    577                                         var emailReg = /^[a-z][a-z-_0-9\.]+@[a-z-_=>0-9\.]+\.[a-z]{2,3}$/i 
    578                                 if(emailReg.test(Element("field5").value)){ 
     577                                if(validateEmail(Element("field5").value)){ 
    579578                                                mount_rule += Element("field5").value + "&&"; 
    580579                                        }else{ 
  • trunk/phpgwapi/js/expressoAjax/dom.js

    r2682 r2694  
    9797} 
    9898 
     99function createAndSet(elemType,attributes,values,innerCode){ 
     100        var elem = document.createElement(elemType); 
     101        for(i=0; i < attributes.length; i++){ 
     102                elem.setAttribute(attributes[i],values[i]); 
     103        } 
     104        if(typeof(innerCode) != 'undefined') 
     105                elem.innerHTML = innerCode; 
     106        return elem; 
     107} 
     108 
     109function appendChilds(elem){ 
     110        for(i = 1; typeof(arguments[i]) != 'undefined'; i++) 
     111                elem.appendChild(arguments[i]); 
     112        return elem; 
     113} 
     114 
    99115function removeAll(id){ 
    100116        do 
Note: See TracChangeset for help on using the changeset viewer.