// JavaScript Document
var speed = 8;
var expandedHeight = 0;
var date = new Date();
date.setTime(date.getTime()+(1*24*60*60*1000));
var expires = "expires="+date.toGMTString();

function getCookies() {
	var cookies = document.cookie.split('; ');
	for (var i = 0; i < cookies.length; i++) {
		cookies[i] = cookies[i].split('=');
		}
	return cookies;
}

function init() {
	
var cookies = getCookies();

	for (var i = 0; i < cookies.length; i++) {
		if (document.getElementById('menu-' + cookies[i][0]) && cookies[i][1] == "closed") {
			var menu = document.getElementById('menu-' + cookies[i][0]);
			var subMenu = menu.getElementsByTagName('ul')[0];
			var headerDiv = menu.getElementsByTagName('div')[0];
			subMenu.style.display = 'none';
			subMenu.style.height = '0px';
			headerDiv.style.backgroundImage = 'url(' + imgPathPrefix + 'collapsed_pad.gif)';
		}
	}
}


function toggleMenuVisibility(id) {
	
	var menu = document.getElementById('menu-' + id);
	var subMenu = menu.getElementsByTagName('ul')[0];
	
	if (subMenu.style.display != 'none'){
		shrinkMenu(id);		
	} else {
		subMenu.style.display = 'block';
		expandedHeight = getHiddenUlHeight(subMenu);
		growMenu(id);
	}
}

function shrinkMenu(id) {
	
	var menu = document.getElementById('menu-' + id);
	var subMenu = menu.getElementsByTagName('ul')[0];
	var height = getElementHeight(subMenu);
	
	if (height > 0 && height - speed > 0) {
			subMenu.style.height = (height-=speed)+"px";
			setTimeout("shrinkMenu('" + id + "')", 20);	
	} else {
		subMenu.style.display = 'none';
		var headerDiv = menu.getElementsByTagName('div')[0];
		headerDiv.style.backgroundImage = 'url(' + imgPathPrefix + 'collapsed_pad.gif)';
		document.cookie = id + "= closed; " + expires +"; path=/";
	}
}

function growMenu(id) {
	
	var menu = document.getElementById('menu-' + id);
	var subMenu = menu.getElementsByTagName('ul')[0];
	var height = getElementHeight(subMenu); 
	
	if (height < expandedHeight && height + speed < expandedHeight) {
			subMenu.style.height = (height+=speed)+"px";
			setTimeout("growMenu('" + id + "')", 20);	
	} else {
		subMenu.style.height = expandedHeight + "px";
		var headerDiv = menu.getElementsByTagName('div')[0];
		headerDiv.style.backgroundImage = 'url(' + imgPathPrefix + 'expanded_pad.gif)';
		document.cookie = id + "= open; " + expires +"; path=/";
	}
}


function getHiddenUlHeight(subMenu) {
	var ulLen = subMenu.childNodes.length
	var totalHeight = 0;
	
	for (var i = 0; i < ulLen; i++ ) {
		if (subMenu.childNodes[i].offsetHeight)
		totalHeight += Number(subMenu.childNodes[i].offsetHeight);	
	}
	return (totalHeight);
	alert (totalHeight);
}

function getElementHeight(elem) {
	
	if (elem.offsetHeight)
		xPos = elem.offsetHeight;
	else 
		xPos = 0;
	
	return xPos; 
}

window.onload = init;