// Global setting variables
var giMenuFramesVertical=1;			// Frames in cols or rows 1 or 0
var gsMenuHPosition='left';			// Menu horizontal position 'left', 'center' or 'right'
var gsMenuVPosition='top';			// Menu vertical position 'top', 'middle','bottom' or 'static'
var giVerCorrect=0;					// Multiple frames y correction
var giHorCorrect=0;					// Multiple frames x correction
var giTakeOverBgColor=1;			// Menu frame takes over background color subitem frame
var gsFirstLevelFrame='';			// Frame where first level appears
var gsSubLevelFrame='';				// Frame where sub levels appear
var gsLinkTargetFrame='';			// Frame where target documents appear
var gsTargetLayerID='divMenu';		// Layer id for relative positioning
var giHideTop=0;					// Hide first level when loading new document 1 or 0
var giMenuWrap=1;					// Enables/ disables menu wrap 1 or 0
var giUnfoldsOnClick=0;				// Level 1 unfolds onclick/ onmouseover
var giMenuTreeCheck=0;				// Menu tree checking on or off 1 or 0
var gaArrows=['system/images/arrow_r.gif',5,10,'system/images/arrow_d.gif',10,5,'system/images/arrow_l.gif',5,10];	// Arrow source, width and height

// Browser spesific variables
var AgntUsr=navigator.userAgent.toLowerCase();
var DomYes=document.getElementById?1:0;
var NavYes=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
var ExpYes=AgntUsr.indexOf('msie')!=-1?1:0;
var Opr=AgntUsr.indexOf('opera')!=-1?1:0;
var DomNav=DomYes&&NavYes?1:0;
var Opr6orless=window.opera && navigator.userAgent.search(/opera.[1-6]/i)!=-1
var DomNav=DomYes&&NavYes?1:0;
var DomExp=DomYes&&ExpYes?1:0;
var Nav4=NavYes&&!DomYes&&document.layers?1:0;
var Exp4=ExpYes&&!DomYes&&document.all?1:0;
var PosStrt=(NavYes||ExpYes)&&!Opr6orless?1:0;

// Menu script variables
var FrstLoc,ScLoc,DcLoc;
var ScWinWdth,ScWinHght,FrstWinWdth,FrstWinHght;
var ScLdAgainWin;
var FirstColPos,SecColPos,DocColPos;
var RcrsLvl=0;
var FrstCreat=1,Loadd=0,Creatd=0,IniFlg,AcrssFrms=1;
var FrstCntnr=null,CurrntOvr=null,CloseTmr=null;
var CntrTxt,TxtClose,ImgStr;
var Ztop=100;
var ShwFlg=0;
var M_StrtTp=giStartTop,M_StrtLft=giStartLeft;
var StaticPos=0;
var LftXtra=DomNav&&!Opr?giLeftPaddng:0;
var TpXtra=DomNav?giTopPaddng:0;
var M_Hide=Nav4?'hide':'hidden';
var M_Show=Nav4?'show':'visible';
var Par=parent.frames[0]&&gsFirstLevelFrame!=gsSubLevelFrame?parent:window;
var Doc=Par.document;
var Bod=Doc.body;
var Trigger=NavYes&&!Opr?Par:Bod;
var WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];

if(gaMenu.length > 0) {
	if(Trigger.onload)Dummy=Trigger.onload;
	if(DomNav||Opr)Trigger.addEventListener('load',Go,false);
	else Trigger.onload=Go;
}

function RePos() {
	FrstWinWdth = ExpYes?FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
	FrstWinHght = ExpYes?FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
	ScWinWdth = ExpYes?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
	ScWinHght = ExpYes?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
	if(gsMenuHPosition == 'justify' && giHorizontal) {
		FrstCntnr.style.width = FrstWinWdth;
		ClcJus();
		var P = FrstCntnr.FrstMbr, W = Menu1[5], i;
		for(i=0;i<gaMenu.length;i++) {
			P.style.width = W;
			P = P.PrvMbr;
		}
	}
	StaticPos=-1;
	if(gsTargetLayerID) ClcTrgt();
	if(gsMenuHPosition) ClcLft();
	if(gsMenuVPosition) ClcTp();
	PosMenu(FrstCntnr, giStartTop, giStartLeft);
}

function UnLoaded() {
	if(CloseTmr) clearTimeout(CloseTmr);
	Loadd = 0;
	Creatd = 0;
	if(giHideTop) {
		var FCStyle = Nav4 ? FrstCntnr : FrstCntnr.style;
		FCStyle.visibility = M_Hide;
	}
}

function ReDoWhole() {
	if(ScWinWdth != ScLoc.innerWidth || ScWinHght != ScLoc.innerHeight || FrstWinWdth != FrstLoc.innerWidth || FrstWinHght != FrstLoc.innerHeight) Doc.location.reload();
}

