
var linksCategories = {};
var tabSliders = {};
var slidersCategorieOpen = new Array();
var ChainCatToOpen = new Chain();

function GestionnaireCategorieOpen(id){
	if(slidersCategorieOpen.contains(id))
	{
		slidersCategorieOpen.remove(id);//si ferme un onglet mere, ferme les sous
		$('menu-id-' + id).getParent().getElements('.menu-sous-cat-lien').each(function(el,i){
			
			var idSsDiv = el.getProperty('id').replace('menu_', '');
			slidersCategorieOpen.remove(idSsDiv);
		});
	}
	else
		slidersCategorieOpen.include(id);
	saveToCookie();
}

function saveToCookie(){
	Cookie.set("menuSliderOpen", Json.toString(slidersCategorieOpen), {path: '/'});
}

function makeMenuClikable() {
	$$('.lien-onglet').each(function(el,i){
	
		var id = el.getProperty('id').replace('menu-id-', '');
		
		linksCategories[id] = el.getProperty('href');//sauvegarde des liens
	
		el.removeProperty('href');
		el.addEvent('click', function(autoOpen){
			var id = el.getProperty('id').replace('menu-id-', '');
			var url = get_Url_Full('menu', 'Index') + '?id=' + id;
			var myAjax = new Ajax(url, {method: 'get', onComplete: function(request){
				//try{console.log(request);console.log(url);}catch(err){}
				//
				if(request == '' || request.length < 4)
				{
					//alert(request);
					if($type(autoOpen) != 'boolean')
						document.location.href = linksCategories[id];
				}
				else
				{
					var div = el.getParent().getElement(".list-ss-cat-menu");//selection de la div
					div.setHTML(request);
	
					//Création des slides
					tabSliders[id] = new Fx.Slide(div, {duration: 500});//principale
					
					var divs = div.getElements('.list-ss-cat-menu');
					divs.each(function(ssDis, j){
						var idSsDiv = ssDis.getProperty('id').replace('menu_', '');
						tabSliders[idSsDiv] = new Fx.Slide(ssDis, {duration: 500});//sous slides
						tabSliders[idSsDiv].hide();
					});
					//
					
					var aSliders = el.getParent().getParent().getElements('.menu-sous-cat-lien');
					aSliders.each(function(aSlide, j){
						var idSlide = aSlide.getProperty('id').replace('menu-id-', '');
						aSlide.removeEvents('click');
						aSlide.addEvent('click', function(){
							tabSliders[idSlide].toggle().chain(function(){
								//pour régler le problème de taille => provoquer un hide show sur les catégorie supérieur
								var parent = aSlide.getParent();
								while(!parent.hasClass('onglet-menu'))
								{
									try{
										var id_parent = parent.getProperty('id');
										if(id_parent != null){//si il a un id, c'est une sous-sous-categorie
											id_parent = id_parent.replace('menu_','');
											tabSliders[id_parent].hide().show();
											slidersCategorieOpen.include(idTemp);
											saveToCookie();
										}
									}
									catch(err){}
									
									//essaye de fermer et ouvrir
									/*try
									{
										var idTemp = parent.getProperty('id').replace('menu-id-', '');
										tabSliders[idTemp].hide().show();
										slidersCategorieOpen.include(idTemp);
										saveToCookie();
									}
									catch(err){}*/
									parent = parent.getParent();
								}
								try
								{
									var idTemp = parent.getElement('a').getProperty('id').replace('menu-id-', '');
									tabSliders[idTemp].hide().show();
									slidersCategorieOpen.include(idTemp);
									saveToCookie();
								}
								catch(err){}
							});
	
	
							GestionnaireCategorieOpen(idSlide);
							//console.log("déclenchement du chain " + idSlide);
							ChainCatToOpen.callChain();
						});
					});
	
					tabSliders[id].hide();
					div.setStyle('display', 'block');
					
					tabSliders[id].toggle();
					GestionnaireCategorieOpen(id);
					
					el.removeClass('lien-onglet-loading');
					ChainCatToOpen.callChain();
				}
			}});
	
			var div = el.getParent().getElement(".list-ss-cat-menu");//selection de la div
			if(div.getText() == '')//premier chargement
			{
				el.addClass('lien-onglet-loading');
				myAjax.request();
			}
			else//déjà chargé
			{
				tabSliders[id].toggle();
				GestionnaireCategorieOpen(id);
				//console.log("Click sur onglet déjà chargé " + id);
				ChainCatToOpen.callChain();
			}
		});
	});
}
window.addEvent('domready', makeMenuClikable);


//	var ChainCatToOpen = new Chain(); // déclarer + haut
function OpenMenuSlide(id){
	//console.log("open silde " + id);
	//return;
	if($type(id) == 'string')
	{
		var id = id.toInt();
		try{
			
			$('menu-id-' + id).fireEvent('click', true);
			lancer = true;
		}
		catch(err){
		}
	}
}
