var homepagePrefix = "rh";
var menuStates = new Array;
var menuElements = new Array;

function initializeMenu() {
	menuElements = getElementsByClass("submenu_show_hide");
	loadMenuStates();
}

function loadMenuStates() {
	if (document.cookie) {
		var menuStatesText = getCookie(homepagePrefix + "_menuStates");
		if (menuStatesText != null) {
			menuStates = menuStatesText.split(",");
			for (var i = 0; i < menuElements.length; i++) {
				if (parseInt(menuStates[i])) {
					menuElements[i].style.display = "block";
				} else {
					menuElements[i].style.display = "none";
				}
			}
		}
	}
}

function getCookie(name) {
	var i = 0;
	var suche = name + "=";
	while (i < document.cookie.length) {
		if (document.cookie.substring(i, i + suche.length) == suche) {
			var ende = document.cookie.indexOf(";", i + suche.length);
			ende = (ende > -1) ? ende : document.cookie.length;
			var cook = document.cookie.substring(i + suche.length, ende);
			return unescape(cook);
		}
		i++;
	}
	return null;
}

function switchMenuState(idToSwitch) {
	var element = document.getElementById(idToSwitch);
	if (element.style.display == "none" || element.style.display == "") {
		element.style.display = "block";
	} else {
		element.style.display = "none";
	}
	saveMenuStates();
}

function saveMenuStates() {
	for (var i = 0; i < menuElements.length; i++) {
		if (menuElements[i].style.display == "none" ||
			menuElements[i].style.display == "") {
			menuStates[i] = 0;
		} else {
			menuStates[i] = 1;
		}
	}
	document.cookie = homepagePrefix + "_menuStates=" + menuStates;
}

// Gets all elements of a specified class
var allHTMLTags = new Array;
var classElements = new Array;

function getElementsByClass(theClass) {
	var allHTMLTags = document.getElementsByTagName("*");
	for (i = 0; i < allHTMLTags.length; i++) {
		if (allHTMLTags[i].className.indexOf(theClass) == 0) {
			classElements.push(allHTMLTags[i]);
		}
	}
	return classElements;
}

