removeClassName = function(node, cName) {
	var re = new RegExp("(^|\\s+)" + cName + "(\\s+|$)", "gi");
	node.className = node.className.replace(re, "");
	node.className = node.className.replace("(\s+)", " ");	
}

openSubMenu = function(node){
	var state = node.className.match(/(^|\s+)menuOpened(\s+|$)/, 'g')
	if ( state ) {
		removeClassName(node, "menuOpened");
	} else {
		node.className += " menuOpened";
	}
	while ( node.nextSibling ) {
		if ( node.nextSibling.className && node.nextSibling.className.match(/(^|\s+)subMenuItems(\s+|$)/, 'g') ) {
			if ( state ) {
				node.nextSibling.className += " closedItems"
			} else {
				removeClassName (node.nextSibling, "closedItems");
			}
			break;
		} else {
			var node = node.nextSibling;
		}
	}

}

initSubMenu = function(){
	for ( var i=0, l=arguments.length; i<l; i++){
		var tmpNode = document.getElementById(arguments[i]);
		if ( tmpNode ) openSubMenu( tmpNode );
	}
}

stopPropagation = function(e){
	if ( e ) {
		e.stopPropagation();
	} else {
		event.cancelBubble = true;
	}
}



function assignCssClassToElement(id, className){
	var element = document.getElementById(id);
	if (element)
	{
		element.className = className;
	}
}