if(mnOn){
	flGl=[
	"name","fWidth","bkgC","flow","fvisC","fpad",
	"brdW","brdC","brdL","brdD","brdS",
	"leftC","leftO","leftL","leftSize", "leftH", "leftV",
	"rightC","rightO","rightL","rightSize", "rightH", "rightV",
	"tab","pad",
	"fFntC","fFntB","fFntI","fFntU","fOFntC","fOFntB","fOFntI","fOFntU","fOBkg",
	"lFntC","lFntB","lFntI","lFntU","lOFntC","lOFntB","lOFntI","lOFntU","lOBkg"
	];

	flBr=["fFntF","fFntS","lFntF","lFntS"];

	origWidth=loader.innerWidth; origHeight=loader.innerHeight; loader.onresize=reDo;
	isLoaded = NSresized = false;
	isWin = (navigator.appVersion.indexOf("Win") != -1)
	if(!isWin && !isMac) NSfontOver = showVisited = false;

	fl_open_node = null;
	}

function fStart(){
	if(!mnOn) return;
	menuLoc = window;
	flCount = 0;
	while(eval("window.flAr" + flCount)){
		lv=0;
		fl=eval("fl"+br+flCount);
		gl=eval("flGlob"+flCount);
		for(i=0;i<gl.length;i++) eval(flGl[i] + "=" + gl[i]);
		for(i=0;i<flBr.length;i++) eval(flBr[i] + "=" + fl[i]);
		leftPtrStr = leftC!="" ? "<td width=" + (leftSize + 2*leftH) + "><img src=" + leftC + " border=0 hspace=" + leftH + " vspace=" + leftV + "></td>" : "";
		rightPtrStr = rightC!="" ? "<td width=" + (rightSize + 2*rightH) + "><img src=" + rightC + " border=0 hspace=" + rightH + " vspace=" + rightV + "></td>" : "";
		leftLeefStr = leftL!="" ? "<td width=" + (leftSize + 2*leftH) + "><img src=" + leftL + " border=0 hspace=" + leftH + " vspace=" + leftV + "></td>" : "";
		rightLeefStr = rightL!="" ? "<td width=" + (rightSize + 2*rightH) + "><img src=" + rightL + " border=0 hspace=" + rightH + " vspace=" + rightV + "></td>" : "";
		folder=new Layer(fWidth, menuLoc);
		folder.fheight=fpad*2;
		folder.brdW=brdW;
		folder.ncolor=bkgC;
		folder.left = placeIt(name)[0];
		folder.top = placeIt(name)[1];
		with(folder){
			visibility="show";
			bgColor=brdC;
			clip.bottom=fheight;
			}
		classIEf="font-family:" + fFntF + ";font-size:" + fFntS + "px;color:" + fFntC;
		if(fFntB)classIEf+=";font-weight:bold";
		if(fFntI)classIEf+=";font-style:italic";
		if(fFntU)classIEf+=";text-decoration:underline";
		classIEl="font-family:" + lFntF + ";font-size:" + lFntS + "px;color:" + lFntC;
		if(lFntB)classIEl+=";font-weight:bold";
		if(lFntI)classIEl+=";font-style:italic";
		if(lFntU)classIEl+=";text-decoration:underline";
		classIE=[classIEl, classIEf];
		folder.ovBkg=[lOBkg,fOBkg];
		flMake(false,flCount);
		fvis=null;
		if(eval("window.fvisited")){
			for(i=0;i<folder.layers.length;i++)	if(folder.layers[i].idf==fvisited){fvis=folder.layers[i]; break;}
			if(fvis){
				fvis.onmouseover=fvis.onmouseout=fvis.onclick=fvis.onmouseup=null;
				if(fvis.parent){
					openvis=true;
					str=fvisited.substr(0,fvisited.indexOf("_",fvisited.indexOf("_")+1))
					for(i=0;i<folder.layers.length;i++){if(folder.layers[i].idf==str){folder.layers[i].expand(); break;}}
					}
				else{
					openvis=false;
					if(fvis.isSub) fvis.expand();
					}
				if(fvis.isSub)fvis.onmouseup=fExpand; fvis.bgColor=fvisC;
				}				
			}
		flCount++;
		}
	}

function flMake(prNd,ndCount){
	var i, array = eval("flAr" + ndCount);
	var lg=array.length/4;
	for(i=0; i<lg; i++){
		pNd = i>0 ? nd : null;
		nd = NS ? makeNd("nd" + ndCount + "_" + i, fWidth, folder) : eval("nd" + ndCount + "_" + i);
		nd.idf="nd" + ndCount + "_" + i;
		nd.lv=lv;
		if(pNd){nd.lead=pNd.lead; pNd.next=nd; pThr=pNd.last; while(pThr){pThr.thr=nd; pThr=pThr.last;}} else nd.lead=nd;
		if(prNd){if(i<=0)prNd.first=nd;	nd.parent=prNd;	if(i==lg-1)prNd.last=nd;}
		nd.setup = ndSetup;
		nd.setup(i, array);
		if(nd.isSub){lv++; flMake(nd,ndCount + "_" + i); lv--; nd=nd.parent;}
		}
	}

function makeNd(nm,wd,fld){nm = new Layer(wd,fld); return eval(nm);}

