// généation de barre de menus// M.desgranges mar oct 11 21:47:10 CEST 2005// mar nov 1 16:23:14 CEST 2005// contact: mdesg@kitryp.com// www.kitryp.com// ######## NOTE ##########// pour afficher le menus appeler la fonction://       generationMenu('largeur de la barre','hauteur de la barre','nom_du_menu_menu','largeur des sous menu'); // pour la décoration modifiez le fichier css // regarder dans le source,çe seras moin dure a expliquer :)// ------------------------------------------------------------// normallement y'a rien a toucher dans le javascript ici :)// ------------------------------------------------------------ct_menu = -1;ct_ssmenu = 0;valMenu = new Array();valSsMenu = new Array();valSsMenuLien = new Array();valSsMenuCible = new Array();valSsMenuExtra = new Array();	menu_last_open = '';// un nouveau menu on remet à zero le compteur de sous menu..// on fait les array...function New_Menu(titre) {        ct_menu++;	valMenu[ct_menu] = titre;	valSsMenu[ct_menu] = new Array();	valSsMenuLien[ct_menu] = new Array();	valSsMenuCible[ct_menu] = new Array();	valSsMenuExtra[ct_menu] = new Array();	ct_ssmenu = 0;}// le nom du lien, url, target// vive les tablos ...function Add_Menu(type) {	nom = ( arguments[0] ) ? arguments[0] : '';	url = ( arguments[1] ) ? arguments[1]  : '';	targ = ( arguments[2] ) ?  arguments[2] : '';	extra = ( arguments[3] ) ?  arguments[3] : '';	valSsMenu[ct_menu][ct_ssmenu] =  new Array();	valSsMenuLien[ct_menu][ct_ssmenu] =  new Array(); 	valSsMenuCible[ct_menu][ct_ssmenu] = new Array(); 	valSsMenuExtra[ct_menu][ct_ssmenu] = new Array();	valSsMenu[ct_menu][ct_ssmenu] =  nom;	valSsMenuLien[ct_menu][ct_ssmenu] =  url;	valSsMenuCible[ct_menu][ct_ssmenu] =  targ;	valSsMenuExtra[ct_menu][ct_ssmenu] = extra;	ct_ssmenu++;}function generationMenu(type) {	setMenuTimeout = 'st';	tmp_menu = '';	widthMenu = ( arguments[0] ) ? arguments[0] : 400;	heightMenu = ( arguments[1] ) ? arguments[1] : 20;	cssClass  = ( arguments[2] ) ? arguments[2] : 'menu';	nom_menu= cssClass;	// fixouille	widthSsMenu = (arguments[3]) ? arguments[3] : 100;  // largeur du sous menu	menu_spacer= (arguments[4]) ? arguments[4] : 0; // pour fixer les espacement entre cellulles ...	menuTimeout = (arguments[5]) ? arguments[5] : 25; // pour fixer le delai de fermeture des menus ...	cellspacing = ( arguments[6] ) ? arguments[6] : 0;		nbMenu = ct_menu + 1;	cssClass = ( cssClass ) ? cssClass: 'menu';	tailleCellule = Math.round(widthMenu / nbMenu); 	// Affichage du menubarder	tmp_menu += "<TABLE  width='" + widthMenu + "'  class='" + cssClass  + "' border='0' cellpadding='0' cellspacing='"+cellspacing+"'><TR valign=\"top\" >";	for (i=0;i<nbMenu;i++) {		tmp_menu += "<TD width='" + tailleCellule + "'  id=\"" +nom_menu + i + "\" class=\"" + cssClass  + "\" onMouseOut=\"timeClose('ssMenu_" + nom_menu + i +"','" + menuTimeout +"')\" onMouseOver=\"javascript:changeMenu('ssMenu_" + nom_menu + i +"');menu_clear_timer();\"  onClick=\"changeMenu('ssMenu_" + nom_menu + i +"')\">"+ valMenu[i] +"</TD>";	}	tmp_menu += "</TR></TABLE>";	//on met un petit élement pour jouer avec ...	tmp_menu += "<DIV style=\"position:relative;height:0px;width:"+widthMenu+"px;overflow:visible;\">";	tmp_menu += mk_menu(cssClass);	tmp_menu += '</DIV>';	document.write(tmp_menu);		// on remet les chose dans l'état d'origine pour les autres menu	ct_menu = -1;	ct_ssmenu = 0;	valMenu = new Array();	valSsMenu = new Array();	valSsMenuLien = new Array();	valSsMenuCible = new Array();	valSsMenuExtra = new Array();	}function mk_menu(cssClass) {	var newTable="";	var Cellpos = 0;	for (i=0;i<valSsMenu.length;i++) {		// on calcul la position du menu 		Cellpos= ( i * tailleCellule ) + menu_spacer;		// fix le dèbordement de l'élément qui le contient (dernier menu)		if ( (Cellpos + widthSsMenu ) >= widthMenu ) {			Cellpos = widthMenu - ( widthSsMenu + menu_spacer );		}		if ( valSsMenu[i].length > 0 ) {			newTable += "<DIV id=\"ssMenu_" + nom_menu + i +"\" class=\"" + cssClass  + "\" onMouseOver=\"menu_clear_timer()\" onMouseOut=\"timeClose('ssMenu_"+ nom_menu + i +"','" + menuTimeout +"')\"  style=\"width:"+ widthSsMenu +"px;position:absolute;visibility:hidden;left:"  + Cellpos +"px;top:0px;\">";			for (z=0;z<valSsMenu[i].length;z++) {				// On affiche les liens													newTable += "<a style=\"display:block;\" href=\""+valSsMenuLien[i][z]+" \" class=\"" + cssClass  + "\"  " +  valSsMenuExtra[i][z]  + " target='"+ valSsMenuCible[i][z] +"' >"+ valSsMenu[i][z] + "</a>";			}			newTable += "</DIV>";		}	}	return newTable;}function changeMenu(this_menu){	// montre le menu et cache l'ancien	document.getElementById(this_menu).style.visibility = "visible";	if ( menu_last_open != '' ) {		suppMenu(menu_last_open) 	}	document.getElementById(this_menu).style.visibility = "visible";	menu_last_open = this_menu;}function suppMenu(this_menu) {	// cache le menu	document.getElementById(this_menu).style.visibility = "hidden";}function timeClose(this_menu,this_menuTimeout) {	setMenuTimeout=setTimeout("suppMenu(\"" + this_menu+"\")", this_menuTimeout);}function menu_clear_timer() {	if ( setMenuTimeout != 'st' ) {		clearTimeout(setMenuTimeout);	}}