	var AgntUsr=navigator.userAgent.toLowerCase();
	var AppVer=navigator.appVersion.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 Opr6orless=window.opera && navigator.userAgent.search(/opera.[1-6]/i)!=-1 //DynamicDrive.com added code
	if(Opr){NavYes=1;ExpYes=0;}
	var DomNav=DomYes&&NavYes?1:0;
 	var DomExp=DomYes&&ExpYes?1:0;
	var Exp4=ExpYes&&!DomYes&&document.all?1:0;
	var Exp6Plus=(AppVer.indexOf("msie 6")!= -1||AppVer.indexOf("msie 7")!= -1)?1:0
	var PosStrt=(NavYes||ExpYes||Opr)&&!Opr6orless?1:0;
	var P_X=DomYes?"px":"",FHtml=null,ScHtml=null,FCmplnt=0,SCmplnt=0;
	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 FrstContainer=null,CurrntOvr=null,CloseTmr=null;
	var CntrTxt,TxtClose,ImgStr;
	var Ztop=100;
	var ShwFlg=0;
	var M_StrtTp=StartTop,M_StrtLft=StartLeft;
	var StaticPos=0;
	var Par=parent.frames[0]&&FirstLineFrame!=SecLineFrame?parent:window;
	var Trigger=NavYes&&!Opr?Par:Par.document.body;

	MenuTextCentered=MenuTextCentered==1||MenuTextCentered=='center'?'center':MenuTextCentered==0||MenuTextCentered!='right'?'left':'right';

	WbMstrAlrts=["Item not defined: ","Item needs height: ","Item needs width: "];

	if(Trigger.onload)Dummy=Trigger.onload;
	Trigger.onload=Go;

function Dummy(){return}

function CnclSlct(){return false}

function RePos(){
	FrstWinWdth=ExpYes?FCmplnt?FHtml.clientWidth:FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
	FrstWinHght=ExpYes?FCmplnt?FHtml.clientHeight:FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
	ScWinWdth=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
	ScWinHght=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;
	if(MenuCentered=='justify'&&FirstLineHorizontal){
		FrstContainer.style.width=FrstWinWdth+P_X;
		var LftXtra=(DomNav&&!Opr)||FCmplnt?LeftPaddng:0;
		ClcJus();
		var P=FrstContainer.FrstMbr,W=Menu1[5],i;
		for(i=0;i<NoOffFirstLineMenus;i++){P.style.width=W+P_X;P=P.PrvMbr}}
	StaticPos=-1;
	if(TargetLoc)ClcTrgt();
	if(MenuCentered)ClcLft();
	if(MenuVerticalCentered)ClcTp();
	PosMenu(FrstContainer,StartTop,StartLeft)}

// recursively checks if menu is fully defined
function Check(WMnu,NoOf){
	var i,array,ArrayLoc;
	ArrayLoc=parent.frames[0]?parent.frames[FirstLineFrame]:self; // checks for frames
	for(i=0;i<NoOf;i++){
		array=WMnu+eval(i+1);
		if(!ArrayLoc[array]){ // if array not defined
			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]) // recursively checks submenus
			if(!Check(array+'_',ArrayLoc[array][3])) 
				return false}
	return true}

function WbMstrAlrt(No,Xtra){
	return confirm(WbMstrAlrts[No]+Xtra+'   ')}

