jQuery.fn.not_exists = function(){return jQuery(this).length==0;}

jQuery.fn.jqcollapse = function(o) {
 
	 // Defaults
	 var o = jQuery.extend( {
	   slide: true,
	   speed: 300,
	   easing: ''
	 },o);
	 
	 //JScrollPane
	 /*var pane = $('#blocrub');
	 pane.jScrollPane();
	 var api = pane.data('jsp');*/
	 /////
 
	 $(this).each(function()
	 { 
		var e = $(this).attr('id');
		var i =0;
		
		$('#'+e+' li > ul').each(function()
		{	
			var parent_li = $(this).parent('li');
			var sub_ul = $(this).remove();
			parent_li.prepend('<a id="plusmoins'+i+'" class="plusmoins">[+] </a>');

			$("#plusmoins"+i).css('cursor','pointer').click(function(event, t) {
	
				if(parent_li.attr('class') == "parent")
				{
					$('#'+e+' li > ul').not(sub_ul).hide("slow");
					$('.plusmoins').not(this).text('[+] ');
					//on reset tous les cookies
					//si on n'est pas dans le trigger
					if(!t) {
						for(j=0; j<i; j++) {
						$.cookie("plusmoins"+j, "0");
						}
					}
				}
				if($(this).text()=="[+] ")
				{
					$(this).text("[-] ");
					//on attribue le cookie en focntion de la branche dépliée ou non
					$.cookie($(this).attr("id"), "1");	
				}
				else
				{
					$(this).text('[+] ')
					$.cookie($(this).attr("id"), "0");
				}
				//sub_ul.toggle(20000);
				if(!t) {
				sub_ul.slideToggle(o.speed, o.easing); 
				//sub_ul.toggle();
				}
				else {
					sub_ul.toggle();
				}

				//api.reinitialise();
			});
			parent_li.append(sub_ul);
			i++;
			
		});	
		//Hide all sub-lists
		$('#'+e+' ul').hide(); 
		//jscrollpane
		//api.reinitialise();	
	});
	//api.reinitialise();
	//on compte le nombre de plusmoins et on déplie (sert quand on load la page alors que des menus sont dépliés)
	for(k=0; k<$('.plusmoins').size(); k++)
	{
		if($.cookie("plusmoins"+k)==1) {
			$('#plusmoins'+k).trigger('click',[true]); 
		} 
	}
};

