/**
 *	showing and hiding subnavigation
 */
function subNavigation(id) {
	var element = document.getElementById(id);
	if(element.style.display == 'block') {
		hidingSubNavigation();
	}
	else {
		hidingSubNavigation();
		if(id != null) {
			element.style.display = 'block';
		}
	}
	
	return true;
}

/**
 * hides all subNavs
 */
function hidingSubNavigation() {
	var className = 'subNavigation';
	var tagName = 'ul';
	var elements = findAllElementsByClass(className,tagName);
	
	var element;
	for(var i = 0;i < elements.length;i++) {
		element = elements[i];
		element.style.display = 'none';
	}
	
	return true;
}

/**
 * returns an array of all elements of
 * class className of the document
 */
function findAllElementsByClass(className, tag) {
	var elements = new Array();
	var className = (className == null) ? '*' : className;
	var tag = (tag == null) ? '*' : tag;
	
	var testing = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var allElementsByTag = document.getElementsByTagName(tag);
	
	var element;
	for(var i = 0;i < allElementsByTag.length; i++) {
		
		element = allElementsByTag[i];
		if(testing.test(element.className)) {
			elements.push(element);
		}
	}
	
	return elements;
}