function Go(){
	Dummy();
	if(Loadd||!PosStrt)return;
	BeforeStart();
	Creatd=0; Loadd=1;
	status='Building menu';
	if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
		FirstLineFrame=SecLineFrame;
		if(FirstLineFrame =="" || !parent.frames[FirstLineFrame]){
			FirstLineFrame=SecLineFrame=DocTargetFrame;
			if(FirstLineFrame =="" || !parent.frames[FirstLineFrame])
				FirstLineFrame=SecLineFrame=DocTargetFrame=''}}
	if(SecLineFrame =="" || !parent.frames[SecLineFrame]){
		SecLineFrame=DocTargetFrame;
		if(SecLineFrame =="" || !parent.frames[SecLineFrame])
			SecLineFrame=DocTargetFrame=FirstLineFrame}
	if(DocTargetFrame =="" || !parent.frames[DocTargetFrame])
		DocTargetFrame=SecLineFrame;
	if(WebMasterCheck){	
		if(!Check('Menu',NoOffFirstLineMenus)){
			status='build aborted';
			return}}
	FrstLoc=FirstLineFrame!=""?parent.frames[FirstLineFrame]:window;
	ScLoc=SecLineFrame!=""?parent.frames[SecLineFrame]:window;
	DcLoc=DocTargetFrame!=""?parent.frames[DocTargetFrame]:window;
	if (FrstLoc==ScLoc) AcrssFrms=0;
	if (AcrssFrms)
		FirstLineHorizontal=MenuFramesVertical?0:1;
	if(Exp6Plus||Opr){
		FHtml=FrstLoc.document.getElementsByTagName("HTML")[0];
		ScHtml=ScLoc.document.getElementsByTagName("HTML")[0];
		FCmplnt=FrstLoc.document.compatMode.indexOf("CSS")==-1?0:1;
		SCmplnt=ScLoc.document.compatMode.indexOf("CSS")==-1?0:1}
	FrstWinWdth=ExpYes?FCmplnt?FHtml.clientWidth:FrstLoc.document.body.clientWidth:FrstLoc.innerWidth;
	FrstWinHght=ExpYes?FCmplnt?FHtml.clientHeight:FrstLoc.document.body.clientHeight:FrstLoc.innerHeight;
	ScWinWdth=ExpYes?SCmplnt?ScHtml.clientWidth:ScLoc.document.body.clientWidth:ScLoc.innerWidth;
	ScWinHght=ExpYes?SCmplnt?ScHtml.clientHeight:ScLoc.document.body.clientHeight:ScLoc.innerHeight;	
	FirstColPos=FrstLoc.document.body;
	SecColPos=ScLoc.document.body;
	DocColPos=ScLoc.document.body;
	if (TakeOverBgColor)
		FirstColPos.bgColor=AcrssFrms?SecColPos.bgColor:DocColPos.bgColor;
	if(MenuCentered=='justify'&&FirstLineHorizontal)
		ClcJus();
	if(FrstCreat){
		FrstContainer=CreateMenuStructure('Menu',NoOffFirstLineMenus);
		FrstCreat=AcrssFrms?0:1}
	else CreateMenuStructureAgain('Menu',NoOffFirstLineMenus);
	if(TargetLoc)ClcTrgt();
	if(MenuCentered)ClcLft();
	if(MenuVerticalCentered)ClcTp();
	PosMenu(FrstContainer,StartTop,StartLeft);
	IniFlg=1;
	Initiate();
	Creatd=1;
	if (AcrssFrms){
		ScLdAgainWin=ExpYes?ScLoc.document.body:ScLoc;
		ScLdAgainWin.onunload=false;
		if(CloseTmr)clearTimeout(CloseTmr);
		Loadd=0; Creatd=0;
		if(HideTop){
			var FCStyle=FrstContainer.style;
			FCStyle.visibility='hidden'}}		
	Trigger.onresize=RePos;
	AfterBuild();
	if(MenuVerticalCentered=='static'&&!AcrssFrms)setInterval('KeepPos()',250);
	status='Welcome to BSS Grad 2010'}

function KeepPos(){
	var TS=ExpYes?SCmplnt?ScHtml.scrollTop:FrstLoc.document.body.scrollTop:FrstLoc.pageYOffset;
	if(TS!=StaticPos){
		var FCStyle=FrstContainer.style;
		FrstContainer.OrgTop=StartTop+TS;StaticPos=TS;
		FCStyle.top=FrstContainer.OrgTop+P_X}}

function ClcJus(){
	var a=BorderBtwnElmnts?1:2,b=BorderBtwnElmnts?BorderWidth:0;
	var Size=Math.round(((FrstWinWdth-a*BorderWidth)/NoOffFirstLineMenus)-b),i,j;
	for(i=1;i<NoOffFirstLineMenus+1;i++){j=eval('Menu'+i);j[5]=Size}
	StartLeft=0}

