diff options
Diffstat (limited to 'static/f/script.js')
-rw-r--r-- | static/f/script.js | 86 |
1 files changed, 70 insertions, 16 deletions
diff --git a/static/f/script.js b/static/f/script.js index b555c662..b39ba11f 100644 --- a/static/f/script.js +++ b/static/f/script.js @@ -66,14 +66,9 @@ function searchInit() { return false; }); - var l = x('catselect').getElementsByTagName('li'); - for(i=0;i<l.length;i++) - if(l[i].id.substr(0,4) == 'cat_') - l[i].onclick = function() { - searchParse(1, this.innerHTML); - }; - - l = x('advoptions').getElementsByTagName('input'); + if(x('advoptions').className.indexOf('vnoptions') < 0) + return; + var l = x('advoptions').getElementsByTagName('input'); for(i=0;i<l.length;i++) if(l[i].id.substr(0,5) == 'lang_' || l[i].id.substr(0,5) == 'plat_') l[i].onclick = function() { @@ -110,14 +105,7 @@ function searchParse(add, term) { } q = q.toLowerCase(); - var l = x('catselect').getElementsByTagName('li'); - for(i=0;i<l.length;i++) - if(l[i].id.substr(0,4) == 'cat_') { - var cat = l[i].innerHTML.toLowerCase(); - l[i].className = q.indexOf('-'+cat) >= 0 ? 'exc' : q.indexOf(cat) >= 0 ? 'inc' : ''; - } - - l = x('advoptions').getElementsByTagName('input'); + var l = x('advoptions').getElementsByTagName('input'); for(i=0;i<l.length;i++) if(l[i].id.substr(0,5) == 'lang_' || l[i].id.substr(0,5) == 'plat_') l[i].checked = q.indexOf(l[i].parentNode.getElementsByTagName('acronym')[0].title.toLowerCase()) >= 0 ? true : false; @@ -389,6 +377,40 @@ function tvsSet(lvl, lim) { +/* date input */ +var months = ['January','February','March','April','May','June','July','August','September','October','November','December']; +function dtLoad(obj) { + var r = Math.floor(obj.value) || 0; + var v = [ Math.floor(r/10000), Math.floor(r/100)%100, r%100 ]; + var i; + r = '<select onchange="dtSerialize(this)" style="width: 70px"><option value="0">-year-</option>'; + for(i=1980; i<=(new Date()).getFullYear()+5; i++) + r += '<option value="'+i+'"'+(i == v[0] ? ' selected="selected"':'')+'>'+i+'</option>'; + r += '<option value="9999"'+(v[0] == 9999 ? ' selected="selected"':'')+'>TBA</option>'; + r += '</select><select onchange="dtSerialize(this)" style="width: 100px"><option value="99">-month-</option>'; + for(i=1; i<=12; i++) + r += '<option value="'+i+'"'+(i == v[1] ? ' selected="selected"':'')+'>'+months[i-1]+'</option>'; + r += '</select><select onchange="dtSerialize(this)" style="width: 70px"><option value="99">-day-</option>'; + for(i=1; i<=31; i++) + r += '<option value="'+i+'"'+(i == v[2] ? ' selected="selected"':'')+'>'+i+'</option>'; + r += '</select>'; + v = document.createElement('div'); + v.obj = obj; + v.innerHTML = r; + obj.parentNode.insertBefore(v, obj); +} +function dtSerialize(obj) { + obj = obj.parentNode; + var l = obj.getElementsByTagName('select'); + var v = [ l[0].options[l[0].selectedIndex].value*1, l[1].options[l[1].selectedIndex].value*1, l[2].options[l[2].selectedIndex].value*1 ]; + obj = obj.obj; + if(v[0] == 0) obj.value = 0; + else if(v[0] == 9999) obj.value = 99999999; + else obj.value = v[0]*10000 + v[1]*100 + (v[1]==99?99:v[2]); +} + + + /* O N L O A D E V E N T */ DOMLoad(function() { @@ -570,6 +592,32 @@ DOMLoad(function() { l[i].onmouseout = function() { this.className = 'spoiler' }; } + // expand/collapse edit summaries on */hist + if(x('history_comments')) { + setcomment = function() { + var e = readCookie('histexpand') == 1; + var l = x('history_comments'); + l.innerHTML = e ? 'collapse' : 'expand'; + while(l.nodeName.toLowerCase() != 'table') + l = l.parentNode; + l = l.getElementsByTagName('tr'); + for(var i=0;i<l.length;i++) + //alert(l[i].className); + if(l[i].className.indexOf('editsum') >= 0) { + if(!e && l[i].className.indexOf('hidden') < 0) + l[i].className += ' hidden'; + if(e && l[i].className.indexOf('hidden') >= 0) + l[i].className = l[i].className.replace(/hidden/, ''); + } + }; + setcomment(); + x('history_comments').onclick = function () { + setCookie('histexpand', readCookie('histexpand') == 1 ? 0 : 1); + setcomment(); + return false; + }; + } + // Are we really vndb? if(location.hostname != 'vndb.org') { var d = document.createElement('div'); @@ -578,6 +626,12 @@ DOMLoad(function() { document.body.appendChild(d); } + // date selector + l = document.getElementsByTagName('input'); + for(i=0;i<l.length;i++) + if(l[i].className == 'dateinput') + dtLoad(l[i]); + // forms.js if(x('relations')) relLoad(); |