function Check(WMnu,NoOf) {
	var i, array, ArrayLoc;
	ArrayLoc=parent.frames[0]?parent.frames[gsFirstLevelFrame]:self;
	for(i = 0; i < NoOf; i++) {
		array = WMnu + eval(i + 1);
		if(!ArrayLoc[array]) {
			WbMstrAlrt(0,array);
			return false;
		}
		if(i==0) {
			if(!ArrayLoc[array][4]){
				WbMstrAlrt(1,array);
				return false
			}
			if(!ArrayLoc[array][5]) {
				WbMstrAlrt(2,array); return false
			}
		}
		if(ArrayLoc[array][3]) if(!Check(array+'_',ArrayLoc[array][3])) return false
	}
	return(true);
}

function WbMstrAlrt(No,Xtra) {
	return confirm(WbMstrAlrts[No]+Xtra+'   ')
}

function Go() {
	fnCompileMenuData(0,1,"Menu","gaMenu");
	eval(gsMenuData);
	gsMenuTextPosition = gsMenuTextPosition == 1 || gsMenuTextPosition == 'center' ? 'center' : gsMenuTextPosition == 0 || gsMenuTextPosition != 'right' ? 'left' : 'right';
	if(Loadd || !PosStrt) return;
	Creatd = 0;
	Loadd = 1;
	status = '';
	if(FrstCreat) {
		if(gsFirstLevelFrame =="" || !parent.frames[gsFirstLevelFrame]) {
			gsFirstLevelFrame=gsSubLevelFrame;
			if(gsFirstLevelFrame == "" || !parent.frames[gsFirstLevelFrame]) {
				gsFirstLevelFrame = gsSubLevelFrame=gsLinkTargetFrame;
				if(gsFirstLevelFrame =="" || !parent.frames[gsFirstLevelFrame]) gsFirstLevelFrame=gsSubLevelFrame=gsLinkTargetFrame='';
			}
		}
		if(gsSubLevelFrame =="" || !parent.frames[gsSubLevelFrame]) {
			gsSubLevelFrame = gsLinkTargetFrame;
			if(gsSubLevelFrame == "" || !parent.frames[gsSubLevelFrame]) gsSubLevelFrame=gsLinkTargetFrame=gsFirstLevelFrame
		}
		if(gsLinkTargetFrame == "" || !parent.frames[gsLinkTargetFrame]) gsLinkTargetFrame=gsSubLevelFrame;
		if(giMenuTreeCheck) {
			if(!Check('Menu',gaMenu.length)) {
				status='';
				return
			}
		}
		FrstLoc = gsFirstLevelFrame != "" ? parent.frames[gsFirstLevelFrame] : window;
		ScLoc = gsSubLevelFrame != "" ? parent.frames[gsSubLevelFrame] : window;
		DcLoc = gsLinkTargetFrame != "" ? parent.frames[gsLinkTargetFrame] : window;
		if (FrstLoc == ScLoc) AcrssFrms=0;
		if (AcrssFrms) giHorizontal = giMenuFramesVertical ? 0 : 1;
		FrstWinWdth = ExpYes ? FrstLoc.document.body.clientWidth : FrstLoc.innerWidth;
		FrstWinHght = ExpYes ? FrstLoc.document.body.clientHeight : FrstLoc.innerHeight;
		ScWinWdth = ExpYes ? ScLoc.document.body.clientWidth : ScLoc.innerWidth;
		ScWinHght = ExpYes ? ScLoc.document.body.clientHeight : ScLoc.innerHeight;
		if(Nav4) {
			CntrTxt = gsMenuTextPosition != 'left' ? "<div align='"+gsMenuTextPosition+"'>" : "";
			TxtClose = "</font>" + gsMenuTextPosition != 'left' ? "</div>" : "";
		}
	}
	FirstColPos = Nav4 ? FrstLoc.document : FrstLoc.document.body;
	SecColPos = Nav4 ? ScLoc.document : ScLoc.document.body;
	DocColPos = Nav4 ? DcLoc.document : ScLoc.document.body;
	if(giTakeOverBgColor) FirstColPos.bgColor = AcrssFrms ? SecColPos.bgColor : DocColPos.bgColor;
	if(gsMenuHPosition=='justify'&&giHorizontal) ClcJus();
	if(FrstCreat) {
		FrstCntnr = CreateMenuStructure('Menu',gaMenu.length);
		FrstCreat = AcrssFrms ? 0 : 1
	}
	else {
		CreateMenuStructureAgain('Menu',gaMenu.length);
	}
	if(gsTargetLayerID) ClcTrgt();
	if(gsMenuHPosition) ClcLft();
	if(gsMenuVPosition) ClcTp();
	PosMenu(FrstCntnr,giStartTop,giStartLeft);
	IniFlg=1;
	Initiate();
	Creatd=1;
	ScLdAgainWin = ExpYes ? ScLoc.document.body : ScLoc;
	ScLdAgainWin.onunload = UnLoaded;
	Trigger.onresize = Nav4 ? ReDoWhole : RePos;
	if(gsMenuVPosition == 'static' && !AcrssFrms) setInterval('KeepPos()',250);
	status=''
}

