var tglSpoilers = []; function tglLoad() { for(var i=0; i<=3; i++) tglSpoilers[i] = fmtspoil(i-1); // tag dropdown search dsInit(byId('tagmod_tag'), '/xml/tags.xml?q=', function(item, tr) { tr.appendChild(tag('td', shorten(item.firstChild.nodeValue, 40), item.getAttribute('applicable') == 'no' ? tag('b', {'class':'grayedout'}, ' not applicable') : item.getAttribute('state') == 0 ? tag('b', {'class':'grayedout'}, ' awaiting moderation') : null )); }, function(item) { return item.firstChild.nodeValue; }, tglAdd); byId('tagmod_add').onclick = tglAdd; // JS'ify the voting bar and spoiler setting var trs = byName(byId('tagtable'), 'tr'); for(var i=0; i= tglSpoilers.length) this.tgl_spoil = 0; setText(this, tglSpoilers[this.tgl_spoil]); tglSerialize(); ddRefresh(); } function tglSpoilDD(lnk) { var lst = tag('ul', null); for(var i=0; i0&&vote>=num); } } function tglAdd() { var tg = byId('tagmod_tag'); var add = byId('tagmod_add'); tg.disabled = add.disabled = true; add.value = 'Loading...'; ajax('/xml/tags.xml?q=='+encodeURIComponent(tg.value), function(hr) { tg.disabled = add.disabled = false; tg.value = ''; add.value = 'Add tag'; var items = hr.responseXML.getElementsByTagName('item'); if(items.length < 1) return alert('Item not found!'); if(items[0].getAttribute('applicable') == 'no') return alert('This tag may not be applied to visual novels.'); var name = items[0].firstChild.nodeValue; var id = items[0].getAttribute('id'); if(byId('tgl_'+id)) return alert('Tag is already present!'); if(!byId('tagmod_newtags')) byId('tagtable').appendChild(tag('tr', {'class':'tagmod_cat', id:'tagmod_newtags'}, tag('td', {colspan:7}, 'Newly added'))); var vote = tag('td', {'class':'tc_myvote', tgl_vote: 2}, ''); tglVoteBar(vote); var spoil = tag('td', {'class':'tc_myspoil', tgl_spoil: 0}, tglSpoilers[0]); ddInit(spoil, 'tagmod', tglSpoilDD); spoil.onclick = tglSpoilNext; var ismod = byClass(byId('tagtable').parentNode, 'td', 'tc_myover').length; byId('tagtable').appendChild(tag('tr', {id:'tgl_'+id}, tag('td', {'class':'tc_tagname'}, tag('a', {href:'/g'+id}, name)), vote, ismod ? tag('td', {'class':'tc_myover'}, ' ') : null, spoil, tag('td', {'class':'tc_allvote'}, ' '), tag('td', {'class':'tc_allspoil'}, ' '), tag('td', {'class':'tc_allwho'}, '') )); tglSerialize(); }); } function tglSerialize() { var r = []; var l = byName(byId('tagtable'), 'tr'); for(var i=0; i