function hideElement(e){
   e.style.display = 'none';
   e.shown = false;
   recordMenuState(e.id, "closed");
}

function showElement(e){
   e.style.display = "";
   e.shown = true;
   recordMenuState(e.id, "opened");
}

function foldUnfold(stretcher_id){
   var stretcher = document.getElementById(stretcher_id);
   if(stretcher)
      if(stretcher.shown)
         hideElement(stretcher);
      else
         showElement(stretcher);
}

function showId(id){
   var e = document.getElementById(id);
   showElement(e);
}

function hideId(id){
   var e = document.getElementById(id);
   hideElement(e);
}

var menu_state_details = {};
function recordMenuState(id, state) {
   menu_state_details[id] = state;
   var cookiePages = [];
   for (var page in menu_state_details) {
       if (menu_state_details[page] == "opened") cookiePages.push(page);
   }
   var cookieText = cookiePages.join(",");
   setCookie("menu_state", cookieText, null, "/");
}

function setCookie(name,value,expires,path,domain,secure)
{document.cookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");}
function getCookie(name)
{var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1)
{begin=dc.indexOf(prefix);if(begin!=0)return null;}
else
{begin+=2;}
var end=document.cookie.indexOf(";",begin);if(end==-1)
{end=dc.length;}
return unescape(dc.substring(begin+prefix.length,end));}
function deleteCookie(name,path,domain)
{if(getCookie(name))
{document.cookie=name+"="+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";}}

