source: extensions/event_cats/admin/template/autolog_new.js @ 7810

Last change on this file since 7810 was 7810, checked in by LucMorizur, 13 years ago

Validity date : ... pfew !

File size: 33.2 KB
Line 
1/* Event Cats Javascript functions LucMorizur June 2009 - ... */
2
3// Keeps file coded in UTF-8 without BOM : é
4
5// All variables declarations
6// Once this entire file has been read, some JS code is executed at the end
7// of .tpl file, thus some values below are modified during the HTML page
8// "reading and displaying"
9
10var ec_avoid_infinite_loop      = true;
11var ec_is_creation              = true;
12var ec_chk_nover_cat            = true;
13var ec_chk_over_grp             = true;
14var ec_flag1                    = false;
15var ec_flag2                    = false;
16var ec_dont_check               = false;
17var ec_selected_old_group       = false;
18var ec_validity_on              = false;
19var m_offset                    = 0;
20var valid_annee                 = 0;
21var valid_mois                  = 0;
22var valid_date                  = 0;
23var valid_heures                = 0;
24var valid_minutes               = 0;
25var valid_timestamp             = 0;
26var ec_err                      = '';
27var ec_selected_img             = '';
28var ec_new_code_text            = '';
29var ec_new_comment_text         = '';
30var ec_new_user_text            = '';
31var ec_new_psd_text             = '';
32var ec_new_grp_text             = '';
33var ec_old_new_psd_text         = '';
34var ec_test_reg                 = '';
35var ec_auto_code_digits_nb      = '';
36var ec_default_action           = '';
37var ec_default_entry            = '';
38var ec_up_code_lbl_forced_txt   = '';
39var ec_original_old_user        = '';
40var ec_selected_old_entry       = '-1';
41var ec_selected_old_code        = '-1';
42var ec_selected_old_user        = '-1';
43var ec_selected_AP              = '-1';
44var ec_selected_cat             = '-1';
45var ec_selected_user            = '-1';
46var ec_selected_code            = '-1';
47var ec_selected_action          = '-1';
48var maintenant                  = new Date();
49var ec_JS_message               = new Array();
50var ec_duplic_codes             = new Array();
51var ec_lists_temp               = new Array();
52var ec_lists                    = new Array();
53    ec_lists['code']            = new Array();
54    ec_lists['user_id']         = new Array();
55    ec_lists['action']          = new Array();
56    ec_lists['arg1']            = new Array();
57    ec_lists['arg2']            = new Array();
58    ec_lists['forced']          = new Array();
59    ec_lists['comment']         = new Array();
60var d                           = document;
61var validity_date               = maintenant;
62
63
64function de(ec_id) {
65  return document.getElementById(ec_id);
66}
67
68function ec_add_0(s) {
69  var s2 = String(s);
70  return (s2.length == 1) ? "0" + s2 : s2 ;
71}
72
73function ec_check_exist_value(ec_id, ec_val) {
74  var e = document.getElementById(ec_id);
75  for (var i = 0; i < e.length; i++) {
76    if (e.options[i].value == ec_val) return true;
77  }
78  return false;
79}
80
81function ec_check_exist_innerHTML(ec_id, ec_val) {
82  var e = document.getElementById(ec_id);
83  for (var i = 0; i < e.length; i++) {
84    if (e.options[i].innerHTML == ec_val) return true;
85  }
86  return false;
87}
88
89function ec_mark_entry(ec_id) {
90  var i = 0;
91  ec_chk_nover_cat = false;
92  if (ec_id == '-1') de('ec_in_up_entry_list_id').selectedIndex = '-1';
93  else {
94    ec_new_comment_text = ec_lists['comment'][ec_id];
95    de('ec_in_up_comment_id').value = ec_new_comment_text;
96    de('ec_in_up_entry_list_id').value = ec_id;
97    de('ec_act2_id').value = ec_id;
98    if (
99      ec_check_exist_value('ec_in_up_usr_list_id', ec_lists['user_id'][ec_id])
100    ) {
101      ec_selected_user = 'ec_sel_user_old';
102      ec_selected_old_user = ec_lists['user_id'][ec_id];
103      ec_original_old_user = ec_selected_old_user;
104      if (
105        ec_lists['arg1'][ec_id] != '' &&
106        ec_lists['action'][ec_id].lastIndexOf('ec_ok') != -1
107      ) i++;
108      if (ec_lists['arg2'][ec_id] != '') { i++; i++; }
109      switch (i) {
110        case 0: // Home
111          ec_selected_action = 'ec_input_action_home';
112        break;
113        case 1: // Category
114          ec_selected_action = 'ec_input_action_cat';
115          ec_selected_cat = (ec_check_exist_value('ec_in_up_cats_id',
116           ec_lists['arg1'][ec_id])) ? ec_lists['arg1'][ec_id] : '-1';
117        break;
118        case 2: // Additionnal Page
119          ec_selected_action = 'ec_input_action_add_p';
120          ec_selected_AP = (ec_check_exist_value('ec_in_up_aps_id',
121           ec_lists['arg2'][ec_id])) ? ec_lists['arg2'][ec_id] : '-1';
122        break;
123        case 3: // Image
124          ec_selected_action = 'ec_input_action_img';
125          ec_selected_cat = (ec_check_exist_value('ec_in_up_cats_id',
126           ec_lists['arg1'][ec_id])) ? ec_lists['arg1'][ec_id] : '-1';
127          ec_selected_img = ec_lists['arg2'][ec_id];
128        break;
129      }
130      de('ec_in_up_forced_id').checked =
131       (ec_lists['forced'][ec_id] == 'true') ? 'checked' : '';
132      ec_mark_action(ec_selected_action);
133    }
134    else {
135      ec_selected_user = 'ec_sel_user_none';
136      de('ec_in_up_forced_id').checked = '';
137      if (ec_check_exist_value('ec_in_up_aps_id', ec_lists['arg2'][ec_id])) {
138        ec_selected_AP = ec_lists['arg2'][ec_id];
139        ec_mark_action('ec_input_action_add_p');
140      }
141      else {
142        ec_mark_action('ec_input_action_refused');
143      }
144    }
145  }
146  ec_chk_nover_cat = true;
147}
148
149function ec_mark_code(ec_id) {
150  if (ec_id == '-1') {
151    de('ec_sel_code_old').checked = 'checked';
152    de('ec_sel_code_old').checked = '';
153  }
154  else {
155    if (ec_flag2 ||
156     !(de('ec_sel_code_old').disabled == 'disabled' ||
157     de('ec_sel_code_old').disabled == true)
158    ) {
159      var t1 = '';
160      ec_selected_code = ec_id;
161      de(ec_selected_code).checked = 'checked';
162      switch (ec_selected_code) {
163        case 'ec_sel_code_new':
164          de('ec_act1_id').value                    = 'create';
165          de('ec_in_up_code_list_id').selectedIndex = '-1';
166          de('ec_in_up_code_id').value              = ec_new_code_text;
167          de('ec_in_up_comment_id').value           = ec_new_comment_text;
168          de('ec_in_up_grp_txt_id').value           = ec_new_grp_text;
169          de('ec_in_up_newgroup_id').checked        =
170           (ec_selected_old_group) ? 'checked' : '';
171          de('ec_act2_id').value                    = '-1';
172        break;
173        case 'ec_sel_code_old':
174          ec_new_comment_text = ec_lists['comment'][ec_selected_old_code];
175          de('ec_in_up_comment_id').value    = ec_new_comment_text;
176          de('ec_act1_id').value             = 'duplicate_entry_submit';
177          de('ec_act2_id').value             = ec_selected_old_code;
178          de('ec_in_up_code_list_id').value  = ec_selected_old_code;
179          de('ec_in_up_grp_txt_id').value    = '';
180          de('ec_in_up_newgroup_id').checked = '';
181          de('ec_in_up_code_id').value       = '';
182          t1                                 = 'disabled';
183          ec_selected_user                   = 'ec_sel_user_old';
184          ec_selected_old_user               =
185           ec_lists['user_id'][ec_selected_old_code];
186          ec_flag1 = true;
187          ec_mark_user('ec_sel_user_old');
188          ec_flag1 = false;
189        break;
190      }
191      de('ec_sel_user_new').disabled       = t1;
192      de('ec_submit_gen_user_id').disabled = t1;
193      de('ec_in_up_usr_txt_id').disabled   = t1;
194      de('ec_in_up_psd_txt_id').disabled   = t1;
195      de('ec_confirm_psd_txt_id').disabled = t1;
196      de('ec_in_up_newgroup_id').disabled  = t1;
197      de('ec_in_up_grp_txt_id').disabled   = t1;
198      de('ec_sel_user_old').disabled       = t1;
199      de('ec_in_up_usr_list_id').disabled  = t1;
200    }
201  }
202}
203
204function ec_mark_user(ec_id) {
205  if (ec_id == '-1') {
206    de('ec_sel_user_old').checked = 'checked';
207    de('ec_sel_user_old').checked = '';
208  }
209  else {
210    if (
211     !ec_is_creation &&
212     de('ec_in_up_entry_list_id').selectedIndex == '-1'
213    ) {
214      alert(ec_JS_message['ec_clk_entry_miss']);
215      de('ec_in_up_usr_list_id').selectedIndex = '-1';
216      d.ec_new_code.ec_in_up_entry_list.focus();
217      return false;
218    }
219    else if (ec_flag1 ||
220     !(de('ec_sel_user_old').disabled == 'disabled' ||
221     de('ec_sel_user_old').disabled == true)
222    ) {
223      ec_selected_user = ec_id;
224      de(ec_selected_user).checked = 'checked';
225      switch (ec_selected_user) {
226        case 'ec_sel_user_none': // None
227          ec_selected_action =
228           (ec_ap_ok && (ec_selected_action != 'ec_input_action_refused')) ?
229           'ec_input_action_add_p' : 'ec_input_action_refused';
230          de('ec_in_up_usr_txt_id').value          = '';
231          de('ec_in_up_psd_txt_id').value          = '';
232          de('ec_confirm_psd_txt_id').value        = '';
233          de('ec_in_up_grp_txt_id').value          = '';
234          de('ec_in_up_newgroup_id').checked       = '';
235          de('ec_in_up_usr_list_id').selectedIndex = '-1';
236        break;
237        case 'ec_sel_user_new': // New user
238          if (ec_selected_action == 'ec_input_action_refused')
239           ec_selected_action = 'ec_input_action_home';
240          de('ec_in_up_usr_txt_id').value          = ec_new_user_text;
241          de('ec_in_up_psd_txt_id').value          = ec_new_psd_text;
242          de('ec_confirm_psd_txt_id').value        = '';
243          de('ec_in_up_grp_txt_id').value          =
244           (ec_selected_old_group) ? ec_new_grp_text : '';
245          de('ec_in_up_newgroup_id').checked       =
246           (ec_selected_old_group) ? 'checked' : '';
247          de('ec_in_up_usr_list_id').selectedIndex = '-1';
248        break;
249        case 'ec_sel_user_old': // "Old" user
250          if (ec_selected_action == 'ec_input_action_refused')
251           ec_selected_action = 'ec_input_action_home';
252          de('ec_in_up_usr_txt_id').value    = '';
253          de('ec_in_up_psd_txt_id').value    = '';
254          de('ec_confirm_psd_txt_id').value  = '';
255          de('ec_in_up_grp_txt_id').value    = '';
256          de('ec_in_up_newgroup_id').checked = '';
257          de('ec_in_up_usr_list_id').value   = ec_selected_old_user;
258        break;
259      }
260      ec_check_pwd_text();
261      if (ec_avoid_infinite_loop) {
262        ec_avoid_infinite_loop = false;
263        ec_mark_action(ec_selected_action);
264        ec_avoid_infinite_loop = true;
265      }
266    }
267  }
268  return true;
269}
270
271function ec_mark_action(ec_id) {
272  if (ec_id == '' || ec_id == '-1') {
273    de('ec_input_action_home').checked = 'checked';
274    de('ec_input_action_home').checked = '';
275  }
276  else {
277    if (
278     !ec_is_creation &&
279     de('ec_in_up_entry_list_id').selectedIndex == '-1'
280    ) {
281      alert(ec_JS_message['ec_clk_entry_miss']);
282      de('ec_in_up_aps_id').selectedIndex = '-1';
283      de('ec_in_up_cats_id').selectedIndex = '-1';
284      de('ec_in_up_imgs_id').value = '';
285      d.ec_new_code.ec_in_up_entry_list.focus();
286      return false;
287    }
288    else if (
289      !(de(ec_id).disabled == 'disabled' ||
290      de(ec_id).disabled == true)
291    ) {
292      if (
293        ec_chk_nover_cat &&
294        ec_id == 'ec_input_action_cat' &&
295        de('ec_in_up_imgs_id').value != ''
296      ) {
297        ec_selected_action = 'ec_input_action_img';
298        ec_selected_cat    = de('ec_in_up_cats_id').value;
299      }
300      else ec_selected_action = ec_id;
301      de(ec_selected_action).checked = 'checked';
302      switch (ec_selected_action) {
303        case 'ec_input_action_add_p': // Additional Page
304          if (ec_selected_AP == '-1')
305           de('ec_in_up_aps_id').selectedIndex = '-1';
306          else
307           de('ec_in_up_aps_id').value = ec_selected_AP;
308          de('ec_in_up_cats_id').selectedIndex = '-1';
309          de('ec_in_up_imgs_id').value = '';
310          de('ec_in_up_imgs_warn').innerHTML = '';
311        break;
312        case 'ec_input_action_cat': // Category
313          de('ec_in_up_aps_id').selectedIndex = '-1';
314          if (ec_selected_cat == '-1')
315           de('ec_in_up_cats_id').selectedIndex = '-1';
316          else
317           de('ec_in_up_cats_id').value = ec_selected_cat;
318          de('ec_in_up_imgs_id').value = '';
319          ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
320           'ec_sel_user_old' : ec_selected_user;
321          de('ec_in_up_imgs_warn').innerHTML = '';
322        break;
323        case 'ec_input_action_img': // Image
324          de('ec_in_up_aps_id').selectedIndex = '-1';
325          if (ec_selected_img == '-1') {
326            de('ec_in_up_cats_id').selectedIndex = '-1';
327            de('ec_in_up_imgs_id').value = '';
328          }
329          else {
330            de('ec_in_up_cats_id').value = ec_selected_cat;
331            de('ec_in_up_imgs_id').value = ec_selected_img;
332          }
333          ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
334           'ec_sel_user_old' : ec_selected_user;
335          ec_check_img_text();
336        break;
337        case 'ec_input_action_home': // Home
338          de('ec_in_up_aps_id').selectedIndex = '-1';
339          de('ec_in_up_cats_id').selectedIndex = '-1';
340          de('ec_in_up_imgs_id').value = '';
341          de('ec_in_up_imgs_warn').innerHTML = '';
342          ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
343           'ec_sel_user_old' : ec_selected_user;
344        break;
345        case 'ec_input_action_refused': // Access denied
346          de('ec_in_up_aps_id').selectedIndex = '-1';
347          de('ec_in_up_cats_id').selectedIndex = '-1';
348          de('ec_in_up_imgs_id').value = '';
349          ec_selected_user = 'ec_sel_user_none';
350          de('ec_in_up_imgs_warn').innerHTML = '';
351        break;
352      }
353      if (ec_avoid_infinite_loop) {
354        ec_avoid_infinite_loop = false;
355        ec_mark_user(ec_selected_user);
356        ec_avoid_infinite_loop = true;
357      }
358      ec_mark_forced();
359    }
360  }
361  return true;
362}
363
364function ec_mark_forced() {
365  de('ec_style_forced_id').innerHTML =
366    (de('ec_in_up_forced_id').checked == '') ?
367     ec_up_code_lbl_forced_txt
368    :
369     '<span style = "font-weight:bold; color:red;">' +
370     ec_up_code_lbl_forced_txt + '</span>'
371  ;
372}
373
374function ec_rnd(ec_min, ec_max) {
375  return Math.floor(ec_min + (ec_max - ec_min + 1) * Math.random() );
376}
377
378function ec_gen_txt(ec_length) {
379  var t = '';
380  var ec_reg_A = /[A-Z]+/;
381  var ec_reg_a = /[a-z]+/;
382  var ec_reg_0 = /[0-9]+/;
383  var i = 0;
384  var ec_l = 0;
385  ec_l = parseInt(ec_length);
386  if (ec_l < 3) {
387    ec_err = '< 3';
388    return '';
389  }
390  do {
391    i++;
392    switch (ec_rnd(0, 2)) {
393      case 0: // A - Z
394        t += String.fromCharCode(ec_rnd(65, 90));
395      break;
396      case 1: // a - z
397        t += String.fromCharCode(ec_rnd(97, 122));
398      break;
399      case 2: // 0 - 9
400        t += String.fromCharCode(ec_rnd(48, 57));
401      break;
402    }
403    if (i > 500) {
404      break;
405    }
406    if ((t.length) > (ec_l)) {
407      t = t.substr(1, ec_l);
408    }
409  } while (
410   (t.length < ec_l) ||
411   !( ec_reg_A.test(t) && ec_reg_a.test(t) && ec_reg_0.test(t) )
412  );
413  if (i > 500) {
414    ec_err = '> 500\n' + t;
415    return '';
416  }
417  else {
418    return t;
419  }
420}
421
422function ec_gen_code() {
423  var t = '';
424  t = ec_gen_txt(ec_auto_code_digits_nb);
425  if (t == '') {
426    alert("Failed :\n" + ec_err);
427    ec_new_code_text = 'Failed...';
428  }
429  else {
430    ec_new_code_text = t;
431  }
432  if (ec_check_code_text(ec_new_code_text)) ec_mark_code('ec_sel_code_new');
433}
434
435function ec_gen_user() {
436  var t1          = '';
437  var t2          = '';
438  var ec_word     = '';
439  var ec_cat_sel  = '';
440  var ec_reg_cat2 = /\//;
441  var ec_reg_ap   = /^\S+/;
442  var ec_reg_cat1 = /\/\s(.+)$/;
443  var ec_reg_cat3 = /^\s*\-\s(.+)$/;
444  if (
445   ec_selected_action == '' ||
446   (ec_selected_action == 'ec_input_action_cat' && ec_selected_cat == '-1') ||
447   (ec_selected_action == 'ec_input_action_img' &&
448    (ec_selected_img == '' || ec_selected_cat == '-1')) ||
449   (ec_selected_action == 'ec_input_action_add_p' && ec_selected_AP == '-1')
450  ) {
451    alert(ec_JS_message['ec_gen_user_act_miss']);
452    return false;
453  }
454  else {
455    t1 = ec_gen_txt('8');
456    if (t1 == '') {
457      alert("Failed :\n" + ec_err);
458      ec_new_psd_text = 'Failed...';
459      return false;
460    }
461    else {
462      ec_new_psd_text = t1;
463      ec_old_new_psd_text = ec_new_psd_text;
464      switch (ec_selected_action) {
465        case 'ec_input_action_add_p': // Additional Page
466          ec_new_user_text = ec_reg_ap.exec(
467           d.ec_new_code.ec_in_up_aps.options[
468            d.ec_new_code.ec_in_up_aps.selectedIndex
469           ].label
470          )[0];
471          ec_new_user_text = ec_new_user_text.substr(0, 50);
472          t2 = ec_new_user_text;
473        break;
474        case 'ec_input_action_cat': // Category
475        case 'ec_input_action_img': // Image
476          ec_cat_sel = d.ec_new_code.ec_in_up_cat.options[
477            d.ec_new_code.ec_in_up_cat.selectedIndex
478           ].label;
479          ec_new_user_text = ec_reg_cat3.exec(ec_cat_sel)[1];
480          ec_new_user_text = ec_new_user_text.replace(/\s/g, '_');
481          ec_new_user_text = ec_new_user_text.substr(0, 50);
482          t2 = ec_new_user_text;
483        if (ec_selected_action == 'ec_input_action_img') {
484          ec_new_user_text +=  '_' + d.ec_new_code.ec_in_up_imgs_id.value;
485        }
486        break;
487        case 'ec_input_action_home': // Home
488          t1 = ec_gen_txt('3');
489          if (t1 == '') {
490            alert("Failed :\n" + ec_err);
491            ec_new_psd_text = 'Failed...';
492            return false;
493          }
494          t2 = ec_JS_message['Home'];
495          ec_new_user_text = t2 + '_' + t1;
496        break;
497      }
498      if (ec_selected_old_group) ec_new_grp_text = 'EC_' + t2;
499      ec_flag1 = true;
500      ec_mark_user('ec_sel_user_new');
501      ec_flag1 = false;
502      return ec_check_user_text();
503    }
504  }
505}
506
507function ec_gen_full_auto() {
508  ec_selected_old_group = true;
509  if (ec_gen_user()) ec_gen_code();
510}
511
512function ec_check_img_text() {
513  if (isNaN(de('ec_in_up_imgs_id').value)) {
514    alert(ec_JS_message['ec_act_img_miss']);
515    ec_selected_img = '';
516    de('ec_in_up_imgs_id').value = '';
517  }
518  else {
519    de('ec_in_up_imgs_warn').innerHTML = (
520     de('ec_in_up_imgs_id').value != '' &&
521     de('ec_in_up_cats_id').selectedIndex == '-1'
522    ) ? ec_JS_message['ec_act_cat_miss'] : '';
523  }
524}
525
526function ec_check_user_text() {
527  if (ec_check_exist_innerHTML('ec_in_up_usr_list_id', ec_new_user_text)) {
528    alert(ec_JS_message['ec_user_already_exists']);
529    ec_new_user_text = '';
530    ec_mark_user('ec_sel_user_new');
531    return false;
532  }
533  return true;
534}
535
536function ec_check_pwd_text() {
537  if (
538   de('ec_in_up_psd_txt_id').value == ec_old_new_psd_text
539   && ec_old_new_psd_text != ''
540   && ec_selected_user == 'ec_sel_user_new'
541  ) de('ec_in_up_pwd_warn').innerHTML = ec_JS_message['ec_new_pwd_gen'];
542  else de('ec_in_up_pwd_warn').innerHTML = '';
543}
544
545function ec_check_grp_text() {
546  if (ec_chk_over_grp) {
547    de('ec_in_up_newgroup_id').checked =
548     (de('ec_in_up_newgroup_id').checked == '') ? 'checked' : '';
549    ec_chk_over_grp = false;
550  }
551  ec_selected_old_group = (de('ec_in_up_newgroup_id').checked != '');
552}
553
554function ec_check_code_text(t) {
555  var treg = /^[a-zA-Z0-9_-]{4,32}$/;
556  var v = false;
557  for (i = 0; i < ec_lists['code'].length; i++)
558   v = (v || (t == ec_lists['code'][i]));
559  if (v) {
560    alert(ec_JS_message['ec_code_already_exists']);
561    ec_new_code_text = '';
562    de('ec_in_up_code_id').value = '';
563    return false;
564  }
565  else if (t == '' || treg.test(t) || t == NULL) {
566    ec_new_code_text = t;
567    ec_mark_code('ec_sel_code_new');
568    return true;
569  }
570  else {
571    alert(ec_JS_message['ec_submit_code_bad']);
572    ec_new_code_text = '';
573    de('ec_in_up_code_id').value = '';
574    return false;
575  }
576}
577
578function ec_check_submit() {
579  var t1 = true;
580  var t2 = true;
581  var t3 = false;
582  if (ec_dont_check) return true;
583  if (ec_is_creation) {
584    t3 = de('ec_sel_code_old').checked != '';
585    if ((
586      de('ec_sel_code_new').checked != '' &&
587      de('ec_in_up_code_id').value == ''
588      ) || (
589      de('ec_sel_code_old').checked != '' &&
590      de('ec_in_up_code_list_id').selectedIndex == '-1'
591      ) || (
592      de('ec_sel_code_old').checked == '' &&
593      de('ec_sel_code_new').checked == ''
594      )
595    ) {
596      alert(ec_JS_message['ec_submit_code_miss']);
597      return false;
598    }
599  }
600  else {
601    t1 = (de('ec_sel_user_none').checked == '');
602    t2 = (de('ec_input_action_refused').checked == '');
603    if (
604      !t1 && ((
605          de('ec_input_action_add_p').checked != '' &&
606          d.ec_new_code.ec_in_up_aps.selectedIndex == '-1'
607        ) || (
608        de('ec_input_action_add_p').checked == '' &&
609        t2
610        )
611      )
612    ) {
613      alert(ec_JS_message['ec_submit_action_miss']);
614      return false;
615    }
616    if (de('ec_in_up_entry_list_id').selectedIndex == '-1') {
617      alert(ec_JS_message['ec_clk_entry_miss']);
618      return false;
619    }
620    if (
621      ec_original_old_user != '' && (
622        de('ec_sel_user_new').checked != '' || (
623          de('ec_sel_user_old').checked != '' &&
624          ec_original_old_user != d.ec_new_code.ec_in_up_usr_list.value
625        )
626      )
627    ) if (!confirm(ec_JS_message['ec_confirm_change_user'])) return false;
628  }
629  if ((
630    de('ec_sel_user_new').checked != '' &&
631    de('ec_in_up_usr_txt_id').value == ''
632    ) || (
633    de('ec_sel_user_old').checked != '' &&
634    d.ec_new_code.ec_in_up_usr_list.selectedIndex == '-1'
635    ) || (
636    de('ec_sel_user_new').checked == '' &&
637    de('ec_sel_user_old').checked == '' &&
638    t1
639    )
640  ) {
641    alert(ec_JS_message['ec_submit_user_miss']);
642    return false;
643  }
644  if (
645    d.ec_new_code.ec_in_up_aps.selectedIndex == '-1' &&
646    d.ec_new_code.ec_in_up_cat.selectedIndex == '-1' && (
647      de('ec_in_up_imgs_id').value == '' || (
648        de('ec_in_up_imgs_id').value != '' && (
649          isNaN(de('ec_in_up_imgs_id').value) ||
650          d.ec_new_code.ec_in_up_cat.selectedIndex == '-1'
651        )
652      )
653    ) &&
654    de('ec_input_action_home').checked == '' &&
655    t2
656  ) {
657    alert(ec_JS_message['ec_submit_action_miss']);
658    return false;
659  }
660  if (
661    de('ec_sel_user_new').checked != '' &&
662    de('ec_in_up_psd_txt_id').value != '' && (
663      de('ec_in_up_psd_txt_id').value != de('ec_confirm_psd_txt_id').value
664    )
665  ) {
666    alert(ec_JS_message['ec_conf_pwd_dont_match']);
667    return false;
668  }
669  if (!ec_is_creation && !t1)
670   return confirm(ec_JS_message['ec_confirm_del_other']);
671  else if (
672    (!ec_is_creation || t3) &&
673    de('ec_in_up_forced_id').checked != ''
674  ) return confirm(ec_JS_message['ec_confirm_force']);
675  return true;
676}
677
678function ec_change_user_list(ec_id) {
679  ec_selected_old_user = ec_id;
680  ec_mark_user('ec_sel_user_old');
681}
682
683function ec_change_code_list(ec_id) {
684  ec_selected_old_code = ec_id;
685  ec_mark_code('ec_sel_code_old');
686}
687
688function ec_test() {
689  alert('OK.');
690}
691
692function ec_build_ec_lists() {
693  var t = new Array();
694  for (var i = 0; i < ec_lists_temp.length; i++) {
695    t = ec_lists_temp[i].split(';');
696    ec_lists['code'][t[0]] = t[1];
697    ec_lists['user_id'][t[0]] = t[2];
698    ec_lists['action'][t[0]] = t[3];
699    ec_lists['arg1'][t[0]] = t[4];
700    ec_lists['arg2'][t[0]] = t[5];
701    ec_lists['forced'][t[0]] = t[6];
702    ec_lists['comment'][t[0]] = t[7];
703  }
704}
705
706function ec_update_ts() { /*
707  if (de('ec_valid_date_on_id').checked == '')
708   de('ec_valid_date_on_id').checked = 'checked';
709  valid_annee     = Number(de('ec_validity_year_id').value);
710  valid_mois      = de('ec_validity_month_id').selectedIndex;
711  valid_date      = de('ec_validity_day_id').selectedIndex;
712  valid_heures    = Number(de('ec_validity_time_id').value.match(/^\d+/));
713  valid_minutes   = Number(de('ec_validity_time_id').value.match(/\d+$/));
714  validity_date.setFullYear(valid_annee);
715  validity_date.setMonth(valid_mois);
716  validity_date.setDate(valid_date);
717  validity_date.setHours(valid_heures);
718  validity_date.setMinutes(valid_minutes);
719  validity_date.setSeconds(0);
720  validity_date.setMilliseconds(0);
721  valid_timestamp = validity_date.getTime();
722  // For tests purpose, must be removed
723  de('ec_span_tst_id').innerHTML = 'valid_timestamp&nbsp;: ' + valid_timestamp;
724  // For tests purpose, must be removed */
725}
726
727function ec_update_date(v2, k) { // Validity period cannot be less than one minute
728  var v = (isNaN(v2)) ? 0 : Number(v2);
729  if (v < 0) v = 0;
730  switch (k) {
731    case 0  :
732      valid_timestamp += v * 60000;
733      validity_date.setTime(valid_timestamp);
734    break;
735    case 1  :
736      valid_timestamp += v * 3600000;
737      validity_date.setTime(valid_timestamp);
738    break;
739    case 2  :
740      valid_timestamp += v * 86400000;
741      validity_date.setTime(valid_timestamp);
742    break;
743    case 3  :
744      valid_annee  = Number(de('ec_validity_year_id').value);
745      var m        = de('ec_validity_month_id').selectedIndex + v;
746      valid_mois   = m % 12;
747      valid_annee += Math.floor(m / 12);
748      validity_date.setFullYear(valid_annee);
749      validity_date.setMonth(valid_mois);
750      valid_timestamp = validity_date.getTime();
751    break;
752    case 4  :
753      valid_annee  = Number(de('ec_validity_year_id').value) + v;
754      validity_date.setFullYear(valid_annee);
755      valid_timestamp = validity_date.getTime();
756    break;
757  }
758  valid_annee   = validity_date.getFullYear();
759  valid_mois    = validity_date.getMonth();
760  valid_date    = validity_date.getDate();
761  valid_heures  = validity_date.getHours();
762  valid_minutes = validity_date.getMinutes();
763  de("ec_validity_year_id").value          = valid_annee;
764  de("ec_validity_month_id").selectedIndex = valid_mois - 1;
765  de("ec_validity_day_id").selectedIndex   = valid_date - 1;
766  de("ec_validity_time_id").value          =
767   ec_add_0(valid_heures) + ":" + ec_add_0(valid_minutes);
768}
769
770function ec_init() {
771  ec_selected_old_group                           = false;
772  ec_new_grp_text                                 = '';
773  ec_err                                          = '';
774  ec_selected_action                              = '';
775  ec_selected_img                                 = '';
776  ec_new_code_text                                = '';
777  ec_new_comment_text                             = '';
778  ec_new_user_text                                = '';
779  ec_new_psd_text                                 = '';
780  ec_old_new_psd_text                             = '';
781  ec_test_reg                                     = '';
782  ec_selected_old_user                            = '-1';
783  ec_selected_old_code                            = '-1';
784  ec_selected_AP                                  = '-1';
785  ec_selected_cat                                 = '-1';
786  ec_selected_user                                = '-1';
787  ec_selected_code                                = '-1';
788  m_offset                                   = maintenant.getTimezoneOffset();
789  de('ec_style_forced_id').innerHTML              = ec_up_code_lbl_forced_txt;
790  de('ec_act1_id').value                          = ec_default_action;
791  de('ec_act2_id').value                          = '';
792  de('ec_in_up_comment_id').value                 = '';
793  de('ec_in_up_usr_txt_id').value                 = '';
794  de('ec_in_up_psd_txt_id').value                 = '';
795  de('ec_confirm_psd_txt_id').value               = '';
796  de('ec_in_up_grp_txt_id').value                 = '';
797  de('ec_in_up_newgroup_id').checked              = '';
798  de('ec_in_up_pwd_warn').innerHTML               = '';
799  de('ec_in_up_aps_id').selectedIndex             = '-1';
800  de('ec_in_up_cats_id').selectedIndex            = '-1';
801  de('ec_in_up_imgs_id').value                    = '';
802  de('ec_in_up_imgs_warn').innerHTML              = '';
803  de('ec_input_action_home').checked              = 'checked';
804  de('ec_input_action_home').checked              = '';
805 
806 
807  if (ec_is_creation) { // Entry creation
808    de('ec_in_up_auto_code_length_id').value= ec_auto_code_digits_nb;
809    de('ec_in_up_code_id').value                  = '';
810    de('ec_sel_code_old').checked                 = 'checked';
811    de('ec_sel_user_old').checked                 = 'checked';
812    if (
813      ec_default_action == 'create' ||
814      ec_default_action == 'create_ask' ||
815      ec_default_action == 'duplicate_entry_submit'
816    ) {                                             // Create entry from blank
817      ec_help_banner_no                           = 1;
818      de('ec_in_up_usr_list_id').selectedIndex    = '-1';
819      de('ec_in_up_code_list_id').selectedIndex   = '-1';
820      de('ec_sel_code_old').checked               = '';
821      de('ec_sel_user_old').checked               = '';
822      de('ec_submit_gen_full_auto_id').disabled   = '';
823      de('ec_submit_gen_code_id').disabled        = '';
824      de('ec_in_up_auto_code_length_id').disabled = '';
825      de('ec_in_up_code_id').disabled             = '';
826      de('ec_sel_code_new').disabled              = '';
827      de('ec_sel_code_old').disabled              = '';
828      de('ec_in_up_code_list_id').disabled        = '';
829      de('ec_sel_user_new').disabled              = '';
830      de('ec_submit_gen_user_id').disabled        = '';
831      de('ec_in_up_usr_txt_id').disabled          = '';
832      de('ec_in_up_psd_txt_id').disabled          = '';
833      de('ec_confirm_psd_txt_id').disabled        = '';
834      de('ec_in_up_newgroup_id').disabled         = '';
835      de('ec_in_up_grp_txt_id').disabled          = '';
836      de('ec_sel_user_old').disabled              = '';
837      de('ec_in_up_usr_list_id').disabled         = '';
838      de('ec_in_up_forced_id').disabled           = '';
839    }
840    else {                                          // Duplicate entry
841      ec_help_banner_no                           = 2;
842      de('ec_act1_id').value                      = 'duplicate_entry_submit';
843      de('ec_submit_gen_full_auto_id').disabled   = 'disabled';
844      de('ec_submit_gen_code_id').disabled        = 'disabled';
845      de('ec_in_up_auto_code_length_id').disabled = 'disabled';
846      de('ec_in_up_code_id').disabled             = 'disabled';
847      de('ec_sel_code_new').disabled              = 'disabled';
848      de('ec_sel_code_old').disabled              = 'disabled';
849      de('ec_in_up_code_list_id').disabled        = 'disabled';
850      de('ec_sel_user_new').disabled              = 'disabled';
851      de('ec_submit_gen_user_id').disabled        = 'disabled';
852      de('ec_in_up_usr_txt_id').disabled          = 'disabled';
853      de('ec_in_up_psd_txt_id').disabled          = 'disabled';
854      de('ec_confirm_psd_txt_id').disabled        = 'disabled';
855      de('ec_in_up_newgroup_id').disabled         = 'disabled';
856      de('ec_in_up_grp_txt_id').disabled          = 'disabled';
857      de('ec_sel_user_old').disabled              = 'disabled';
858      de('ec_in_up_usr_list_id').disabled         = 'disabled';
859      de('ec_in_up_forced_id').disabled           = 'disabled';
860      ec_selected_old_code = ec_duplic_codes[ec_default_entry];
861      ec_selected_code     = ec_selected_old_code;
862      ec_flag2 = true;
863      ec_mark_code('ec_sel_code_old');
864      ec_flag2 = false;
865    }
866    ec_default_action                             = 'create_ask';
867  }
868  else { // Entry modification
869    de('ec_sel_user_none').checked                = 'checked';
870    de('ec_in_up_forced_id').checked              = '';
871    de('ec_act1_id').value                        = 'modify_entry_submit';
872    if (
873      ec_default_action == 'modify_entry_ask' ||
874      ec_default_action == 'modify_entry_submit'
875    ) {                                             // Modify entry
876      ec_help_banner_no                           = 1;
877      de('ec_in_up_entry_list_id').disabled       = '';
878      de('ec_sel_user_none').checked              = '';
879      de('ec_in_up_usr_list_id').selectedIndex    = '-1';
880      de('ec_sel_user_none').disabled             = '';
881      de('ec_sel_user_new').disabled              = '';
882      de('ec_sel_user_old').disabled              = '';
883      de('ec_submit_gen_user_id').disabled        = '';
884      de('ec_in_up_usr_txt_id').disabled          = '';
885      de('ec_in_up_psd_txt_id').disabled          = '';
886      de('ec_confirm_psd_txt_id').disabled        = '';
887      de('ec_in_up_newgroup_id').disabled         = '';
888      de('ec_in_up_grp_txt_id').disabled          = '';
889      de('ec_in_up_usr_list_id').disabled         = '';
890      de('ec_in_up_forced_id').disabled           = '';
891      de('ec_input_action_cat').disabled          = '';
892      de('ec_in_up_cats_id').disabled             = '';
893      de('ec_input_action_img').disabled          = '';
894      de('ec_in_up_imgs_id').disabled             = '';
895      de('ec_input_action_home').disabled         = '';
896      ec_mark_entry(ec_default_entry);
897      ec_default_entry                            = '-1';
898    }
899    else {                                          // Outdate entry
900      ec_help_banner_no                           = 2;
901      ec_selected_user                            = 'ec_sel_user_none';
902      de('ec_in_up_entry_list_id').disabled       = 'disabled';
903      de('ec_sel_user_none').disabled             = 'disabled';
904      de('ec_sel_user_new').disabled              = 'disabled';
905      de('ec_sel_user_old').disabled              = 'disabled';
906      de('ec_submit_gen_user_id').disabled        = 'disabled';
907      de('ec_in_up_usr_txt_id').disabled          = 'disabled';
908      de('ec_in_up_psd_txt_id').disabled          = 'disabled';
909      de('ec_confirm_psd_txt_id').disabled        = 'disabled';
910      de('ec_in_up_newgroup_id').disabled         = 'disabled';
911      de('ec_in_up_grp_txt_id').disabled          = 'disabled';
912      de('ec_in_up_usr_list_id').disabled         = 'disabled';
913      de('ec_in_up_forced_id').disabled           = 'disabled';
914      de('ec_input_action_cat').disabled          = 'disabled';
915      de('ec_in_up_cats_id').disabled             = 'disabled';
916      de('ec_input_action_img').disabled          = 'disabled';
917      de('ec_in_up_imgs_id').disabled             = 'disabled';
918      de('ec_input_action_home').disabled         = 'disabled';
919      de('ec_in_up_usr_list_id').selectedIndex    = '-1';
920      de('ec_in_up_entry_list_id').value          = ec_default_entry;
921      de('ec_act2_id').value                      = ec_default_entry;
922    }
923    ec_default_action                             = 'modify_entry_ask';
924  }
925  ec_mark_help('');
926  return false;
927}
Note: See TracBrowser for help on using the repository browser.