function Menu() {
	this.array		= new Array()
	this.arrChosen		= new Array()
	this.chosen		= null
	this.mouseX		= null
	this.mouseY		= null
	this.mouseOverLyr	= null
	this.mouseMove		= MenuMouseMove
	this.change		= MenuChange
	this.changeLines	= MenuChangeLines
	this.timeLastMouseOver	= new Date()
	this.blnChanging	= false
	this.blnLinesChanging	= false
	this.sitemapChange	= MenuSitemapChange
	this.changeColor	= MenuChangeColor
	this.blnSitemap		= false
	this.checkWithin	= MenuCheckWithin
	this.checkVisibility	= MenuCheckVisibility
	this.init		= MenuInit
	this.reposition		= MenuReposition
	this.colors		= new Array("D0DCE4","D0DCE4")
}
menu = new Menu()
function MenuReposition(argStartPosX,argMenuItem) {
	this.array[argMenuItem].moveTo((argStartPosX+this.array[argMenuItem].numStartPosX),this.array[argMenuItem].y())
}
function MenuInit(argChosenMenuNumber) {
//	numMenuStartPosX = (fnWinWidth()/2) - (769/2)
//	if(numMenuStartPosX < 0) numMenuStartPosX = 0
//	numMenuStartPosX += 77
	numMenuStartPosX = 180
	if(!MenuInitialized) {
		this.chosen = argChosenMenuNumber
		for(j=this.chosen.length;j>0;j=j-2) {
			this.arrChosen[this.arrChosen.length] = this.chosen.substring(0,j)
		}
		for(i=0;i<DynLayer.array.length;i++) {
			if(DynLayer.array[i].id.indexOf("menu") == 0) {
				this.array[this.array.length]	= DynLayer.array[i]
				this.array[this.array.length-1].numStartPosX = this.array[this.array.length-1].x()
				menu.reposition(numMenuStartPosX,this.array.length-1)
				strMenuNumber = this.array[this.array.length-1].id.substring(4,this.array[this.array.length-1].id.indexOf("Div"))
				//-- CHANGE BACKGROUND-COLOR OF CHOSEN LAYERS --
				for(j=0;j<this.arrChosen.length;j++) {
					if(strMenuNumber == this.arrChosen[j]) this.changeColor(this.array[this.array.length-1],this.colors[1])
				}
				//----------------------------------------------
				if(strMenuNumber.length == 4) this.array[this.array.length-1].show()
			}
		}
		MenuInitialized = true
	}
	else {
		for(i=0;i<this.array.length;i++) {
			this.reposition(numMenuStartPosX,i)
		}
	}
}
function MenuChangeColor(argLyr,argColor) {
	if(argLyr.id.length > 11) {
		if(is.ns4)	argLyr.css().bgColor		= argColor
		else		argLyr.css().backgroundColor	= argColor
	}
}
function MenuCheckWithin(x,y,top,right,bottom,left) {
	if (x>=left && x<right && y>=top && y<bottom) {return true}
	else {return false}
}
function MenuCheckVisibility(lyr) {
	v = (is.ns4)? "show" : "visible"
	if(lyr.css().visibility == v) return true
	return false
}

function MenuChangeLines(menuNumber) {
	this.linesChanging = true
	for(i=0;i<thelines.doc().images.length; i++) {
		if(thelines.doc().images[i].src.indexOf("menulines") > 0) {
			thelines.doc().images[i].src = "img/menulines.gif"	
		}
	}
	thelines.doc().images["menulines" + eval(menuNumber)].src = "img/menulines2.gif"	
	this.linesChanging = false
}
function MenuChange(lyr) {
	menu.blnChanging	= true
	menu.mouseOverLyr	= lyr
	if(lyr == null) {
		
	}
	else {
		this.timeLastMouseOver = new Date()
		strOverMenuNumber = lyr.id.substring(4,lyr.id.indexOf("Div"))
		if(strOverMenuNumber.length > 4) this.changeColor(lyr,menu.colors[1])
		else {
			if(!this.linesChanging) this.changeLines(strOverMenuNumber)
		}

		for(i=0;i<menu.array.length;i++) {
			strMenuNumber		= this.array[i].id.substring(4,this.array[i].id.indexOf("Div"))
			if(strOverMenuNumber != strMenuNumber) {
				blnSameMainCategory	= (strOverMenuNumber.substring(0,4) == strMenuNumber.substring(0,4))
				blnSubCategory		= (blnSameMainCategory && (strMenuNumber.indexOf(strOverMenuNumber) == 0))
				if(blnSubCategory) {
					blnAmongChosen = false
					for(j=0;j<this.arrChosen.length;j++) {
						if(this.arrChosen[j] == strMenuNumber) blnAmongChosen = true
					}
					if(!blnAmongChosen && strMenuNumber != strOverMenuNumber) this.changeColor(menu.array[i],menu.colors[0])		
					menu.array[i].show()
					
				}
				else if(!blnSameMainCategory && strMenuNumber.length > 4) {
					if(strMenuNumber != this.chosen) this.changeColor(menu.array[i],menu.colors[0])
					menu.array[i].hide()
				}
				else {
					if(this.chosen.indexOf(strMenuNumber) != 0) this.changeColor(menu.array[i],menu.colors[0])
//					thelines.doc().images["menulines" + eval(strOverMenuNumber)].src = "img/menulines2.gif"				

				}
				
			}
		}
	}
	menu.blnChanging = false
}