function KeepPos() {
	var TS = ExpYes ? FrstLoc.document.body.scrollTop : FrstLoc.pageYOffset;
	if(TS != StaticPos) {
		var FCStyle = Nav4 ? FrstCntnr : FrstCntnr.style;
		FCStyle.top = FrstCntnr.OrgTop = giStartTop + TS;
		StaticPos=TS;
	}
}

function ClcJus() {
	var a = giBorderBtwnElements ? 1 : 2, b = giBorderBtwnElements ? giBorderWidth : 0;
	var Size = Math.round(((FrstWinWdth - a * giBorderWidth) / gaMenu.length) - b), i, j;
	for(i = 1;i < gaMenu.length + 1;i++){
		j = eval('Menu'+i);
		j[5] = Size;
	}
	giStartLeft=0
}

function ClcTrgt() {
	var TLoc = Nav4 ? FrstLoc.document.layers[gsTargetLayerID] : DomYes ? FrstLoc.document.getElementById(gsTargetLayerID) : FrstLoc.document.all[gsTargetLayerID];
	if(!Nav4 && gsTargetLayerID) {
		TLoc.style.width = giHorizontal ? (gaMenu.length * (giMenuWidth + 1) + 1) : giMenuWidth;
		TLoc.style.height = giHorizontal ? giMenuHeight : (gaMenu.length * (giMenuHeight + 1) + 1);
	}
	giStartTop = M_StrtTp;
	giStartLeft = M_StrtLft;
	if(DomYes) {
		while(TLoc) {
			giStartTop += TLoc.offsetTop;
			giStartLeft += TLoc.offsetLeft;
			TLoc = TLoc.offsetParent;
		}
	}
	else {
		giStartTop += Nav4 ? TLoc.pageY : TLoc.offsetTop;
		giStartLeft += Nav4 ? TLoc.pageX : TLoc.offsetLeft;
	}
}

function ClcLft() {
	if(gsMenuHPosition != 'left' && gsMenuHPosition != 'justify') {
		var Size = FrstWinWdth - (!Nav4 ? parseInt(FrstCntnr.style.width) : FrstCntnr.clip.width);
		giStartLeft = M_StrtLft;
		giStartLeft += gsMenuHPosition == 'right' ? Size : Size / 2;
	}
}

function ClcTp() {
	if(gsMenuVPosition != 'top' && gsMenuVPosition != 'static') {
		var Size = FrstWinHght - (!Nav4 ? parseInt(FrstCntnr.style.height) : FrstCntnr.clip.height);
		giStartTop = M_StrtTp;
		giStartTop += gsMenuVPosition == 'bottom' ? Size : Size / 2;
	}
}

