var toggleMenu = function() {

	function toggle(ele) {
		var childMenu = document.getElementById(ele.id + "-child");
		if (hasClass(childMenu, "hide")) {
			var allItems = ele.parentNode.getElementsByTagName("div");

			for (var i = 0; i < allItems.length; i++) {
				if (allItems[i].className.match(new RegExp('(\\s|^)child\-menu(\\s|$)'))) {
					addClass(allItems[i], "hide");
				}
			}

			removeClass(childMenu, "hide");
		} else {
			addClass(childMenu, "hide");
		}
		
		var menu = ele.parentNode;
		var bg = document.getElementById(ele.parentNode.parentNode.id + "-bg");
		removeClass(bg, "hide");
		bg.style.height = menu.offsetHeight + "px";
	}
	
	function showBg(bg, menu) {
		bg.style.height = menu.offsetHeight + "px";
		removeClass(bg, "hide");
	}

	function hideBg(bg) {
		addClass(bg, "hide");
	}

	function hasClass(ele,cls) {
		return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
	}

	function addClass(ele,cls) {
		if (!(hasClass(ele, cls))) {
			ele.className += " "+cls;
		}
	}
	
	function removeClass(ele,cls) {
		if (hasClass(ele,cls)) {
			var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
			ele.className=ele.className.replace(reg,' ');
		}
	}
	
	return {
		toggle: toggle,
		hideBg: hideBg,
		showBg: showBg
		
	}
}();

