var menuTimer;

function menuItem()
{
	var argMenuItem = menuItem.arguments;
	this.boutonLien = argMenuItem[0];
	if (argMenuItem[1]) 
	{
		this.subMenu = argMenuItem[1];
	}
}

function menuPop()
{
	var argMenuPop = menuPop.arguments;
	this.listeMenu = argMenuPop[0];
	this.CSSmenu = argMenuPop[1];
	this.CSSsubMenu = argMenuPop[2];
	this.direction = argMenuPop[3];
	this.pathImgMenu = argMenuPop[4];
	this.pathImgSubMenu = argMenuPop[5];
	this.actif = "";
	this.menuZone = "";
	
	this.imageOn = new Array();
	this.imageOff = new Array();
	this.listeSousMenu = new Array();
	this.listeRollover = new Array();
	this.listeRollSRC = new Array();
	
	this.creerMenu = creerMenu;
	this.creerSousMenu = creerSousMenu;
	
	var self = this;
	this.menuVisible = "";
	this.rollID;
	this.rollVisible = false;
	
	self.menuRollover = function() 
	{
		var divItem = this.parentNode;
		var menuItem = divItem.getAttribute("id");
		menuItem = menuItem.replace("menuItem","");
		menuItem = menuItem.replace("smItem","");
		menuItem = menuItem.replace("actif","");
		
		clearTimeout(menuTimer);
		
		// si le sous-menu existe
		if (self.listeSousMenu.length > 0)
		{
			// si le bouton appuyé n'est pas lui-même
			if (menuItem != self.menuVisible)
			{
				for (var k = self.listeSousMenu.length - 1; k >= 0; k--)
				{
					if ((menuItem.indexOf(self.listeSousMenu[k]) != 0))
					{
						var tempPopArray = self.listeSousMenu.pop();
						var tempRollArray = self.listeRollover.pop();
						var tempRollSrc = self.listeRollSRC.pop();
						menuInvisible(tempPopArray, tempRollArray, tempRollSrc);
					}
				}
			}
		}
		
		if (window.document.getElementById("subMenu" + menuItem))
		{
			window.document.getElementById("subMenu" + menuItem).style.visibility = "visible";
			self.rollVisible = true;
			
			if (self.listeSousMenu[self.listeSousMenu.length - 1] != menuItem)
			{
				self.listeSousMenu[self.listeSousMenu.length] = menuItem;
				self.listeRollover[self.listeSousMenu.length] = divItem;
				self.listeRollSRC[self.listeSousMenu.length] = self.imageOff[divItem.childNodes[0].childNodes[0].getAttribute("id")].src;
			}
		}
		else
		{
			self.rollVisible = false;
		}
		
		if (divItem.getAttribute("id").indexOf("actif") == -1)
		{
			divItem.style.zIndex = "2";
			divItem.childNodes[0].childNodes[0].src = self.imageOn[divItem.childNodes[0].childNodes[0].getAttribute("id")].src;
		}
		
		self.rollID = divItem;
		self.menuVisible = menuItem;
    }
	
	self.menuRollout = function() 
	{
		var rollID = self.rollID;
		var menuVisible = self.menuVisible;
		var rollVisible = self.rollVisible;
		
		if ((rollID) && (rollID.getAttribute("id").indexOf("actif") == -1) && (rollVisible == false))
		{
			rollID.style.zIndex = "0";
			rollID.childNodes[0].childNodes[0].src = self.imageOff[rollID.childNodes[0].childNodes[0].getAttribute("id")].src;
		}
		
		if ((window.document.getElementById("subMenu" + menuVisible)) || (menuVisible.length > 2))
		{
			var menuPrincipal = window.document.getElementById("menuPrincipal");
			var tempMenuRoll = "";
			var tempMenuSrc = "";
			for (var k=0; k < menuPrincipal.childNodes.length; k++)
			{
				if (menuPrincipal.childNodes[k].style.zIndex == "2")
				{
					tempMenuRoll = menuPrincipal.childNodes[k].getAttribute("id");
					tempMenuSrc = self.imageOff[menuPrincipal.childNodes[k].childNodes[0].childNodes[0].getAttribute("id")].src;
				}
			}
		
			var tempmenuToutInvisible = "menuToutInvisible(\"" + menuVisible + "\",\"" + tempMenuRoll + "\",\"" + tempMenuSrc + "\")";
			menuTimer = setTimeout(tempmenuToutInvisible, 500)
		}
    }
}

