summaryrefslogtreecommitdiff
path: root/static/f/script.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/f/script.js')
-rw-r--r--static/f/script.js86
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();