function exploser(separateur, chaine) {
	
	var longueur_chaine = chaine.length;
	var tab_fragments = new Array();
	var indice = 0;
	
	for (var i=0; i<longueur_chaine; i++) {
		
		if(chaine.charAt(i) == separateur) {
			
			indice++;
		}
		else {
			if(tab_fragments[indice] != undefined)
				tab_fragments[indice] = tab_fragments[indice]+chaine.charAt(i);
			else
				tab_fragments[indice] = chaine.charAt(i);
		}
	}
	
	return tab_fragments;
}


var id_groupe_menus = 'menu';

/** Fonction servant à cacher les groupes de sous menus (ul)
	* Prend en paramètre l'id du menu
	* Est appelée au chargement de la page et lorsque le curseur quitte le menu
	*/
function cacher_sous_menus() {
	
	// Notre menu
	var menu = document.getElementById(id_groupe_menus);
	
	// On doit récupérer les groupes de sous menus afin de les cacher au chargement de la page
	var groupes_sous_menus = menu.getElementsByTagName('ul');
	var nb_groupes_sous_menus = groupes_sous_menus.length;
	
	for(var i=0; i<nb_groupes_sous_menus; i++) {
		
		// On ajoute un id pour pouvoir agir dessus
		groupes_sous_menus[i].setAttribute('id', 'groupeSousMenus_'+i);
		// On cache les groupes de sous menus
		document.getElementById('groupeSousMenus_'+i).style.display = 'none';
	}
}

function ajouter_gestionnaire_even() {
	
	// Notre menu
	var menu = document.getElementById(id_groupe_menus);
	
	// On récupére les menus principaux pour leur attribuer un gestionnaire d'évènements
	var menus = menu.getElementsByTagName('li'); // span li ?
	var nb_menus = menus.length;
	var indice = 0;
	
	for(var i=0; i<nb_menus; i++) {
		
		// On met un gestionnaire d'évènements uniquement sur les li qui sont des menus
		// On test donc leur parent, si c'est le ul principal alors c'est bien un menu, et non un sous menu
		if(menus[i].parentNode.id == id_groupe_menus) {
			
			// On ajoute un id pour pouvoir agir dessus
			menus[i].setAttribute('id', 'menu_'+indice);
			indice++;
			
			// On ajoute un gestionnaire d'évènements à chacun des menus
			// Pour IE
			if(browser.isIE) {
				eval('menus[i].onmouseover=montrer_sous_menus');
				eval('menus[i].onmouseout=cacher_sous_menus');
			}
			// Navigateurs respectant le DOM
			else {
				menus[i].addEventListener('mouseover', montrer_sous_menus, true);
				menus[i].addEventListener('mouseout', cacher_sous_menus, true);
			}
		}
	}
}

function montrer_sous_menus() {
	
	// Le menu sur lequel on agit...
	var id_menu = this.id;
	
	// A partir de son nom (id) on peut retrouver le groupe de sous menus qu'il surplombe
	var parts_noms_menu = exploser('_', id_menu);
	var num_menu = parts_noms_menu[parts_noms_menu.length-1];
	var id_groupe_sous_menus = 'groupeSousMenus_'+num_menu;
	
	
	// On affiche le groupe de sous menus du menu survolé
	document.getElementById(id_groupe_sous_menus).style.display = 'block';
	document.getElementById(id_groupe_sous_menus).style.visibility = 'visible';
	// On dimensionne à la volée le groupe de sous menus
	//calculer_largeur_groupes_sous_menus();
	
}

function calculer_largeur_groupes_sous_menus() {
	
	var menu = document.getElementById(id_groupe_menus);
	
	// on doit trouver tous les groupes de sous menus du groupe de menus principal (id='menu')
	var groupes_sous_menus = menu.getElementsByTagName('ul');
	var nb_groupes_sous_menus = groupes_sous_menus.length;
	
	for(var i=0; i<nb_groupes_sous_menus; i++) {
		
		//groupes_sous_menus[i].setAttribute('id', 'groupeSousMenus_'+i);
		//alert(groupes_sous_menus[i].id);
		var sous_menus = groupes_sous_menus[i].getElementsByTagName('li');
		var nb_sous_menus = sous_menus.length;
		var larg_max = 0;
		
		for(var j=0; j<nb_sous_menus; j++) {
			
			sous_menus[j].setAttribute('id', 'grSM_'+i+'_sousMenu_'+j);
			var larg_courante = document.getElementById('grSM_'+i+'_sousMenu_'+j).offsetWidth;
			
			if(larg_max < larg_courante) 
				larg_max = larg_courante;
		}
		
		for(var j=0; j<nb_sous_menus; j++) {
			
			document.getElementById('grSM_'+i+'_sousMenu_'+j).style.width = larg_max+'px';
		}
	}
}

window.onload = function() {
	
	// On dimensionne à la volée tous les groupes de sous menus
	calculer_largeur_groupes_sous_menus();
	
	cacher_sous_menus();
	ajouter_gestionnaire_even();
	
	// News déroulante
	/*
	Code permettant de bloquer sur telle page le défilement des news sur la droite.
	var masque = 'carte.php';
	expression = new RegExp(masque);
	var res = expression.exec(window.location);
	
	if(res != 'carte.php')
	*/
		monter();
	
	img_actualite(0);
} 
