// Base on HV Menus *(c) Ger Versluis 2000 version 8.21 27 July 2002. You may use this script on non commercial sites. 
// For info on original, write to menus@burmees.nl*

// Modified and stripped to suite site needs. Must load with 'snif.js' or there will be problems

var AppVer=navigator.appVersion.toLowerCase();

var MacCom=(AppVer.indexOf("mac")!= -1)?1:0;
var Fltr=(AppVer.indexOf("msie 6")!= -1||AppVer.indexOf("msie 7")!= -1)?1:0;


	var DomYes=document.getElementById?1:0;
	var DomNav=is_gecko||is_nav6up?1:0;
 	var DomExp=DomYes&&is_ie?1:0;

	var MacExp4=(is_mac&&is_ie4)?1:0;
	var MacExp5=(is_mac&&is_ie5)?1:0;
	var Mac4=(is_mac&&(is_nav4||is_ie4))?1:0;
	var PosStrt=(is_nav||is_ie)&&!is_opera?1:0;

var RmbrNow=null;
var FLoc,ScLoc,DcLoc,SWinW,SWinH,FWinW,FWinH,SLdAgnWin,FColW,SColW,DColW;
var RLvl=0,FrstCreat=1,Ldd=0,Crtd=0,IniFlg,AcrssFrms=1;
var FrstCntnr=null,CurOvr=null,CloseTmr=null;
var CntrTxt,TxtClose,ImgStr;
var ShwFlg=0,M_StrtTp=StartTop,M_StrtLft=StartLeft,StaticPos=0,FStr="";
var LftXtra=DomNav?LeftPaddng:0;
var TpXtra=DomNav?TopPaddng:0;
var M_Hide=is_nav4?"hide":"hidden";
var M_Show=is_nav4?"show":"visible";
var Par=MenuUsesFrames?parent:window;
var Doc=Par.document,Bod=Doc.body,Trigger=is_nav?Par:Bod;
var Ztop=100,InitLdd=0,P_X=DomYes?"px":"";

	if(MacExp4||MacExp5)LdTmr=setInterval("ChckInitLd()",100);	//Mac Patch
	else{	if(Trigger.onload)Dummy=Trigger.onload;
		if(DomNav&&!is_opera)Trigger.addEventListener("load",Go,false);
		else Trigger.onload=Go}

function ChckInitLd(){
	InitLdd=(MenuUsesFrames)?(Par.document.readyState=="complete"&&Par.frames[FirstLineFrame].document.readyState=="complete"&&Par.frames[SecLineFrame].document.readyState=="complete")?1:0:(Par.document.readyState=="complete")?1:0;
	if(InitLdd){clearInterval(LdTmr);Go()}}

function Dummy(){return}

function CnclSlct(){return false}

function RePos(){
	FWinW=is_ie?FLoc.document.body.clientWidth:FLoc.innerWidth;
	FWinH=is_ie?FLoc.document.body.clientHeight:FLoc.innerHeight;
	SWinW=is_ie?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
	SWinH=is_ie?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
	if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal){
		ClcJus();
		var P=FrstCntnr.FrstMbr,W=Menu1[5],a=BorderBtwnElmnts?NoOffFirstLineMenus+1:2,i;
		FrstCntnr.style.width=NoOffFirstLineMenus*W+a*BorderWidth+P_X;
		for(i=0;i<NoOffFirstLineMenus;i++){
			P.style.width=W-LftXtra+P_X;
			if(P.ai&&!RightToLeft)P.ai.style.left=BottomUp?W-Arrws[10]-2+P_X:W-Arrws[4]-2+P_X;
			P=P.PrvMbr}}
	StaticPos=-1;
	if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
	PosMenu(FrstCntnr,StartTop,StartLeft);
	if(RememberStatus)StMnu()}

function UnLdd(){
	if(CloseTmr)clearTimeout(CloseTmr);
	Ldd=0;Crtd=0;SetMenu="0";
	if(is_ie){var M=FrstCntnr?FrstCntnr.FrstMbr:null;
		while(M!=null){if(M.CCn){MakeNull(M.CCn);M.CCn=null}
			M=M.PrvMbr}}
	if(!is_nav4){LdTmr=setInterval("ChckLdd()",100)}}

function UnLddTotal(){MakeNull(FrstCntnr);FrstCntnr=RmbrNow=FLoc=ScLoc=DcLoc=SLdAgnWin=CurOvr=CloseTmr=Doc=Bod=Trigger=null}