function PosMenu(CntnrPntr,Tp,Lt) {
	var Topi, Lefti, Hori;
	var Cntnr = CntnrPntr;
	var Mmbr = Cntnr.FrstMbr;
	var CntnrStyle = !Nav4 ? Cntnr.style : Cntnr;
	var MmbrStyle = !Nav4 ? Mmbr.style : Mmbr;
	var PadL = Mmbr.value.indexOf('<') == -1 ? LftXtra : 0;
	var PadT = Mmbr.value.indexOf('<') == -1 ? TpXtra : 0;
	var MmbrWt = !Nav4 ? parseInt(MmbrStyle.width) + PadL : MmbrStyle.clip.width;
	var MmbrHt = !Nav4 ? parseInt(MmbrStyle.height) + PadT : MmbrStyle.clip.height;
	var CntnrWt = !Nav4 ? parseInt(CntnrStyle.width) : CntnrStyle.clip.width;
	var CntnrHt = !Nav4 ? parseInt(CntnrStyle.height) : CntnrStyle.clip.height;
	var SubTp, SubLt;
	RcrsLvl++;
	if (RcrsLvl == 1 && AcrssFrms) !giMenuFramesVertical ? Tp = FrstWinHght - CntnrHt + (Nav4 ? 4 : 0) : Lt = giRightToLeft ? 0 : FrstWinWdth - CntnrWt + (Nav4 ? 4 : 0);
	if (RcrsLvl == 2 && AcrssFrms) !giMenuFramesVertical ? Tp = 0 : Lt = giRightToLeft ? ScWinWdth - CntnrWt : 0;
	if (RcrsLvl == 2 && AcrssFrms) {
		Tp += giVerCorrect;
		Lt += giHorCorrect;
	}
	CntnrStyle.top = RcrsLvl == 1 ? Tp : 0;
	Cntnr.OrgTop = Tp;
	CntnrStyle.left = RcrsLvl == 1 ? Lt : 0;
	Cntnr.OrgLeft = Lt;
	if (RcrsLvl == 1 && giHorizontal) {
		Hori = 1;
		Lefti = CntnrWt - MmbrWt - 2 * giBorderWidth;
		Topi = 0;
	}
	else {
		Hori = 0;
		Lefti = 0;
		Topi = CntnrHt - MmbrHt - 2 * giBorderWidth;
	}
	while(Mmbr!=null) {
		MmbrStyle.left = Lefti + giBorderWidth;
		MmbrStyle.top = Topi + giBorderWidth;
		if(Nav4) Mmbr.CmdLyr.moveTo(Lefti + giBorderWidth, Topi + giBorderWidth);
		if(Mmbr.ChildCntnr) {
			if(giRightToLeft) ChldCntnrWdth = Nav4 ? Mmbr.ChildCntnr.clip.width : parseInt(Mmbr.ChildCntnr.style.width);
			if(Hori) {
				SubTp = Topi + MmbrHt + 2 * giBorderWidth;
				SubLt = giRightToLeft ? Lefti + MmbrWt - ChldCntnrWdth : Lefti
			}
			else {
				SubLt = giRightToLeft ? Lefti - ChldCntnrWdth + (giChildHOverlap / 100) * MmbrWt + giBorderWidth : Lefti + (1 - (giChildHOverlap / 100)) * MmbrWt + giBorderWidth;
				SubTp = RcrsLvl == 1 && AcrssFrms ? Topi : Topi + (giChildVOverlap / 100) * MmbrHt
			}
			PosMenu(Mmbr.ChildCntnr,SubTp,SubLt);
		}
		Mmbr = Mmbr.PrvMbr;
		if(Mmbr) {
			MmbrStyle = !Nav4 ? Mmbr.style : Mmbr;
			PadL = Mmbr.value.indexOf('<')==-1?LftXtra:0;
			PadT = Mmbr.value.indexOf('<')==-1?TpXtra:0;
			MmbrWt = !Nav4 ? parseInt(MmbrStyle.width) + PadL : MmbrStyle.clip.width;
			MmbrHt = !Nav4 ? parseInt(MmbrStyle.height) + PadT : MmbrStyle.clip.height;
			Hori ? Lefti -= giBorderBtwnElements ? (MmbrWt + giBorderWidth) : (MmbrWt) : Topi -= giBorderBtwnElements ? (MmbrHt + giBorderWidth) : (MmbrHt);
		}
	}
	RcrsLvl--
}

function Initiate() {
	if(IniFlg) {
		Init(FrstCntnr);
		IniFlg = 0;
		ShwFlg = 0;
	}
}

function Init(CntnrPntr) {
	var Mmbr = CntnrPntr.FrstMbr;
	var MCStyle = Nav4 ? CntnrPntr : CntnrPntr.style;
	RcrsLvl++;
	MCStyle.visibility = RcrsLvl == 1 ? M_Show : M_Hide;
	while(Mmbr != null) {
		if(Mmbr.Hilite) {
			Mmbr.Hilite=0;
			if(giKeepHilite) LowItem(Mmbr)
		}
		if(Mmbr.ChildCntnr) Init(Mmbr.ChildCntnr);
		Mmbr = Mmbr.PrvMbr
	}
	RcrsLvl--
}

function ClearAllChilds(Pntr) {
	var CPCCStyle;
	while(Pntr) {
		if(Pntr.Hilite) {
			Pntr.Hilite = 0;
			if(giKeepHilite) LowItem(Pntr);
			if(Pntr.ChildCntnr) {
				CPCCStyle = Nav4 ? Pntr.ChildCntnr : Pntr.ChildCntnr.style;
				CPCCStyle.visibility = M_Hide;
				ClearAllChilds(Pntr.ChildCntnr.FrstMbr)
			}
			break;
		}
		Pntr = Pntr.PrvMbr
	}
}

function GoTo() {
	if(this.LinkTxt) {
		status='';
		var HP = Nav4 ? this.LowLyr : this;
		LowItem(HP);
		this.LinkTxt.indexOf('javascript:') != -1 ? eval(this.LinkTxt) : DcLoc.location.href = this.LinkTxt
	}
}

