var MenuState = new Array();

function StoreState() {
	var State='', i;

	for (i = 0; i < MenuState.length; i++) {
		if (MenuState[i][1] != 'hide') continue;
		if (State.length > 0) State = State + ':';
		State += MenuState[i][0];
	}

	date = new Date();
	date = new Date(date.getTime()+1000*60*60*24*3650)
	document.cookie = "state="+State+"; path=/; expires=" + date.toGMTString();
}

function ShowHide(id, op) {
	var IE = (navigator.userAgent.indexOf("MSIE") >= 0);

	var image = document.getElementById(id);
	if (!image) return;
	var element = (IE) ? image : image.parentNode;

    while (element.nodeName != 'UL') {
		element = element.nextSibling;
	}

//	alert('Operation="'+op+'", style="'+element.style.display+'"');
	if ((op == 'show') || ((element.style.display == 'none') && (op != 'hide'))) {
		element.style.display = 'block';
		image.src = '/images/open.png';
		op = 'show';
	} else {
		element.style.display = 'none';
		image.src = '/images/close.png';
		op = 'hide';
	}
	var i;
	for (i = 0; i < MenuState.length; i++) {
		if (MenuState[i][0] == id) {
			MenuState[i][1] = op;
			StoreState();
			return;
		}
	}
	MenuState[MenuState.length] = new Array(id, op);
	StoreState();
}

function ParseCookie(cmd) {
	var ids = cmd.split(new RegExp('\\s*:\\s*'));
	var i;
	for (i = 0; i < ids.length; i++) {
		ShowHide(ids[i], 'hide');
	}
}

function ParseCookies() {
	var cookies = document.cookie.split(new RegExp('\\s*;\\s*'));
	var i;
	for (i = 0; i < cookies.length; i++) {
		var cookie = cookies[i].split(new RegExp('\\s*=\\s*'));
		if (cookie[0] == 'state') {
			ParseCookie(cookie[1]);return;
		}
	}
}

function DaysSince(day, month, year) {
	var Then = new Date(year, month, day);
	var Now = new Date();
	var Diff = Now.valueOf() - Then.valueOf();
	return Diff / (1000*60*60*24);
}
