Bonjour a tous

J'essaie d'intégrer un script permettant de contracter (collapse) des catégories de forum.

Alors il fonctionne mais quand je recharge la page, il ne garde pas les préférences de l'utilisateur.

Voici le script:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
<script type="text/javascript">
<!--
$('.categoryNodeInfo').prepend("<div class='showhideNodes hideNodes'>{xen:phrase showhideNodes_collapse}</div>");
var showhideNodesCookie = $.getCookie('showhideNodes');
 var showhideNodesArray=new Array();
if (showhideNodesCookie) {
 showhideNodesArray = showhideNodesCookie.split(",");
 $.each(showhideNodesArray,function(){
        var selector = 'li#' + this;
        $(selector+' ol.nodeList').hide();
        $(selector+' .showhideNodes').toggleClass('showNodes');
        $(selector+' .showhideNodes').toggleClass('hideNodes');
        $(selector+' .showhideNodes').text('{xen:phrase showhideNodes_expand}');
 });
}
$('.showhideNodes').click(
function() {
if ($(this).text() == '{xen:phrase showhideNodes_collapse}') {
	$(this).parent().next().slideUp();
	$(this).text('{xen:phrase showhideNodes_expand}');
	//if($.inArray(this,showhideNodesArray) != -1){
		showhideNodesArray.push($(this).parent().parent().attr('id'));
		$.setCookie('showhideNodes',showhideNodesArray.join(","));
	//}
}
else if ($(this).text() == '{xen:phrase showhideNodes_expand}') {
	$(this).parent().next().slideDown(); 
	$(this).text('{xen:phrase showhideNodes_collapse}');
        var remove = $(this).parent().parent().attr('id');
        showhideNodesArray.splice($.inArray(remove,showhideNodesArray),1);
        $.setCookie('showhideNodes',showhideNodesArray.join(","));
}
$(this).toggleClass('showNodes');
$(this).toggleClass('hideNodes');
});
//-->
</script>
Pourtant, les variables cookie sont bien présentes.

Alors d'après vous, pourquoi cela ne fonctionne pas ?