function MakeNull(P){
	var M=P.FrstMbr,Mi;
	while(M!=null){Mi=M;
		if(M.CCn){MakeNull(M.CCn);M.CCn=null}
		M.Cntnr=null;M=M.PrvMbr;Mi.PrvMbr=null;Mi=null}
	P.FrstMbr=null}

function ChckLdd(){
	if(!is_ie){if(ScLoc.document.body){clearInterval(LdTmr);Go()}}
	else if(ScLoc.document.readyState=="complete"){if(LdTmr)clearInterval(LdTmr);Go()}}

function NavLdd(e){if(e.target!=self)routeEvent(e);if(e.target==ScLoc)Go()}

function ReDoWhole(){if(SWinW!=ScLoc.innerWidth||SWinH!=ScLoc.innerHeight||FWinW!=FLoc.innerWidth||FWinH!=FLoc.innerHeight)Doc.location.reload()}

function Go(){
	if(!Ldd&&PosStrt){
		BeforeStart();
		Crtd=0;Ldd=1;status="Building menu";
		FLoc=MenuUsesFrames?parent.frames[FirstLineFrame]:window;
		ScLoc=MenuUsesFrames?parent.frames[SecLineFrame]:window;
		DcLoc=MenuUsesFrames?parent.frames[DocTargetFrame]:window;
		if(MenuUsesFrames){
			if(!FLoc){FLoc=ScLoc;if(!FLoc){FLoc=ScLoc=DcLoc;if(!FLoc)FLoc=ScLoc=DcLoc=window}}
			if(!ScLoc){ScLoc=DcLoc;if(!ScLoc)ScLoc=DcLoc=FLoc}
			if(!DcLoc)DcLoc=ScLoc}
		if(FLoc==ScLoc)AcrssFrms=0;
		if(AcrssFrms)FirstLineHorizontal=MenuFramesVertical?0:1;
		FWinW=is_ie?FLoc.document.body.clientWidth:FLoc.innerWidth;
		FWinH=is_ie?FLoc.document.body.clientHeight:FLoc.innerHeight;
		SWinW=is_ie?ScLoc.document.body.clientWidth:ScLoc.innerWidth;
		SWinH=is_ie?ScLoc.document.body.clientHeight:ScLoc.innerHeight;
		FColW=is_nav4?FLoc.document:FLoc.document.body;
		SColW=is_nav4?ScLoc.document:ScLoc.document.body;
		DColW=is_nav4?DcLoc.document:ScLoc.document.body;
		if(TakeOverBgColor){
			if(is_ie&&MacCom)FColW.style.backgroundColor=AcrssFrms?SColW.bgColor:DColW.bgColor;
			else FColW.bgColor=AcrssFrms?SColW.bgColor:DColW.bgColor}
		if(MenuCentered.indexOf("justify")!=-1&&FirstLineHorizontal)ClcJus();
		if(FrstCreat||FLoc==ScLoc)FrstCntnr=CreateMenuStructure("Menu",NoOffFirstLineMenus,null);
		else CreateMenuStructureAgain("Menu",NoOffFirstLineMenus);
		if(TargetLoc)ClcTrgt();ClcLft();ClcTp();
		PosMenu(FrstCntnr,StartTop,StartLeft);
		IniFlg=1;Initiate();Crtd=1;
		SLdAgnWin=is_ie?ScLoc.document.body:ScLoc;SLdAgnWin.onunload=UnLdd;
		if(is_ie)Trigger.onunload=UnLddTotal;
		Trigger.onresize=is_nav4?ReDoWhole:RePos;
		AfterBuild();
		if(RememberStatus)StMnu();
		if(is_nav4&&FrstCreat){Trigger.captureEvents(Event.LOAD);Trigger.onload=NavLdd}
		if(FrstCreat)Dummy();FrstCreat=0;
		if(MenuVerticalCentered=="static"&&!AcrssFrms)setInterval("KeepPos()",250);
		status="Menu ready for use"}}

function KeepPos(){
	var TS=is_ie?FLoc.document.body.scrollTop:FLoc.pageYOffset;
	if(TS!=StaticPos){var FCSt=is_nav4?FrstCntnr:FrstCntnr.style;
		FrstCntnr.OrgTop=StartTop+TS;FCSt.top=FrstCntnr.OrgTop+P_X;StaticPos=TS}}

function ClcJus(){
	var a=BorderBtwnElmnts?NoOffFirstLineMenus+1:2,i,j;
	var Sz=Math.round((PartOfWindow*FWinW-a*BorderWidth)/NoOffFirstLineMenus);
	for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval("Menu"+i);j[5]=Sz}
	StartLeft=0}

