	
	var MelromenuDhtml = function(
									larg,
									speedopacity,
									partMove,
									ajust_h,
									ajust_w,
									lightfondu,
									movehidden,
									methodemove,
									effetSizer,
									effetSizerMoveDir,
									effetReboner,
									mouveReboner,
									menuOpacityer,
									classioName
									) 
	{
		var ajust_height=ajust_h;
		var ajust_width=ajust_w;
		var Cycle_ff=0;
		var part_movefondu=partMove;
		var withfondu=lightfondu;
		var movefonduAct=movehidden;
		var effetSize=effetSizer;//no/yes
		var effetSizeMoveDir=effetSizerMoveDir;//top/left/mixe
		var movefondu=methodemove;//fixe,bottom,top, haut;left;right,break
		var delayclosevolet;
		var delayclosefondu;
		var oDialogGard;
		var timedelay=1;
		var fondure=speedopacity;
		var largmenu=larg;
		var widthvoletdef;
		var heightvoletdef;
		var part_widthvoletdef;
		var part_heightvoletdef;
		var setTimeopen;
		var countopen=0;
		var curentvolet=0;
		var menu_level;
		var Timestart;
		var countrebon=0;
		var jump_lock=false;
		var moveRebon=mouveReboner; //direction rebond top/left
		var effetRebon=effetReboner; //effet rebond yes/no
		var setTimeRebon;
		var menuOpacity=menuOpacityer;
		var nomMenu='melrosysvolet';
		var nameisClass=classioName;
		var LimiteX;
		
		this.setDeborderX = function setDeborderX(posi)
		{
			var largInfo=volet_level[menu_level].getWidth();
			var depass=posi+largInfo;
			if(depass>LimiteX)
			{
				depass=depass-LimiteX;
				return depass;
			}
			else
			{
				return 0;
			}
		}
		
		this.souscatsetlink = 	function souscatsetlink(lol,menu,level)
		{
			if(jump_lock==false)
			{
				var posiar=new Array();
				menu_level=level;
				posiar=Position.cumulativeOffset(lol);
				var name=nomMenu+level;
				
				if(!$(name))
				{
					var indicateur = document.createElement('div');
					Element.extend(indicateur);
					indicateur.id = name;
					indicateur.addClassName('setDhtmlMenuHide');
					document.body.appendChild(indicateur);
				}
		
				volet_level[menu_level] = $(name);
				this.closedelay();

				var iLeftPos = posiar[0];
				var iTopPos = posiar[1];
				
				iLeftPos=iLeftPos+largmenu-10;
				
				volet_level[menu_level].setStyle({
				  left: ''+(iLeftPos) + 'px',
				  top: ''+(iTopPos) + 'px'
				});

				volet_level[menu_level].innerHTML = tabmenu[menu];
				this.initevent(level);
				jump_lock=false;
			}
		}
		
		this.startcountvolet = function startcountvolet(level)
		{
			Timestart=setInterval(nameisClass+".closevolet()", 1000);
		}
		
		this.initevent = function initevent(level)
		{
			if(level>1)
			{
				var sav=level-1;
				var name=nomMenu+sav;
				if($(name))
				{
					//Event.stopObserving(name,'mouseout',stoper);
					Event.stopObserving(name,'mouseover',garder);
				}
				
				name=nomMenu+level;
				if($(name))
				{
					Event.observe(name,'mouseout',stoper);
					Event.observe(name,'mouseover',garder);
				}
			}
		}
		
		this.initeventopen = function initeventopen()
		{
			if(menu_level>1)
			{
				var name;
				for (var to=2;to<menu_level+1;to++)
				{
					name=nomMenu+to;
					if($(name))
					{
						Event.stopObserving(name,'mouseout',stoper);
						Event.stopObserving(name,'mouseover',garder);
						volet_level[to].className="setDhtmlMenuHide";
					}
					else break;
				}
				
				if($(nomMenu+'1'))
				{
					Event.observe(nomMenu+'1','mouseout',stoper);
					Event.observe(nomMenu+'1','mouseover',garder);
				}
			}
		}
		
		this.initall = function initall()
		{
			if(menu_level>1)
			{
				var name;
				for (var to=1;to<menu_level+1;to++)
				{
					name=nomMenu+to;
					if($(name))
					{
						Event.stopObserving(name,'mouseout',stoper);
						Event.stopObserving(name,'mouseover',garder);
						volet_level[to].className="setDhtmlMenuHide";
					}
					else break;
				}
				
				if($(nomMenu+'1'))
				{
					Event.observe(nomMenu+'1','mouseout',stoper);
					Event.observe(nomMenu+'1','mouseover',garder);
				}
			}
		}
		
		this.initeventclose = function initeventclose(level)
		{
			if(level>1)
			{
				var name=nomMenu+level;
				Event.stopObserving(name,'mouseout',stoper);
				Event.stopObserving(name,'mouseover',garder);
				level--;
				name=nomMenu+level;
				Event.observe(name,'mouseout',stoper);
				Event.observe(name,'mouseover',garder);
			}
		}
		
		this.setlink = 	function setlink(lol,menu,level)
		{
			var posiar=new Array();
			this.initeventopen();
			jump_lock=false;
			
			menu_level=level;
			posiar=Position.cumulativeOffset(lol);

			if(!$(nomMenu+'1'))
			{
				var indicateur = document.createElement('div');
				Element.extend(indicateur);
				indicateur.id = nomMenu+'1';
				indicateur.addClassName('setDhtmlMenuHide');
				document.body.appendChild(indicateur);
			}
			
			Event.observe(nomMenu+'1','mouseout',stoper);
			Event.observe(nomMenu+'1','mouseover',garder);
			volet_level[menu_level]=$(nomMenu+'1');

			this.closedelay();
			
			var iLeftPos = posiar[0];
			var iTopPos = posiar[1];
			
			iLeftPos=iLeftPos+ajust_width;
			iTopPos=iTopPos+ajust_height;
			
			volet_level[menu_level].setStyle({
			  left: ''+(iLeftPos) + 'px',
			  top: ''+(iTopPos) + 'px'
			});

			volet_level[menu_level].innerHTML = tabmenu[menu];

			widthvoletdef=$('voletid1').getWidth();
			heightvoletdef=$('voletid1').getHeight();
			
			part_widthvoletdef=widthvoletdef/10;
			part_heightvoletdef=heightvoletdef/10;
			
			if(curentvolet!=menu)
			{
				etat_volet[curentvolet]=0;
				curentvolet=menu;
				
				countopen=0;
				if(effetSize=="yes")
				{
					if(effetSizeMoveDir=="mixe")
					{
						volet_level[menu_level].setStyle({
						  width: '50px',
						  height: '50px'
						});
						clearInterval(setTimeopen);
						setTimeopen=setInterval(nameisClass+".openvolet()", 15);
					}
					else if(effetSizeMoveDir=="left")
					{
						this.fullSizeHeight();
						volet_level[menu_level].setStyle({
						  width: '50px'
						});
						clearInterval(setTimeopen);
						setTimeopen=setInterval(nameisClass+".openvolet()", 15);
					}
					else
					{
						this.fullSizeWidth();
						volet_level[menu_level].setStyle({
						  height: '50px'
						});
						clearInterval(setTimeopen);
						setTimeopen=setInterval(nameisClass+".openvolet()", 15);
					}
				}
				else
				{
					countrebon=0;
					this.fullSize();
					if(effetRebon=="yes")
					{
						jump_lock=true;
						clearInterval(setTimeRebon);
						setTimeRebon=setInterval(nameisClass+".rebond()", 15);
					}
					else
					{
					}
				}
			}
			else if(curentvolet==menu && etat_volet[curentvolet]==1)
			{
			
			}
			else if(curentvolet==menu && etat_volet[curentvolet]==0)
			{
				countopen=0;
				if(effetSize=="yes")
				{
					if(effetSizeMoveDir=="mixe")
					{
						volet_level[menu_level].setStyle({
						  width: '50px',
						  height: '50px'
						});
						clearInterval(setTimeopen);
						setTimeopen=setInterval(nameisClass+".openvolet()", 15);
					}
					else if(effetSizeMoveDir=="left")
					{
						this.fullSizeHeight();
						volet_level[menu_level].setStyle({
						  width: '50px'
						});
						clearInterval(setTimeopen);
						setTimeopen=setInterval(nameisClass+".openvolet()", 15);
					}
					else
					{
						this.fullSizeWidth();
						volet_level[menu_level].setStyle({
						  height: '50px'
						});
						clearInterval(setTimeopen);
						setTimeopen=setInterval(nameisClass+".openvolet()", 15);
					}
				}
				else
				{
					countrebon=0;
					this.fullSize();
					if(effetRebon=="yes")
					{
						jump_lock=true;
						clearInterval(setTimeRebon);
						setTimeRebon=setInterval(nameisClass+".rebond()", 15);
					}
					else
					{
					}
				}
			}
		}
///////////
		this.rebond = function rebond()
		{
			var ff_rebon=new Array(0,5,10,-10,-5,2,8,-8,-2,1,-1);
			var valeur_t=ff_rebon[countrebon];

			var posiar=new Array();
			posiar=Position.cumulativeOffset(volet_level[menu_level]);
			var iTopPos = posiar[1]+valeur_t;
			var iLeftPos = posiar[0]+valeur_t;
			if(moveRebon=="left")
			{
				volet_level[menu_level].setStyle({
				  left: ''+(iLeftPos)+'px'
				});
			}
			else
			{
				volet_level[menu_level].setStyle({
				  top: ''+(iTopPos)+'px'
				});
			}
			
			countrebon++;
			if(countrebon>=11)
			{
				countrebon=0;
				clearInterval(setTimeRebon);
				this.fullSize();
				etat_volet[curentvolet]=1;
				jump_lock=false;
			}
		}
		
		this.openvolet = function openvolet()
		{
			var larg=volet_level[menu_level].getWidth();
			var haut=volet_level[menu_level].getHeight();
			
			larg=larg+part_widthvoletdef;
			haut=haut+part_heightvoletdef;
			
			if(effetSizeMoveDir=="mixe")
			{
				volet_level[menu_level].setStyle({
				  width: ''+larg+'px',
				  height: ''+haut+'px'
				});
			}
			else if(effetSizeMoveDir=="left")
			{
				volet_level[menu_level].setStyle({
				  width: ''+larg+'px'
				});
				clearInterval(setTimeopen);
				setTimeopen=setInterval(nameisClass+".openvolet()", 15);
			}
			else
			{
				volet_level[menu_level].setStyle({
				  height: ''+haut+'px'
				});
			}

			countopen++;
			if(countopen>=10)
			{
				clearInterval(setTimeopen);
				this.fullSize();
				etat_volet[curentvolet]=1;
			}
		}

		this.fullSize = function fullSize()
		{
			volet_level[menu_level].setStyle({
			  width: ''+widthvoletdef+'px',
			  height: ''+heightvoletdef+'px'
			});
		}
		
		this.fullSizeHeight = function fullSizeHeight()
		{
			volet_level[menu_level].setStyle({
			  height: ''+heightvoletdef+'px'
			});
		}
		
		this.fullSizeWidth = function fullSizeWidth()
		{
			volet_level[menu_level].setStyle({
			  width: ''+widthvoletdef+'px'
			});
		}
		
		this.closevolet2 = function closevolet2(volet)
		{
			if(jump_lock==false)
			{
				var name=nomMenu+volet;
				if($(name))
				{
					volet_level[volet].addClassName('setDhtmlMenuHide');//className
					this.initeventclose(volet);
					menu_level=volet-1;
				}
			}
		}
		
		this.closevolet = function closevolet()
		{
			this.clearTimer();
			delayclosefondu=setInterval(nameisClass+".fonDuCycle()", fondure);
			etat_volet[curentvolet]=0;
			jump_lock=true;
			
			var name=nomMenu+menu_level;
			if($(name))
			{
				Event.stopObserving(name,'mouseout',stoper);
				Event.stopObserving(name,'mouseover',garder);
			}
		}

		this.delaisclosevolet = function delaisclosevolet()
		{
			if(jump_lock==false)
			{
				this.clearTimer();
				this.fixeopacityvolet();
				delayclosevolet=setTimeout(nameisClass+".closevolet()", timedelay*1000);
			}
		}
		
		this.closedelay = function closedelay()
		{
			if(jump_lock==false)
			{
				this.clearTimer();
				this.fixeopacityvolet();
			}
		}

		this.fixeopacityvolet = function fixeopacityvolet()
		{
			var name=nomMenu+menu_level;
			if($(name))
			{
				Element.Methods.setOpacity(name,menuOpacity);
				volet_level[menu_level].className="dhtmlmenu";
				volet_level[menu_level].setAttribute("class","dhtmlmenu");
				volet_level[menu_level].setAttribute("className","dhtmlmenu");
			}
		}

		this.fonDuCycle = function fonDuCycle()
		{
			var name;
			var ff_hid=new Array(
			1,
			0.9,
			0.8,
			0.7,
			0.6,
			0.5,
			0.4,
			0.3,
			0.2,
			0.1,
			0
			);
			
			var ff_tremb=new Array(5,0,-5,0,5,0,-5,0,5,0,-5);
			
			if(movefondu=="fixe" || movefondu=="")
			{
			}
			else if(movefondu=="break" && volet_level[menu_level])
			{
				var valeur_t=ff_tremb[Cycle_ff];
				var posiar=new Array();
				posiar=Position.cumulativeOffset(volet_level[menu_level]);
				var iTopPos = posiar[1]+valeur_t;
				var iLeftPos = posiar[0]+valeur_t;
				if(movefonduAct=="right")
				{
					volet_level[menu_level].setStyle({
					  left: ''+(iLeftPos)+'px'
					});
				}
				else
				{
					volet_level[menu_level].setStyle({
					  top: ''+(iTopPos)+'px'
					});
				}
			}
			else if(movefondu=="top" && volet_level[menu_level])
			{
				var posiar=new Array();
				posiar=Position.cumulativeOffset(volet_level[menu_level]);
				var iTopPos = posiar[1]-part_movefondu;
				volet_level[menu_level].setStyle({
				  top: ''+(iTopPos)+'px'
				});
			}
			else if(movefondu=="bottom" && volet_level[menu_level])
			{
				var posiar=new Array();
				posiar=Position.cumulativeOffset(volet_level[menu_level]);
				var iTopPos = posiar[1]+part_movefondu;
				volet_level[menu_level].setStyle({
				  top: ''+(iTopPos)+'px'
				});
			}
			else if(movefondu=="left" && volet_level[menu_level])
			{
				var posiar=new Array();
				posiar=Position.cumulativeOffset(volet_level[menu_level]);
				var iLeftPos = posiar[0]-part_movefondu;
				volet_level[menu_level].setStyle({
				  left: ''+(iLeftPos)+'px'
				});
			}
			else if(movefondu=="right" && volet_level[menu_level])
			{
				var posiar=new Array();
				posiar=Position.cumulativeOffset(volet_level[menu_level]);
				var iLeftPos = posiar[0]+part_movefondu;
				volet_level[menu_level].setStyle({
				  left: ''+(iLeftPos)+'px'
				});
			}
			
			if(withfondu=='yes')
			{
				name=nomMenu+menu_level;
				if($(name))
				{
					var valeur_h=ff_hid[Cycle_ff];
					Element.Methods.setOpacity(name,valeur_h);
				}
			}
			
			Cycle_ff++;
			if(Cycle_ff>=10) 
			{
				this.clearTimer();
				volet_level[menu_level].addClassName('setDhtmlMenuHide');
				this.initeventclose(menu_level);
				if(menu_level>1)
				{
					this.initall();
				}
				menu_level--;
				jump_lock=false;
			}
		}
		
		this.clearTimer = function clearTimer()
		{
			Cycle_ff=0;
			clearInterval(delayclosefondu);
			clearTimeout(delayclosevolet);
			clearInterval(Timestart);
			if(jump_lock==false)
			{
				clearInterval(setTimeRebon);
			}
		}
	}

	function stoper()
	{
		class_menuDhtml.delaisclosevolet();
	}
	
	function garder()
	{
		class_menuDhtml.closedelay();
	}