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

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

Validity date

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