function getCookie(name)
{
	var prefix = name + "=";
	var start = document.cookie.indexOf(prefix);
	if (start == -1) return null;
	var end = document.cookie.indexOf(";", start + prefix.length);
	if (end == -1) end = document.cookie.length;
	var value = document.cookie.substring(start + prefix.length, end);
	return unescape(value);
}

function setCookie(name, value, expires, path, domain, secure)
{	
	var newCookie = name + "=" + escape(value) + 
		((expires)?";expires=" + expires.toGMTString():"") +
		((path)?";path=" + path:";path=/") +
		((domain)?";domain=" + domain:"") +
		((secure)?";secure":"");
	document.cookie = newCookie;
}

function deleteCookie(name, path, domain)
{
	if (getCookie(name))
	{
		document.cookie = name + "=" + ";expires=Thu, 01-Jan-70 00:00:01 GMT" +
			((path)?";path=" + path:"") +
			((domain)?";domain=" + domain:"")
	}
}



function switchElVis(objectID, CookieName, OnlyCheck, DefValue)
{
	var CurrDate, EndDate;
	CurrDate = new Date;
	EndDate = new Date;
	EndDate.setTime(CurrDate.getTime() + 86400000*365*10);
	
	if ((DefValue == undefined) || (DefValue.length == 0)) { DefValue = "visible"; }
	CookieVal = getCookie(escape(CookieName+objectID));
	
	if ((CookieVal == null) || (CookieVal == "visible"))
	{
		if ((OnlyCheck) && (!((CookieVal == null) && (DefValue == "hidden")))) {
			changeStyle(objectID, "display", "block");
			document.getElementById(objectID+"_span").innerHTML = "«";
		} else {
			changeStyle(objectID, "display", "none");
			document.getElementById(objectID+"_span").innerHTML = "»";
			setCookie(escape(CookieName+objectID), "hidden", EndDate);
		}
	} else {
		if (OnlyCheck) {
			changeStyle(objectID, "display", "none");
			document.getElementById(objectID+"_span").innerHTML = "»";
		} else {
			changeStyle(objectID, "display", "block");
			document.getElementById(objectID+"_span").innerHTML = "«";
			setCookie(escape(CookieName+objectID), "visible", EndDate);
		}
	}
}