function menuToutInvisible(paramMenu, paramRoll, paramSrc)
{
	var menuVisible = paramMenu;
	
	clearTimeout(menuTimer);
	for (var k=0; k < (paramMenu.length / 2); k++)
	{
		var subMenuVisible = paramMenu.substr(0, (k * 2) + 2);
		if (window.document.getElementById("subMenu" + subMenuVisible))
		{
			window.document.getElementById("subMenu" + subMenuVisible).style.visibility = "hidden";
		}
	}
	
	if (paramRoll != "")
	{
		window.document.getElementById(paramRoll).style.zIndex = "0";
		window.document.getElementById(paramRoll).childNodes[0].childNodes[0].src = paramSrc;
	}
}

function menuInvisible(paramMenu, paramRoll, paramSrc)
{
	var menuVisible = paramMenu;
	var rollID = paramRoll;
	var rollSrc = paramSrc;
	
	clearTimeout(menuTimer);
	window.document.getElementById("subMenu" + menuVisible).style.visibility = "hidden";
	
	if (rollID.getAttribute("id").indexOf("actif") == -1)
	{
		rollID.style.zIndex = "0";
		rollID.childNodes[0].childNodes[0].src = paramSrc;
	}
}

function creerMenu()
{
	if (this.direction = "vertical")
	{
		window.document.write("<div id=\"menuKino\">");
		window.document.write("<div id=\"menuPrincipal\" style=\"position: absolute; top: " + this.CSSmenu["top"] + "px; left: " + this.CSSmenu["left"] + "px; width: " + this.CSSmenu["width"] + "px;\">");
	
		var compteurMenu = 0;
		for (var i=0; i<this.listeMenu.length; i++)
		{
			this.imageOff[this.listeMenu[i].boutonLien[0] + this.menuZone] = new Image();
			this.imageOff[this.listeMenu[i].boutonLien[0] + this.menuZone].src = this.pathImgMenu + this.listeMenu[i].boutonLien[0] + this.menuZone + "Off.jpg";
			
			this.imageOn[this.listeMenu[i].boutonLien[0] + this.menuZone] = new Image();
			this.imageOn[this.listeMenu[i].boutonLien[0] + this.menuZone].src = this.pathImgMenu + this.listeMenu[i].boutonLien[0] + this.menuZone + "On.jpg";
		
			var iString;
			if (i < 10) {iString = "0" + i} else {iString = "" + i}
			
			if (this.listeMenu[i].boutonLien[0] == this.actif)
			{
				window.document.write("<div id=\"menuItem" + iString + "actif\" style=\"position: absolute; top: " + compteurMenu + "px; left: 0px; z-index: 1;\">");
				window.document.write("<a id=\"menuLink" + iString + "\" href=\"" + this.listeMenu[i].boutonLien[1] +"\">");
				window.document.write("<img src=\"" + this.pathImgMenu + this.listeMenu[i].boutonLien[0] + this.menuZone + "On.jpg\" alt=\"" + this.listeMenu[i].boutonLien[2] + "\" name=\"" + this.listeMenu[i].boutonLien[0] + this.menuZone + "\" border=\"0\" id=\"" + this.listeMenu[i].boutonLien[0] + this.menuZone +"\" />");
			}
			else
			{
				window.document.write("<div id=\"menuItem" + iString + "\" style=\"position: absolute; top: " + compteurMenu + "px; left: 0px; z-index: 0;\">");
				window.document.write("<a id=\"menuLink" + iString + "\" href=\"" + this.listeMenu[i].boutonLien[1] +"\">");
				window.document.write("<img src=\"" + this.pathImgMenu + this.listeMenu[i].boutonLien[0] + this.menuZone + "Off.jpg\" alt=\"" + this.listeMenu[i].boutonLien[2] + "\" name=\"" + this.listeMenu[i].boutonLien[0] + this.menuZone + "\" border=\"0\" id=\"" + this.listeMenu[i].boutonLien[0] + this.menuZone +"\" />");
			}
			
			window.document.write("</a>");
			window.document.write("</div>");
			
			window.document.getElementById("menuLink" + iString).onmouseover = this.menuRollover;
			window.document.getElementById("menuLink" + iString).onmouseout = this.menuRollout;
			
			compteurMenu = compteurMenu + this.CSSmenu["height"];
		}
		
		window.document.write("</div>");
	}
	else
	{
	}
	
	window.document.write("<div id=\"menuSecondaire\">");
	for (var i=0; i<this.listeMenu.length; i++)
	{
		if (this.listeMenu[i].subMenu) 
		{
			var iString;
			if (i < 10) {iString = "0" + i} else {iString = "" + i}
			//window.alert(iString);
			this.creerSousMenu(this.listeMenu[i].subMenu, iString);
		}
	}
	window.document.write("</div>");
	window.document.write("</div>");
}

