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

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

JS on validity date

File size: 33.2 KB
RevLine 
[5058]1/* Event Cats Javascript functions LucMorizur June 2009 - ... */
[4002]2
[4421]3// Keeps file coded in UTF-8 without BOM : é
4
[4329]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"
[7693]9
[4002]10var ec_avoid_infinite_loop      = true;
[4112]11var ec_is_creation              = true;
12var ec_chk_nover_cat            = true;
[4157]13var ec_chk_over_grp             = true;
[4048]14var ec_flag1                    = false;
15var ec_flag2                    = false;
[4058]16var ec_dont_check               = false;
[4157]17var ec_selected_old_group       = false;
[7693]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;
[4002]26var ec_err                      = '';
27var ec_selected_img             = '';
28var ec_new_code_text            = '';
[4418]29var ec_new_comment_text         = '';
[4002]30var ec_new_user_text            = '';
31var ec_new_psd_text             = '';
[4157]32var ec_new_grp_text             = '';
[4002]33var ec_old_new_psd_text         = '';
34var ec_test_reg                 = '';
[4027]35var ec_auto_code_digits_nb      = '';
[4048]36var ec_default_action           = '';
[4058]37var ec_default_entry            = '';
38var ec_up_code_lbl_forced_txt   = '';
[4181]39var ec_original_old_user        = '';
[4058]40var ec_selected_old_entry       = '-1';
41var ec_selected_old_code        = '-1';
[4002]42var ec_selected_old_user        = '-1';
43var ec_selected_AP              = '-1';
44var ec_selected_cat             = '-1';
[4092]45var ec_selected_user            = '-1';
46var ec_selected_code            = '-1';
47var ec_selected_action          = '-1';
[7693]48var maintenant                  = new Date();
[4002]49var ec_JS_message               = new Array();
[4048]50var ec_duplic_codes             = new Array();
[4157]51var ec_lists_temp               = new Array();
[4112]52var ec_lists                    = new Array();
[4402]53    ec_lists['code']            = new Array();
[4112]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();
[4418]59    ec_lists['comment']         = new Array();
[4112]60var d                           = document;
[7693]61var validity_date               = maintenant;
[4002]62
[7693]63
[4112]64function de(ec_id) {
65  return document.getElementById(ec_id);
66}
67
[7693]68function ec_add_0(s) {
69  var s2 = String(s);
70  return (s2.length == 1) ? "0" + s2 : s2 ;
71}
72
[4058]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
[4157]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
[4058]89function ec_mark_entry(ec_id) {
90  var i = 0;
[4171]91  ec_chk_nover_cat = false;
[4112]92  if (ec_id == '-1') de('ec_in_up_entry_list_id').selectedIndex = '-1';
[4092]93  else {
[4418]94    ec_new_comment_text = ec_lists['comment'][ec_id];
95    de('ec_in_up_comment_id').value = ec_new_comment_text;
[4157]96    de('ec_in_up_entry_list_id').value = ec_id;
[4112]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    ) {
[4064]101      ec_selected_user = 'ec_sel_user_old';
[4112]102      ec_selected_old_user = ec_lists['user_id'][ec_id];
[4181]103      ec_original_old_user = ec_selected_old_user;
[4112]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++; }
[4064]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';
[4112]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';
[4064]117        break;
118        case 2: // Additionnal Page
119          ec_selected_action = 'ec_input_action_add_p';
[4171]120          ec_selected_AP = (ec_check_exist_value('ec_in_up_aps_id',
[4112]121           ec_lists['arg2'][ec_id])) ? ec_lists['arg2'][ec_id] : '-1';
[4064]122        break;
123        case 3: // Image
124          ec_selected_action = 'ec_input_action_img';
[4112]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];
[4064]128        break;
129      }
[4112]130      de('ec_in_up_forced_id').checked =
131       (ec_lists['forced'][ec_id] == 'true') ? 'checked' : '';
[4064]132      ec_mark_action(ec_selected_action);
[4058]133    }
134    else {
[4064]135      ec_selected_user = 'ec_sel_user_none';
[4112]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];
[4064]139        ec_mark_action('ec_input_action_add_p');
140      }
141      else {
142        ec_mark_action('ec_input_action_refused');
143      }
[4058]144    }
145  }
[4171]146  ec_chk_nover_cat = true;
[4058]147}
148
[4027]149function ec_mark_code(ec_id) {
[4092]150  if (ec_id == '-1') {
[4112]151    de('ec_sel_code_old').checked = 'checked';
152    de('ec_sel_code_old').checked = '';
[4092]153  }
154  else {
155    if (ec_flag2 ||
[4112]156     !(de('ec_sel_code_old').disabled == 'disabled' ||
157     de('ec_sel_code_old').disabled == true)
[4092]158    ) {
159      var t1 = '';
[4157]160      ec_selected_code = ec_id;
[4112]161      de(ec_selected_code).checked = 'checked';
[4092]162      switch (ec_selected_code) {
163        case 'ec_sel_code_new':
[4115]164          de('ec_act1_id').value                    = 'create';
[4112]165          de('ec_in_up_code_list_id').selectedIndex = '-1';
[4115]166          de('ec_in_up_code_id').value              = ec_new_code_text;
[4418]167          de('ec_in_up_comment_id').value           = ec_new_comment_text;
[4157]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' : '';
[4115]171          de('ec_act2_id').value                    = '-1';
[4092]172        break;
173        case 'ec_sel_code_old':
[4418]174          ec_new_comment_text = ec_lists['comment'][ec_selected_old_code];
175          de('ec_in_up_comment_id').value    = ec_new_comment_text;
[4157]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               =
[4116]185           ec_lists['user_id'][ec_selected_old_code];
186          ec_flag1 = true;
[4092]187          ec_mark_user('ec_sel_user_old');
[4115]188          ec_flag1 = false;
[4092]189        break;
190      }
[4112]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;
[4163]195      de('ec_confirm_psd_txt_id').disabled = t1;
[4157]196      de('ec_in_up_newgroup_id').disabled  = t1;
197      de('ec_in_up_grp_txt_id').disabled   = t1;
[4112]198      de('ec_sel_user_old').disabled       = t1;
199      de('ec_in_up_usr_list_id').disabled  = t1;
[4064]200    }
[4027]201  }
202}
203
[4002]204function ec_mark_user(ec_id) {
[4092]205  if (ec_id == '-1') {
[4112]206    de('ec_sel_user_old').checked = 'checked';
207    de('ec_sel_user_old').checked = '';
[4064]208  }
[4092]209  else {
210    if (
211     !ec_is_creation &&
[4112]212     de('ec_in_up_entry_list_id').selectedIndex == '-1'
[4092]213    ) {
[4472]214      alert(ec_JS_message['ec_clk_entry_miss']);
[4112]215      de('ec_in_up_usr_list_id').selectedIndex = '-1';
216      d.ec_new_code.ec_in_up_entry_list.focus();
[4092]217      return false;
[4064]218    }
[4092]219    else if (ec_flag1 ||
[4112]220     !(de('ec_sel_user_old').disabled == 'disabled' ||
221     de('ec_sel_user_old').disabled == true)
[4092]222    ) {
[4157]223      ec_selected_user = ec_id;
[4112]224      de(ec_selected_user).checked = 'checked';
[4092]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';
[4157]230          de('ec_in_up_usr_txt_id').value          = '';
231          de('ec_in_up_psd_txt_id').value          = '';
[4163]232          de('ec_confirm_psd_txt_id').value        = '';
[4157]233          de('ec_in_up_grp_txt_id').value          = '';
234          de('ec_in_up_newgroup_id').checked       = '';
[4112]235          de('ec_in_up_usr_list_id').selectedIndex = '-1';
[4092]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';
[4157]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;
[4163]242          de('ec_confirm_psd_txt_id').value        = '';
[4157]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' : '';
[4112]247          de('ec_in_up_usr_list_id').selectedIndex = '-1';
[4092]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';
[4157]252          de('ec_in_up_usr_txt_id').value    = '';
253          de('ec_in_up_psd_txt_id').value    = '';
[4163]254          de('ec_confirm_psd_txt_id').value  = '';
[4157]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;
[4092]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      }
[4026]266    }
[4002]267  }
[4064]268  return true;
[4002]269}
270
271function ec_mark_action(ec_id) {
[4092]272  if (ec_id == '' || ec_id == '-1') {
[4112]273    de('ec_input_action_home').checked = 'checked';
274    de('ec_input_action_home').checked = '';
[4064]275  }
276  else {
[4092]277    if (
278     !ec_is_creation &&
[4112]279     de('ec_in_up_entry_list_id').selectedIndex == '-1'
[4092]280    ) {
[4472]281      alert(ec_JS_message['ec_clk_entry_miss']);
[4112]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();
[4092]286      return false;
287    }
288    else if (
[4112]289      !(de(ec_id).disabled == 'disabled' ||
290      de(ec_id).disabled == true)
[4092]291    ) {
[4112]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';
[4064]302      switch (ec_selected_action) {
303        case 'ec_input_action_add_p': // Additional Page
[4171]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;
[4112]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 = '';
[4064]311        break;
312        case 'ec_input_action_cat': // Category
[4112]313          de('ec_in_up_aps_id').selectedIndex = '-1';
[4171]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;
[4112]318          de('ec_in_up_imgs_id').value = '';
[4064]319          ec_selected_user = (ec_selected_user == 'ec_sel_user_none') ?
320           'ec_sel_user_old' : ec_selected_user;
[4112]321          de('ec_in_up_imgs_warn').innerHTML = '';
[4064]322        break;
323        case 'ec_input_action_img': // Image
[4112]324          de('ec_in_up_aps_id').selectedIndex = '-1';
[4171]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          }
[4064]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
[4112]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 = '';
[4064]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
[4112]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 = '';
[4064]349          ec_selected_user = 'ec_sel_user_none';
[4112]350          de('ec_in_up_imgs_warn').innerHTML = '';
[4064]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();
[4002]359    }
360  }
[4064]361  return true;
[4002]362}
363
[4058]364function ec_mark_forced() {
[4112]365  de('ec_style_forced_id').innerHTML =
366    (de('ec_in_up_forced_id').checked == '') ?
367     ec_up_code_lbl_forced_txt
368    :
[4058]369     '<span style = "font-weight:bold; color:red;">' +
370     ec_up_code_lbl_forced_txt + '</span>'
371  ;
372}
373
[4002]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  }
[4157]432  if (ec_check_code_text(ec_new_code_text)) ec_mark_code('ec_sel_code_new');
[4002]433}
434
435function ec_gen_user() {
[4163]436  var t1          = '';
437  var t2          = '';
[4002]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(.+)$/;
[4171]443  var ec_reg_cat3 = /^\s*\-\s(.+)$/;
[4002]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 {
[4163]455    t1 = ec_gen_txt('8');
456    if (t1 == '') {
[4002]457      alert("Failed :\n" + ec_err);
458      ec_new_psd_text = 'Failed...';
459      return false;
460    }
461    else {
[4163]462      ec_new_psd_text = t1;
[4002]463      ec_old_new_psd_text = ec_new_psd_text;
[4157]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
[4171]470          )[0];
[4179]471          ec_new_user_text = ec_new_user_text.substr(0, 50);
[4163]472          t2 = ec_new_user_text;
[4157]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;
[4329]479          ec_new_user_text = ec_reg_cat3.exec(ec_cat_sel)[1];
[4171]480          ec_new_user_text = ec_new_user_text.replace(/\s/g, '_');
[4179]481          ec_new_user_text = ec_new_user_text.substr(0, 50);
[4163]482          t2 = ec_new_user_text;
[4157]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
[4163]488          t1 = ec_gen_txt('3');
489          if (t1 == '') {
[4157]490            alert("Failed :\n" + ec_err);
491            ec_new_psd_text = 'Failed...';
492            return false;
493          }
[4329]494          t2 = ec_JS_message['Home'];
[4163]495          ec_new_user_text = t2 + '_' + t1;
[4157]496        break;
[4002]497      }
[4163]498      if (ec_selected_old_group) ec_new_grp_text = 'EC_' + t2;
[4157]499      ec_flag1 = true;
500      ec_mark_user('ec_sel_user_new');
501      ec_flag1 = false;
502      return ec_check_user_text();
[4002]503    }
504  }
505}
506
507function ec_gen_full_auto() {
[4157]508  ec_selected_old_group = true;
[4002]509  if (ec_gen_user()) ec_gen_code();
510}
511
512function ec_check_img_text() {
[4112]513  if (isNaN(de('ec_in_up_imgs_id').value)) {
[4026]514    alert(ec_JS_message['ec_act_img_miss']);
515    ec_selected_img = '';
[4112]516    de('ec_in_up_imgs_id').value = '';
[4026]517  }
518  else {
[4112]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'
[4026]522    ) ? ec_JS_message['ec_act_cat_miss'] : '';
523  }
[4002]524}
525
[4157]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  }
[4158]533  return true;
[4157]534}
535
[4002]536function ec_check_pwd_text() {
[4157]537  if (
[4112]538   de('ec_in_up_psd_txt_id').value == ec_old_new_psd_text
[4002]539   && ec_old_new_psd_text != ''
540   && ec_selected_user == 'ec_sel_user_new'
[4263]541  ) de('ec_in_up_pwd_warn').innerHTML = ec_JS_message['ec_new_pwd_gen'];
542  else de('ec_in_up_pwd_warn').innerHTML = '';
[4002]543}
544
[4157]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}$/;
[4402]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) {
[4157]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) {
[4027]566    ec_new_code_text = t;
[4402]567    ec_mark_code('ec_sel_code_new');
[4157]568    return true;
[4027]569  }
570  else {
571    alert(ec_JS_message['ec_submit_code_bad']);
572    ec_new_code_text = '';
[4112]573    de('ec_in_up_code_id').value = '';
[4157]574    return false;
[4027]575  }
576}
577
[4019]578function ec_check_submit() {
[4092]579  var t1 = true;
580  var t2 = true;
[4181]581  var t3 = false;
[4058]582  if (ec_dont_check) return true;
[4092]583  if (ec_is_creation) {
[4181]584    t3 = de('ec_sel_code_old').checked != '';
[4092]585    if ((
[4112]586      de('ec_sel_code_new').checked != '' &&
587      de('ec_in_up_code_id').value == ''
[4092]588      ) || (
[4112]589      de('ec_sel_code_old').checked != '' &&
590      de('ec_in_up_code_list_id').selectedIndex == '-1'
[4092]591      ) || (
[4112]592      de('ec_sel_code_old').checked == '' &&
593      de('ec_sel_code_new').checked == ''
[4092]594      )
595    ) {
596      alert(ec_JS_message['ec_submit_code_miss']);
597      return false;
598    }
[4019]599  }
[4092]600  else {
[4112]601    t1 = (de('ec_sel_user_none').checked == '');
602    t2 = (de('ec_input_action_refused').checked == '');
[4092]603    if (
604      !t1 && ((
[4112]605          de('ec_input_action_add_p').checked != '' &&
[4157]606          d.ec_new_code.ec_in_up_aps.selectedIndex == '-1'
[4092]607        ) || (
[4112]608        de('ec_input_action_add_p').checked == '' &&
[4092]609        t2
610        )
611      )
612    ) {
613      alert(ec_JS_message['ec_submit_action_miss']);
614      return false;
615    }
[4157]616    if (de('ec_in_up_entry_list_id').selectedIndex == '-1') {
[4472]617      alert(ec_JS_message['ec_clk_entry_miss']);
[4092]618      return false;
619    }
[4181]620    if (
[4219]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        )
[4181]626      )
627    ) if (!confirm(ec_JS_message['ec_confirm_change_user'])) return false;
[4092]628  }
[4019]629  if ((
[4112]630    de('ec_sel_user_new').checked != '' &&
631    de('ec_in_up_usr_txt_id').value == ''
[4019]632    ) || (
[4112]633    de('ec_sel_user_old').checked != '' &&
634    d.ec_new_code.ec_in_up_usr_list.selectedIndex == '-1'
[4019]635    ) || (
[4112]636    de('ec_sel_user_new').checked == '' &&
637    de('ec_sel_user_old').checked == '' &&
[4092]638    t1
[4019]639    )
640  ) {
641    alert(ec_JS_message['ec_submit_user_miss']);
642    return false;
643  }
[4026]644  if (
[4157]645    d.ec_new_code.ec_in_up_aps.selectedIndex == '-1' &&
646    d.ec_new_code.ec_in_up_cat.selectedIndex == '-1' && (
[4112]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) ||
[4157]650          d.ec_new_code.ec_in_up_cat.selectedIndex == '-1'
[4092]651        )
[4026]652      )
653    ) &&
[4112]654    de('ec_input_action_home').checked == '' &&
[4092]655    t2
[4026]656  ) {
657    alert(ec_JS_message['ec_submit_action_miss']);
658    return false;
659  }
[4158]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  }
[4181]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']);
[4092]675  return true;
[4019]676}
677
[4064]678function ec_change_user_list(ec_id) {
679  ec_selected_old_user = ec_id;
680  ec_mark_user('ec_sel_user_old');
681}
682
[4048]683function ec_change_code_list(ec_id) {
684  ec_selected_old_code = ec_id;
685  ec_mark_code('ec_sel_code_old');
686}
687
[4002]688function ec_test() {
689  alert('OK.');
690}
691
[4157]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(';');
[4402]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];
[4418]702    ec_lists['comment'][t[0]] = t[7];
[4157]703  }
704}
705
[7693]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
[4002]770function ec_init() {
[4157]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                                = '';
[4418]777  ec_new_comment_text                             = '';
[4157]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';
[7693]788  m_offset                                   = maintenant.getTimezoneOffset();
[4112]789  de('ec_style_forced_id').innerHTML              = ec_up_code_lbl_forced_txt;
790  de('ec_act1_id').value                          = ec_default_action;
[4157]791  de('ec_act2_id').value                          = '';
[4418]792  de('ec_in_up_comment_id').value                 = '';
[4112]793  de('ec_in_up_usr_txt_id').value                 = '';
794  de('ec_in_up_psd_txt_id').value                 = '';
[4163]795  de('ec_confirm_psd_txt_id').value               = '';
[4157]796  de('ec_in_up_grp_txt_id').value                 = '';
797  de('ec_in_up_newgroup_id').checked              = '';
[4263]798  de('ec_in_up_pwd_warn').innerHTML               = '';
[4112]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              = '';
[4048]805 
[7693]806 
[4092]807  if (ec_is_creation) { // Entry creation
[4112]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';
[4092]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
[4440]817      ec_help_banner_no                           = 1;
[4112]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          = '';
[4163]833      de('ec_confirm_psd_txt_id').disabled        = '';
[4157]834      de('ec_in_up_newgroup_id').disabled         = '';
835      de('ec_in_up_grp_txt_id').disabled          = '';
[4112]836      de('ec_sel_user_old').disabled              = '';
837      de('ec_in_up_usr_list_id').disabled         = '';
838      de('ec_in_up_forced_id').disabled           = '';
[4058]839    }
840    else {                                          // Duplicate entry
[4440]841      ec_help_banner_no                           = 2;
[4112]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';
[4163]854      de('ec_confirm_psd_txt_id').disabled        = 'disabled';
[4157]855      de('ec_in_up_newgroup_id').disabled         = 'disabled';
856      de('ec_in_up_grp_txt_id').disabled          = 'disabled';
[4112]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';
[4058]860      ec_selected_old_code = ec_duplic_codes[ec_default_entry];
[4112]861      ec_selected_code     = ec_selected_old_code;
[4058]862      ec_flag2 = true;
863      ec_mark_code('ec_sel_code_old');
864      ec_flag2 = false;
865    }
[4112]866    ec_default_action                             = 'create_ask';
[4048]867  }
[4058]868  else { // Entry modification
[4112]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';
[4092]872    if (
873      ec_default_action == 'modify_entry_ask' ||
874      ec_default_action == 'modify_entry_submit'
875    ) {                                             // Modify entry
[4440]876      ec_help_banner_no                           = 1;
[4112]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          = '';
[4163]886      de('ec_confirm_psd_txt_id').disabled        = '';
[4157]887      de('ec_in_up_newgroup_id').disabled         = '';
888      de('ec_in_up_grp_txt_id').disabled          = '';
[4112]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';
[4058]898    }
899    else {                                          // Outdate entry
[4440]900      ec_help_banner_no                           = 2;
[4218]901      ec_selected_user                            = 'ec_sel_user_none';
[4112]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';
[4163]909      de('ec_confirm_psd_txt_id').disabled        = 'disabled';
[4157]910      de('ec_in_up_newgroup_id').disabled         = 'disabled';
911      de('ec_in_up_grp_txt_id').disabled          = 'disabled';
[4112]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';
[4115]919      de('ec_in_up_usr_list_id').selectedIndex    = '-1';
920      de('ec_in_up_entry_list_id').value          = ec_default_entry;
[4157]921      de('ec_act2_id').value                      = ec_default_entry;
[4058]922    }
[4112]923    ec_default_action                             = 'modify_entry_ask';
[4048]924  }
[4440]925  ec_mark_help('');
[4112]926  return false;
[4002]927}
Note: See TracBrowser for help on using the repository browser.