source: trunk/expressoMail1_2/js/jscode/drag_area.js @ 2929

Revision 2929, 7.4 KB checked in by amuller, 14 years ago (diff)

Ticket #1059 - Diminui o tamanho do nome de variáveis com mais de 25 caracteres

Line 
1function DragArea()
2{
3        this.msg_number = false;
4        this.subject    = false;
5        this.folder             = '';
6        this.color_dd   = 'red';
7        this.from_list  = false;
8        this._mousemove = document.onmousemove;
9        this._mouseup = document.onmouseup;
10        this.div_dd = document.createElement("DIV");
11        this.id_messages_to_drag = new Array();
12        this.div_dd.style.position = 'absolute';
13        this.div_dd.style.zIndex = '15';
14        this.div_dd.style.border = '1px solid black';
15        this.div_dd.style.background ="#EEEEEE";
16        var value = "8.5";
17        this.div_dd.style.opacity = value/10;
18        this.div_dd.style.filter = 'alpha(opacity=' + value*10 + ')';   
19        this.div_dd.id = 'div_sel_messages';
20        this.div_dd.style.padding = "3px";
21        this.div_dd.style.width = "0px";
22        this.div_dd.style.height = "0px";
23        this.div_dd.style.display ='none';
24        this.envelope = new Image();
25        this.envelope.src = URL_SERVER + "expressoMail1_2/templates/"+template+"/images/envelope.png";
26        document.body.appendChild(this.div_dd);
27
28        XEvents.add( document, 'onmousemove', function( e )
29        {
30                var     _target = is_ie ? window.event.srcElement : e.target;
31                //if(_dragArea._mousemove)
32                //      _dragArea._mousemove(e);
33
34                //else
35                        if( _dragArea && _dragArea.msg_number && _target.type != 'checkbox')
36                        {
37                                _dragArea.mouseMoveDrag( e );
38                        }
39        } );
40
41        XEvents.add( document, 'onmouseup', function( e )
42        {
43                var     _event  = is_ie ? window.event : e;
44                var     _target = is_ie ? _event.srcElement : _event.target;
45                var _button = is_ie ? _event.button : _event.which;
46
47                if(_button != 2 && _button != 3) {             
48
49                        if ( Element("div_rightbutton") && Element("div_rightbutton").style.display != 'none' )
50                        {
51                                if ( ! _target.id.match( /link_rightbutton_(.*)$/ ) )
52                                {
53                                        var id_messages_to_drag = get_selected_messages();
54                                        id_messages_to_drag = id_messages_to_drag ? id_messages_to_drag.split(',') : id_messages_to_drag;
55
56                                        for(var i = 0; id_messages_to_drag && i < id_messages_to_drag.length; i++)
57                                        {
58                                                Element("check_box_message_"+id_messages_to_drag[i]).checked = false;
59                                                changeBgColor(_event ,id_messages_to_drag[i]);
60                                        }
61                                        Element("chkbox_sel_allmsg").checked = false;
62                                        Element('div_rightbutton').style.display = 'none';
63                                        _dragArea.msg_number = false;
64                                        _dragArea.div_dd.style.display ='none';
65                                        return false;
66                                }
67                        }
68                        if(is_ie)
69                                _dragArea.onSelectStart(true);
70
71                        if ( Element("div_rightbutton_folder") && Element("div_rightbutton_folder").style.display != 'none' )
72                        {
73                                Element('div_rightbutton_folder').style.display = 'none';
74                        }
75
76                }
77
78
79                if(_dragArea.msg_number)
80                {
81                        var reg = /^((n|l)(?!root))(.*)tree_folders$/;
82                        var new_folder;
83
84                        if ( reg.test(_target.parentNode.id) )
85                        {
86                                new_folder = _target.parentNode.id.substring(1,_target.parentNode.id.length).replace('tree_folders','');
87                                new_folder_name = new_folder.replace("INBOX"+cyrus_delimiter, "");
88                                if(new_folder_name == 'INBOX')
89                                        new_folder_name = get_lang("Inbox");
90                                if ( _dragArea.from_list )
91                                {
92                                        if (numBox != 0)
93                                                move_search_msgs("content_id_search_" + numBox, new_folder, new_folder_name);
94                                        else
95                                                proxy_mensagens.proxy_move_messages("null", 'selected', 0, new_folder, new_folder_name);
96                                }
97                                else
98                                {
99                                        var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r','');
100                                        proxy_mensagens.proxy_move_messages("null", msg_number, msg_number + "_r", new_folder, new_folder_name);
101                                }
102                        }
103
104                        else
105                                if ( _dragArea.from_list && _target.type != 'checkbox' && _dragArea.div_dd.style.display !='none' )
106                                {
107                                        var id_messages_to_drag = get_selected_messages( );
108                                        if( id_messages_to_drag )
109                                        {
110                                                id_messages_to_drag = id_messages_to_drag.split(',');
111
112                                                for ( var i = 0; id_messages_to_drag && i < id_messages_to_drag.length; i++ )
113                                                {
114                                                        Element("check_box_message_"+id_messages_to_drag[i]).checked = false;
115                                                        changeBgColor(_event ,id_messages_to_drag[i]);
116                                                }
117                                                Element("chkbox_sel_allmsg").checked = false;   
118                                        }
119                                }
120
121                        _dragArea.msg_number = false;
122                        _dragArea.div_dd.style.display ='none';
123                        if(is_ie)
124                                _dragArea.onSelectStart(true);
125                }
126
127        } );
128}
129
130DragArea.prototype.makeMenuBox = function(element){
131
132        element.oncontextmenu = function(e)
133        {
134                return false;
135        };
136       
137        var _this = this;
138       
139        element.onmousedown = function (e)
140        {
141                var _button = is_ie ? window.event.button : e.which;
142
143                if(_button == 2 || _button == 3)
144                {
145                        var boxFolder = element.id.substr(1,element.id.indexOf('tree_folders')-1);
146                        var boxName = element.firstChild.nextSibling.innerHTML;
147                        ConstructBoxMenu(is_ie ? window.event : e,boxName,boxFolder);
148                }
149                               
150                return true;
151        };     
152       
153};
154
155DragArea.prototype.makeDragged = function(element, msg_number, subject, from_list, folder){
156        element.oncontextmenu = function(e) {
157                return false;
158        };
159        var _this = this;
160        element.onmousedown = function (e){
161
162                var _button = is_ie ? window.event.button : e.which;
163       
164                if(_button == 2 || _button == 3) {
165                        var _checkb = Element("check_box_message_"+ msg_number);
166
167                        if(_checkb) {
168                                if(!_checkb.checked) {
169                                        changeBgColor(is_ie ? window.event : e, msg_number);
170                                        _checkb.checked = true;
171                                }
172                                ConstructRightMenu(is_ie ? window.event : e);
173                        }                       
174                        return false;
175                }
176
177                if(!_this.msg_number) {
178                        _this.msg_number = msg_number;
179
180                        if(!subject)
181                                _this.subject = get_lang("No Subject");
182                        //else if(subject.length > 40)
183                        //      _this.subject = subject.substring(0,40) + '...';                               
184                        else
185                                _this.subject    = subject;
186
187                        _this.from_list  = from_list;
188                        _this.div_dd.style.width = "auto";
189                        _this.div_dd.style.height = "auto";                     
190                        _this.folder = folder;
191                }
192                return true;
193        };     
194};
195DragArea.prototype.showLayerDrag = function(e){
196
197        var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r','');
198        if(_dragArea.from_list) {
199
200                if((Element("check_box_message_"+msg_number)) && (! Element("check_box_message_"+msg_number).checked)) {
201                        if (is_ie)
202                                changeBgColor(window.event,msg_number);
203                        else
204                                changeBgColor(e,msg_number);
205                        Element("check_box_message_"+ msg_number).checked = true;       
206                }
207                id_messages_to_drag = get_selected_messages();
208                id_messages_to_drag = id_messages_to_drag ? id_messages_to_drag.split(',') : new Array();
209       
210                if(id_messages_to_drag.length > 1)
211                        this.subject = id_messages_to_drag.length +" mensagens selecionadas";
212        }
213
214        this.div_dd.innerHTML = "<img align='center' src='"+this.envelope.src+"'>&nbsp;<span id='content_dd'><font color='red' weight='bold'><b>"+this.subject+"</b></span></font>";
215        this.div_dd.style.display ='';
216};
217
218DragArea.prototype.onSelectStart = function(value){
219        if(!value) {
220                document.body.onselectstart = function (e){return false;};
221                document.body.ondragstart = function (e){return false;};
222        }
223        else {
224                document.body.onselectstart = function (e){return true;};
225                document.body.ondragstart = function (e){return true;};
226        }
227};
228
229DragArea.prototype.mouseMoveDrag = function(e){         
230       
231        var     e  = is_ie ? window.event : e;
232        var     _target = is_ie ? e.srcElement : e.target;
233        if(is_ie)
234                this.onSelectStart(false);
235
236        this.div_dd.style.left  = e.clientX + 5 + document.body.scrollLeft;
237        this.div_dd.style.top   = e.clientY + 10 + document.body.scrollTop;             
238
239        if(this.div_dd.style.display == 'none')
240                this.showLayerDrag(e);
241       
242        var reg = /^((n|l)(?!root))(.*)tree_folders$/;
243        var _color = this.color_dd;
244
245        if(reg.test(_target.parentNode.id) )
246                _color ='green';
247        else
248                _color ='red';
249       
250        if(this.color_dd != _color) {
251                Element('content_dd').innerHTML = "<font color='"+_color+"' weight='bold'><b>"+this.subject+"</b></font>";
252                this.color_dd = _color;
253        }
254
255        return false;
256};
Note: See TracBrowser for help on using the repository browser.