1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
function salLoad () {
byId('alias_tbl').appendChild(tag('tr', {id:'alias_new'},
tag('td', null),
tag('td', {colspan:3}, tag('a', {href:'#', onclick:salFormAdd}, mt('_staffe_aliases_add')))));
salAdd(byId('primary').value||0, byId('name').value, byId('original').value);
var aliases = jsonParse(byId('aliases').value) || [];
for(var i = 0; i < aliases.length; i++) {
salAdd(aliases[i].aid, aliases[i].name, aliases[i].orig);
}
byName(byId('maincontent'), 'form')[0].onsubmit = salSerialize;
}
function salAdd(aid, name, original) {
var tbl = byId('alias_tbl');
var first = tbl.rows.length <= 1;
tbl.insertBefore(tag('tr', first ? {id:'primary_name'} : null,
tag('td', {'class':'tc_id' },
tag('input', {type:'radio', name:'primary_id', value:aid, checked:first, onchange:salPrimary})),
tag('td', {'class':'tc_name' }, tag('input', {type:'text', 'class':'text', value:name})),
tag('td', {'class':'tc_original' }, tag('input', {type:'text', 'class':'text', value:original})),
tag('td', {'class':'tc_add' }, !first ?
tag('a', {href:'#', onclick:salDel}, mt('_js_remove')) : null)
), byId('alias_new'));
}
function salPrimary() {
var prev = byId('primary_name')
prev.removeAttribute('id');
byClass(prev, 'td', 'tc_add')[0].appendChild(tag('a', {href:'#', onclick:salDel}, mt('_js_remove')));
var tr = this;
while (tr && tr.nodeName.toLowerCase() != 'tr')
tr = tr.parentNode;
tr.setAttribute('id', 'primary_name');
var td = byClass(tr, 'td', 'tc_add')[0];
while (td.firstChild)
td.removeChild(td.firstChild);
return salSerialize();
}
function salSerialize() {
var tbl = byName(byId('alias_tbl'), 'tr');
var a = [];
for (var i = 0; i < tbl.length; ++i) {
if(tbl[i].id == 'alias_new')
continue;
var id = byName(byClass(tbl[i], 'td', 'tc_id')[0], 'input')[0].value;
var name = byName(byClass(tbl[i], 'td', 'tc_name')[0], 'input')[0].value;
var orig = byName(byClass(tbl[i], 'td', 'tc_original')[0], 'input')[0].value;
if(tbl[i].id == 'primary_name') {
byId('name').value = name;
byId('original').value = orig;
byId('primary').value = id;
} else
a.push({ aid:Number(id), name:name, orig:orig });
}
byId('aliases').value = JSON.stringify(a);
return true;
}
function salDel() {
var tr = this;
while (tr && tr.nodeName.toLowerCase() != 'tr')
tr = tr.parentNode;
var tbl = byId('alias_tbl');
tbl.removeChild(tr);
salSerialize();
return false;
}
function salFormAdd() {
salAdd(0, '', '');
byName(byClass(byId('alias_new').previousSibling, 'td', 'tc_name')[0], 'input')[0].focus();
return false;
}
if(byId('jt_box_staffe_geninfo'))
salLoad();
|