[jQuery] Not a plugin but code for anyone trying to have collapse-able menu with cookies

[jQuery] Not a plugin but code for anyone trying to have collapse-able menu with cookies


Hi,
I took the code from jQuery Accordion menu and am using the cookie
plugin.
while searching for a collapse-able menu I saw that a lot of people
were looking for this but with cookies so when user refreshes..the
collapse/expand state stay the same.
I am new to jQuery and even javascript.
But here I have jotted down something which is working for me.
Experts out there: if you would like to add some suggestions on how to
better do this..i'd appreciate it.
I dont like the fact that i am different cookies for different menu
items...
function initMenu() {
$('#menu ul').hide();
if ($.cookie('the_cookie1')=='a'||$.cookie('the_cookie2')=='b'||
$.cookie('the_cookie3')=='c'||
$.cookie('the_cookie4')=='d')
{
if ($.cookie('the_cookie1')=='a')
$("a").filter(".a").next().slideDown('fast');
if ($.cookie('the_cookie2')=='b')
$("a").filter(".b").next().slideDown('fast');
if ($.cookie('the_cookie3')=='c')
$("a").filter(".c").next().slideDown('fast');
if ($.cookie('the_cookie4')=='d')
$("a").filter(".d").next().slideDown('fast');
}
$('#menu li a').click(
function() {
var checkElement = $(this).next();
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
removeCookie($(this).attr('class'));
checkElement.slideUp('fast');
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
setCookie($(this).attr('class'));
checkElement.slideDown('fast');
return false;
}
});
/*$('#menu li a').click(
function() {
setCookie($(this).attr('class'));
$(this).next().slideToggle('normal');
}
);*/
}
function setCookie(some)
{
var s = some;
if (s=='a')
$.cookie('the_cookie1', s);
else if (s=='b')
$.cookie('the_cookie2', s);
else if (s=='c')
$.cookie('the_cookie3', s);
else if (s=='d')
$.cookie('the_cookie4', s);
// alert('cookie set ' + s);
}
function removeCookie(some1)
{
var s = some1;
if (s=='a')
$.cookie('the_cookie1',null);
else if (s=='b')
$.cookie('the_cookie2',null);
else if (s=='c')
$.cookie('the_cookie3',null);
else if (s=='d')
$.cookie('the_cookie4',null);
}
$(document).ready(function() {initMenu();});