function ClcTrgt(){
	var TLoc=DomYes?FrstLoc.document.getElementById(TargetLoc):FrstLoc.document.all[TargetLoc];
	StartTop=M_StrtTp;
	StartLeft=M_StrtLft;
	if(DomYes){
		while(TLoc){StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft;TLoc=TLoc.offsetParent}}
	else{	StartTop+=TLoc.offsetTop;StartLeft+=TLoc.offsetLeft}}

function ClcLft(){
	if(MenuCentered!='left'&&MenuCentered!='justify'){
		var Size=FrstWinWdth-(parseInt(FrstContainer.style.width));
		StartLeft=M_StrtLft;
		StartLeft+=MenuCentered=='right'?Size:Size/2}}

function ClcTp(){
	if(MenuVerticalCentered!='top'&&MenuVerticalCentered!='static'){
		var Size=FrstWinHght-(parseInt(FrstContainer.style.height));
		StartTop=M_StrtTp;
		StartTop+=MenuVerticalCentered=='bottom'?Size:Size/2}}

function PosMenu(ContainerPntr,Tp,Lt){
	RcrsLvl++;
	var Cmplnt=RcrsLvl==1?FCmplnt:SCmplnt;
	var LftXtra=(DomNav&&!Opr)||Cmplnt?LeftPaddng:0;
	var TpXtra=(DomNav&&!Opr)||Cmplnt?TopPaddng:0;
	var Topi,Lefti,Hori;
	var Container=ContainerPntr;
	var Mmbr=Container.FrstMbr;
	var ContainerStyle=Container.style;
	var MmbrStyle=Mmbr.style;
	var PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
	var PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
	var MmbrWt=parseInt(MmbrStyle.width)+PadL;
	var MmbrHt=parseInt(MmbrStyle.height)+PadT;
	var ContainerWt=parseInt(ContainerStyle.width);
	var ContainerHt=parseInt(ContainerStyle.height);
	var SubTp,SubLt;
	if (RcrsLvl==1 && AcrssFrms)!MenuFramesVertical?Tp=FrstWinHght-ContainerHt+(0):Lt=RightToLeft?0:FrstWinWdth-ContainerWt+(0);
	if (RcrsLvl==2 && AcrssFrms)!MenuFramesVertical?Tp=0:Lt=RightToLeft?ScWinWdth-ContainerWt:0;
	if (RcrsLvl==2 && AcrssFrms){Tp+=VerCorrect;Lt+=HorCorrect}
	ContainerStyle.top=RcrsLvl==1?Tp+P_X:0;
	Container.OrgTop=Tp;
	ContainerStyle.left=RcrsLvl==1?Lt+P_X:0;
	Container.OrgLeft=Lt;
	if (RcrsLvl==1 && FirstLineHorizontal){
		Hori=1;Lefti=ContainerWt-MmbrWt-2*BorderWidth;Topi=0}
	else{	Hori=Lefti=0;Topi=ContainerHt-MmbrHt-2*BorderWidth}
	while(Mmbr!=null){
		MmbrStyle.left=Lefti+BorderWidth+P_X;
		MmbrStyle.top=Topi+BorderWidth+P_X;
		if(Mmbr.ChildContainer){
			if(RightToLeft)ChldContainerWdth=parseInt(Mmbr.ChildContainer.style.width);
			if(Hori){	SubTp=Topi+MmbrHt+2*BorderWidth;
				SubLt=RightToLeft?Lefti+MmbrWt-ChldContainerWdth:Lefti}
			else{	SubLt=RightToLeft?Lefti-ChldContainerWdth+ChildOverlap*MmbrWt+BorderWidth:Lefti+(1-ChildOverlap)*MmbrWt+BorderWidth;
				SubTp=RcrsLvl==1&&AcrssFrms?Topi:Topi+ChildVerticalOverlap*MmbrHt}
			PosMenu(Mmbr.ChildContainer,SubTp,SubLt)}
		Mmbr=Mmbr.PrvMbr;
		if(Mmbr){	MmbrStyle=Mmbr.style;
			PadL=Mmbr.value.indexOf('<')==-1?LftXtra:0;
			PadT=Mmbr.value.indexOf('<')==-1?TpXtra:0;
			MmbrWt=parseInt(MmbrStyle.width)+PadL;
			MmbrHt=parseInt(MmbrStyle.height)+PadT;
			Hori?Lefti-=BorderBtwnElmnts?(MmbrWt+BorderWidth):(MmbrWt):Topi-=BorderBtwnElmnts?(MmbrHt+BorderWidth):(MmbrHt)}}
	RcrsLvl--}

