var OverNav = false; var NavOutGracePeriod = 500; function NavOver( Element ) { var SubNav = GetNextSibling( Element, 'ul' ); if( SubNav ) { HideSubNav(); SubNav.style.display = 'block'; OverNav = true; } } function NavOut( Element ) { var SubNav = GetNextSibling( Element, 'ul' ); if( SubNav ) { OverNav = false; window.setTimeout( "HideSubNav();", NavOutGracePeriod ); } } function HideSubNav() { if( !OverNav ) { var Nav = document.getElementById( 'Navigation' ); var SubNav = Nav.getElementsByTagName( 'ul' ); for( i = 0; i < SubNav.length; i++ ) { if( SubNav[i].style.display != 'none' ) { SubNav[i].style.display='none'; } } } } function GetNextSibling( Element, Tag ) { while( Element != null ) { if( Element.tagName && Element.tagName.toLowerCase() == Tag.toLowerCase() ) { break; } Element = Element.nextSibling; } return Element; } function GetNextChild( Element, Tag ) { while( Element != null ) { if( Element.tagName && Element.tagName.toLowerCase() == Tag.toLowerCase() ) { break; } Element = Element.nextSibling; } return Element; } function ShowTab( TabElement, ContentTagName, ContentIdentifier ) { // update tabs var ListElement = TabElement.parentNode; var Items = ListElement.getElementsByTagName( 'li' ); for( var i = 0; i < Items.length; i++ ) { Items[i].className = ( Items[i] == TabElement ? 'Active' : '' ); } // update tab content var TabContent = document.getElementById( ContentIdentifier ); var ListElement = TabContent.parentNode; var Items = ListElement.getElementsByTagName( ContentTagName ); for( var i = 0; i < Items.length; i++ ) { Items[i].style.display = ( Items[i] == TabContent ? 'block' : 'none' ); } }