/* auteur: aline baron */
/* Date de création: 20/05/2008 */
//Définition des variables
var Liste=new Menu();		//Menu contenant les menus princpaux
var Largeur=150,Hauteur=40;	//Largeur des menus et sous menus
var DivTop=190;DivLeft=20;	//Position du menu par rapport au bord de la feuille (en pixels)
var Open;					//Variable contenant la liste des sous menus affichés
var MOut='#800000';			//Couleur des menus non survolés
var MOver='#983C3C';		//Couleur des menus survolés
var SMOut='#800000';		//Couleur des sous menus non survolés
var SMOver='#983C3C';		//Couleur des sous menus survolés
var Timer=100,Time;		//Timer : Temps à attendre pour que le menu s'efface (nul => désactivé)
var LgID;
var Affichage,Com;
//Définition des menus et sous menus

Liste.State=1;
Liste.nb=0;
Liste.ID=Open="Liste";
LgID=Open.length;

Liste.AddM("Actualité","sommaire.htm","centre");
Liste.AddM("Mâle");
	Liste.SMenu[1].AddM("Athos","athos.htm","centre");
	Liste.SMenu[1].AddM("Cansas","cansas.htm","centre");
	Liste.SMenu[1].AddM("Energy","energy.htm","centre");
	Liste.SMenu[1].AddM("Eelou","eelou.htm","centre");
Liste.AddM("Femelles");
	Liste.SMenu[2].AddM("Taly","taly.htm","centre");
	Liste.SMenu[2].AddM("Vegas","vegas.htm","centre");
	Liste.SMenu[2].AddM("Vahiné","vahine.htm","centre");
	Liste.SMenu[2].AddM("Bee Bop","biba.htm","centre");
	Liste.SMenu[2].AddM("Calysse","Calysse.htm","centre");
	Liste.SMenu[2].AddM("Cassia","cassia.htm","centre");
	Liste.SMenu[2].AddM("Canny","canny.htm","centre");
	Liste.SMenu[2].AddM("Corail","corail.htm","centre");
	Liste.SMenu[2].AddM("Coton","coton.htm","centre");
	Liste.SMenu[2].AddM("Eryne","eryne.htm","centre");
Liste.AddM("Portées");
	Liste.SMenu[3].AddM("Portée en Cours","portees.htm","centre");
	Liste.SMenu[3].AddM("Portées Précédentes","precedenteportee.htm","centre");
Liste.AddM("Contact","contacter.htm","centre");
Liste.AddM("Plan d'Accés","plan.htm","centre");
Liste.AddM("Album");
	Liste.SMenu[6].AddM("Les chiens au travail","entrainement.htm","centre");
	Liste.SMenu[6].AddM("Les chiens en expo","expoagen.htm","centre");
	Liste.SMenu[6].AddM("Les chiens sous la neige","janvier2010.htm","centre");
Liste.AddM("Descendance");
	Liste.SMenu[7].AddM("Les enfants de Taly","descendnacetaly.htm","centre");
	Liste.SMenu[7].AddM("Les enfants de Vegas","descendancevegas.htm","centre");
	Liste.SMenu[7].AddM("Les enfants de Vahiné","descendancevahine.htm","centre");
	Liste.SMenu[7].AddM("Les enfants d'Athos","descendanceathos.htm","centre");
	Liste.SMenu[7].AddM("Les enfants de Bee Bop","descendancebiba.htm","centre");
Liste.AddM("En Mémoire","memoire.htm","centre");
Liste.AddM("Liens","liens.htm","centre");

	
	
5
//Définition des fonctions
	//Définition de l'objet Menu
function Menu(){
	this.Titre;				//Titre du menu
	this.State;				//Positif : Menu affiché ; Négatif : Menu masqué
	this.nb;				//Nombre de sous menus
	this.ID;				//Identifiant du menu ou sous menu
	this.SMenu=new Array();
	this.Lvl=Level;
	this.AddM=AddMenu;
	this.Aff=AffMenu;
	this.AffB=AffBetween;
}
	//Fonction chargée de créer les sous menus
		//Nom : Texte qui sera affiché sur la page HTML
		//Lien (optionel) : Lien hypertexte associé à l'entrée du menu
		//Dest (optionel) : Frame cible du lien