function HiliteItem(P) {
	if(Nav4) {
		if(P.ro) P.document.images[P.rid].src = P.ri2;
		else {
			if(P.HiBck)P.bgColor = P.HiBck;
			if(P.value.indexOf('<img') == -1) {
				P.document.write(P.Ovalue);
				P.document.close();
			}
		}
	}
	else {
		if(P.ro) {
			var Lc=P.Level == 1 ? FrstLoc : ScLoc;
			Lc.document.images[P.rid].src = P.ri2;
		}
		else {
			if(P.HiBck) P.style.backgroundColor = P.HiBck;
			if(P.HiFntClr) P.style.color = P.HiFntClr
		}
	}
	P.Hilite = 1;
}

function LowItem(P) {
	if(P.ro) {
		if(Nav4) P.document.images[P.rid].src = P.ri1;
		else {
			var Lc = P.Level == 1 ? FrstLoc : ScLoc;
			Lc.document.images[P.rid].src = P.ri1;
		}
	}
	else {
		if(Nav4) {
			if(P.LoBck)P.bgColor = P.LoBck;
			if(P.value.indexOf('<img') == -1) {
				P.document.write(P.value);
				P.document.close();
			}
		}
		else {
			if(P.LoBck) P.style.backgroundColor = P.LoBck;
			if(P.LwFntClr) P.style.color = P.LwFntClr;
		}
	}
}

function OpenMenu() {
	if(!Loadd || !Creatd) return;
	var TpScrlld = ExpYes ? ScLoc.document.body.scrollTop : ScLoc.pageYOffset;
	var LScrlld = ExpYes ? ScLoc.document.body.scrollLeft : ScLoc.pageXOffset;
	var CCnt = Nav4 ? this.LowLyr.ChildCntnr : this.ChildCntnr;
	var ThisHt = Nav4 ? this.clip.height : parseInt(this.style.height);
	var ThisWt = Nav4 ? this.clip.width : parseInt(this.style.width);
	var ThisLft = AcrssFrms&&this.Level == 1 && !giHorizontal ? 0 : Nav4 ? this.Container.left : parseInt(this.Container.style.left);
	var ThisTp = AcrssFrms && this.Level == 1 && giHorizontal ? 0 : Nav4 ? this.Container.top : parseInt(this.Container.style.top);
	var HP = Nav4 ? this.LowLyr : this;
	CurrntOvr = this;
	IniFlg=0;
	ClearAllChilds(this.Container.FrstMbr);
	HiliteItem(HP);
	if(CCnt!=null) {
		if(!ShwFlg) ShwFlg=1;
		var CCW=Nav4 ? this.LowLyr.ChildCntnr.clip.width : parseInt(this.ChildCntnr.style.width);
		var CCH=Nav4 ? this.LowLyr.ChildCntnr.clip.height : parseInt(this.ChildCntnr.style.height);
		var ChCntTL = Nav4 ? this.LowLyr.ChildCntnr : this.ChildCntnr.style;
		var SubLt = AcrssFrms&&this.Level == 1 ? CCnt.OrgLeft + ThisLft + LScrlld : CCnt.OrgLeft + ThisLft;
		var SubTp = AcrssFrms&&this.Level == 1 ? CCnt.OrgTop + ThisTp + TpScrlld : CCnt.OrgTop + ThisTp;
		if(giMenuWrap) {
			if(giRightToLeft) {
				if(SubLt < LScrlld) SubLt = this.Level == 1 ? LScrlld : SubLt + (CCW + (1 - 2 * (giChildHOverlap / 100)) * ThisWt);
				if(SubLt + CCW > ScWinWdth + LScrlld) SubLt = ScWinWdth + LScrlld - CCW;
			}
			else {
				if(SubLt + CCW > ScWinWdth + LScrlld) SubLt = this.Level == 1 ? ScWinWdth + LScrlld - CCW : SubLt - (CCW + (1 - 2 * (giChildHOverlap / 100)) * ThisWt);
				if(SubLt < LScrlld) SubLt = LScrlld;
			}
			if(SubTp + CCH > TpScrlld + ScWinHght) SubTp = this.Level == 1 ? SubTp = TpScrlld + ScWinHght - CCH : SubTp - CCH + (1 - 2 * (giChildVOverlap / 100)) * ThisHt;
			if(SubTp < TpScrlld) SubTp = TpScrlld;
		}
		ChCntTL.top = SubTp;
		ChCntTL.left = SubLt;
		ChCntTL.visibility = M_Show;
	}
	status = this.LinkTxt;
}

function OpenMenuClick() {
	if(!Loadd || !Creatd) return;
	var HP = Nav4 ? this.LowLyr : this;
	CurrntOvr = this;
	IniFlg = 0;
	ClearAllChilds(this.Container.FrstMbr);
	HiliteItem(HP);
	status = this.LinkTxt;
}

