source: trunk/expressoMail1_2/js/preferences.js @ 2

Revision 2, 9.9 KB checked in by niltonneto, 17 years ago (diff)

Removida todas as tags usadas pelo CVS ($Id, $Source).
Primeira versão no CVS externo.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1/**************************************************************************\
2 Início
3\**************************************************************************/
4        function Preferences(){
5                this.prefeW             = new Array;
6        }
7        // Cria as divs;
8        Preferences.prototype.showList = function(){
9       
10                id = '1';
11                _this = this;
12               
13                form_pref = document.createElement("DIV");
14                form_pref.style.visibility = "hidden";
15                form_pref.style.position = "absolute";
16                form_pref.id = "window_confexp";
17                document.body.appendChild(form_pref);
18                prefe.showWindow(form_pref);
19                var form = Element("form_preferences");
20               
21                if(!form) {
22                        form = document.createElement("FORM");
23                        form.id  = "form_preferences";
24                        form.innerHTML =        "<table border='0' cellpading='0' cellspacing='0'>"+
25                                "<tr><td colspan='2'><center>" + get_lang('Config for expressoMail1_2') + "</center></td></tr>"+
26                                "<tr><td nowrap> - " + get_lang('Max number of e-mails for page') + "</td>"+
27                                "<td>&nbsp;<select id='sel_num_max' name='sel_num_max'>"+
28                                "<option value='25'>25</option>"+
29                                "<option value='50'>50</option>"+
30                                "<option value='75'>75</option>"+
31                                "<option value='100'>100</option>"+                                                                                                             
32                                "</select></td>"+
33                                "</tr>"+
34                                "<tr><td nowrap> - " + get_lang('Save deleted messages in trash folder?') + "</td>"+
35                                "<td><input type='checkBox' id='check_save_men' name='check_save_men'></td>"+
36                                "</tr>"+
37                                "<tr><td nowrap> - " + get_lang('Delete trash messages after n days?') + "</td>"+
38                                "<td>&nbsp;<select id='sel_del_men' name='sel_del_men'>"+
39                                "<option value='0'>N&atilde;o usar</option>"+
40                                "<option value='1'>1 dia</option>"+
41                                "<option value='2'>2 dias</option>"+                                                                                                           
42                                "<option value='3'>3 dias</option>"+                                                   
43                                "<option value='4'>4 dias</option>"+                                                   
44                                "<option value='5'>5 dias</option>"+                                                   
45                                "</select></td>"+
46                                "</tr>"+
47                                "<tr><td nowrap> - " + get_lang('Show previous message, after delete actual message?') + "</td>"+
48                                "<td><input type='checkBox' id='check_show_previous' name='check_show_previous'></td>"+
49                                "</tr>"+
50                                "<tr><td nowrap> - " + get_lang('Do you wanna receive an alert for new messages?') + "</td>"+
51                                "<td><input type='checkBox' id='check_alert' name='check_alert'></td>"+
52                                "</tr>"+
53                                "<tr><td nowrap> - " + get_lang('Show default view on main screen') + "</td>"+
54                                "<td><input type='checkBox' id='check_view' name='check_view'></td>"+
55                                "</tr>"+
56                                "<tr><td nowrap> - " + get_lang('save sent messages in folder named below') + "</td>"+                         
57                                "<td>&nbsp;<select style='width:125px' id='sel_name_box' name='sel_name_box'></select></td>"+
58                                "</tr>"+
59                                "<tr><td> - " + get_lang('Hide Menu Folders') + "</td>"+
60                                "<td><input type='checkBox' id='check_menu' name='check_menu'></td>"+
61                                "</tr>"+
62                                "<tr><td> - " + get_lang('Padding Email List') + "</td>"+
63                                "<td>&nbsp;<select id='sel_height_line' name='sel_height_line'>"+
64                                "<option value='20'>Normal</option>"+
65                                "<option value='30'>M&eacute;dio</option>"+
66                                "<option value='40'>Grande</option>"+                                                                                                           
67                                "</select></td>"+
68                                "</tr>"+
69                                "<tr><td> - " + get_lang('Font Size') + "</td>"+
70                                "<td>&nbsp;<select id='sel_size_font' name='sel_size_font'>"+
71                                "<option value='10'>Pequeno</option>"+
72                                "<option value='11'>Normal</option>"+                                                   
73                                "<option value='15'>Grande</option>"+
74                                "</select></td>"+                                                       
75                                "</tr>"+
76                                "<tr><td colspan='2'> - " + get_lang('Signature') + "<br>"+
77                                "<textarea id='txt_signature' name='txt_signature' rows='3' cols='59'></textarea></td>"+
78                                "</tr>"+
79                                "<tr><td><input type='button' value='Cancelar' onclick='prefe.close_win();'>"+
80                                "<td align='left'><input type='button' value='Salvar' onclick='prefe.save_form()'>"+
81                                "</tr>"+
82                                "</table>";                                                     
83                        form_pref.appendChild(form);
84                        var sel_nm = Element("sel_name_box");
85                        var opt = new Option(get_lang("The user select"),"-1",true,true);
86                        sel_nm.options[sel_nm.length] = opt;
87                        for(var i=0; i < folders.length; i++){
88                                var opt = new Option(folders[i].folder_name,folders[i].folder_id,false,true);
89                                sel_nm.options[sel_nm.length] = opt;
90                        }
91                        sel_nm.options[0].selected = true;
92                        _this.clean_all();
93                }
94                _this.load_form();
95        }
96       
97        // Preenche os campos no form;
98        Preferences.prototype.load_form = function(){
99                var sel_num_max = Element("sel_num_max");
100                        for(var i=0; i < sel_num_max.options.length; i++){
101                                if(sel_num_max.options[i].value == preferences.max_email_per_page){sel_num_max.options[i].selected = true;}
102                        }
103                var check_save_men = Element("check_save_men");
104                        if( preferences.save_deleted_msg == 1){check_save_men.checked = true;}
105                var sel_del_men = Element("sel_del_men");
106                        for(var i=0; i < sel_del_men.options.length; i++){
107                                if(sel_del_men.options[i].value == preferences.delete_trash_messages_after_n_days){sel_del_men.options[i].selected = true;}
108                        }
109                var check_show_previous = Element("check_show_previous");
110                        if( preferences.delete_and_show_previous_message == 1){check_show_previous.checked = true;}
111                var check_alert = Element("check_alert");
112                        if( preferences.alert_new_msg == 1){check_alert.checked = true;}
113                var check_view = Element("check_view");
114                        if( preferences.mainscreen_showmail == 1){check_view.checked = true;}
115                var sel_name_box = Element("sel_name_box");
116                        for(var i=0; i < sel_name_box.options.length; i++){
117                                if(sel_name_box.options[i].value == preferences.save_in_folder){sel_name_box.options[i].selected = true;}
118                        }
119                var check_menu = Element("check_menu");
120                        if( preferences.hide_folders == 1){check_menu.checked = true;}
121                var sel_height_line = Element("sel_height_line");
122                        for(var i=0; i < sel_height_line.options.length; i++){
123                                if( sel_height_line.options[i].value == preferences.line_height){sel_height_line.options[i].selected = true;}
124                        }
125                var sel_size_font = Element("sel_size_font");
126                        for(var i=0; i < sel_size_font.options.length; i++){
127                                if(sel_size_font.options[i].value == preferences.font_size){sel_size_font.options[i].selected = true;}
128                        }
129                var txt_signature = Element("txt_signature");
130                        txt_signature.value = preferences.signature;
131        }
132       
133
134        // Salva as opções do form;
135        Preferences.prototype.save_form = function(){
136       
137                var prefe_string;                       
138                var reload_page = false;
139
140                if(preferences.max_email_per_page != Element("sel_num_max").value)
141                        reload_page = true;
142                else if(preferences.delete_trash_messages_after_n_days != Element("sel_del_men").value)
143                        reload_page = true;
144                else if(preferences.hide_folders != Element("check_menu").checked)
145                        reload_page = true;
146                else if(preferences.line_height != Element("sel_height_line").value)
147                reload_page = true;
148            else if(preferences.font_size != Element("sel_size_font").value)
149                        reload_page = true;
150                               
151                preferences.max_email_per_page = Element("sel_num_max").value;
152                prefe_string = Element("sel_num_max").value + "##";
153                preferences.save_deleted_msg = Element("check_save_men").checked ? 1 : 0;
154                prefe_string += (Element("check_save_men").checked ? "1": "0") + "##";         
155                preferences.delete_trash_messages_after_n_days = Element("sel_del_men").value;
156                prefe_string += Element("sel_del_men").value + "##";
157                preferences.delete_and_show_previous_message = Element("check_show_previous").checked ? 1 : 0;
158                prefe_string +=( Element("check_show_previous").checked ? "1" :"0") + "##";
159                preferences.alert_new_msg = Element("check_alert").checked ? 1 : 0;
160                prefe_string += (Element("check_alert").checked ? "1" : "0") + "##";
161                preferences.mainscreen_showmail = Element("check_view").checked ? 1 : 0;
162                prefe_string += (Element("check_view").checked ? "1" : "0") + "##";
163                preferences.save_in_folder = Element("sel_name_box").value;
164                prefe_string += Element("sel_name_box").value + "##";
165                preferences.hide_folders = Element("check_menu").checked ? 1 : 0;
166                prefe_string += (Element("check_menu").checked ? "1": "0" ) + "##";
167            preferences.line_height = Element("sel_height_line").value;
168            prefe_string += Element("sel_height_line").value + "##";
169                preferences.font_size = Element("sel_size_font").value;
170                prefe_string += Element("sel_size_font").value + "##";
171                preferences.signature = Element("txt_signature").value;
172                prefe_string += url_encode(Element("txt_signature").value);
173               
174                var _this = this;
175               
176                var handler_preferences = function(data){
177                        if( data == "OK!"){
178                                if(reload_page)
179                                        window.location.reload(true);
180                                else
181                                        _this.close_win();
182                        }else{
183                                alert(data);
184                        }
185                }
186                var args   = "$this.db_functions.update_preferences";
187                var params = "prefe_string="+prefe_string;
188                cExecute(args,handler_preferences,params);
189       
190        }       
191        //Fecha a janela
192        Preferences.prototype.close_win = function(){
193                this.prefeW['window_confexp'].close();
194        }
195       
196        //Limpa os campos
197        Preferences.prototype.clean_all = function(){
198                document.getElementById('check_save_men').checked = false;
199                document.getElementById('check_show_previous').value = false;
200                document.getElementById('check_alert').checked = false;
201                document.getElementById('check_view').checked = false;
202                document.getElementById('check_menu').checked = false;
203                document.getElementById("sel_name_box").options[0].selected = true;
204                document.getElementById('txt_signature').value = "";
205        }
206
207        //Monta a janela principal da aplicação;
208        Preferences.prototype.showWindow = function(div){
209               
210                if(! this.prefeW[div.id]) {
211                        div.style.height = is_ie ? "345px" : "355px";
212                        div.style.width = "510px";
213                        div.style.visibility = "hidden";
214                        div.style.position = "absolute";
215                        div.style.paddingLeft = "10px";                 
216                        var title = 'Configura&ccedil;&otilde;es do ExpressoMail 1.2';
217                        var wHeight = div.offsetHeight + "px";
218                        var wWidth =  div.offsetWidth   + "px";
219
220                        win = new dJSWin({                     
221                                id: 'cc_'+div.id,
222                                content_id: div.id,
223                                width: wWidth,
224                                height: wHeight,
225                                title_color: '#3978d6',
226                                bg_color: '#eee',
227                                title: title,                                           
228                                title_text_color: 'white',
229                                button_x_img: '../phpgwapi/images/winclose.gif',
230                                border: true });
231                       
232                        this.prefeW[div.id] = win;
233                        win.draw();
234                }
235                else {
236                        win = this.prefeW[div.id];
237
238                }
239                win.open();
240        }
241// Cria o objeto       
242        var prefe;
243        prefe = new Preferences();
Note: See TracBrowser for help on using the repository browser.