function Initiate(){
	if(IniFlg){	Init(FrstContainer);IniFlg=0;
		if(ShwFlg)AfterCloseAll();ShwFlg=0}}

function Init(ContainerPntr){
	var Mmbr=ContainerPntr.FrstMbr;
	var MCStyle=ContainerPntr.style;
	RcrsLvl++;
	MCStyle.visibility=RcrsLvl==1?'visible':'hidden';
	while(Mmbr!=null){
		if(Mmbr.Hilite){Mmbr.Hilite=0;if(KeepHilite)LowItem(Mmbr)}
		if(Mmbr.ChildContainer) Init(Mmbr.ChildContainer);
		Mmbr=Mmbr.PrvMbr}
	RcrsLvl--}

function ClearAllChilds(Pntr){
	while (Pntr){
		if(Pntr.Hilite){
			Pntr.Hilite=0;
			if(KeepHilite)LowItem(Pntr); // test to see if need to keep it hilited, if so, then reset it using LowItem
			if(Pntr.ChildContainer){
				Pntr.ChildContainer.style.visibility='hidden';
				ClearAllChilds(Pntr.ChildContainer.FrstMbr)}
			break}
		Pntr=Pntr.PrvMbr}}

function GoTo(){
	if(this.LinkTxt){
		status='';
		LowItem(this);
		this.LinkTxt.indexOf('javascript:')!=-1?eval(this.LinkTxt):DcLoc.location.href=this.LinkTxt}}

function HiliteItem(P){
	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){
		var Lc=P.Level==1?FrstLoc:ScLoc;
		Lc.document.images[P.rid].src=P.ri1}
	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?SCmplnt?ScHtml.scrollTop:ScLoc.document.body.scrollTop:ScLoc.pageYOffset;
	var LScrlld=ExpYes?SCmplnt?ScHtml.scrollLeft:ScLoc.document.body.scrollLeft:ScLoc.pageXOffset;
	var CCnt=this.ChildContainer;
	var ThisHt=parseInt(this.style.height);
	var ThisWt=parseInt(this.style.width);
	var ThisLft=AcrssFrms&&this.Level==1&&!FirstLineHorizontal?0:parseInt(this.Container.style.left);
	var ThisTp=AcrssFrms&&this.Level==1&&FirstLineHorizontal?0:parseInt(this.Container.style.top);
	CurrntOvr=this;
	IniFlg=0;
	ClearAllChilds(this.Container.FrstMbr); //recursive function to hide all sub menu items
	HiliteItem(this);
	if(CCnt!=null){
		if(!ShwFlg){ShwFlg=1;	BeforeFirstOpen()}
		var CCW=parseInt(this.ChildContainer.style.width);
		var CCH=parseInt(this.ChildContainer.style.height);
		var ChCntTL=this.ChildContainer.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(MenuWrap){
			if(RightToLeft){
				if(SubLt<LScrlld)SubLt=this.Level==1?LScrlld:SubLt+(CCW+(1-2*ChildOverlap)*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*ChildOverlap)*ThisWt);
				if(SubLt<LScrlld)SubLt=LScrlld}
			if(SubTp+CCH>TpScrlld+ScWinHght)SubTp=this.Level==1?SubTp=TpScrlld+ScWinHght-CCH:SubTp-CCH+(1-2*ChildVerticalOverlap)*ThisHt;
			if(SubTp<TpScrlld)SubTp=TpScrlld}
		ChCntTL.top=SubTp+P_X;ChCntTL.left=SubLt+P_X;ChCntTL.visibility='visible'}
	status=this.LinkTxt}

function OpenMenuClick(){
	if(!Loadd||!Creatd) return;
	CurrntOvr=this;
	IniFlg=0;
	ClearAllChilds(this.Container.FrstMbr); //recursive function to hide all sb menu items
	HiliteItem(this);
	status=this.LinkTxt}

