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