diff options
Diffstat (limited to 'lib/scripts/script.js')
-rw-r--r-- | lib/scripts/script.js | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/lib/scripts/script.js b/lib/scripts/script.js index b611f980a..ef4ae95a2 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -535,38 +535,24 @@ addInitEvent(function(){ * @author Andreas Gohr <andi@splitbrain.org> */ 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++){ - 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)) { + addEvent(btns[i],'mouseover',function(e){ + var tgt = e.target.form.parentNode; + var nr = tgt.className.match(/(\s+|^)editbutton_(\d+)(\s+|$)/)[2]; + do { + tgt = tgt.previousSibling; + } while (tgt !== null && typeof tgt.tagName === 'undefined'); + if (tgt === null) return; + while(typeof tgt.className === 'undefined' || + tgt.className.match('(\\s+|^)sectionedit' + nr + '(\\s+|$)') === null) { + if (typeof tgt.className !== 'undefined') { 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; - } + tgt = (tgt.previousSibling !== null) ? tgt.previousSibling : tgt.parentNode; + } + if (typeof tgt.className !== 'undefined') tgt.className += ' section_highlight'; + }); addEvent(btns[i],'mouseout',function(e){ var secs = getElementsByClass('section_highlight'); |