﻿
var menu_view_states = new Object (); 

function toggle_visibility (e) { 
    var id = e.getAttribute ('id'); 
          
    if (e.style.display != 'block') { 
        e.style.display = 'block'; 
        menu_view_states[id] = 'block'; 
    } else { 
        e.style.display = 'none'; 
        menu_view_states[id] = 'none'; 
    } 
} 

function expand_child_menu (e) { 
    e = e || window.event; 
    p = e.target || e.srcElement; 
    
    for (var i = 0; i != p.childNodes.length; i++) { 
        if ((p.childNodes[i].tagName == 'UL') || (p.childNodes[i].tagName == 'ul')) { 
            var child = p.childNodes[i]; 
            collapse_all_menus (); 
            toggle_visibility (child); 
            return; 
        } 
    } 
    
    if (p.parentNode.tagName == 'LI') { 
        var a = new Object (); 
        a.target = p.parentNode; 
        expand_child_menu (a); 
    } 
} 

function collapse_menu (element) {
    element.style.display = 'none'; 
} 

function collapse_all_menus () { 
    // get_elements_by_tag (document.getElementById('nav'), 'ul'); 
    var menus = document.getElementById ('nav').getElementsByTagName ('ul'); 
    
    for (var i = 0; i != menus.length; i++) { 
        if (menus[i].getAttribute ('class') == 'sub small') { 
            collapse_menu (menus[i]); 
        }  
    } 
} 

var elements = new Array (); 

function get_elements_by_tag (start_element, tag) { 
    
    for (var i = 0; i != start_element.childNodes.length; i++) { 
        if (start_element.childNodes[i].tagName == tag) { 
            elements[elements.length] = start_element.childNodes[i]; 
        } 
        
        get_elements_by_tag (start_element.childNodes[i], tag);   
    } 
} 
