source: trunk/expressoMail1_2/js/doiMenuData.js @ 1121

Revision 1121, 9.4 KB checked in by eduardoalex, 15 years ago (diff)

Ticket #548 - Implementação do Expresso (Mail) Offline

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1_icon_dir="templates/"+template+"/images/menu/";
2
3function ConstructMenuTools(){
4        // Layout padrão de menu = option1
5        var _divMenu = Element('menu_tools');
6        if(_divMenu)
7                return;
8        var _option1 = preferences.hide_folders == "1" ? false : true;
9                                                               
10        if (!expresso_offline) {
11                var itens = new Array("preferences_mail()|" + get_lang("Preferences") + "|preferences.png",
12                                "search_emails(\"\")|" + get_lang("Search") + "|search.png",
13                                "filterbox()|" + get_lang("Edit filters") + "|filters.png",
14                                "folderbox()|" + get_lang("Edit folders") + "|editfolders.png",
15                                "sharebox()|" + get_lang("Share mailbox") + "|usersfolders.png",
16                                "empty_trash_imap()|" + get_lang("Empty trash") + "|trash.png");
17                if(window.google && google.gears) {
18                        if(expresso_local_messages.is_offline_installed()) {
19                                itens.push("force_check_queue()|" + get_lang("Send from queue") + "|queue.jpg");
20                        }
21                }
22        }
23        else {
24                var itens = new Array("search_emails(\"\")|" + get_lang("Search") + "|search.png",
25                                "folderbox()|" + get_lang("Edit folders") + "|editfolders.png");       
26        }
27
28        var _link = Element('link_tools');
29        _divMenu = document.createElement("DIV");
30        _divMenu.id = "menu_tools";
31        _divMenu.style.position = "absolute";
32        _divMenu.style.top =  findPosY(_link) + (_option1 ? 19 : 14);
33        _divMenu.style.left = findPosX(_link) + (_option1 ? 22 : 22);
34        _divMenu.style.width = "auto";
35        _divMenu.style.height = "auto";
36        _divMenu.style.padding = "1px";
37        _divMenu.style.paddingTop = "0px";
38        _divMenu.style.zIndex = "10000";
39        _divMenu.style.backgroundColor = "WHITE";
40        _divMenu.style.border = "1px solid #999999";
41        _divMenu.style.borderTop = "0px solid #FFFFFF";
42        _divMenu.style.visibility = "hidden";
43        var _timeout = false;
44        _hideMenuTools = function () {         
45                Element('menu_tools').style.visibility = "hidden";     
46        };
47        _viewMenuTools = function () {
48                Element('menu_tools').style.visibility = "visible";
49        };
50
51        var _mouseover = _link.onmouseover;
52       
53        _link.onmouseover = function () {       
54                var _option1 = preferences.hide_folders == "1" ? false : true;
55                var _link = Element('link_tools');
56                Element('menu_tools').style.top =  findPosY(_link) + (_option1 ? 19 : 14);
57                if(_timeout) {
58                        clearTimeout(_timeout);
59                        _timeout=false;
60                }       
61                if(_mouseover)
62                        _mouseover();
63       
64                _timeout = setTimeout("_viewMenuTools();",500);
65        };
66       
67        _link.onmouseout  = function () {
68                if(_timeout) {
69                        clearTimeout(_timeout);
70                        _timeout=false;
71                }
72                if(_option1)
73                        unset_menu_bg(Element("link_tools"));   
74                _timeout = setTimeout("_hideMenuTools();",500);
75        }
76
77        var _t = document.createElement("TABLE");
78        _t.cellPadding="0";
79        _t.cellSpacing="0";
80        _t.onmouseover = function () { 
81                if(_timeout) {
82                        clearTimeout(_timeout);
83                        _timeout=false;
84                }       
85                if(_mouseover)
86                        _mouseover();
87       
88                Element('menu_tools').style.visibility = "visible";
89        };
90        var _tbody = document.createElement("TBODY");
91       
92        var buildTr = function(value) {
93                var item = value.split('|');
94                var _tr = document.createElement("TR");
95                var _td = document.createElement("TD");
96                _td.innerHTML = "<img height=\"16px\" src=\"templates/"+template+"/images/menu/"+item[2]+"\">&nbsp;"+item[1]+"&nbsp;";
97                _td.style.color = "DARKBLUE";
98                _td.style.cursor = "pointer";
99                if(_option1)
100                        _td.style.border = '1px solid #f7f7f7';                 
101                _td.onclick     = function() { Element('menu_tools').style.visibility='hidden';eval(item[0]);};
102                _td.onmouseover = function () {
103                        if(_timeout) {
104                                clearTimeout(_timeout);
105                                timeout=false;
106                        }
107                       
108                        if(_option1)
109                                set_menu_bg(this);
110                        else {
111                                this.style.textDecoration="underline";                         
112                                this.style.color = 'DARKORANGE';
113                        }
114                };                                             
115                _td.onmouseout   = function () {
116                        _timeout = setTimeout("_hideMenuTools();",500);
117                        if(_option1){
118                                unset_menu_bg(this);
119                                unset_menu_bg(Element("link_tools"));
120                        }else {         
121                                this.style.backgroundColor = 'WHITE';
122                                this.style.textDecoration="none";
123                                this.style.color = 'DARKBLUE';
124                        }
125                };             
126                _tr.appendChild(_td);
127                return _tr;
128        }
129       
130        for(i = 0; i < itens.length; i++)
131                _tbody.appendChild(buildTr(itens[i]));
132                       
133        _t.appendChild(_tbody);
134        _divMenu.appendChild(_t);
135        document.body.appendChild(_divMenu);
136}
137
138function openListUsers(border_id) {
139        connector.loadScript("QuickCatalogSearch");
140        QuickCatalogSearch.showCatalogList(border_id);
141}
142
143function ConstructRightMenu(_event){
144
145        var div = Element("div_rightbutton");
146        if(!div){
147                div = document.createElement("DIV");
148                div.style.position = 'absolute';
149                div.style.zIndex = '15';
150
151                div.style.border = '1px outset BLACK';
152                div.style.background = "#EEEEE6";
153                div.id = 'div_rightbutton';
154                div.style.padding = "1px";
155                div.style.fontSize = is_ie || is_gecko1_5 || is_win ? "9pt" : "11pt";
156                div.style.width = "190px";
157                div.style.height = is_win && !is_ie ? "129px" : "139px";
158                div.style.display ='none';             
159                document.body.appendChild(div);
160                var _tab = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
161                var _sep = "<hr>";
162                var optionsMenu = new Array(
163                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('seen')+'|'+"proxy_mensagens.proxy_set_messages_flag('seen','get_selected_messages')",
164                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('unseen')+'|'+"proxy_mensagens.proxy_set_messages_flag('unseen','get_selected_messages')",
165                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('important')+'|'+"proxy_mensagens.proxy_set_messages_flag('flagged','get_selected_messages')",
166                        _tab + get_lang("Mark as")+"&nbsp;"+get_lang('normal')+'|'+"proxy_mensagens.proxy_set_messages_flag('unflagged','get_selected_messages')",
167                        _sep,
168                        _tab + get_lang("Move to")+" ... |wfolders.makeWindow('', 'move_to')",
169                        _tab + get_lang("Delete")+"|"+"proxy_mensagens.delete_msgs('null','selected','null')",
170                        _tab + get_lang("Export")+"|"+"proxy_mensagens.export_all_messages()"
171                );
172
173                for(i = 0; i < optionsMenu.length; i++){
174                        optionsMenu_l = optionsMenu[i].split('|');
175                        var div_l = document.createElement("DIV");
176                        div_l.style.padding = "1px";
177                        div_l.style.width = "188px";
178                        div_l.style.cursor = 'pointer';                 
179                        div_l.innerHTML = optionsMenu_l[0];
180                        div_l.style.valign = 'top';
181                        if(optionsMenu_l[0] != _sep) {
182                                var attr = document.createAttribute('javascript');
183                                attr.value = optionsMenu_l[1]+";Element('div_rightbutton').style.display = 'none';";
184                                div_l.setAttributeNode(attr);
185                                div_l.oncontextmenu = function(e) {     return false;};
186                                div_l.onclick = function () {this.onmouseout();eval(this.getAttribute('javascript'));};
187                                div_l.onmouseover = function () {this.style.color = 'WHITE';this.style.background = "#4a79cd";};
188                                div_l.onmouseout = function ()  {this.style.color = 'BLACK';this.style.background = "#EEEEE6";};
189                        }
190                        else
191                                div_l.style.height = "11px";
192                               
193                        div_l.id="link_rightbutton_"+i;
194                        div.appendChild(div_l);
195                }
196       
197        }
198
199        var x = _event.clientX + document.body.scrollLeft +  2;
200        var y =  _event.clientY + document.body.scrollTop +  2;
201
202        var w_width  = is_ie ? document.body.clientWidth : window.innerWidth;
203        var w_height = is_ie ? document.body.clientHeight + document.body.scrollTop : window.innerHeight + window.pageYOffset;
204
205        if(x + 218 > w_width)
206                div.style.left = w_width - (is_ie ? 198 : 218);
207        else
208                div.style.left = x;
209       
210        if(y + 131 > w_height)
211                div.style.top =  w_height - (is_ie ? 125 : 131);       
212        else
213                div.style.top = y;     
214
215        div.style.display ='';
216}
217
218function ConstructBoxMenu(_event,boxName,boxFolder){
219
220        var div = Element("div_rightbutton_folder");
221                if (div)
222                        div.parentNode.removeChild(div);
223       
224                div = document.createElement("DIV");
225                div.style.position = 'absolute';
226                div.style.zIndex = '15';
227
228                div.style.border = '1px outset BLACK';
229                div.style.background = "#EEEEE6";
230                div.id = 'div_rightbutton_folder';
231                div.style.padding = "1px";
232                div.style.fontSize = is_ie || is_gecko1_5 || is_win ? "9pt" : "11pt";
233                div.style.width = "190px";
234                div.style.height = is_win && !is_ie ? "35px" : "33px";
235                div.style.display ='none';             
236                document.body.appendChild(div);
237                var _tab = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
238                var _sep = "<hr>";
239                var optionsMenu = new Array(
240                        _tab + get_lang("Open in new tab")+'|'+"open_folder('"+boxFolder+"', '"+boxName+"')",
241                        _tab + get_lang("Edit folders")+'|'+"folderbox()"
242                );
243
244                for(i = 0; i < optionsMenu.length; i++){
245                        optionsMenu_l = optionsMenu[i].split('|');
246                        var div_l = document.createElement("DIV");
247                        div_l.style.padding = "1px";
248                        div_l.style.width = "188px";
249                        div_l.style.cursor = 'pointer';                 
250                        div_l.innerHTML = optionsMenu_l[0];
251                        div_l.style.valign = 'top';
252                        if(optionsMenu_l[0] != _sep) {
253                                var attr = document.createAttribute('javascript');
254                                attr.value = optionsMenu_l[1]+";Element('div_rightbutton_folder').style.display = 'none';";
255                                div_l.setAttributeNode(attr);
256                                div_l.oncontextmenu = function(e) {     return false;};
257                                div_l.onclick = function () {this.onmouseout();eval(this.getAttribute('javascript'));};
258                                div_l.onmouseover = function () {this.style.color = 'WHITE';this.style.background = "#4a79cd";};
259                                div_l.onmouseout = function ()  {this.style.color = 'BLACK';this.style.background = "#EEEEE6";};
260                        }
261                        else
262                                div_l.style.height = "11px";
263                               
264                        div_l.id="link_rightbutton_folder"+i;
265                        div.appendChild(div_l);
266                }
267
268        var x = _event.clientX + document.body.scrollLeft +  2;
269        var y =  _event.clientY + document.body.scrollTop +  2;
270
271        var w_width  = is_ie ? document.body.clientWidth : window.innerWidth;
272        var w_height = is_ie ? document.body.clientHeight + document.body.scrollTop : window.innerHeight + window.pageYOffset;
273
274        if(x + 218 > w_width)
275                div.style.left = w_width - (is_ie ? 198 : 218);
276        else
277                div.style.left = x;
278       
279        if(y + 131 > w_height)
280                div.style.top =  w_height - (is_ie ? 125 : 131);       
281        else
282                div.style.top = y;     
283
284        div.style.display ='';
285}
Note: See TracBrowser for help on using the repository browser.