document.JSListeAcc = new Object();
document.JSListeAcc.Active_Item_index=false;

document.JSListeAcc.Init = function(liste_name, hover_class, active_class, persistant){
	if(document.getElementById){
		var item_index=1, item_element, item_sub_element, item_label_element;
		
		while(item_element=document.getElementById(liste_name+item_index)){
			item_element.item_index	= item_index;
			if(item_label_element = getChildById(item_element, 'label')){
				item_label_element.onmouseover= function(){this.className=hover_class};
				item_label_element.onmouseout = function(){this.className=''};
				item_label_element.onclick	= function(){document.JSListeAcc.OpenItem(liste_name, this.parentNode.item_index, active_class, persistant);};
			}
			if(item_sub_element = getChildById(item_element, 'sub')){
				item_element.removeChild(item_sub_element);
				item_element.sub_element=item_sub_element;
			}
			item_index++;
		}
	}
}
document.JSListeAcc.OpenItem=function(liste_name, item_index, active_class, persistant){
	var item_element=document.getElementById(liste_name+item_index), item_label_element=getChildById(item_element, 'label', true);	

	if(!persistant)document.JSListeAcc.CloseAllItems(liste_name, active_class, persistant);
	if(item_element.sub_element)item_element.appendChild(item_element.sub_element);
	if(item_label_element){
		item_label_element.className	= active_class;
		item_label_element.onmouseout	= function(){this.className=active_class};
		item_label_element.onclick		= persistant?function(){document.JSListeAcc.CloseItem(liste_name, this.parentNode.item_index, active_class, persistant);}:'';
		item_label_element.style.cursor	= persistant?'pointer':'default';
	}
}

document.JSListeAcc.CloseItem=function(liste_name, item_index, active_class, persistant){
	var item_element=document.getElementById(liste_name+item_index), item_label_element=getChildById(item_element, 'label', true);	
	
	if(item_element.sub_element)item_element.removeChild(item_element.sub_element);
	if(item_label_element){
		item_label_element.onmouseout	= function(){this.className=''};
		item_label_element.onclick		= function(){document.JSListeAcc.OpenItem(liste_name, this.parentNode.item_index, active_class, persistant);};
		item_label_element.style.cursor	='pointer';
	}	
}

document.JSListeAcc.CloseAllItems=function(liste_name, active_class, persistant){
		var item_index=1;
		
		while(document.getElementById(liste_name+item_index)){
			document.JSListeAcc.CloseItem(liste_name, item_index++, active_class, persistant);
		}
}