function ndSetup(op,lstAr) {
	this.folder=folder;
	arPtr = op*4;
	this.inTxt		 = lstAr[arPtr];
	this.linkText	 = lstAr[arPtr + 1];
	this.hasHilite = lstAr[arPtr + 2];
	this.isSub		 = lstAr[arPtr + 3];
	this.show=showNode;
	
	txtWidth=fWidth-lv*tab;
	if(this.isSub){
		if(leftPtrStr!="") txtWidth-=(leftSize + 2*leftH);
		if(rightPtrStr!="") txtWidth-=(rightSize + 2*rightH);
		}
	else{
		if(leftLeefStr!="") txtWidth-=(leftSize + 2*leftH);
		if(rightLeefStr!="") txtWidth-=(rightSize + 2*rightH);;
		}
	this.onmouseover = fNsOver;	this.onmouseout = fNsOut;
	if(this.isSub)this.expand = fExpand;
	if(this.linkText || this.isSub){this.captureEvents(Event.MOUSEUP); this.onmouseup = this.linkText ? fLink : fExpand;}
	this.document.tags.A.textDecoration="none";
	if(this.linkText)	with(this.document)linkColor=alinkColor=vlinkColor=fFntC;
	
	if(this.isSub){
		this.document.write("<table border=0 cellspacing=0 cellpadding=1 width=" + (fWidth-lv*tab) + "><tr valign=top align=left>" + leftPtrStr + "<td width=" + txtWidth + "><font style='" + classIE[this.isSub] + "'>" + this.inTxt + "</font></td>" + rightPtrStr + "</tr></table>");
		if(leftO!=""){this.fptr = this.document.images[0]; this.imgO=leftO; this.imgC=leftC;}
		else if(rightO!=""){this.fptr = this.document.images[1]; this.imgO=rightO; this.imgC=rightC;}
		}
	else this.document.write("<table border=0 cellspacing=0 cellpadding=1 width=" + (fWidth-lv*tab) + "><tr valign=top align=left>" + leftLeefStr + "<td width=" + txtWidth + "><font style='" + classIE[this.isSub] + "'>" + this.inTxt + "</font></td>" + rightLeefStr + "</tr></table>");

	this.document.close();

	this.left = lv*tab;
	this.clip.top -= pad;
	this.clip.bottom += pad;
	this.clip.left -= lv*tab;
	this.clip.right = fWidth-lv*tab;
	this.bgColor = bkgC;
	
	if(this.parent) this.visibility="hide";
	else{this.visibility = "inherit";	this.top=folder.clip.bottom-fpad+pad;	folder.fheight+=this.clip.height+folder.brdW; folder.clip.bottom=folder.fheight;}
	this.fheight=this.clip.bottom;
	}	
	
function fExpand(){
	if(this.open){this.fptr.src= this.imgC; 	this.open=false; hideNode(this.first, this.top+this.fheight);}
	else{
		hnode=this.lead;
		while(hnode){if(hnode.open)break; hnode=hnode.next;}
		if(hnode){fl_open_node=this;	hnode.expand();}
		else{fl_open_node=null; this.fptr.src=this.imgO; this.open=true; showNode(this.first, this.top+this.fheight);}
		}
	}
	
function hideNode(nd, pos){
	nd.folder.fheight-=nd.fheight;
	nd.folder.fheight-=nd.folder.brdW; nd.folder.clip.bottom=nd.folder.fheight;
	var node = nd.open ? nd.first : (nd.next ? nd.next : nd.thr);
	while(node){
		node.top-=(nd.fheight+nd.folder.brdW);
		node = node.open ? node.first : (node.next ? node.next : node.thr);
		}
	nd.visibility="hide";
	cr_node=seekNext(nd,nd.parent.lv);
	if(cr_node){cr_pos=pos+nd.fheight; setTimeout("hideNode(cr_node, cr_pos);",20);}
	else if(fl_open_node)setTimeout("fl_open_node.expand();",20);
	}

function showNode(nd, pos){
	nd.folder.fheight += (nd.fheight + nd.folder.brdW); nd.folder.clip.bottom=nd.folder.fheight;
	var topPos=pos+nd.fheight;
	topPos+=(2*nd.folder.brdW);
	var node = nd.open ? nd.first : (nd.parent.next ? nd.parent.next : nd.parent.thr);
	while(node){
		node.top=topPos;
		topPos+=node.fheight;
		topPos+=nd.folder.brdW;
		node = node.open ? node.first : (node.next ? node.next : node.thr);
		}
	nd.top=pos+nd.folder.brdW; nd.visibility="show";
	cr_node=seekNext(nd,nd.parent.lv);
	if(cr_node){
		cr_pos=pos+nd.fheight;
		cr_pos+=nd.folder.brdW;
		setTimeout("showNode(cr_node, cr_pos);",20);
		}
	else if(openvis){
		var i=0, fv=fvisited.indexOf("_",fvisited.indexOf("_")+1);
		while(i<nd.lv){fv=fvisited.indexOf("_",fv+1); i++;}
		str=fvisited.substr(0,fv);
		if(fv>-1){
			for(i=0;i<folder.layers.length;i++){if(folder.layers[i].idf==str){cr_node=folder.layers[i]; break;}}
			cr_node.expand();
			}
		else{
			openvis=false;
			if(fvis.isSub)fvis.expand();
			}
		}
	}

function seekNext(nd, level){if(nd.open)return nd.first;	else if(nd.next)return nd.next;	else if(nd.thr && nd.thr.lv>level)return nd.thr; return null;}

function fNsOut(){this.bgColor=this.folder.ncolor;}
	
function fNsOver(){this.bgColor=this.folder.ovBkg[this.isSub];}

function fLink(){window.top.location.href = this.linkText;}