function CloseMenu() {
	if(!Loadd || !Creatd) return;
	if(!giKeepHilite) {
		var HP = Nav4 ? this.LowLyr : this;
		LowItem(HP)
	}
	status = '';
	if(this == CurrntOvr){
		IniFlg = 1;
		if(CloseTmr) clearTimeout(CloseTmr);
		CloseTmr = setTimeout('Initiate(CurrntOvr)',giDisapearDelay);
	}
}

function CntnrSetUp(Wdth,Hght,NoOff){
	var x = RcrsLvl == 1 ? gsBorderColor : gsBorderSubColor;
	this.FrstMbr = null;
	this.OrgLeft = this.OrgTop=0;
	if(x) this.bgColor = x;
	if(Nav4){
		this.visibility = 'hide';
		this.resizeTo(Wdth,Hght)
	}
	else{
		if(x) this.style.backgroundColor = x;
		this.style.width = Wdth;
		this.style.height = Hght;
		this.style.fontFamily = gsFontFamily;
		this.style.fontWeight = giFontBold ? 'bold' : 'normal';
		this.style.fontStyle=giFontItalic ? 'italic' : 'normal';
		this.style.fontSize=giFontSize + 'pt';
		this.style.zIndex=RcrsLvl + Ztop;
	}
}

function MbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
	var Location = RcrsLvl == 1 ? FrstLoc : ScLoc;
	var MemVal = eval(WhatMenu + '[0]');
	var t,T,L,W,H,S;
	var a,b,c,d;
	this.PrvMbr = PrMmbr;
	this.Level = RcrsLvl;
	this.LinkTxt = eval(WhatMenu + '[1]');
	this.Container = MmbrCntnr;
	this.ChildCntnr = null;
	this.Hilite = 0;
	this.style.overflow = 'hidden';
	this.style.cursor = ExpYes && (this.LinkTxt ||(RcrsLvl == 1 && giUnfoldsOnClick)) ? 'hand' : 'default';
	this.ro = 0;
	if(MemVal.indexOf('rollover') != -1) {
		this.ro = 1;
		this.ri1 = MemVal.substring(MemVal.indexOf(':') + 1,MemVal.lastIndexOf(':'));
		this.ri2 = MemVal.substring(MemVal.lastIndexOf(':') + 1,MemVal.length);
		this.rid = WhatMenu+'i';
		MemVal = "<img src='" + this.ri1 + "' name='" + this.rid + "'>";
	}
	this.value = MemVal;
	if(RcrsLvl == 1) {
		a = gsOutBgColor;
		b = gsOverBgColor;
		c = gsOutFontColor;
		d = gsOverFontColor;
	}
	else{
		a = gsOutSubBgColor;
		b = gsOverSubBgColor;
		c = gsOutSubFontColor;
		d = gsOverSubFontColor;
	}
	this.LoBck = a;
	this.LwFntClr = c;
	this.HiBck = b;
	this.HiFntClr = d;
	this.style.color = this.LwFntClr;
	if(this.LoBck) this.style.backgroundColor = this.LoBck;
	this.style.textAlign = gsMenuTextPosition;
	if(eval(WhatMenu + '[2]')) this.style.backgroundImage = "url(\'" + eval(WhatMenu + '[2]') + "\')";
	if(MemVal.indexOf('<') == -1) {
		this.style.width = Wdth-LftXtra;
		this.style.height = Hght-TpXtra;
		this.style.paddingLeft = giLeftPaddng;
		this.style.paddingTop = giTopPaddng;
	}
	else{
		this.style.width = Wdth;
		this.style.height = Hght;
	}
	if(MemVal.indexOf('<') == -1 && DomYes) {
		t = Location.document.createTextNode(MemVal);
		this.appendChild(t);
	}
	else this.innerHTML = MemVal;
	if(eval(WhatMenu+'[3]') && giShowArrow) {
		a = RcrsLvl == 1 && giHorizontal ? 3 : giRightToLeft ? 6 : 0;
		S = gaArrows[a];
		W = gaArrows[a + 1];
		H = gaArrows[a + 2];
		T = RcrsLvl == 1 && giHorizontal ? Hght - H - 2 : (Hght - H) / 2;
		L = giRightToLeft ? 2 : Wdth - W - 2;
		if(DomYes) {
			t = Location.document.createElement('img');
			this.appendChild(t);
			t.style.position = 'absolute';
			t.src = S;
			t.style.width = W;
			t.style.height = H;
			t.style.top = T;
			t.style.left = L;
		}
		else{
			MemVal += "<div style='position:absolute; top:" + T + "; left:" + L + "; width:" + W + "; height:" + H + ";visibility:inherit'><img src='" + S + "'></div>";
			this.innerHTML=MemVal;
		}
	}
	if(ExpYes) {
		this.onmouseover = RcrsLvl == 1 && giUnfoldsOnClick ? OpenMenuClick : OpenMenu;
		this.onmouseout = CloseMenu;
		this.onclick = RcrsLvl == 1 && giUnfoldsOnClick && eval(WhatMenu + '[3]') ? OpenMenu : GoTo;
	}
	else {
		RcrsLvl == 1 && giUnfoldsOnClick ? this.addEventListener('mouseover',OpenMenuClick,false) : this.addEventListener('mouseover',OpenMenu,false);
		this.addEventListener('mouseout',CloseMenu,false);
		RcrsLvl == 1 && giUnfoldsOnClick&&eval(WhatMenu+'[3]') ? this.addEventListener('click',OpenMenu,false) : this.addEventListener('click',GoTo,false);
	}
}