function CloseMenu(){
	if(!Loadd||!Creatd) return;
	if(!KeepHilite)
		LowItem(this);
	status='';
	if(this==CurrntOvr){
		IniFlg=1;
		if(CloseTmr)clearTimeout(CloseTmr);
		CloseTmr=setTimeout('Initiate(CurrntOvr)',DissapearDelay)}}

function ContainerSetUp(Wdth,Hght,NoOff){
	var x=RcrsLvl==1?BorderColor:BorderSubColor; // sets the color 
	this.FrstMbr=null;
	this.OrgLeft=this.OrgTop=0;
	if(x)this.bgColor=x;
	if(x) this.style.backgroundColor=x;
	this.style.width=Wdth+P_X;
	this.style.height=Hght+P_X;
	this.style.fontFamily=FontFamily;
	this.style.fontWeight=FontBold?'bold':'normal';
	this.style.fontStyle=FontItalic?'italic':'normal';
	this.style.fontSize=FontSize+'pt';
	this.style.zIndex=RcrsLvl+Ztop}

function MbrSetUp(MmbrContainer,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;
	var Cmplnt=RcrsLvl==1?FCmplnt:SCmplnt;
	var LftXtra=(DomNav&&!Opr)||Cmplnt?LeftPaddng:0;
	var TpXtra=(DomNav&&!Opr)||Cmplnt?TopPaddng:0;
	this.PrvMbr=PrMmbr;
	this.Level=RcrsLvl;
	this.LinkTxt=eval(WhatMenu+'[1]');
	this.Container=MmbrContainer;
	this.ChildContainer=null;
	this.Hilite=0;
	this.style.overflow='hidden';
	this.style.cursor=ExpYes&&(this.LinkTxt||(RcrsLvl==1&&UnfoldsOnClick))?'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+"\" width=\""+Wdth+"\" height=\""+Hght+"\">"}
	this.value=MemVal;
	if(RcrsLvl==1){
		a=LowBgColor;
		b=HighBgColor;
		c=FontLowColor;
		d=FontHighColor}
	else{	a=LowSubBgColor;
		b=HighSubBgColor;
		c=FontSubLowColor;
		d=FontSubHighColor}
	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=MenuTextCentered;
	if(eval(WhatMenu+'[2]'))this.style.backgroundImage="url(\'"+eval(WhatMenu+'[2]')+"\')";
	if(MemVal.indexOf('<')==-1){
		this.style.width=Wdth-LftXtra+P_X;
		this.style.height=Hght-TpXtra+P_X;
		this.style.paddingLeft=LeftPaddng+P_X;
		this.style.paddingTop=TopPaddng+P_X}
	else{	this.style.width=Wdth+P_X;
		this.style.height=Hght+P_X}
	if(MemVal.indexOf('<')==-1&&DomYes){
		t=Location.document.createTextNode(MemVal);
		this.appendChild(t)}
	else this.innerHTML=MemVal;
	if(eval(WhatMenu+'[3]')&&ShowArrow){
		a=RcrsLvl==1&&FirstLineHorizontal?3:RightToLeft?6:0;
		S=Arrws[a];
		W=Arrws[a+1];
		H=Arrws[a+2];
		T=RcrsLvl==1&&FirstLineHorizontal?Hght-H-2:(Hght-H)/2;
		L=RightToLeft?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+P_X;
			t.style.height=H+P_X;
			t.style.top=T+P_X;
			t.style.left=L+P_X}
		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.onselectstart=CnclSlct;
		this.onmouseover=RcrsLvl==1&&UnfoldsOnClick?OpenMenuClick:OpenMenu;
		this.onmouseout=CloseMenu;
		this.onclick=RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?OpenMenu:GoTo	}
	else{
	RcrsLvl==1&&UnfoldsOnClick?this.addEventListener('mouseover',OpenMenuClick,false):this.addEventListener('mouseover',OpenMenu,false);
		this.addEventListener('mouseout',CloseMenu,false);
		RcrsLvl==1&&UnfoldsOnClick&&eval(WhatMenu+'[3]')?this.addEventListener('click',OpenMenu,false):this.addEventListener('click',GoTo,false)}}

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;
	// set the width and height of the rest of the menu items based on the first one
	if (RcrsLvl==1&&FirstLineHorizontal){
		// for the first level only and only if 
		for(i=1;i<NumberOf+1;i++){
			//horizontal swap height and width calculation
			WMnu=MName+eval(i);
			Wdth=eval(WMnu+'[5]')?Wdth+eval(WMnu+'[5]'):Wdth+MenuWidth}
		Wdth=BorderBtwnElmnts?Wdth+(NumberOf+1)*BorderWidth:Wdth+2*BorderWidth;
		Hght=MenuHeight+2*BorderWidth}
	else{	
		for(i=1;i<NumberOf+1;i++){
			WMnu=MName+eval(i);
			Hght=eval(WMnu+'[4]')?Hght+eval(WMnu+'[4]'):Hght+MenuHeight}
		Hght=BorderBtwnElmnts?Hght+(NumberOf+1)*BorderWidth:Hght+2*BorderWidth;
		Wdth=MenuWidth+2*BorderWidth}
	// create the container (div or layer) based on browser	
	if(DomYes){
		var MmbrContainer=Location.document.createElement("div");
		MmbrContainer.style.position='absolute';
		MmbrContainer.style.visibility='hidden';
		Location.document.body.appendChild(MmbrContainer)}
	else{	
		WMnu+='c';
		Location.document.body.insertAdjacentHTML("AfterBegin","<div id='"+WMnu+"' style='visibility:hidden; position:absolute;'><\/div>");
		var MmbrContainer=Location.document.all[WMnu]}
	MmbrContainer.SetUp=ContainerSetUp; //assignes the function to the container so that the function can refer to the container using 'this'
	MmbrContainer.SetUp(Wdth,Hght,NumberOf); //calls ContainerSetup
	if(Exp4){	
		MmbrContainer.InnerString='';
		for(i=1;i<NumberOf+1;i++){
			WMnu=MName+eval(i);
			MmbrContainer.InnerString+="<div id='"+WMnu+"' style='position:absolute;'><\/div>"}
		MmbrContainer.innerHTML=MmbrContainer.InnerString}
	for(i=1;i<NumberOf+1;i++){
		WMnu=MName+eval(i);
		NoOffSubs=eval(WMnu+'[3]');
		Wdth=RcrsLvl==1&&FirstLineHorizontal?eval(WMnu+'[5]')?eval(WMnu+'[5]'):MenuWidth:MenuWidth;
		Hght=RcrsLvl==1&&FirstLineHorizontal?MenuHeight:eval(WMnu+'[4]')?eval(WMnu+'[4]'):MenuHeight;
		if(DomYes){
			Mbr=Location.document.createElement("div");
			Mbr.style.position='absolute';
			Mbr.style.visibility='inherit';
			MmbrContainer.appendChild(Mbr)}
		else 
			Mbr=Location.document.all[WMnu];
		Mbr.SetUp=MbrSetUp; // assign proc to item
		Mbr.SetUp(MmbrContainer,PrvMmbr,WMnu,Wdth,Hght); // call the proc using 'This' to refer to the element
		if(NoOffSubs) Mbr.ChildContainer=CreateMenuStructure(WMnu+'_',NoOffSubs);
		PrvMmbr=Mbr}
	MmbrContainer.FrstMbr=Mbr;
	RcrsLvl--;
	return(MmbrContainer)}

function CreateMenuStructureAgain(MName,NumberOf){
	var i,WMnu,NoOffSubs,PrvMmbr,Mbr=FrstContainer.FrstMbr;
	RcrsLvl++;
	for(i=NumberOf;i>0;i--){
		WMnu=MName+eval(i);
		NoOffSubs=eval(WMnu+'[3]');
		PrvMmbr=Mbr;
		if(NoOffSubs)Mbr.ChildContainer=CreateMenuStructure(WMnu+'_',NoOffSubs);
		Mbr=Mbr.PrvMbr}
	RcrsLvl--;
	response.write(Mbr)}