diff --git a/lib/exe/js.php b/lib/exe/js.php index 720e34577b64b1e2f5cc3b84342a783a593cd42e..308c1b5347a1c138f4cd651ca0e0541b33922ea1 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -107,7 +107,6 @@ function js_out(){ // init stuff js_runonstart("addEvent(document,'click',closePopups)"); - js_runonstart('addTocToggle()'); js_runonstart("initToolbar('tool__bar','wiki__text',toolbar)"); if($conf['locktime'] != 0){ js_runonstart("locktimer.init(".($conf['locktime'] - 60).",'".js_escape($lang['willexpire'])."',".$conf['usedraft'].", 'wiki__text')"); diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js index 7cc65579ef0c959b893efd34407c40e012c2aa89..db9dbacc2bb5b01556a4a84851bab4148311cd6d 100644 --- a/lib/scripts/behaviour.js +++ b/lib/scripts/behaviour.js @@ -17,6 +17,7 @@ var dw_behaviour = { dw_behaviour.removeHighlightOnClick(); dw_behaviour.quickSelect(); dw_behaviour.checkWindowsShares(); + dw_behaviour.initTocToggle(); }, /** @@ -89,6 +90,36 @@ var dw_behaviour = { jQuery('a.windows').live('click', function(){ alert(LANG.nosmblinks); }); + }, + + /** + * Adds the toggle switch to the TOC + */ + initTocToggle: function() { + var $header = jQuery('#toc__header'); + if(!$header.length) return; + var $toc = jQuery('#toc__inside'); + + var $clicky = jQuery(document.createElement('span')) + .attr('id','toc__toggle') + .css('cursor','pointer') + .click(function(){ + $toc.slideToggle(); + setClicky(); + }); + $header.prepend($clicky); + + var setClicky = function(){ + if($toc.css('display') == 'none'){ + $clicky.html('<span>+</span>'); + $clicky[0].className = 'toc_open'; + }else{ + $clicky.html('<span>−</span>'); + $clicky[0].className = 'toc_close'; + } + }; + + setClicky(); } }; diff --git a/lib/scripts/script.js b/lib/scripts/script.js index f5d76d27ca6dca878d814b0ad614b9b274681aec..e3216177c142cdd9b6bd6f8880915a956653607f 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -193,47 +193,6 @@ function hideLoadBar(id){ if(obj) obj.style.display="none"; } -/** - * Adds the toggle switch to the TOC - */ -function addTocToggle() { - if(!document.getElementById) return; - var header = $('toc__header'); - if(!header) return; - var toc = $('toc__inside'); - - var obj = document.createElement('span'); - obj.id = 'toc__toggle'; - obj.style.cursor = 'pointer'; - if (toc && toc.style.display == 'none') { - obj.innerHTML = '<span>+</span>'; - obj.className = 'toc_open'; - } else { - obj.innerHTML = '<span>−</span>'; - obj.className = 'toc_close'; - } - - prependChild(header,obj); - obj.parentNode.onclick = toggleToc; - obj.parentNode.style.cursor = 'pointer'; -} - -/** - * This toggles the visibility of the Table of Contents - */ -function toggleToc() { - var toc = $('toc__inside'); - var obj = $('toc__toggle'); - if(toc.style.display == 'none') { - toc.style.display = ''; - obj.innerHTML = '<span>−</span>'; - obj.className = 'toc_close'; - } else { - toc.style.display = 'none'; - obj.innerHTML = '<span>+</span>'; - obj.className = 'toc_open'; - } -} /** * Create JavaScript mouseover popup