//  http://www.quirksmode.org/js/display.html
function closeNav()
{
	var x = getElementsByClassName('menu');
	
	for (var i=0; i < x.length; i++)
	{
		if (x[i].parentNode.id != 'menuVert')
		    x[i].style.display = 'none';
	}
}

function setNav(pageID) {
    //debugger;
    var div = document.getElementById('menuItem' + pageID);
    if (div)
    {
        cssjs('add', div, 'current')    // set .current class to style the current selection
        
        // display parent menus
	    var parDiv = div.parentNode;
        while (parDiv.className == 'menu')
        {
            parDiv.style.display = 'block';
            parDiv = parDiv.parentNode.parentNode;
        }
	    // display child menu
	    var submenus = getChildrenByClassName('menu', div);
	    if (submenus.length)
		    submenus[0].style.display = 'block';
    }
}

function displaySwitch(obj) {
	siblings = obj.parentNode.childNodes;
	for (i=0; i < siblings.length; i++) {
		if (siblings[i].className == 'menu') {
			status = siblings[i].style.display;
			//alert(status);
			if (status == '' || status == 'none') {
				siblings[i].style.display = 'block';
				//setTreeSigns(siblings[i]);
				}
			else 
				siblings[i].style.display = 'none';
			return false;	// menu found -- return false to cancel A link click
		}
	}
	return true;
}
	
/*
* cssjs
* written by Christian Heilmann (http://icant.co.uk)
* eases the dynamic application of CSS classes via DOM
* parameters: action a, object o and class names c1 and c2 (c2 optional)
* actions: swap exchanges c1 and c2 in object o
*			add adds class c1 to object o
*			remove removes class c1 from object o
*			check tests if class c1 is applied to object o
* example:	cssjs('swap',document.getElementById('foo'),'bar','baz');
*/


function cssjs(a,o,c1,c2)
{
switch (a){
    case 'swap':
	    o.className=!cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
    break;
    case 'add':
	    if(!cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
    break;
    case 'remove':
	    var rep=o.className.match(' '+c1)?' '+c1:c1;
	    o.className=o.className.replace(rep,'');
    break;
    case 'check':
	    return new RegExp('\\b'+c1+'\\b').test(o.className)
    break;
}
}

/* function not used */
function getChildrenByClassName(classname, node) {
	/* implement like getElementsByClassName() */
	if(!node) node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.childNodes;  //.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);
	return a;	
}

/* function not used */
function getElementsByClassName(classname, node) {
	if(!node) node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);
	return a;
}
