// Cookies
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}

// Element visibility
function setVis(elem, img, visible) {
	if (visible) {
		elem.style.display = '';
		img.src = 'img/box-collapse.gif';
	} else {
		elem.style.display = 'none';
		img.src = 'img/box-expand.gif';
	}
}
function getVis(elem) {
	return (elem.style.display!='none');
}
function loadVis(elem, img) {
	setVis(elem, img, readCookie(elem.id)!='0');
}
function saveVis(elem) {
	var vis;
	if (getVis(elem)) { 
		vis = '1';
	} else {
		vis = '0'; 
	}
	createCookie(elem.id, vis, 31);
}

// Layers...
function getLayerElem(whichLayer) {
	var elem;
	if (document.getElementById) // this is the way the standards work
		elem = document.getElementById(whichLayer);
	else if (document.all) // this is the way old msie versions work
		elem = document.all[whichLayer];
	else if (document.layers) // this is the way nn4 works
		elem = document.layers[whichLayer];
	return elem;
}
function toggleLayer(whichLayer, img) {
	var elem;
	elem = getLayerElem(whichLayer);
	vis = elem.style.display;
	setVis(elem, img, (vis=='none'));
	saveVis(elem);
}
function restoreLayer(whichLayer, img) {
	var elem;
	elem = getLayerElem(whichLayer);
	vis = elem.style.display;
	setVis(elem, img, (vis=='none'));
	saveVis(elem);
}
