var isNav4, isNav6, isIE4;

function setBrowser() {
    if (navigator.appVersion.charAt(0) == "4") {
        if (navigator.appName.indexOf("Explorer") >= 0) {
            isIE4 = true;
        } else {
            isNav4 = true;
        }
    } else if (navigator.appVersion.charAt(0) > "4") {
        isNav6 = true;
    }
}

function getIdProperty( id, property ) {
    if (isNav6)     {
        var styleObject = document.getElementById( id );
        if (styleObject != null) {
            styleObject = styleObject.style;
            if (styleObject[property]) { return styleObject[ property ]; }
        }
        styleObject = getStyleBySelector( "#" + id );
        return (styleObject != null) ? styleObject[property] : null;
    } else if (isNav4) {
        return document[id][property];
    } else {
        return document.all[id].style[property];
    }
}

function getStyleBySelector( selector ) {
    if (!isNav6) { return null;}
    var sheetList = document.styleSheets;
    var ruleList;
    var i, j;
    for (i=sheetList.length-1; i >= 0; i--) {
        ruleList = sheetList[i].cssRules;
        for (j=0; j<ruleList.length; j++) {
            if (ruleList[j].type == CSSRule.STYLE_RULE && ruleList[j].selectorText == selector) { return ruleList[j].style; }   
        }
    }
    return null;
}

function setIdProperty( id, property, value ) {
    if (isNav6) {
        var styleObject = document.getElementById( id );
        if (styleObject != null) {
            styleObject = styleObject.style;
            styleObject[ property ] = value;
        }
    }
    else if (isNav4) { document[id][property] = value; }
    else if (isIE4) { document.all[id].style[property] = value; }
}

/*========================================*/

function findOwner( evt ) {
    var node;
    if (isNav6) {
        node = evt.target;
        while (node) {
            if ( node.nodeType == Node.ELEMENT_NODE && node.nodeName == "DIV") { return node; }
            node = node.parentNode;
        }
    }
    else if (isIE4) {
        node = window.event.srcElement;
        while (node) {
            if (node.tagName == "DIV") { return node; }
            node = node.parentElement;
        }
    }
    return null;
}

function getObject( nameStr ) {
    if (isNav6) { return document.getElementById( nameStr ); }
    else if (isIE4) { return document.all[nameStr]; }
}


function showMenu( evt ) {
    var owner = findOwner( evt );
    var divNum;

    if (isNav6) { divNum = owner.attributes.getNamedItem("id").nodeValue; }
	else if (isIE4) { divNum = owner.id; }

    divNum = parseInt( divNum.substr(1));

    if (getIdProperty( "s" + divNum, "display") != "block" ) { setIdProperty("s" + divNum, "display", "block");}
	else { setIdProperty("s" + divNum, "display", "none"); }
}

function setupAction( node ) {
    if (isNav6) {
        node.addEventListener( "click", showMenu, false);
    } else if (isIE4) {
        node.onclick = showMenu;
    }
}

function setupEvents() {
    var i;
    var theNode;
    for (i=0; i<vocabList.length; i++) { theNode = document.getElementById( "s" + i ); setupAction( theNode ); }
}

function setup() {
    var i;
    var obj;
    obj = getObject( "m0" );
	setupAction( obj );
}

setBrowser();