//sets Cookie with menue-element-id wich is to show in another Style 
function esf_class_do(id)
{
   if (document.getElementById(id).className == 'menulevel1' ||
      document.getElementById(id).className == 'menulevel1on')
     
    {
       showhide(id);
    }
   if (document.getElementById(id).className == 'menutoplevel1' )
    {
      createCookie('esf_menu', '');
    } 
   // get cookie
   tmp = readCookie('esf_class');
   if (tmp != id) 
   {
       createCookie('esf_class', id);
   }  
}

//displays menu-elements with different styles
function esf_menue_class_set(id)
{
    if (document.getElementById(id).className == 'menutoplevel1')
    {
        css_class='menutoplevel1on';   
    }
    else if (document.getElementById(id).className == 'menulevel1')
    {
        css_class='menulevel1on';
    }
	 else if (document.getElementById(id).className == 'menulevel2')
    {
        css_class='menulevel2on';
    }
    else if (document.getElementById(id).className == 'menulevel3')
    {
        css_class='menulevel3on';
    }
    if (document.getElementById(id) != null) {
        document.getElementById(id).className= css_class;
    } 
}

//### shows / hides an menu
function showhide(id)
{
    // hidden
    if (document.getElementById('sub'+id).style.display == 'none')
    {
        esf_menu_do(id, 'block');    
    }
    // visible
    else
    {
        esf_menu_do(id, 'none');
    }
    return false;
}

//### hide / show an menu && save status in cookie
function esf_menu_do(id, action)
{
    // get cookie
    tmp = readCookie('esf_menu')
    if (action != 'none')
    {
      // set Cookie
      createCookie('esf_menu', id);
    }
}

//### set menu-status
function esf_menu_set(id, action)
{
    if (document.getElementById('sub'+id) != null) {
        document.getElementById('sub'+id).style.display = action;
    }      
}

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
    {
        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;
}

window.onload = function(e)
{
    //### show / hide menu-items (stored in cookie)
    if (tmp = readCookie('esf_menu'))
    {
        tmp = tmp.split(',');
        for (i=0; i < tmp.length; i++)
        {
            esf_menu_set(tmp[i], '');
        }
    }
    var class_cookie= readCookie("esf_class");
    esf_menue_class_set(class_cookie);      
}