/** * JavaScript routines for Krumo * * @link http://sourceforge.net/projects/krumo */ ///////////////////////////////////////////////////////////////////////////// /** * Krumo JS Class */ function krumo() { } // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- /** * Add a CSS class to an HTML element * * @param HtmlElement el * @param string className * @return void */ krumo.reclass = function(el, className) { if (el.className.indexOf(className) < 0) { el.className += (' ' + className); } } // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- /** * Remove a CSS class to an HTML element * * @param HtmlElement el * @param string className * @return void */ krumo.unclass = function(el, className) { if (el.className.indexOf(className) > -1) { el.className = el.className.replace(className, ''); } } // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- /** * Toggle the nodes connected to an HTML element * * @param HtmlElement el * @return void */ krumo.toggle = function(el) { var ul = el.parentNode.getElementsByTagName('ul'); for (var i=0; i<ul.length; i++) { if (ul[i].parentNode.parentNode == el.parentNode) { ul[i].parentNode.style.display = (ul[i].parentNode.style.display == 'none') ? 'block' : 'none'; } } // toggle class // if (ul[0].parentNode.style.display == 'block') { krumo.reclass(el, 'krumo-opened'); } else { krumo.unclass(el, 'krumo-opened'); } } // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- /** * Hover over an HTML element * * @param HtmlElement el * @return void */ krumo.over = function(el) { krumo.reclass(el, 'krumo-hover'); } // -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- /** * Hover out an HTML element * * @param HtmlElement el * @return void */ krumo.out = function(el) { krumo.unclass(el, 'krumo-hover'); } /////////////////////////////////////////////////////////////////////////////