source: branches/2.5/expressoMail1_2/js/shortcut.js @ 8081

Revision 8081, 23.3 KB checked in by douglas, 11 years ago (diff)

Ticket #3406 - Problema ao apertar delete para excluir uma caixa de email

  • Property svn:eol-style set to native
Line 
1/**
2 * http://www.openjs.com/scripts/events/keyboard_shortcuts/
3 * Version : 2.01.A
4 * By Binny V A
5 * License : BSD
6 */
7shortcut = {
8        'all_shortcuts':{},//All the shortcuts are stored in this array
9    'disabled': false,
10        'add': function(shortcut_combination,callback,opt) {
11                //Provide a set of default options
12                var default_options = {
13                        'type':'keydown',
14                        'propagate':false,
15                        'disable_in_input':false,
16                        'target':document,
17                        'keycode':false
18                }
19                if(!opt) opt = default_options;
20                else {
21                        for(var dfo in default_options) {
22                                if(typeof opt[dfo] == 'undefined') opt[dfo] = default_options[dfo];
23                        }
24                }
25               
26                var ele = opt.target;
27                if(typeof opt.target == 'string') ele = document.getElementById(opt.target);
28                var ths = this;
29                shortcut_combination = shortcut_combination.toLowerCase();
30
31                //The function to be called at keypress
32                var func = function(e) {
33                        e = e || window.event;
34                       
35                        if(opt['disable_in_input']) { //Don't enable shortcut keys in Input, Textarea fields
36                                var element;
37                                if(e.target) element=e.target;
38                                else if(e.srcElement) element=e.srcElement;
39                                if(element.nodeType==3) element=element.parentNode;
40               
41                                if(element.tagName == 'INPUT' || element.tagName == 'TEXTAREA') return;
42                        }
43         
44            if(shortcut.disabled === true)
45                return;
46
47
48                        //Find Which key is pressed
49                        if (e.keyCode) code = e.keyCode;
50                        else if (e.which) code = e.which;
51                        var character = String.fromCharCode(code).toLowerCase();
52                       
53                        if(code == 188) character=","; //If the user presses , when the type is onkeydown
54                        if(code == 190) character="."; //If the user presses , when the type is onkeydown
55       
56                        var keys = shortcut_combination.split("+");
57                        //Key Pressed - counts the number of valid keypresses - if it is same as the number of keys, the shortcut function is invoked
58                        var kp = 0;
59                       
60                        //Work around for stupid Shift key bug created by using lowercase - as a result the shift+num combination was broken
61                        var shift_nums = {
62                                "`":"~",
63                                "1":"!",
64                                "2":"@",
65                                "3":"#",
66                                "4":"$",
67                                "5":"%",
68                                "6":"^",
69                                "7":"&",
70                                "8":"*",
71                                "9":"(",
72                                "0":")",
73                                "-":"_",
74                                "=":"+",
75                                ";":":",
76                                "'":"\"",
77                                ",":"<",
78                                ".":">",
79                                "/":"?",
80                                "\\":"|"
81                        }
82                        //Special Keys - and their codes
83                        var special_keys = {
84                                'esc':27,
85                                'escape':27,
86                                'tab':9,
87                                'space':32,
88                                'return':13,
89                                'enter':13,
90                                'backspace':8,
91       
92                                'scrolllock':145,
93                                'scroll_lock':145,
94                                'scroll':145,
95                                'capslock':20,
96                                'caps_lock':20,
97                                'caps':20,
98                                'numlock':144,
99                                'num_lock':144,
100                                'num':144,
101                               
102                                'pause':19,
103                                'break':19,
104                               
105                                'insert':45,
106                                'home':36,
107                                'delete':46,
108                                'end':35,
109                               
110                                'pageup':33,
111                                'page_up':33,
112                                'pu':33,
113       
114                                'pagedown':34,
115                                'page_down':34,
116                                'pd':34,
117       
118                                'left':37,
119                                'up':38,
120                                'right':39,
121                                'down':40,
122       
123                                'f1':112,
124                                'f2':113,
125                                'f3':114,
126                                'f4':115,
127                                'f5':116,
128                                'f6':117,
129                                'f7':118,
130                                'f8':119,
131                                'f9':120,
132                                'f10':121,
133                                'f11':122,
134                                'f12':123
135                        }
136       
137                        var modifiers = {
138                                shift: {wanted:false, pressed:false},
139                                ctrl : {wanted:false, pressed:false},
140                                alt  : {wanted:false, pressed:false},
141                                meta : {wanted:false, pressed:false}    //Meta is Mac specific
142                        };
143                       
144                        if(e.ctrlKey)   modifiers.ctrl.pressed = true;
145                        if(e.shiftKey)  modifiers.shift.pressed = true;
146                        if(e.altKey)    modifiers.alt.pressed = true;
147                        if(e.metaKey)   modifiers.meta.pressed = true;
148                       
149                        for(var i=0; k=keys[i],i<keys.length; i++) {
150                                //Modifiers
151                                if(k == 'ctrl' || k == 'control') {
152                                        kp++;
153                                        modifiers.ctrl.wanted = true;
154
155                                } else if(k == 'shift') {
156                                        kp++;
157                                        modifiers.shift.wanted = true;
158
159                                } else if(k == 'alt') {
160                                        kp++;
161                                        modifiers.alt.wanted = true;
162                                } else if(k == 'meta') {
163                                        kp++;
164                                        modifiers.meta.wanted = true;
165                                } else if(k.length > 1) { //If it is a special key
166                                        if(special_keys[k] == code) kp++;
167                                       
168                                } else if(opt['keycode']) {
169                                        if(opt['keycode'] == code) kp++;
170
171                                } else { //The special keys did not match
172                                        if(character == k) kp++;
173                                        else {
174                                                if(shift_nums[character] && e.shiftKey) { //Stupid Shift key bug created by using lowercase
175                                                        character = shift_nums[character];
176                                                        if(character == k) kp++;
177                                                }
178                                        }
179                                }
180                        }
181
182                        if(kp == keys.length &&
183                                                modifiers.ctrl.pressed == modifiers.ctrl.wanted &&
184                                                modifiers.shift.pressed == modifiers.shift.wanted &&
185                                                modifiers.alt.pressed == modifiers.alt.wanted &&
186                                                modifiers.meta.pressed == modifiers.meta.wanted) {
187                                callback(e);
188       
189                                if(!opt['propagate']) { //Stop the event
190                                        //e.cancelBubble is supported by IE - this will kill the bubbling process.
191                                        if ( Element('border_id_0') && Element('border_id_0').className != 'menu-sel' ){
192                                                return false;
193                                        }
194                                        e.cancelBubble = true;
195                                        e.returnValue = false;
196       
197                                       
198                                        //e.stopPropagation works in Firefox.
199                                        if (e.stopPropagation) {
200                                        if ( Element('border_id_0') && Element('border_id_0').className != 'menu-sel' ){
201                                                return false;
202                                        }
203                                               
204                                                e.stopPropagation();
205                                                e.preventDefault();
206                                        }
207                                        return false;
208                                }
209                               
210                        }
211                }
212                this.all_shortcuts[shortcut_combination] = {
213                        'callback':func,
214                        'target':ele,
215                        'event': opt['type']
216                };
217                //Attach the function with the event
218                if(ele.addEventListener) ele.addEventListener(opt['type'], func, false);
219                else if(ele.attachEvent) ele.attachEvent('on'+opt['type'], func);
220                else ele['on'+opt['type']] = func;
221        },
222
223        //Remove the shortcut - just specify the shortcut and I will remove the binding
224        'remove':function(shortcut_combination) {
225                shortcut_combination = shortcut_combination.toLowerCase();
226                var binding = this.all_shortcuts[shortcut_combination];
227                delete(this.all_shortcuts[shortcut_combination])
228                if(!binding) return;
229                var type = binding['event'];
230                var ele = binding['target'];
231                var callback = binding['callback'];
232
233                if(ele.detachEvent) ele.detachEvent('on'+type, callback);
234                else if(ele.removeEventListener) ele.removeEventListener(type, callback, false);
235                else ele['on'+type] = false;
236        }
237}
238
239/* ExpressMail Functions */
240
241var shift_up_count = 0;
242var shift_down_count = 0;
243var selMessageShortcut = "";
244
245shortcut.add("N",function(e)
246{
247        // avoids problem related at ticket #1011
248        e.preventDefault();
249        var search_in_focus = false;
250        var search_win = document.getElementById( 'QuickCatalogSearch_window_QuickCatalogSearch' );
251        if ( search_win && search_win.style.visibility != 'hidden' )
252                search_in_focus = true;
253
254        if ( ! search_in_focus )
255                new_message("new","null");
256},{'disable_in_input':true});
257
258shortcut.add("Esc",function(){
259        var window_closed = false;
260        var search_win = document.getElementById( 'window_QuickCatalogSearch' );
261       
262        if ($('.ZebraDialog.custom-zebra-filter').css('visibility') != 'visible')
263                delete_border(get_msg_id(), 'false');
264 },{'disable_in_input':false});
265
266shortcut.add("I",function(){print_all();},{'disable_in_input':true});
267shortcut.add("E",function(e){ if(e.preventDefault) e.preventDefault(); else event.returnValue = false; setTimeout(function(){exec_msg_action('forward');},50);},{'disable_in_input':true});
268shortcut.add("R",function(e){ if(e.preventDefault) e.preventDefault(); else event.returnValue = false; setTimeout(function(){exec_msg_action('reply');},50);},{'disable_in_input':true});
269shortcut.add("T",function(e){ if(e.preventDefault) e.preventDefault(); else event.returnValue = false; setTimeout(function(){var msg_id = get_msg_id(); if(msg_id) new_message("reply_to_all_with_history",msg_id);},50);},{'disable_in_input':true});
270shortcut.add("O",function(e){ if(e.preventDefault) e.preventDefault(); else event.returnValue = false; show_head_option();},{'disable_in_input':true});
271shortcut.add("M",function(e){ if(e.preventDefault) e.preventDefault(); else event.returnValue = false; show_address_full();},{'disable_in_input':true});
272
273shortcut.add("Delete",function(e){
274        if(currentTab == 0){
275                proxy_mensagens.delete_msgs(current_folder, get_selected_messages(), 'null');
276        }else{
277                if (e.target.className.indexOf("box") == -1)
278                        proxy_mensagens.delete_msgs(openTab.imapBox[currentTab], currentTab.substring(0, selMessageShortcut.indexOf("_r")), 'null');
279        }
280}
281,{'disable_in_input':true});
282
283shortcut.add("Ctrl+Up",function(){exec_msg_action('previous');/*select_msg('null', 'up');*/},{'disable_in_input':true});
284shortcut.add("Ctrl+Down",function(){exec_msg_action('next');/*select_msg('null', 'down');*/},{'disable_in_input':true});
285
286if (is_ie || is_webkit)
287{
288//**********************
289shortcut.add('up', function(e)
290{
291    if(currentTab == 0){
292        $(".selected_shortcut_msg").removeClass("selected_shortcut_msg");
293        if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length)
294            $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg");
295        $(".current_selected_shortcut_msg").addClass("selected_shortcut_msg").focus();
296    }
297},{'disable_in_input':true});
298
299
300shortcut.add('down', function(e)
301{
302    if(currentTab == 0){
303        $(".selected_shortcut_msg").removeClass("selected_shortcut_msg");
304        if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length)
305            $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg");
306        $(".current_selected_shortcut_msg").addClass("selected_shortcut_msg").focus();
307    }
308},{'disable_in_input':true});
309
310shortcut.add('space', function(e)
311{
312    if(currentTab == 0){
313        var allchecked = true;
314        $.each( $(".selected_shortcut_msg"), function(index, value){
315            if($(value).find(":checkbox").attr("checked") == undefined){
316                allchecked = false;
317            }
318        });
319        if(allchecked){
320            $(".selected_shortcut_msg").removeClass("selected_msg").find('input[type="checkbox"]').removeAttr("checked");
321        }else{
322            //$(".current_selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true);
323            $(".selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true);
324        }
325        $.each( $(".selected_shortcut_msg"), function(index, value){
326            updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id"));
327        });
328        $(".current_selected_shortcut_msg").focus();
329    }
330},{'disable_in_input':true});
331
332//****************
333
334shortcut.add("Shift+down",function()
335{   
336    if(currentTab == 0){           
337        //$(".selected_shortcut_msg").removeClass("selected_shortcut_msg");
338        if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length)
339            if($(".current_selected_shortcut_msg").next().hasClass("selected_shortcut_msg"))
340                $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg");
341            else
342                $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg");
343        $(".current_selected_shortcut_msg").focus();
344    }
345},{'disable_in_input':true, 'propagate':false});
346
347shortcut.add("Shift+up",function(){
348    if(currentTab == 0){           
349        //$(".selected_shortcut_msg").removeClass("selected_shortcut_msg");
350        if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length)
351            if($(".current_selected_shortcut_msg").prev().hasClass("selected_shortcut_msg"))
352                $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg");
353            else
354                $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg");
355        $(".current_selected_shortcut_msg").focus();
356    }
357},{'disable_in_input':true, 'propagate':false});
358}
359else
360{
361    shortcut.add("Up",function(){
362        if (currentTab == 0){
363                $(".selected_shortcut_msg").removeClass("selected_shortcut_msg");
364                if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length)
365                    $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg");
366                $(".current_selected_shortcut_msg").focus();
367        }
368    },{'disable_in_input':true});
369
370    shortcut.add("Down",function(){
371        if (currentTab == 0){
372                $(".selected_shortcut_msg").removeClass("selected_shortcut_msg");
373                if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length)
374                    $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg");
375                $(".current_selected_shortcut_msg").focus();
376        }
377    },{'disable_in_input':true});
378
379    shortcut.add("Shift+down",function(){
380        if(currentTab == 0){           
381            if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length)
382                if($(".current_selected_shortcut_msg").next().hasClass("selected_shortcut_msg"))
383                    $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg");
384                else
385                    $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg");
386            $(".current_selected_shortcut_msg").focus();
387        }
388    },{'type':'keypress','disable_in_input':true, 'propagate':false});
389
390    shortcut.add("Shift+up",function(){
391        if(currentTab == 0){           
392            if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length)
393                if($(".current_selected_shortcut_msg").prev().hasClass("selected_shortcut_msg"))
394                    $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg");
395                else
396                    $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg");
397            $(".current_selected_shortcut_msg").focus();
398        }
399    },{'type':'keypress', 'disable_in_input':true, 'propagate':false});
400    shortcut.add('Space', function(e)
401    {
402        if(currentTab == 0){
403            var allchecked = true;
404            $.each( $(".selected_shortcut_msg"), function(index, value){
405                if($(value).find(":checkbox").attr("checked") == undefined){
406                    allchecked = false;
407                }
408            });
409            if(allchecked){
410               
411                $(".selected_shortcut_msg").removeClass("selected_msg").find('input[type="checkbox"]').removeAttr("checked");
412            }else{
413                //$(".current_selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true);
414                $(".selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true);
415            }
416
417            $.each( $(".selected_shortcut_msg"), function(index, value){
418                updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id"));
419            });
420        }
421    },{'disable_in_input':true});
422}
423
424shortcut.add("return",function(){
425    if ( Element('border_id_0').className==='menu-sel' )
426    {
427        all_messages = Element('tbody_box').childNodes;
428        for (var i=0; i < all_messages.length; i++)
429        {
430            if ( exist_className(all_messages[i], 'selected_shortcut_msg') )
431            {
432                Element("td_from_" + all_messages[i].id).onclick();
433                return;
434            }
435        }
436    }
437},{'disable_in_input':true});
438
439shortcut.add("f9",function(){
440    Element("em_refresh_button").onclick();
441    return;
442},{'disable_in_input':false});
443
444function exec_msg_action(action)
445{
446    var msg_id = get_msg_id();
447    if (msg_id)
448    {
449        var msg_id = 'msg_opt_' + action + '_' + msg_id;
450        try {Element(msg_id).onclick();}
451    catch(e){/*alert(e);*/}
452}
453return;
454}
455
456function show_head_option()
457{
458    var msg_id = get_msg_id();
459    if (msg_id) {
460        var msg_id = 'option_hide_more_' + msg_id;
461        try {Element(msg_id).onclick();}
462    catch(e){/*alert(e);*/}
463}
464return;
465}
466
467function show_address_full()
468{
469    var toaddress = Element('div_toaddress_' + get_msg_id());   
470    var ccaddress = Element('div_ccaddress_' + get_msg_id());
471
472    if(toaddress &&  '' == toaddress.style.display) {
473        show_div_address_full(get_msg_id(),'to');
474    }
475    else {
476        if(toaddress)
477            toaddress.style.display = '';
478        var toaddress_full = Element('div_toaddress_full_' + get_msg_id());
479        if(toaddress_full)
480            toaddress_full.style.display = 'none';
481    }           
482    if(ccaddress &&  '' == ccaddress.style.display) {
483        show_div_address_full(get_msg_id(),'cc');
484    }
485    else {
486        if(ccaddress)
487            ccaddress.style.display = '';
488        var ccaddress_full = Element('div_ccaddress_full_' + get_msg_id());
489        if(ccaddress_full)
490            ccaddress_full.style.display = 'none';
491    }
492    return;
493}
494
495function get_msg_id()
496{
497    children = Element('border_tr').childNodes;
498
499    for (var i=0; i<children.length; i++)
500    {
501        if ( (children[i].nodeName==='TD') && (children[i].className==='menu-sel') && children[i].id != 'border_id_0')
502        {
503            var border_selected = children[i];
504            var msg_id = border_selected.id.replace("border_id_","");
505            return msg_id;
506        }
507    }
508    return false;
509}
510
511function select_msg(msg_number, keyboard_action, force_msg_selection)
512{
513/*
514** Se caso for limpado toda a caixa de email,
515** e adicionado um novo atalho de selecao.
516** main.js on function refrash and line 629.
517*/
518$("#table_box").find("tr").attr("tabindex", -1);
519$("#table_box").find("tr").css("outline", "none");
520
521if(keyboard_action == "reload_msg"){
522    if( $("#tbody_box .current_selected_shortcut_msg").length == 0 ){
523        $("#tbody_box tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg");       
524    }
525}
526
527shift_up_count = 0;
528shift_down_count = 0;
529
530if (msg_number != 'null') {
531
532    if(Element(msg_number)){
533        unselect_all_msgs();
534        $("#tbody_box tr").removeClass("current_selected_shortcut_msg selected_shortcut_msg");
535        $("#"+msg_number).addClass('current_selected_shortcut_msg selected_shortcut_msg');
536    }
537
538} else {
539    var scrollMain = Element('divScrollMain_0');
540    var selection_size = parseInt(preferences.line_height) + 10;
541
542    if( keyboard_action == 'down') {
543
544        if(!Element("chk_box_select_all_messages").checked){
545
546            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
547
548                if($(this).hasClass("selected_shortcut_msg") && $(this).next().length){
549                    $(this).removeClass("selected_shortcut_msg current_selected_shortcut_msg");
550                    $(this).next().addClass("selected_shortcut_msg current_selected_shortcut_msg");
551                    return false;
552                }
553            });
554
555        } else {
556
557            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
558
559                if($(this).hasClass("current_selected") && $(this).next().length){
560                    $(this).removeClass("current_selected");
561                    $(this).removeClass("selected_shortcut_msg");
562                    $(this).next().addClass("current_selected");
563                    $(this).next().addClass("selected_shortcut_msg");
564                    return false;
565                }
566
567            });
568            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
569                if(!$(this).hasClass("current_selected"))
570                    $(this).removeClass("selected_shortcut_msg");
571            });
572        }
573
574    } else if( keyboard_action == 'up') {
575
576        if(!Element("chk_box_select_all_messages").checked){
577
578            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
579
580                if($(this).hasClass("selected_shortcut_msg") && $(this).prev().length){
581                        $(this).removeClass("selected_shortcut_msg current_selected_shortcut_msg");
582                    $(this).prev().addClass("selected_shortcut_msg current_selected_shortcut_msg");
583                    return false;
584                }
585
586            });
587
588        } else {
589
590            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
591
592                if($(this).hasClass("current_selected") && $(this).prev().length){
593                    $(this).removeClass("current_selected");
594                    $(this).removeClass("selected_shortcut_msg");
595                    $(this).prev().addClass("current_selected");
596                    $(this).prev().addClass("selected_shortcut_msg");
597                    return false;
598                }
599
600            });
601            $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
602                if(!$(this).hasClass("current_selected"))
603                    $(this).removeClass("selected_shortcut_msg");
604            });
605
606        }
607
608    }
609    return true;
610}
611}
612
613function select_bottom_msg()
614{
615    all_messages = Element('tbody_box').childNodes;
616
617    if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') )
618        return;
619
620    for (var i=all_messages.length-1; i >=0; i--)
621    {
622        if ( (exist_className(all_messages[i], 'selected_shortcut_msg')) && (i+1 <= all_messages.length-1) )
623        {
624            shift_down_count++;
625            add_className(all_messages[i+1], 'selected_msg');
626            break;
627        }
628    }
629}
630
631function select_top_msg()
632{
633    all_messages = Element('tbody_box').childNodes;
634
635    if ( exist_className(all_messages[0], 'selected_shortcut_msg') )
636        return;
637
638    for (var i=0; i <=all_messages.length-1; i++)
639    {
640        if ( exist_className(all_messages[i], 'selected_shortcut_msg') )
641        {
642            shift_up_count++;
643            add_className(all_messages[i-1], 'selected_msg');
644            break;
645        }
646    }
647}
648
649function unselect_bottom_msg()
650{
651    all_messages = Element('tbody_box').childNodes;
652    for (var i=all_messages.length-1; i >=0; i--)
653    {
654        if ( exist_className(all_messages[i], 'selected_shortcut_msg') )
655        {
656            shift_down_count--;
657            remove_className(all_messages[i], 'selected_msg');
658            break;
659        }
660    }
661}
662
663function unselect_top_msg()
664{
665    all_messages = Element('tbody_box').childNodes;
666    for (var i=0; i <=all_messages.length-1; i++)
667    {
668        if ( exist_className(all_messages[i], 'selected_shortcut_msg') )
669        {
670            shift_up_count--;
671            remove_className(all_messages[i], 'selected_msg');
672            break;
673        }
674    }
675}
676
677function unselect_all_msgs()
678{
679    all_messages = Element('tbody_box').childNodes;
680    for (var i=0; i <=all_messages.length-1; i++)
681    {
682        remove_className(all_messages[i], 'selected_msg');
683    }
684}
Note: See TracBrowser for help on using the repository browser.