function ClcTrgt(){
	var TLoc=is_nav4?FLoc.document.layers[TargetLoc]:DomYes?FLoc.document.getElementById(TargetLoc):FLoc.document.all[TargetLoc];
	StartTop=M_StrtTp;StartLeft=M_StrtLft;
	if(DomYes){while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
	else{StartTop+=is_nav4?TLoc.pageY:TLoc.offsetTop;StartLeft+=is_nav4?TLoc.pageX:TLoc.offsetLeft}}

function ClcLft(){
	if(MenuCentered.indexOf("left")==-1){
		var Sz=FWinW-(!is_nav4?parseInt(FrstCntnr.style.width):FrstCntnr.clip.width);
		StartLeft=M_StrtLft;StartLeft+=MenuCentered.indexOf("right")!=-1?Sz:Sz/2}}

function ClcTp(){
	if(MenuVerticalCentered!="top"&&MenuVerticalCentered!="static"){
		var Sz=FWinH-(!is_nav4?parseInt(FrstCntnr.style.height):FrstCntnr.clip.height);
		StartTop=M_StrtTp;StartTop+=MenuVerticalCentered=="bottom"?Sz:Sz/2}}

function PosMenu(Ct,Tp,Lt){
	var Mb=Ct.FrstMbr;
	var Ti,Li,Hi,CCw,CCh,STp,SLt;
	var CStl=!is_nav4?Ct.style:Ct;
	var MStl=!is_nav4?Mb.style:Mb;
	var PadL=LftXtra;
	var PadT=TpXtra;
	var MWt=!is_nav4?parseInt(MStl.width)+PadL:MStl.clip.width;
	var MHt=!is_nav4?parseInt(MStl.height)+PadT:MStl.clip.height;
	var CWt=!is_nav4?parseInt(CStl.width):CStl.clip.width;
	var CHt=!is_nav4?parseInt(CStl.height):CStl.clip.height;
	RLvl++;
	if(RLvl==1&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?0:FWinH-CHt+(is_nav4?MacCom?-2:4:0):Lt=RightToLeft?0:FWinW-CWt+(is_nav4?MacCom?-2:4:0);
	if(RLvl==2&&AcrssFrms)!MenuFramesVertical?Tp=BottomUp?SWinH-CHt+(is_nav4?MacCom?-2:4:0):0:Lt=RightToLeft?SWinW-CWt:0;
	if(RLvl==2&&AcrssFrms){Tp+=VerCorrect;Lt+=HorCorrect}
	CStl.top=RLvl==1?Tp+P_X:0;Ct.OrgTop=Tp;
	CStl.left=RLvl==1?Lt+P_X:0;Ct.OrgLeft=Lt;
	if(RLvl==1&&FirstLineHorizontal){Hi=1;Li=CWt-MWt-2*BorderWidth;Ti=0}
	else{Hi=Li=0;Ti=CHt-MHt-2*BorderWidth-2*Separator}
	while(Mb!=null){
		MStl.left=Li+BorderWidth+P_X;
		MStl.top=Ti+BorderWidth+Separator+P_X;
		if(is_nav4)Mb.CLyr.moveTo(Li+BorderWidth,Ti+BorderWidth+Separator);
		if(Mb.CCn){if(RightToLeft)CCw=is_nav4?Mb.CCn.clip.width:parseInt(Mb.CCn.style.width);
			if(BottomUp)CCh=is_nav4?Mb.CCn.clip.height:parseInt(Mb.CCn.style.height);
			if(Hi){STp=BottomUp?Ti-CCh:Ti+MHt+2*BorderWidth;SLt=RightToLeft?Li+MWt-CCw:Li}
			else{SLt=RightToLeft?Li-CCw+ChildOverlap*MWt+BorderWidth:Li+(1-ChildOverlap)*MWt+BorderWidth;
				STp=RLvl==1&&AcrssFrms?BottomUp?Ti-CCh+MHt:Ti:BottomUp?Ti-CCh+(1-ChildVerticalOverlap)*MHt+2*BorderWidth:Ti+ChildVerticalOverlap*MHt}
			PosMenu(Mb.CCn,STp,SLt)}
		Mb=Mb.PrvMbr;
		if(Mb){	MStl=!is_nav4?Mb.style:Mb;
			PadL=LftXtra;
			PadT=TpXtra;
			MWt=!is_nav4?parseInt(MStl.width)+PadL:MStl.clip.width;
			MHt=!is_nav4?parseInt(MStl.height)+PadT:MStl.clip.height;
			Hi?Li-=BorderBtwnElmnts?(MWt+BorderWidth):(MWt):Ti-=BorderBtwnElmnts?(MHt+BorderWidth+Separator):(MHt+Separator)}}
	RLvl--}

function StMnu(){
	if(!Crtd)return;
	var i,Pntr=FrstCntnr,Str=ScLoc.SetMenu?ScLoc.SetMenu:"0";
	while(Str.indexOf("_")!=-1&&RememberStatus==1){
		i=Pntr.NrItms-parseInt(Str.substring(0,Str.indexOf("_")));
		Str=Str.slice(Str.indexOf("_")+1);
		Pntr=Pntr.FrstMbr;
		for(i;i;i--)Pntr=Pntr.PrvMbr;
		if(is_nav4)Pntr.CLyr.OM();
		else Pntr.OM();
		Pntr=Pntr.CCn}
	i=Pntr.NrItms-parseInt(Str);
	Pntr=Pntr.FrstMbr;
	for(i;i;i--)Pntr=Pntr.PrvMbr;
	if(RmbrNow!=null){SetItem(RmbrNow,0);RmbrNow.Clckd=0}
	if(Pntr!=null){SetItem(Pntr,1);Pntr.Clckd=1;
	if(RememberStatus==1){if(is_nav4)Pntr.CLyr.OM();else Pntr.OM()}}
	RmbrNow=Pntr;
	ClrAllChlds(FrstCntnr.FrstMbr);
	Rmbr(FrstCntnr)}

function Initiate(){
	if(IniFlg){
		Init(FrstCntnr);
		IniFlg=0;
		if(RememberStatus)Rmbr(FrstCntnr);
		if(ShwFlg)AfterCloseAll();
		ShwFlg=0
	}
}

function Rmbr(CntPtr){
	var Mbr=CntPtr.FrstMbr,St;
	while(Mbr!=null){
		if(Mbr.DoRmbr){
			HiliteItem(Mbr);
			if(Mbr.CCn&&RememberStatus==1){St=is_nav4?Mbr.CCn:Mbr.CCn.style;St.visibility=M_Show;Rmbr(Mbr.CCn)}
			break}
		else Mbr=Mbr.PrvMbr
	}
}

function Init(CPt){
	var Mb=CPt.FrstMbr,MCSt=is_nav4?CPt:CPt.style;
	RLvl++;
	MCSt.visibility=RLvl==1?M_Show:M_Hide;
	CPt.Shw=RLvl==1?1:0;
	while(Mb!=null){
		if(Mb.Hilite)LowItem(Mb);
		if(Mb.CCn)Init(Mb.CCn);
		Mb=Mb.PrvMbr
	}
	RLvl--
}

function ClrAllChlds(Pt){
	var PSt,Pc;
	while(Pt){
		if(Pt.Hilite){
			Pc=is_nav4?Pt.CLyr:Pt;
			if(Pc!=CurOvr){LowItem(Pt)}
			if(Pt.CCn){
				PSt=is_nav4?Pt.CCn:Pt.CCn.style;
				if(Pc!=CurOvr){
					PSt.visibility=M_Hide;
					Pt.CCn.Shw=0
				}
				ClrAllChlds(Pt.CCn.FrstMbr)
			}
		break}
		Pt=Pt.PrvMbr
	}
}

function SetItem(Pntr,x){
	while(Pntr!=null){
		Pntr.DoRmbr=x;
		Pntr=is_nav4?Pntr.CLyr.Ctnr.Cllr:Pntr.Ctnr.Cllr
	}
}

function GoTo(){
	var HP=is_nav4?this.LLyr:this;
	if(HP.Arr[1]){
		status="";
		LowItem(HP);
		IniFlg=1;
		Initiate();
		HP.Arr[1].indexOf("javascript:")!=-1?eval(HP.Arr[1]):DcLoc.location.href=HP.Arr[1]
	}
}

function HiliteItem(P){
	if(is_nav4){
		if(P.Arr[7]&&!P.Arr[2])P.bgColor=P.Arr[7];
		if(P.value.indexOf("<img")==-1){
			P.document.write(P.Ovalue);
			P.document.close()
			}
	}
	else{
		if(P.Arr[7]&&!P.Arr[2])P.style.backgroundColor=P.Arr[7];
		if(P.Arr[9])P.style.color=P.Arr[9]
	}
	P.Hilite=1
}

function LowItem(P){
	P.Hilite=0;
	if(is_nav4){
		if(P.Arr[6]&&!P.Arr[2])P.bgColor=P.Arr[6];
		if(P.value.indexOf("<img")==-1){
			P.document.write(P.value);
			P.document.close()
		}
	}
	else{
		if(P.Arr[6]&&!P.Arr[2])P.style.backgroundColor=P.Arr[6];
		if(P.Arr[8])P.style.color=P.Arr[8]
	}
}

var OpnTmr=null;

function OpenMenu(){
	if(!Ldd||!Crtd)return;
	if(OpnTmr)clearTimeout(OpnTmr);
	var CCnt=is_nav4?this.LLyr.CCn:this.CCn,HP=is_nav4?this.LLyr:this;
	CurOvr=this;IniFlg=0;ClrAllChlds(this.Ctnr.FrstMbr);
	if(!HP.Hilite)HiliteItem(HP);
// This is were the unfold delay is used.
	if(CCnt!=null&&!CCnt.Shw)RememberStatus?Unfld():OpnTmr=setTimeout("Unfld()",UnfoldDelay);
	status=HP.Arr[16]
}

function Unfld(){
	var P=CurOvr;
	var TS=is_ie?ScLoc.document.body.scrollTop:ScLoc.pageYOffset,LS=is_ie?ScLoc.document.body.scrollLeft:ScLoc.pageXOffset,CCnt=is_nav4?P.LLyr.CCn:P.CCn,THt=is_nav4?P.clip.height:parseInt(P.style.height),TWt=is_nav4?P.clip.width:parseInt(P.style.width),TLt=AcrssFrms&&P.Lvl==1&&!FirstLineHorizontal?0:is_nav4?P.Ctnr.left:parseInt(P.Ctnr.style.left),TTp=AcrssFrms&&P.Lvl==1&&FirstLineHorizontal?0:is_nav4?P.Ctnr.top:parseInt(P.Ctnr.style.top);
	var CCW=is_nav4?P.LLyr.CCn.clip.width:parseInt(P.CCn.style.width),CCH=is_nav4?P.LLyr.CCn.clip.height:parseInt(P.CCn.style.height),CCSt=is_nav4?P.LLyr.CCn:P.CCn.style,SLt=AcrssFrms&&P.Lvl==1?CCnt.OrgLeft+TLt+LS:CCnt.OrgLeft+TLt,STp=AcrssFrms&&P.Lvl==1?CCnt.OrgTop+TTp+TS:CCnt.OrgTop+TTp;
	if(!ShwFlg){ShwFlg=1;BeforeFirstOpen()}
	if(MenuWrap){
		if(RightToLeft){
			if(SLt<LS)SLt=P.Lvl==1?LS:SLt+(CCW+(1-2*ChildOverlap)*TWt);
			if(SLt+CCW>SWinW+LS)SLt=SWinW+LS-CCW
		}
		else{
			if(SLt+CCW>SWinW+LS)SLt=P.Lvl==1?SWinW+LS-CCW:SLt-(CCW+(1-2*ChildOverlap)*TWt);
			if(SLt<LS)SLt=LS
		}
		if(BottomUp){
			if(STp<TS)STp=P.Lvl==1?TS:STp+(CCH-(1-2*ChildVerticalOverlap)*THt);
			if(STp+CCH>SWinH+TS)STp=SWinH+TS-CCH+(is_nav4?4:0)
		}
		else{
			if(STp+CCH>TS+SWinH)STp=P.Lvl==1?STp=TS+SWinH-CCH:STp-CCH+(1-2*ChildVerticalOverlap)*THt;
			if(STp<TS)STp=TS
		}
	}
	CCSt.top=STp+P_X;CCSt.left=SLt+P_X;
// another silly IE5 thing
	if(Fltr&&MenuSlide){
		P.CCn.filters[0].Apply();
		P.CCn.filters[0].play()
	}
//
	CCSt.visibility=M_Show
}

function OpenMenuClick(){
	if(!Ldd||!Crtd)return;
	var HP=is_nav4?this.LLyr:this;
	CurOvr=this;
	IniFlg=0;
	ClrAllChlds(this.Ctnr.FrstMbr);
	HiliteItem(HP);
	status=HP.Arr[16]
}

function CloseMenu(){
	if(!Ldd||!Crtd)return;
	status="";
	if(this==CurOvr){
		if(OpnTmr)clearTimeout(OpnTmr);
		if(CloseTmr)clearTimeout(CloseTmr);
		IniFlg=1;
		CloseTmr=setTimeout("Initiate(CurOvr)",DissapearDelay)
	}
}

function CntnrSetUp(W,H,NoOff,WMu,Mc){
	var x=RLvl==1?BorderColor:BorderSubColor;
	this.FrstMbr=null;
	this.NrItms=NoOff;
	this.Cllr=Mc;
	this.Shw=0;
	this.OrgLeft=this.OrgTop=0;
	if(is_nav4){
//  Patch to handle is_nav4's poor handling of 'tranparent ' colour value
		if(x =='transparent') x ='';
		if(x)this.bgColor=x;
		this.visibility="hide";
		this.resizeTo(W,H)
	}
	else{
		if(x)this.style.backgroundColor=x;
		this.style.width=W+P_X;
		this.style.height=H+P_X;
		if(!DomYes)this.style.zIndex=RLvl+Ztop;
// fancy IE5 stuff, delete?
		if(Fltr){
			FStr="";
			if(MenuSlide&&RLvl!=1)FStr=MenuSlide;
			if(MenuShadow)FStr+=MenuShadow;
			if(MenuOpacity)FStr+=MenuOpacity;
			if(FStr!="")this.style.filter=FStr
		}
//
	}
}

function MbrSetUp(MbC,PrMmbr,WMu,Wd,Ht){
	var Lctn=RLvl==1?FLoc:ScLoc;
	var Tfld=this.Arr[0],t,T,L,W,H,S,ar;
	this.status = '..... Building menu - ' + WMu
	this.PrvMbr=PrMmbr;
	this.Lvl=RLvl;
	this.Ctnr=MbC;
	this.CCn=null;
	this.ai=null;
	this.Hilite=0;
	this.DoRmbr=0;
	this.Clckd=0;
	this.OM=OpenMenu;
//	this.style.overflow="hidden";
	this.style.cursor=(this.Arr[1]||(RLvl==1&&UnfoldsOnClick))?is_ie?"hand":"pointer":"default";this.ro=0;
	this.value=Tfld;
	this.style.color=this.Arr[8];
	this.style.fontFamily=this.Arr[11];
	this.style.fontSize=!Mac4?this.Arr[12]+"pt":Math.round(4*this.Arr[12]/3)+"pt";
	this.style.fontWeight=this.Arr[13]?"bold":"normal";
	this.style.fontStyle=this.Arr[14]?"italic":"normal";
	if(this.Arr[6])this.style.backgroundColor=this.Arr[6];
	this.style.textAlign=this.Arr[15];
	if(this.Arr[2])this.style.backgroundImage="url(\""+this.Arr[2]+"\")";
	this.style.width=Wd-LftXtra+P_X;
	this.style.height=Ht-TpXtra+P_X;

// Set padding dependant on Text alignment
	if(this.Arr[15] == 'left')this.style.paddingLeft=LeftPaddng+P_X;
	if(this.Arr[15] == 'right')this.style.paddingRight=LeftPaddng+P_X;
	this.style.paddingTop=TopPaddng+P_X

	if(DomYes){
		t=Lctn.document.createTextNode(Tfld);
		this.appendChild(t)
	}
	else this.innerHTML=Tfld;

	if(this.Arr[3]){ar=RLvl==1&&FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
		if(Arrws[ar]!=""){
			if(RLvl!=1 || ShowFirstArrws){
			S=Arrws[ar];
			W=Arrws[ar+1];
			H=Arrws[ar+2];
			T=RLvl==1&&FirstLineHorizontal?BottomUp?2:Ht-H-2:(Ht-H)-Separator-2;
			L=RightToLeft?2:Wd-W-2;
			if(DomYes){
				t=Lctn.document.createElement("img");
				this.appendChild(t);
				t.style.position="absolute";
				t.src=S;
				t.style.width=W+P_X;
				t.style.height=H+P_X;
				t.style.top=T+P_X;
				t.style.left=L+P_X;
				t.style.overflow="visible"}
			else{
				Tfld+="<div id=\""+WMu+"_im\" style=\"position:absolute; top:"+T+"; left:"+L+"; width:"+W+"; height:"+H+";visibility:inherit\"><img src=\""+S+"\"></div>";
				this.innerHTML=Tfld;
				t=Lctn.document.all[WMu+"_im"]
			}
			this.ai=t
			}
		}
	}
	if(is_ie){this.onselectstart=CnclSlct;this.onmouseover=RLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
		this.onmouseout=CloseMenu;this.onclick=RLvl==1&&UnfoldsOnClick&&this.Arr[3]?OpenMenu:GoTo}
	else{RLvl==1&&UnfoldsOnClick?this.addEventListener("mouseover",OpenMenuClick,false):this.addEventListener("mouseover",OpenMenu,false);
		this.addEventListener("mouseout",CloseMenu,false);
		RLvl==1&&UnfoldsOnClick&&this.Arr[3]?this.addEventListener("click",OpenMenu,false):this.addEventListener("click",GoTo,false)}}

function NavMbrSetUp(MbC,PrMmbr,WMu,Wd,Ht){
	var a;
	status = '..... Building menu - ' + WMu

// fix for is_nav4 background colour bug which does not handle the 'transparent' value well

	if (this.Arr[6]=='transparent') this.Arr[6]='';
	if (this.Arr[7]=='transparent') this.Arr[7]='';

	this.value=this.Arr[0];

	CntrTxt=this.Arr[15]!="left"?"<div align=\""+this.Arr[15]+"\">":"";
	TxtClose="</font>"+this.Arr[15]!="left"?"</div>":"";

	if(LeftPaddng&&this.value.indexOf('<')==-1&&this.Arr[15]=='left')this.value='&nbsp\;&nbsp\;'+this.value;
	if(LeftPaddng&&this.value.indexOf('<')==-1&&this.Arr[15]=='right')this.value=this.value+'&nbsp\;&nbsp\;';

	if(this.Arr[13])this.value=this.value.bold();
	if(this.Arr[14])this.value=this.value.italics();
	this.Ovalue=this.value;
	this.value=this.value.fontcolor(this.Arr[8]);
	this.Ovalue=this.Ovalue.fontcolor(this.Arr[9]);

	this.value=CntrTxt+"<font face=\""+this.Arr[11]+"\" point-size=\""+(!Mac4?this.Arr[12]:Math.round(4*this.Arr[12]/3))+"\">"+this.value+TxtClose;
	this.Ovalue=CntrTxt+"<font face=\""+this.Arr[11]+"\" point-size=\""+(!Mac4?this.Arr[12]:Math.round(4*this.Arr[12]/3))+"\">"+this.Ovalue+TxtClose;

	this.CCn=null;
	this.PrvMbr=PrMmbr;
	this.Hilite=0;
	this.DoRmbr=0;
	this.Clckd=0;
	this.visibility="inherit";
	if(this.Arr[6])this.bgColor=this.Arr[6];
	this.resizeTo(Wd,Ht);
	if(!AcrssFrms&&this.Arr[2])this.background.src=this.Arr[2];
	this.document.write(this.value);
	this.document.close();
	this.CLyr=new Layer(Wd,MbC);
	this.CLyr.Lvl=RLvl;this.CLyr.visibility="inherit";
	this.CLyr.onmouseover=RLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;this.CLyr.onmouseout=CloseMenu;
	this.CLyr.captureEvents(Event.MOUSEUP);
	this.CLyr.onmouseup=RLvl==1&&UnfoldsOnClick&&this.Arr[3]?OpenMenu:GoTo;
	this.CLyr.OM=OpenMenu;
	this.CLyr.LLyr=this;
	this.CLyr.resizeTo(Wd,Ht);
	this.CLyr.Ctnr=MbC;
	if(this.Arr[3]){
		a=RLvl==1&&FirstLineHorizontal?BottomUp?9:3:RightToLeft?6:0;
		if(Arrws[a]!=""){
			if(RLvl!=1 || ShowFirstArrws){
			this.CLyr.ILyr=new Layer(Arrws[a+1],this.CLyr);
			this.CLyr.ILyr.visibility="inherit";
			this.CLyr.ILyr.top=RLvl==1&&FirstLineHorizontal?BottomUp?2:Ht-Arrws[a+2]-2:(Ht-Arrws[a+2]-Separator-1);
			this.CLyr.ILyr.left=RightToLeft?2:Wd-Arrws[a+1]-2;
			this.CLyr.ILyr.width=Arrws[a+1];
			this.CLyr.ILyr.height=Arrws[a+2];
			ImgStr="<img src=\""+Arrws[a]+"\" width=\""+Arrws[a+1]+"\" height=\""+Arrws[a+2]+"\">";
			this.CLyr.ILyr.document.write(ImgStr);
			this.CLyr.ILyr.document.close()
			}
		}
	}
}

function CreateMenuStructure(MNm,No,Mcllr){
	RLvl++;
	var i,NOs,Mbr,W=0,H=0,PMb=null,WMnu=MNm+"1",MWd=eval(WMnu+"[5]"),MHt=eval(WMnu+"[4]"),Lctn=RLvl==1?FLoc:ScLoc;
	if(RLvl==1&&FirstLineHorizontal){
		for(i=1;i<No+1;i++){
			WMnu=MNm+eval(i);
			W=eval(WMnu+"[5]")?W+eval(WMnu+"[5]"):W+MWd}
		W=BorderBtwnElmnts?W+(No+1)*BorderWidth:W+2*BorderWidth;
		H=MHt+2*BorderWidth+Separator}
	else{
		for(i=1;i<No+1;i++){
			WMnu=MNm+eval(i);
			H=eval(WMnu+"[4]")?H+eval(WMnu+"[4]")+Separator:H+MHt+Separator}
		H=BorderBtwnElmnts?H+(No+1)*BorderWidth:H+2*BorderWidth;
		W=MWd+2*BorderWidth
		}
	if(DomYes){
		var MbC=Lctn.document.createElement("div");
		MbC.style.position="absolute";
		MbC.style.visibility="hidden";
		Lctn.document.body.appendChild(MbC)
	}
	else{
		if(is_nav4)var MbC=new Layer(W,Lctn);
		else{WMnu+="c";
			Lctn.document.body.insertAdjacentHTML("AfterBegin","<div id=\""+WMnu+"\" style=\"visibility:hidden; position:absolute;\"><\/div>");
			var MbC=Lctn.document.all[WMnu]
		}
	}
	MbC.SetUp=CntnrSetUp;MbC.SetUp(W,H,No,MNm+"1",Mcllr);
	if(is_ie4){
		MbC.InnerString="";
		for(i=1;i<No+1;i++){
			WMnu=MNm+eval(i);
			MbC.InnerString+="<div id=\""+WMnu+"\" style=\"position:absolute;\"><\/div>"
		}
		MbC.innerHTML=MbC.InnerString
	}
	for(i=1;i<No+1;i++){
		WMnu=MNm+eval(i);
		NOs=eval(WMnu+"[3]");
		W=RLvl==1&&FirstLineHorizontal?eval(WMnu+"[5]")?eval(WMnu+"[5]"):MWd:MWd;
		H=RLvl==1&&FirstLineHorizontal?MHt:eval(WMnu+"[4]")?eval(WMnu+"[4]"):MHt;
		if(DomYes){
			Mbr=Lctn.document.createElement("div");
			Mbr.style.position="absolute";
			Mbr.style.visibility="inherit";
			MbC.appendChild(Mbr)
		}
		else Mbr=is_nav4?new Layer(W,MbC):Lctn.document.all[WMnu];
		Mbr.Arr=eval(WMnu);
// all those extra parameters I wont use; how to delete?
		if(RLvl==1){
			Mbr.Arr[6]=LowBgColor;
			Mbr.Arr[7]=HighBgColor;
			Mbr.Arr[8]=FontLowColor;
			Mbr.Arr[9]=FontHighColor;
			Mbr.Arr[15]=MainMenuText}
		else{	Mbr.Arr[6]=LowSubBgColor;
			Mbr.Arr[7]=HighSubBgColor;
			Mbr.Arr[8]=FontSubLowColor;
			Mbr.Arr[9]=FontSubHighColor;
			Mbr.Arr[15]=MenuTextCentered	
		}
		Mbr.Arr[11]=FontFamily;
		Mbr.Arr[12]=FontSize;
		Mbr.Arr[13]=FontBold;
		Mbr.Arr[14]=FontItalic;
		Mbr.Arr[16]=Mbr.Arr[1];
//
		Mbr.SetUp=is_nav4?NavMbrSetUp:MbrSetUp;
		Mbr.SetUp(MbC,PMb,WMnu,W,H);
		if(NOs)Mbr.CCn=CreateMenuStructure(WMnu+"_",NOs,Mbr);
		PMb=Mbr
	}
	MbC.FrstMbr=Mbr;
	RLvl--;
	return(MbC)
}

function CreateMenuStructureAgain(MNm,No){
	var i,WMnu,NOs,PMb,Mbr=FrstCntnr.FrstMbr;RLvl++;
	for(i=No;i>0;i--){
		WMnu=MNm+eval(i);
		NOs=eval(WMnu+"[3]");
		PMb=Mbr;
		if(NOs)Mbr.CCn=CreateMenuStructure(WMnu+"_",NOs,Mbr);
		Mbr=Mbr.PrvMbr
	}
	RLvl--
}