function NavMbrSetUp(MmbrCntnr,PrMmbr,WhatMenu,Wdth,Hght){
	var a, b, c, d;
	if(RcrsLvl == 1) {
		a = gsOutBgColor;
		b = gsOverBgColor;
		c = gsOutFontColor;
		d = gsOverFontColor}
	else {
		a = gsOutSubBgColor;
		b = gsOverSubBgColor;
		c = gsOutSubFontColor;
		d = gsOverSubFontColor	}
	this.value = eval(WhatMenu + '[0]');
	this.ro = 0;
	if(this.value.indexOf('rollover') != -1) {
		this.ro = 1;
		this.ri1 = this.value.substring(this.value.indexOf(':') + 1, this.value.lastIndexOf(':'));
		this.ri2 = this.value.substring(this.value.lastIndexOf(':') + 1, this.value.length);
		this.rid = WhatMenu + 'i';
		this.value = "<img src='" + this.ri1 + "' name='" + this.rid+"'>";
	}
	if(giLeftPaddng&&this.value.indexOf('<') == -1 && gsMenuTextPosition == 'left') this.value='&nbsp\;' + this.value;
	if(giFontBold) this.value = this.value.bold();
	if(giFontItalic) this.value = this.value.italics();
	this.Ovalue = this.value;
	this.value = this.value.fontcolor(c);
	this.Ovalue = this.Ovalue.fontcolor(d);
	this.value = CntrTxt + "<font face='" + gsFontFamily + "' point-size='" + giFontSize + "'>" + this.value + TxtClose;
	this.Ovalue=CntrTxt + "<font face='" + gsFontFamily + "' point-size='" + giFontSize + "'>" + this.Ovalue + TxtClose;
	this.LoBck = a;
	this.HiBck = b;
	this.ChildCntnr = null;
	this.PrvMbr = PrMmbr;
	this.Hilite = 0;
	this.visibility = 'inherit';
	if(this.LoBck)this.bgColor = this.LoBck;
	this.resizeTo(Wdth,Hght);
	if(!AcrssFrms&&eval(WhatMenu+'[2]')) this.background.src = eval(WhatMenu+'[2]');
	this.document.write(this.value);
	this.document.close();
	this.CmdLyr = new Layer(Wdth,MmbrCntnr);
	this.CmdLyr.Level = RcrsLvl;
	this.CmdLyr.LinkTxt = eval(WhatMenu+'[1]');
	this.CmdLyr.visibility = 'inherit';
	this.CmdLyr.onmouseover = RcrsLvl == 1 && giUnfoldsOnClick ? OpenMenuClick : OpenMenu;
	this.CmdLyr.onmouseout = CloseMenu;
	this.CmdLyr.captureEvents(Event.MOUSEUP);
	this.CmdLyr.onmouseup = RcrsLvl == 1 && giUnfoldsOnClick && eval(WhatMenu + '[3]') ? OpenMenu : GoTo;
	this.CmdLyr.LowLyr = this;
	this.CmdLyr.resizeTo(Wdth, Hght);
	this.CmdLyr.Container = MmbrCntnr;
	if(eval(WhatMenu + '[3]') && giShowArrow) {
		a = RcrsLvl == 1 && giHorizontal ? 3 : giRightToLeft ? 6 : 0;
		this.CmdLyr.ImgLyr = new Layer(gaArrows[a + 1], this.CmdLyr);
		this.CmdLyr.ImgLyr.visibility = 'inherit';
		this.CmdLyr.ImgLyr.top=RcrsLvl == 1 && giHorizontal ? Hght - gaArrows[a + 2] - 2 : (Hght - gaArrows[a + 2]) / 2;
		this.CmdLyr.ImgLyr.left= giRightToLeft ? 2 : Wdth - gaArrows[a + 1] - 2;
		this.CmdLyr.ImgLyr.width = gaArrows[a + 1];
		this.CmdLyr.ImgLyr.height = gaArrows[a + 2];
		ImgStr = "<img src='" + gaArrows[a] + "' width='" + gaArrows[a + 1] + "' height='" + gaArrows[a + 2] + "'>";
		this.CmdLyr.ImgLyr.document.write(ImgStr);
		this.CmdLyr.ImgLyr.document.close();
	}
}