function MenuSitemapChange(lyr) {
	menu.blnChanging = true
	if(lyr == null) {
		for(i=0;i<menu.array.length;i++) {
			menu.array[i].show()
		}
	}
	else {
		strOverMenuNumber = lyr.id.substring(4,lyr.id.indexOf("Div"))
		if(strOverMenuNumber.length > 4) lyr.css().backgroundColor = menu.colors2[eval(strOverMenuNumber.substring(0,4))]
		for(i=0;i<menu.array.length;i++) {
			strMenuNumber		= this.array[i].id.substring(4,this.array[i].id.indexOf("Div"))
			if(strOverMenuNumber != strMenuNumber) {
				blnSameMainCategory	= (strOverMenuNumber.substring(0,4) == strMenuNumber.substring(0,4))
				blnSubCategory		= (blnSameMainCategory && (strMenuNumber.indexOf(strOverMenuNumber) == 0) && strMenuNumber.length-strOverMenuNumber.length == 4)
				if(blnSubCategory) {
					if(strMenuNumber != this.chosen && strMenuNumber != strOverMenuNumber) this.changeColor(menu.array[i],menu.colors[0])				
				}
				else if(!blnSameMainCategory && strMenuNumber.length > 4) {
					if(strMenuNumber != this.chosen) this.changeColor(menu.array[i],menu.colors[0])
				}
				else {
					if(strMenuNumber != this.chosen) this.changeColor(menu.array[i],menu.colors[0])
				}
			}
		}
	}
	menu.blnChanging = false
}
function MenuMouseMove(x,y){
	this.mouseX = x
	this.mouseY = y
	blnWithinMenu = false
	if(!menu.blnChanging) {
		for(i=0;i<menu.array.length;i++) {
			if(menu.checkVisibility(menu.array[i])) {
				numTopPoint	= menu.array[i].y()
				numRightPoint	= menu.array[i].x()+menu.array[i].w()
				numBottomPoint	= menu.array[i].y()+menu.array[i].h()
				numLeftPoint	= menu.array[i].x()
				if(menu.checkWithin(x,y,numTopPoint,numRightPoint,numBottomPoint,numLeftPoint)) {
					lyr = menu.array[i]
					i = menu.array.length
					blnWithinMenu = true
					if(menu.blnSitemap) menu.sitemapChange(lyr)
					else menu.change(lyr)
					i = menu.array.length
					return true
				}
			}
		}
		if(!blnWithinMenu && !menu.blnSitemap) this.change(null)
	}
	return false
}

function MenuHideSequence() {
	if((new Date().valueOf() - menu.timeLastMouseOver.valueOf()) > 1500) {
		blnHideAll = true
		for(i=0;i<menu.array.length;i++) {
			if(menu.checkVisibility(menu.array[i])) {
				numTopPoint	= menu.array[i].y()
				numRightPoint	= menu.array[i].x()+menu.array[i].w()
				numBottomPoint	= menu.array[i].y()+menu.array[i].h()
				numLeftPoint	= menu.array[i].x()
				if(menu.checkWithin(menu.mouseX,menu.mouseY,numTopPoint,numRightPoint,numBottomPoint,numLeftPoint)) {
					blnHideAll = false
					i = menu.array.length
				}
			}
		}
		if(blnHideAll) {
			for(i=0;i<menu.array.length;i++) {
				strMenuNumber = menu.array[i].id.substring(4,menu.array[i].id.indexOf("Div"))
				if(strMenuNumber.length > 4) menu.array[i].hide()
			}
		}
	}
	setTimeout("MenuHideSequence()",500)
}

MenuHideSequence()



MenuInitialized = false
function init(argMenuNumber) {
	DynLayerInit()
	menu.init(argMenuNumber)
	initMouseEvents()
}

