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

Last change on this file since 4048 was 4048, checked in by LucMorizur, 15 years ago

[Event Cats] Mainly add header & footer, add choose new/old code

File size: 14.5 KB
Line 
1/* Event Cats Javascript functions LucMorizur June - ... 2009 */
2
3var ec_avoid_infinite_loop      = true;
4var ec_flag1                    = false;
5var ec_flag2                    = false;
6var ec_err                      = '';
7var ec_selected_action          = '';
8var ec_selected_img             = '';
9var ec_new_code_text            = '';
10var ec_new_user_text            = '';
11var ec_new_psd_text             = '';
12var ec_old_new_psd_text         = '';
13var ec_test_reg                 = '';
14var ec_auto_code_digits_nb      = '';
15var ec_default_action           = '';
16var ec_selected_old_user        = '-1';
17var ec_selected_old_code        = '-1';
18var ec_selected_AP              = '-1';
19var ec_selected_cat             = '-1';
20var ec_selected_user            = 'ec_sel_user_old';
21var ec_selected_code            = 'ec_sel_code_new';
22var ec_JS_message               = new Array();
23var ec_duplic_codes             = new Array();
24
25function ec_mark_code(ec_id) {
26  if (ec_flag2 ||
27   !(document.getElementById('ec_sel_code_old').disabled == 'disabled' ||
28   document.getElementById('ec_sel_code_old').disabled == true)
29  ) {
30    var t1 = '';
31    ec_selected_code = ec_id;
32    document.getElementById(ec_selected_code).checked = 'checked';
33    switch (ec_selected_code) {
34      case 'ec_sel_code_new':
35        document.getElementById('ec_in_up_code_list_id').value = '-1';
36        document.getElementById('ec_in_up_code_id').value = ec_new_code_text;
37      break;
38      case 'ec_sel_code_old':
39        document.getElementById('ec_in_up_code_list_id').value =
40         ec_selected_old_code;
41        document.getElementById('ec_in_up_code_id').value = '';
42        t1 = 'disabled';
43        ec_selected_old_user =
44         document.ec_new_code.ec_in_up_code_list.options[
45          document.ec_new_code.ec_in_up_code_list.selectedIndex
46         ].label;
47        document.getElementById('ec_in_up_usr_list_id').value = ec_selected_old_user;
48        ec_mark_user('ec_sel_user_old');
49      break;
50    }
51    document.getElementById('ec_sel_user_new').disabled       = t1;
52    document.getElementById('ec_submit_gen_user_id').disabled = t1;
53    document.getElementById('ec_in_up_usr_txt_id').disabled   = t1;
54    document.getElementById('ec_in_up_psd_txt_id').disabled   = t1;
55    document.getElementById('ec_sel_user_old').disabled       = t1;
56    document.getElementById('ec_in_up_usr_list_id').disabled  = t1;
57  }
58}
59
60function ec_mark_user(ec_id) {
61  if (ec_flag1 ||
62   !(document.getElementById('ec_sel_user_old').disabled == 'disabled' ||
63   document.getElementById('ec_sel_user_old').disabled == true)
64  ) {
65    ec_selected_user = ec_id;
66    document.getElementById(ec_selected_user).checked = 'checked';
67    switch (ec_selected_user) {
68      case 'ec_sel_user_new': // New user
69        document.getElementById('ec_in_up_usr_txt_id').value =
70         ec_new_user_text;
71        document.getElementById('ec_in_up_psd_txt_id').value =
72         ec_new_psd_text;
73        document.getElementById('ec_in_up_usr_list_id').value = '-1';
74      break;
75      case 'ec_sel_user_old': // "Old" user
76        document.getElementById('ec_in_up_usr_txt_id').value = '';
77        document.getElementById('ec_in_up_psd_txt_id').value = '';
78        document.getElementById('ec_in_up_usr_list_id').value =
79         ec_selected_old_user;
80      break;
81    }
82    ec_check_pwd_text();
83    if (ec_avoid_infinite_loop) {
84      ec_avoid_infinite_loop = false;
85      ec_mark_action(ec_selected_action);
86      ec_avoid_infinite_loop = true;
87    }
88  }
89}
90
91function ec_mark_action(ec_id) {
92  ec_selected_action = ec_id;
93  if (ec_selected_action != '') {
94    document.getElementById(ec_selected_action).checked = 'checked';
95    switch (ec_selected_action) {
96      case 'ec_input_action_add_p': // Additional Page
97        document.getElementById('ec_in_up_aps_id').value = ec_selected_AP;
98        document.getElementById('ec_in_up_cats_id').value = '-1';
99        document.getElementById('ec_in_up_imgs_id').value = '';
100        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
101      break;
102      case 'ec_input_action_cat': // Category
103        document.getElementById('ec_in_up_aps_id').value = '-1';
104        document.getElementById('ec_in_up_cats_id').value = ec_selected_cat;
105        document.getElementById('ec_in_up_imgs_id').value = '';
106        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
107      break;
108      case 'ec_input_action_img': // Image
109        document.getElementById('ec_in_up_aps_id').value = '-1';
110        document.getElementById('ec_in_up_cats_id').value = ec_selected_cat;
111        document.getElementById('ec_in_up_imgs_id').value = ec_selected_img;
112        ec_check_img_text();
113      break;
114      case 'ec_input_action_home': // Home
115        document.getElementById('ec_in_up_aps_id').value = '-1';
116        document.getElementById('ec_in_up_cats_id').value = '-1';
117        document.getElementById('ec_in_up_imgs_id').value = '';
118        document.getElementById('ec_in_up_imgs_warn').innerHTML = '';
119      break;
120    }
121    if (ec_avoid_infinite_loop) {
122      ec_avoid_infinite_loop = false;
123      ec_mark_user(ec_selected_user);
124      ec_avoid_infinite_loop = true;
125    }
126  }
127}
128
129function ec_rnd(ec_min, ec_max) {
130  return Math.floor(ec_min + (ec_max - ec_min + 1) * Math.random() );
131}
132
133function ec_gen_txt(ec_length) {
134  var t = '';
135  var ec_reg_A = /[A-Z]+/;
136  var ec_reg_a = /[a-z]+/;
137  var ec_reg_0 = /[0-9]+/;
138  var i = 0;
139  var ec_l = 0;
140  ec_l = parseInt(ec_length);
141  if (ec_l < 3) {
142    ec_err = '< 3';
143    return '';
144  }
145  do {
146    i++;
147    switch (ec_rnd(0, 2)) {
148      case 0: // A - Z
149        t += String.fromCharCode(ec_rnd(65, 90));
150      break;
151      case 1: // a - z
152        t += String.fromCharCode(ec_rnd(97, 122));
153      break;
154      case 2: // 0 - 9
155        t += String.fromCharCode(ec_rnd(48, 57));
156      break;
157    }
158    if (i > 500) {
159      break;
160    }
161    if ((t.length) > (ec_l)) {
162      t = t.substr(1, ec_l);
163    }
164  } while (
165   (t.length < ec_l) ||
166   !( ec_reg_A.test(t) && ec_reg_a.test(t) && ec_reg_0.test(t) )
167  );
168  if (i > 500) {
169    ec_err = '> 500\n' + t;
170    return '';
171  }
172  else {
173    return t;
174  }
175}
176
177function ec_gen_code() {
178  var t = '';
179  t = ec_gen_txt(ec_auto_code_digits_nb);
180  if (t == '') {
181    alert("Failed :\n" + ec_err);
182    ec_new_code_text = 'Failed...';
183  }
184  else {
185    ec_new_code_text = t;
186  }
187  ec_mark_code('ec_sel_code_new');
188}
189
190function ec_gen_user() {
191  var t           = '';
192  var ec_word     = '';
193  var ec_cat_sel  = '';
194  var ec_reg_cat2 = /\//;
195  var ec_reg_ap   = /^\S+/;
196  var ec_reg_cat1 = /\/\s(.+)$/;
197  if (
198   ec_selected_action == '' ||
199   (ec_selected_action == 'ec_input_action_cat' && ec_selected_cat == '-1') ||
200   (ec_selected_action == 'ec_input_action_img' &&
201    (ec_selected_img == '' || ec_selected_cat == '-1')) ||
202   (ec_selected_action == 'ec_input_action_add_p' && ec_selected_AP == '-1')
203  ) {
204    alert(ec_JS_message['ec_gen_user_act_miss']);
205    return false;
206  }
207  else {
208    t = ec_gen_txt('8');
209    if (t == '') {
210      alert("Failed :\n" + ec_err);
211      ec_new_psd_text = 'Failed...';
212      return false;
213    }
214    else {
215      ec_new_psd_text = t;
216      ec_old_new_psd_text = ec_new_psd_text;
217    }
218    switch (ec_selected_action) {
219      case 'ec_input_action_add_p': // Additional Page
220        ec_new_user_text = ec_reg_ap.exec(
221         document.ec_new_code.ec_in_up_aps.options[
222          document.ec_new_code.ec_in_up_aps.selectedIndex
223         ].label
224        );
225      break;
226      case 'ec_input_action_cat': // Category
227      case 'ec_input_action_img': // Image
228        ec_cat_sel = document.ec_new_code.ec_in_up_cat.options[
229          document.ec_new_code.ec_in_up_cat.selectedIndex
230         ].label;
231        ec_new_user_text = (ec_reg_cat2.test(ec_cat_sel)) ?
232         ec_reg_cat1.exec(ec_cat_sel)[1] : ec_cat_sel;
233      if (ec_selected_action == 'ec_input_action_img') {
234        ec_new_user_text +=  '_' + document.ec_new_code.ec_in_up_imgs_id.value;
235      }
236      break;
237      case 'ec_input_action_home': // Home
238        t = ec_gen_txt('3');
239        if (t == '') {
240          alert("Failed :\n" + ec_err);
241          ec_new_psd_text = 'Failed...';
242          return false;
243        }
244        ec_new_user_text = ec_JS_message['ec_up_code_lbl_home'] + '_' + t;
245      break;
246    }
247    ec_flag1 = true;
248    ec_mark_user('ec_sel_user_new');
249    ec_flag1 = false;
250    return true;
251  }
252}
253
254function ec_gen_full_auto() {
255  if (ec_gen_user()) ec_gen_code();
256}
257
258function ec_check_img_text() {
259  if (isNaN(document.getElementById('ec_in_up_imgs_id').value)) {
260    alert(ec_JS_message['ec_act_img_miss']);
261    ec_selected_img = '';
262    document.getElementById('ec_in_up_imgs_id').value = '';
263  }
264  else {
265    document.getElementById('ec_in_up_imgs_warn').innerHTML = (
266     document.getElementById('ec_in_up_imgs_id').value != '' &&
267     document.getElementById('ec_in_up_cats_id').value == '-1'
268    ) ? ec_JS_message['ec_act_cat_miss'] : '';
269  }
270}
271
272function ec_check_pwd_text() {
273  document.getElementById('ec_in_up_pwd_warn').innerHTML = (
274   document.getElementById('ec_in_up_psd_txt_id').value == ec_old_new_psd_text
275   && ec_old_new_psd_text != ''
276   && ec_selected_user == 'ec_sel_user_new'
277  ) ? ec_JS_message['ec_new_pwd_gen'] : '';
278}
279
280function ec_check_code_text() {
281  var t    = document.getElementById('ec_in_up_code_id').value;
282  var treg = /^[a-zA-Z0-9_-]{4,32}$/
283  if (t == '' || treg.test(t) || t == NULL) {
284    ec_new_code_text = t;
285  }
286  else {
287    alert(ec_JS_message['ec_submit_code_bad']);
288    ec_new_code_text = '';
289    document.getElementById('ec_in_up_code_id').value = '';
290  }
291}
292
293function ec_check_submit() {
294  if ((
295    document.getElementById('ec_sel_code_new').checked != '' &&
296    document.getElementById('ec_in_up_code_id').value == ''
297    ) || (
298    document.getElementById('ec_sel_code_old').checked != '' &&
299    document.getElementById('ec_in_up_code_list_id').value == '-1'
300    )
301  ) {
302    alert(ec_JS_message['ec_submit_code_miss']);
303    return false;
304  }
305  if ((
306    document.getElementById('ec_sel_user_new').checked != '' &&
307    document.getElementById('ec_in_up_usr_txt_id').value == ''
308    ) || (
309    document.getElementById('ec_sel_user_old').checked != '' &&
310    document.ec_new_code.ec_in_up_usr_list.value == '-1'
311    ) || (
312    document.getElementById('ec_sel_user_new').checked == '' &&
313    document.getElementById('ec_sel_user_old').checked == ''
314    )
315  ) {
316    alert(ec_JS_message['ec_submit_user_miss']);
317    return false;
318  }
319  if (
320    document.ec_new_code.ec_in_up_aps.selectedIndex < 1 &&
321    document.ec_new_code.ec_in_up_cat.selectedIndex < 1 && (
322      document.getElementById('ec_in_up_imgs_id').value == '' || (
323        document.getElementById('ec_in_up_imgs_id').value != '' &&
324        isNaN(document.getElementById('ec_in_up_imgs_id').value) &&
325        document.ec_new_code.ec_in_up_cat.selectedIndex < 1
326      )
327    ) &&
328    document.getElementById('ec_input_action_home').checked == ''
329  ) {
330    alert(ec_JS_message['ec_submit_action_miss']);
331    return false;
332  }
333}
334
335function ec_change_code_list(ec_id) {
336  ec_selected_old_code = ec_id;
337  ec_mark_code('ec_sel_code_old');
338}
339
340function ec_test() {
341  alert('OK.');
342}
343
344function ec_init() {
345  ec_err = '';
346  ec_selected_user = 'ec_sel_user_old';
347  ec_selected_code = 'ec_sel_code_new';
348  ec_selected_old_user = '-1';
349  ec_selected_old_code = '-1';
350  ec_selected_AP = '-1';
351  ec_selected_cat = '-1';
352  ec_selected_action = '';
353  ec_selected_img = '';
354  ec_new_code_text = '';
355  ec_new_user_text = '';
356  ec_new_psd_text = '';
357  ec_old_new_psd_text = '';
358  ec_test_reg = '';
359  document.getElementById('ec_act1_id').value                    =
360   ec_default_action;
361  document.getElementById('ec_in_up_auto_code_length_id').value  =
362   ec_auto_code_digits_nb;
363  document.getElementById('ec_in_up_code_id').value              = '';
364  document.getElementById('ec_in_up_usr_txt_id').value           = '';
365  document.getElementById('ec_in_up_psd_txt_id').value           = '';
366  document.getElementById('ec_in_up_pwd_warn').innerHTML         = '';
367  document.getElementById('ec_in_up_aps_id').value               = '-1';
368  document.getElementById('ec_in_up_cats_id').value              = '-1';
369  document.getElementById('ec_in_up_imgs_id').value              = '';
370  document.getElementById('ec_in_up_imgs_warn').innerHTML        = '';
371  document.getElementById('ec_input_action_home').checked        = 'checked';
372  document.getElementById('ec_input_action_home').checked        = '';
373 
374  if (ec_default_action == 'create') {
375    document.getElementById('ec_in_up_code_list_id').value       = '-1';
376    document.getElementById('ec_sel_code_old').checked           = 'checked';
377    document.getElementById('ec_sel_code_old').checked           = '';
378    document.getElementById('ec_sel_user_old').checked           = 'checked';
379    document.getElementById('ec_sel_user_old').checked           = '';
380    document.getElementById('ec_in_up_usr_list_id').value        = '-1';
381    document.getElementById('ec_submit_gen_full_auto_id').disabled = '';
382    document.getElementById('ec_submit_gen_code_id').disabled    = '';
383    document.getElementById('ec_in_up_auto_code_length_id').disabled = '';
384    document.getElementById('ec_in_up_code_id').disabled         = '';
385    document.getElementById('ec_sel_code_new').disabled          = '';
386    document.getElementById('ec_sel_code_old').disabled          = '';
387    document.getElementById('ec_in_up_code_list_id').disabled    = '';
388    document.getElementById('ec_sel_user_new').disabled          = '';
389    document.getElementById('ec_submit_gen_user_id').disabled    = '';
390    document.getElementById('ec_in_up_usr_txt_id').disabled      = '';
391    document.getElementById('ec_in_up_psd_txt_id').disabled      = '';
392    document.getElementById('ec_sel_user_old').disabled          = '';
393    document.getElementById('ec_in_up_usr_list_id').disabled     = '';
394  }
395  else {
396    document.getElementById('ec_in_up_code_list_id').value       =
397     ec_default_action;
398    document.getElementById('ec_sel_code_old').checked           = 'checked';
399    document.getElementById('ec_submit_gen_full_auto_id').disabled =
400     'disabled';
401    document.getElementById('ec_submit_gen_code_id').disabled    = 'disabled';
402    document.getElementById('ec_in_up_auto_code_length_id').disabled =
403     'disabled';
404    document.getElementById('ec_in_up_code_id').disabled         = 'disabled';
405    document.getElementById('ec_sel_code_new').disabled          = 'disabled';
406    document.getElementById('ec_sel_code_old').disabled          = 'disabled';
407    document.getElementById('ec_in_up_code_list_id').disabled    = 'disabled';
408    ec_selected_old_code = ec_duplic_codes[ec_default_action];
409    ec_flag2 = true;
410    ec_mark_code('ec_sel_code_old');
411    ec_flag2 = false;
412  }
413  ec_default_action                                              = 'create';
414}
Note: See TracBrowser for help on using the repository browser.