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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
function vncLoad() {
var cast = jsonParse(byId('seiyuu').value) || [];
var copt = byId('cast_chars').options;
var chars = {};
for(var i = 0; i < copt.length; i++) {
if(copt[i].value)
chars[copt[i].value] = copt[i].text;
}
cast.sort(function(a, b) {
if(chars[a.cid] < chars[b.cid]) return -1;
if(chars[a.cid] > chars[b.cid]) return 1;
return 0;
});
for(var i = 0; i < cast.length; i++) {
var aid = cast[i].aid;
if(vnsStaffData[aid]) // vnsStaffData is filled by vnsLoad()
vncAdd(vnsStaffData[aid], cast[i].cid, cast[i].note);
}
vncEmpty();
onSubmit(byName(byId('maincontent'), 'form')[0], vncSerialize);
// dropdown search
dsInit(byId('cast_input'), '/xml/staff.xml?q=', function(item, tr) {
tr.appendChild(tag('td', { style: 'text-align: right; padding-right: 5px'}, 's'+item.getAttribute('sid')));
tr.appendChild(tag('td', item.firstChild.nodeValue));
tr.appendChild(tag('td', item.getAttribute('orig')));
}, vncFormAdd);
}
function vncAdd(seiyuu, chr, note) {
var tbl = byId('cast_tbl');
var csel = byId('cast_chars').cloneNode(true);
csel.removeAttribute('id');
csel.value = chr;
tbl.appendChild(tag('tr', {id:'vnc_a'+seiyuu.aid},
tag('td', {'class':'tc_char'}, csel),
tag('td', {'class':'tc_name'},
tag('input', {type:'hidden', value:seiyuu.aid}),
tag('a', {href:'/s'+seiyuu.id}, seiyuu.name)),
tag('td', {'class':'tc_note'}, tag('input', {type:'text', 'class':'text', value:note})),
tag('td', {'class':'tc_del'}, tag('a', {href:'#', onclick:vncDel}, 'remove'))
));
vncEmpty();
vncSerialize();
}
function vncFormAdd(item) {
var chr = byId('cast_chars').value;
if (chr) {
var s = { id:item.getAttribute('sid'), aid:item.getAttribute('id'), name:item.firstChild.nodeValue };
vncAdd(s, chr, '');
} else
alert('Select character first please.');
return '';
}
function vncEmpty() {
var x = byId('cast_loading');
var tbody = byId('cast_tbl');
var tbl = tbody.parentNode;
var thead = byName(tbl, 'thead');
if(x)
tbody.removeChild(x);
if(byName(tbody, 'tr').length < 1) {
tbody.appendChild(tag('tr', {id:'cast_tr_none'},
tag('td', {colspan:4}, 'None')));
if (thead.length)
tbl.removeChild(thead[0]);
} else {
if(byId('cast_tr_none'))
tbody.removeChild(byId('cast_tr_none'));
if (thead.length < 1) {
thead = tag('thead', tag('tr',
tag('td', {'class':'tc_char'}, 'Character'),
tag('td', {'class':'tc_name'}, 'Seiyuu'),
tag('td', {'class':'tc_note'}, 'Note'),
tag('td', '')));
tbl.insertBefore(thead, tbody);
}
}
}
function vncSerialize() {
var l = byName(byId('cast_tbl'), 'tr');
var c = [];
for (var i = 0; i < l.length; i++) {
if(l[i].id == 'cast_tr_none')
continue;
var aid = byName(byClass(l[i], 'tc_name')[0], 'input')[0];
var role = byName(byClass(l[i], 'tc_char')[0], 'select')[0];
var note = byName(byClass(l[i], 'tc_note')[0], 'input')[0];
c.push({ aid:Number(aid.value), cid:Number(role.value), note:note.value });
}
byId('seiyuu').value = JSON.stringify(c);
return true;
}
function vncDel() {
var tr = this;
while (tr.nodeName.toLowerCase() != 'tr')
tr = tr.parentNode;
byId('cast_tbl').removeChild(tr);
vncEmpty();
vncSerialize();
return false;
}
if(byId('jt_box_vn_cast'))
vncLoad();
|