/* author: Data Access Europe B.V. */
/* Creation date: 16-07-04 */


function getElementsByClassName(oElm,sTagName,sClassName)
{
	var aElements=(sTagName=="*"&&document.all)?document.all:oElm.getElementsByTagName(sTagName);
	var aReturnElements=new Array();
	sClassName=sClassName.replace(/\-/g,"\\-");
	var oRegExp=new RegExp("(^|\\s)"+sClassName+"(\\s|$)");
	var oElement;

	iPos=aElements.length;
	while(iPos--)
	{
		oElement=aElements[iPos];
		if(oRegExp.test(oElement.className))
		{
			aReturnElements[aReturnElements.length]=oElement;
		}
	}
	return (aReturnElements)
};


function selectMenu(oMenu) {
    if (oMenu) {
        oMenu.setAttribute("class","selected");
        oMenu.setAttribute("className","selected");
    }
};

function lockExpand() {
    var aoExpanded = getElementsByClassName(document.getElementById("nav_sub"), "LI", "expand");
    
    for (var iCount = 0; iCount < aoExpanded.length; iCount++) {
        if (getCSSClass(aoExpanded[iCount]).indexOf("nochild") > 0) {
            setCSSClass(aoExpanded[iCount], "expandalways nochild");
        } else {
            setCSSClass(aoExpanded[iCount], "expandalways");
        }
    }
}

function getCSSClass(oObject){
    var sClass;
    
    sClass = oObject.getAttribute("class")||oObject.getAttribute("className");
    
    return sClass;
}

function setCSSClass(oObject, sClass){
    oObject.getAttribute("class")?oObject.setAttribute("class",sClass):oObject.setAttribute("className",sClass);
}

// menu function
function doExpand(oButton) {

    if (oButton) {
    
        var oLI = oButton.parentNode;
        var aoExpanded = getElementsByClassName(document.getElementById("nav_sub"), "LI", "expand");
        var oLevel1;
        var oLevel2;
        var oLevel3;
        var iLevel = oLI.getAttribute("iLevel");
        var bCollapse = (getCSSClass(oLI).indexOf("expand") >= 0)
        if (iLevel == 3) {
            oLevel3 = oLI;
            oLevel2 = oLI.parentNode.parentNode;
            oLevel1 = oLevel2.parentNode.parentNode;
        } else if (iLevel == 2) {
            oLevel2 = oLI;
            oLevel1 = oLI.parentNode.parentNode;
        } else {
            oLevel1 = oLI;
        }


        for (var iCount = 0; iCount < aoExpanded.length; iCount++) {
            if (aoExpanded[iCount] != oLevel1 && aoExpanded[iCount] != oLevel2 && aoExpanded[iCount] != oLevel3) {
                if (getCSSClass(aoExpanded[iCount]).indexOf("expandalways") < 0) {
                    if (getCSSClass(aoExpanded[iCount]).indexOf("nochild") >= 0) {
                        setCSSClasse(aoExpanded[iCount],"collapse nochild");
                    } else {
                        setCSSClass(aoExpanded[iCount],"collapse");
                    }
                }
            }
        }

        if (oLevel3) {
            if (bCollapse) {
                if (getCSSClass(oLevel3).indexOf("expandalways") < 0) {
                    if (getCSSClass(oLevel3).indexOf("nochild") >= 0) {
                        setCSSClass(oLevel3,"collapse nochild");
                    } else {
                        setCSSClass(oLevel3,"collapse");
                    }
                }
                bCollapse = false;
            } else {    
                if (getCSSClass(oLevel3).indexOf("expandalways") < 0) {
                    if (getCSSClass(oLevel3).indexOf("nochild") >= 0) {
                        setCSSClass(oLevel3,"expand nochild");
                    } else {
                        setCSSClass(oLevel3,"expand");
                    }    
                }
            }
        }
        if (oLevel2) {
            if (bCollapse) {
                if (getCSSClass(oLevel2).indexOf("expandalways") < 0) {
                    if (getCSSClass(oLevel2).indexOf("nochild") >= 0) {
                        setCSSClass(oLevel2,"collapse nochild");
                    } else {
                        setCSSClass(oLevel2,"collapse");
                    }
                }
                bCollapse = false;
            } else {
                if (getCSSClass(oLevel2).indexOf("expandalways") < 0) {
                    if (getCSSClass(oLevel2).indexOf("nochild") >= 0) {
                        setCSSClass(oLevel2,"expand nochild");
                    } else {
                        setCSSClass(oLevel2,"expand");
                    }    
                }
            }
        }    
        if (oLevel1) {
            if (bCollapse) {
                if (getCSSClass(oLevel1).indexOf("expandalways") < 0) {
                    if (getCSSClass(oLevel1).indexOf("nochild") >= 0) {
                        setCSSClass(oLevel1,"collapse nochild");
                    } else {
                        setCSSClass(oLevel1,"collapse");
                    }
                }
                bCollapse = false;
            } else {
                if (getCSSClass(oLevel1).indexOf("expandalways") < 0) {
                    if (getCSSClass(oLevel1).indexOf("nochild") >= 0) {
                        setCSSClass(oLevel1,"expand nochild");
                    } else {
                        setCSSClass(oLevel1,"expand");
                    }
                }
            }
        }
    }
};