summaryrefslogtreecommitdiff
path: root/lib/scripts
diff options
context:
space:
mode:
authorAdrian Lang <lang@cosmocode.de>2009-12-02 13:24:34 +0100
committerAdrian Lang <lang@cosmocode.de>2010-01-19 16:44:28 +0100
commit1c64eaeaa3295062b0a4e9b20b772274cd86ca42 (patch)
treec37b1ab5bde48a03265411d1ffc9bfbe978f54fd /lib/scripts
parentd822118c9a034bb7ecb820df6ac46cb078d5d4b9 (diff)
downloadrpg-1c64eaeaa3295062b0a4e9b20b772274cd86ca42.tar.gz
rpg-1c64eaeaa3295062b0a4e9b20b772274cd86ca42.tar.bz2
Fix section edit highlighting for tables
darcs-hash:20091202122434-e4919-d7be5b868af742e2408091b48f0152153ff1acb1.gz
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/script.js41
1 files changed, 29 insertions, 12 deletions
diff --git a/lib/scripts/script.js b/lib/scripts/script.js
index ccba82144..b611f980a 100644
--- a/lib/scripts/script.js
+++ b/lib/scripts/script.js
@@ -538,24 +538,41 @@ addInitEvent(function(){
var break_classes = new RegExp('secedit|toc|page');
var btns = getElementsByClass('btn_secedit',document,'form');
for(var i=0; i<btns.length; i++){
- addEvent(btns[i],'mouseover',function(e){
- var tgt = e.target;
- if(tgt.form) tgt = tgt.form;
- tgt = tgt.parentNode.previousSibling;
- if(tgt.nodeName != "DIV") tgt = tgt.previousSibling;
- while(!break_classes.test(tgt.className)) {
- tgt.className += ' section_highlight';
- if (tgt.tagName == 'H1') break;
- tgt = (tgt.previousSibling != null) ? tgt.previousSibling : tgt.parentNode;
- }
- });
+ switch(btns[i].parentNode.className.match(/editbutton_(\w+)/)[1]) {
+ case 'plain':
+ addEvent(btns[i],'mouseover',function(e){
+ var tgt = e.target.form.parentNode;
+ do {
+ tgt = tgt.previousSibling;
+ } while (tgt && !tgt.tagName);
+ if (!tgt) return;
+ if(tgt.nodeName != "DIV") tgt = tgt.previousSibling;
+ while(!break_classes.test(tgt.className)) {
+ tgt.className += ' section_highlight';
+ if (tgt.tagName == 'H1') break;
+ tgt = (tgt.previousSibling != null) ? tgt.previousSibling : tgt.parentNode;
+ }
+ });
+ break;
+
+ case 'table':
+ addEvent(btns[i],'mouseover',function(e){
+ var tgt = e.target.form.parentNode;
+ do {
+ tgt = tgt.previousSibling;
+ } while (tgt && !tgt.tagName);
+ if (tgt && tgt.tagName === 'TABLE') {
+ tgt.className += ' section_highlight';
+ }
+ });
+ break;
+ }
addEvent(btns[i],'mouseout',function(e){
var secs = getElementsByClass('section_highlight');
for(var j=0; j<secs.length; j++){
secs[j].className = secs[j].className.replace(/section_highlight/,'');
}
- var secs = getElementsByClass('section_highlight');
});
}
});