function creerSousMenu(paramItem, subMenuID)
{
	var coordTop;
	var coordLeft;
	
	if (this.direction = "vertical")
	{
		coordTop = this.CSSmenu["top"];
		for (var j=0; j < (subMenuID.length / 2); j++)
		{
			var relTop;
		
			if (j == 0)
			{
				relTop = parseInt(subMenuID.substr(j * 2, 2)) * this.CSSmenu["height"];
			}
			else
			{
				relTop = parseInt(subMenuID.substr(j * 2, 2)) * this.CSSsubMenu["height"];
			}
		
			coordTop = coordTop + relTop;
		}
	
		coordLeft = this.CSSmenu["left"];
		for (var j=0; j < (subMenuID.length / 2); j++)
		{
			if (j == 0)
			{
				coordLeft = coordLeft + this.CSSmenu["width"];
			}
			else
			{
				coordLeft = coordLeft + this.CSSsubMenu["width"];
			}
		}
	
		window.document.write("<div id=\"subMenu" + subMenuID + "\" style=\"position: absolute; visibility: hidden; background-color: #cccccc; top: " + coordTop + "px; left: " + coordLeft + "px; width: " + this.CSSsubMenu["width"] + "px;\">");
		
		var compteurMenu = 0;
		for (var j=0; j<paramItem.length; j++)
		{
			this.imageOff[paramItem[j].boutonLien[0]] = new Image();
			this.imageOff[paramItem[j].boutonLien[0]].src = this.pathImgSubMenu + paramItem[j].boutonLien[0] + "Off.jpg";
			
			this.imageOn[paramItem[j].boutonLien[0]] = new Image();
			this.imageOn[paramItem[j].boutonLien[0]].src = this.pathImgSubMenu + paramItem[j].boutonLien[0] + "On.jpg";
		
			var jString;
			if (j < 10) {jString = "0" + j} else {jString = "" + j}
			
			window.document.write("<div id=\"smItem" + subMenuID + jString + "\" style=\"position: absolute; top: " + compteurMenu + "px; left: 0px;\">");
			window.document.write("<a id=\"subMenuLink" + subMenuID + jString + "\" href=\"" + paramItem[j].boutonLien[1] +"\">");
			window.document.write("<img src=\"" + this.pathImgSubMenu + paramItem[j].boutonLien[0] + "Off.jpg\" alt=\"" + paramItem[j].boutonLien[2] + "\" name=\"" + paramItem[j].boutonLien[0] + "\" border=\"0\" id=\"" + paramItem[j].boutonLien[0] +"\" />");
			window.document.write("</a>");
			window.document.write("</div>");
			window.document.getElementById("subMenuLink" + subMenuID + jString).onmouseover = this.menuRollover;
			window.document.getElementById("subMenuLink" + subMenuID + jString).onmouseout = this.menuRollout;
			
			compteurMenu = compteurMenu + this.CSSsubMenu["height"];
		}
		
		window.document.write("</div>");
	}
	else
	{
	}
	
	for (var j=0; j<paramItem.length; j++)
	{
		if (paramItem[j].subMenu) 
		{
			var jString;
			if (j < 10) {jString = "0" + j} else {jString = "" + j}
			this.creerSousMenu(paramItem[j].subMenu, subMenuID + jString);
		}
	}
}

function contRollOver(x, y)
{
	window.document.getElementById(x).src = eval(x + y + ".src");
}