function CreateMenuStructure(MName,NumberOf){
	RcrsLvl++;
	var i, NoOffSubs, Mbr, Wdth=0, Hght=0;
	var PrvMmbr = null;
	var WMnu = MName + '1';
	var MenuWidth = eval(WMnu + '[5]');
	var MenuHeight = eval(WMnu + '[4]');
	var Location = RcrsLvl == 1 ? FrstLoc : ScLoc;
	if (RcrsLvl == 1 && giHorizontal) {
		for(i = 1; i < NumberOf + 1; i++) {
			WMnu = MName + eval(i);
			Wdth = eval(WMnu + '[5]') ? Wdth + eval(WMnu + '[5]') : Wdth + MenuWidth;
		}
		Wdth = giBorderBtwnElements ? Wdth + (NumberOf + 1) * giBorderWidth : Wdth + 2 * giBorderWidth;
		Hght = MenuHeight + 2 * giBorderWidth;
	}
	else {
		for(i = 1; i < NumberOf + 1; i++) {
			WMnu = MName + eval(i);
			Hght = eval(WMnu + '[4]') ? Hght + eval(WMnu + '[4]') : Hght + MenuHeight;
		}
		Hght = giBorderBtwnElements ? Hght + (NumberOf + 1) * giBorderWidth : Hght + 2 * giBorderWidth;
		Wdth = MenuWidth + 2 * giBorderWidth;
	}
	if(DomYes) {
		var MmbrCntnr = Location.document.createElement("div");
		MmbrCntnr.style.position = 'absolute';
		MmbrCntnr.style.visibility = 'hidden';
		Location.document.body.appendChild(MmbrCntnr);
	}
	else{
		if(Nav4) var MmbrCntnr = new Layer(Wdth,Location);
		else {
			WMnu += 'c';
			Location.document.body.insertAdjacentHTML("AfterBegin", "<div id='" + WMnu + "' style='visibility:hidden; position:absolute;'><\/div>");
			var MmbrCntnr = Location.document.all[WMnu];
		}
	}
	MmbrCntnr.SetUp = CntnrSetUp;
	MmbrCntnr.SetUp(Wdth, Hght, NumberOf);
	if(Exp4) {
		MmbrCntnr.InnerString = '';
		for(i = 1; i < NumberOf + 1; i++) {
			WMnu = MName + eval(i);
			MmbrCntnr.InnerString += "<div id='" + WMnu + "' style='position:absolute;'><\/div>";
		}
		MmbrCntnr.innerHTML = MmbrCntnr.InnerString;
	}
	for(i = 1; i < NumberOf + 1; i++) {
		WMnu = MName + eval(i);
		NoOffSubs = eval(WMnu + '[3]');
		Wdth = RcrsLvl == 1 && giHorizontal ? eval(WMnu + '[5]') ? eval(WMnu + '[5]') : MenuWidth : MenuWidth;
		Hght = RcrsLvl == 1 && giHorizontal ? MenuHeight : eval(WMnu + '[4]') ? eval(WMnu + '[4]') : MenuHeight;
		if(DomYes) {
			Mbr = Location.document.createElement("div");
			Mbr.style.position = 'absolute';
			Mbr.style.visibility = 'inherit';
			MmbrCntnr.appendChild(Mbr);
		}
		else Mbr = Nav4 ? new Layer(Wdth,MmbrCntnr) : Location.document.all[WMnu];
		Mbr.SetUp = Nav4 ? NavMbrSetUp : MbrSetUp;
		Mbr.SetUp(MmbrCntnr, PrvMmbr, WMnu, Wdth, Hght);
		if(NoOffSubs) Mbr.ChildCntnr = CreateMenuStructure(WMnu + '_',NoOffSubs);
		PrvMmbr = Mbr;
	}
	MmbrCntnr.FrstMbr = Mbr;
	RcrsLvl--;
	return(MmbrCntnr);
}

function CreateMenuStructureAgain(MName, NumberOf){
	var i, WMnu, NoOffSubs, PrvMmbr, Mbr=FrstCntnr.FrstMbr;
	RcrsLvl++;
	for(i = NumberOf; i > 0; i--) {
		WMnu = MName + eval(i);
		NoOffSubs = eval(WMnu + '[3]');
		PrvMmbr = Mbr;
		if(NoOffSubs) Mbr.ChildCntnr = CreateMenuStructure(WMnu + '_',NoOffSubs);
		Mbr = Mbr.PrvMbr;
	}
	RcrsLvl--;
}