summaryrefslogtreecommitdiff
path: root/static
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-03-28 11:38:52 +0100
committerYorhel <git@yorhel.nl>2009-03-28 11:38:52 +0100
commitb153819bdb92d6b233de12b9063cfa6a6ced7952 (patch)
tree8e851e4755d883f5e8fbb5200d3d91b6d7cc2a92 /static
parent84a53570c59719834d1ba20aa3b535acad8a8852 (diff)
Expandable tag summary on VN pages
Diffstat (limited to 'static')
-rw-r--r--static/f/script.js49
1 files changed, 37 insertions, 12 deletions
diff --git a/static/f/script.js b/static/f/script.js
index 6a08f3cb..b555c662 100644
--- a/static/f/script.js
+++ b/static/f/script.js
@@ -76,7 +76,7 @@ function searchInit() {
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() {
+ l[i].onclick = function() {
searchParse(0, this.parentNode.getElementsByTagName('acronym')[0].title);
};
@@ -347,19 +347,40 @@ function jtSel(which, nolink) {
/* Tag VN spoilers */
-function tvsSet(lvl) {
+/* lvl = null to not change lvl, lim = null to not change limit */
+function tvsSet(lvl, lim) {
var l = x('tagops').getElementsByTagName('a');
for(var i=0;i<l.length;i++) {
- if(i == lvl && l[i].className.indexOf('tsel') < 0)
- l[i].className += ' tsel';
- else if(i != lvl && l[i].className.indexOf('tsel') >= 0)
- l[i].className = l[i].className.replace(/tsel/, '');
+ if(i < 3) {
+ if(lvl == null) { /* determine level */
+ if(l[i].className.indexOf('tsel') >= 0)
+ lvl = i;
+ } else { /* set level */
+ if(i == lvl && l[i].className.indexOf('tsel') < 0)
+ l[i].className += ' tsel';
+ else if(i != lvl && l[i].className.indexOf('tsel') >= 0)
+ l[i].className = l[i].className.replace(/tsel/, '');
+ }
+ } else {
+ if(lim == null) { /* determine limit */
+ if(l[i].className.indexOf('tsel') >= 0)
+ lim = i == 3;
+ } else { /* set limit */
+ if((i == 3) == lim && l[i].className.indexOf('tsel') < 0)
+ l[i].className += ' tsel';
+ else if((i == 3) != lim && l[i].className.indexOf('tsel') >= 0)
+ l[i].className = l[i].className.replace(/tsel/, '');
+ }
+ }
}
+
l = x('vntags').getElementsByTagName('span');
+ lim = lim ? 15 : 999;
+ var s=0;
for(i=0;i<l.length;i++) {
- if(lvl < l[i].className.substr(6, 1) && l[i].className.indexOf('hidden') < 0)
+ if((lvl < l[i].className.substr(6, 1) || s>=lim) && l[i].className.indexOf('hidden') < 0)
l[i].className += ' hidden';
- else if(lvl >= l[i].className.substr(6, 1) && l[i].className.indexOf('hidden') >= 0)
+ if(lvl >= l[i].className.substr(6, 1) && ++s<=lim && l[i].className.indexOf('hidden') >= 0)
l[i].className = l[i].className.replace(/hidden/, '');
}
return false;
@@ -523,18 +544,22 @@ DOMLoad(function() {
for(i=0;i<l.length;i++)
l[i].onclick = function() {
var l = x('tagops').getElementsByTagName('a');
+ var sel = 0;
for(var i=0;i<l.length;i++)
if(l[i] == this) {
- tvsSet(i);
- setCookie('tagspoil', i);
+ if(i < 3) {
+ tvsSet(i, null);
+ setCookie('tagspoil', i);
+ } else
+ tvsSet(null, i==3?true:false);
}
return false;
};
- tvsSet(readCookie('tagspoil')||0);
+ tvsSet(readCookie('tagspoil'), true);
}
// Javascript tabs
- if(x('jt_select'))
+ if(x('jt_select'))
jtInit();
// spoiler tags