function AddMenu(Nom,Lien,Dest){
	this.SMenu[this.nb]=new Menu();
	if(Lien)
		if(Dest)this.SMenu[this.nb].Titre='<a href="'+Lien+'" target="'+Dest+'">'+Nom+'</a>';
		else this.SMenu[this.nb].Titre='<a href="'+Lien+'">'+Nom+'</a>';
	else this.SMenu[this.nb].Titre=Nom;
	this.SMenu[this.nb].State=-1;
	this.SMenu[this.nb].nb=0;
	this.SMenu[this.nb].ID=this.ID+'.SMenu['+this.nb+']';
	this.nb++;
}
	//Fonction chargée de donner le nombre de sous niveaux maximum
		//Level de l'objet
function Level(Lvl){
	var i;
	LvlMax=Lvl?LvlMax:0;
	LvlMax=LvlMax<Lvl?Lvl:LvlMax;
	if(this.nb)
		for(i=0;i<this.nb;i++){
			this.SMenu[i].Lvl(Lvl+1);
		}
	return LvlMax;
}
	//Fonction chargée d'afficher ou masquer les menus
		//Level : Place de la case en largeur
		//Num : Place de la case en hauteur
function AffMenu(Level,Num){
	var i,ColorOut,ColorOver;
	ColorOut=(Level)?SMOut:MOut;
	ColorOver=(Level)?SMOver:MOver;
	document.getElementById('ListeLvl'+Level).style.top=Num*Hauteur+DivTop;
	Affichage="";
	if(this.State>0){
		Affichage="<table bgColor="+ColorOut+">";
		for(i=0;i<this.nb;i++){
			Affichage+="<tr bgColor='";
			Affichage+=this.SMenu[i].State>0?ColorOver:ColorOut;
			Affichage+="' ";
			Affichage+="onMouseOut='"+this.SMenu[i].ID+".State>0?this.setAttribute(\"bgColor\",\""+ColorOver+"\"):this.setAttribute(\"bgColor\",\""+ColorOut+"\");";
			Affichage+=Timer?"Time=setTimeout(\""+Open.substring(0,LgID)+".AffB(0,0)\","+Timer+")' ":"' ";
			Affichage+="onMouseOver='this.setAttribute(\"bgColor\",\""+ColorOver+"\");";
			Affichage+=Timer?"clearTimeout(Time);":"";
			Affichage+=this.SMenu[i].Lvl(0)?this.SMenu[i].ID+".AffB("+(Level+1)+","+(Num+i)+")' ":"' ";
			Affichage+="><td width="+(Largeur-12)+" height="+Hauteur+">";
			Affichage+=this.SMenu[i].Titre;
			Affichage+="</td><td width=10>";
			Affichage+=this.SMenu[i].nb?">":"";
			Affichage+="</td></tr>";
		}
	Affichage+="</table>";
	}
	document.getElementById('ListeLvl'+Level).innerHTML=Affichage;
	document.getElementById('ListeLvl'+Level).style.visibility="visible";
}
	//Fonction chargée d'afficher le sous menu sélectionné
		//Level : Niveau du sous menu à afficher
		//Num : Numéro du sous menu à afficher
function AffBetween(Level,Num){
	for(i=(LgID+Level*9),j=0;i<=Open.length;i+=9,j++)eval(Open.substring(0,i)+".State=-1");
	this.State=-this.State;
	if(LgID+Level*9<=Open.length){
		if(Level>1){
			Com=Open.substring(0,LgID+(Level-1)*9)+".State=1;"+Open.substring(0,LgID+(Level-1)*9)+".Aff("+(Level-1)+",(";
			for(i=12;i<LgID+(Level-1)*9;i+=9)Com+=Open.charAt(i)+"+";
			Com+="0))";
		}
		else Com=Open.substring(0,LgID)+".State=1;"+Open.substring(0,LgID)+".Aff(0,0)";
		eval(Com);
	}
	for(i=Level;i<Liste.Lvl(0);i++){
		document.getElementById('ListeLvl'+i).style.visibility="hidden";
	}
	this.Aff(Level,Num);
	Open=this.ID;
}
	//Fonction chargée d'afficher les menus au chargement de la page
function InitMenu(){
	var i;
	for(i=0;i<Liste.Lvl(0);i++){
		document.write("<div ID='ListeLvl"+i+"' style='position:absolute;left:"+(i*(Largeur+4)+DivLeft)+"'></div>");
	}
	Liste.Aff(0,0);
}