/*******************************************************************************
Copyright (c) 1999 Thomas Brattli (www.bratta.com)

eXperience DHTML coolMenus - Get it at www.bratta.com
Version 1.0
This script can be used freely as long as all copyright messages are
intact. Visit www.bratta.com/dhtml for the latest version of the script.

This is the actual script page. You shouldn't really have to edit anything in
here.
*******************************************************************************/
/*********************************************************************************
IMPORTANT NOTE!!!!!!
This is NOT a script in it's original form as intended by Thomas Brattli. Instead,
it is a modification of his excellent script Coolmenus2. Any shortcomings you encounter
through the use of this script is entirely the fault of the idiot who modified it.
For the originals and others like them, visit Mr. Brattli's site:
http://www.bratta.com/
**********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie8=(this.ver.indexOf("MSIE 8")>-1 && this.dom)?1:0;
	this.ie7=(this.ver.indexOf("MSIE 7")>-1 && this.dom)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie8 || this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5 || this.ns6)
	return this
}
var bw=new checkBrowser()

//Ie var
var explorerev=''
/********************************************************************************
Object constructor and object functions
********************************************************************************/
function makePageCoords(){
	this.x=0;this.x2=(bw.ns4 || bw.ns5)?innerWidth:document.body.offsetWidth-20;
	this.y=0;this.y2=(bw.ns4 || bw.ns5)?innerHeight:document.body.offsetHeight-5;
	this.x50=this.x2/2;	this.y50=this.y2/2;
	return this;
}
function makeMenu(parent,obj,nest,type,num,subnum,subsubnum,subsub2num){
	// ka
    nest=(!nest) ? '':'document.'+nest+'.'
   	this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;					
	this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0;		
	this.height=bw.ns4?this.css.document.height:this.evnt.offsetHeight
	this.width=bw.ns4?this.css.document.width:this.evnt.offsetWidth
	this.moveIt=b_moveIt; this.bgChange=b_bgChange;	
	this.clipTo=b_clipTo;
	this.showIt=b_showIt;
	this.hideIt=b_hideIt;
	this.show='';
	this.hide='';
	this.parent=parent;
	this.active=0;
	this.nssubover=0
	if(type==0){
		if(bw.ns4){
			this.show= hideLayer+'.showIt()';
			this.hide= hideLayer+'.hideIt()';
			this.css.captureEvents(Event.MOUSEDOWN);
		}
		this.evnt.onmouseover=new Function("mmover("+num+","+this.parent.name+");"+this.show);
		this.evnt.onmouseout=new Function("mmout("+num+","+this.parent.name+");"+this.hide);
		this.evnt.onmousedown= new Function("goLnk("+this.parent.name+".lnk["+num+"],"+this.parent.name+".target["+num+"])");
	}else if(type==1){
		this.clipIn=b_clipIn;
		this.clipOut=b_clipOut;
		this.clipy=0
		if(bw.ns4 && this.parent.menueventoff=="mouse"){
			this.evnt.onmouseout=new Function("setTimeout('if(!"+this.parent.name+"["+num+"].nssubover)"+this.parent.name+".hideactive("+num+");',100)")
			this.evnt.onmouseover=new Function(this.parent.name+"["+num+"].nssubover=true")
		}
		else this.evnt.onmouseover= cancelEv;
	}else if(type==2){
		if(bw.ns4){
			this.show= hideLayer+'.showIt()';
			this.hide= hideLayer+'.hideIt()';
			this.css.captureEvents(Event.MOUSEDOWN);
		}
		this.evnt.onmouseover=new Function("submmover("+num+","+subnum+","+this.parent.name+");"+this.show);
		this.evnt.onmouseout=new Function("submmout("+num+","+subnum+","+this.parent.name+");"+this.hide);
		this.evnt.onmousedown= new Function("goLnk("+this.parent.name+".sublnk["+num+"]["+subnum+"],"+this.parent.name+".subtarget["+num+"]["+subnum+"])");
	}else if(type==3){
		if(bw.ns4){
			this.show= hideLayer+'.showIt()';
			this.hide= hideLayer+'.hideIt()';
			this.css.captureEvents(Event.MOUSEDOWN);
		}
		this.evnt.onmouseover=new Function("subsubmmover("+num+","+subnum+","+subsubnum+","+this.parent.name+");"+this.show);
		this.evnt.onmouseout=new Function("subsubmmout("+num+","+subnum+","+subsubnum+","+this.parent.name+");"+this.hide);
		this.evnt.onmousedown= new Function("goLnk("+this.parent.name+".subsublnk["+num+"]["+subnum+"]["+subsubnum+"],"+this.parent.name+".subsubtarget["+num+"]["+subnum+"]["+subsubnum+"])");
	}else if(type==4){
		if(bw.ns4){
			this.show= hideLayer+'.showIt()';
			this.hide= hideLayer+'.hideIt()';
			this.css.captureEvents(Event.MOUSEDOWN);
		}
		this.evnt.onmouseover=new Function("subsub2mmover("+num+","+subnum+","+subsubnum+","+subsub2num+","+this.parent.name+");"+this.show);
		this.evnt.onmouseout=new Function("subsub2mmout("+num+","+subnum+","+subsubnum+","+subsub2num+","+this.parent.name+");"+this.hide);
		this.evnt.onmousedown= new Function("goLnk("+this.parent.name+".subsub2lnk["+num+"]["+subnum+"]["+subsubnum+"]["+subsub2num+"],"+this.parent.name+".subsub2target["+num+"]["+subnum+"]["+subsubnum+"]["+subsub2num+"])");

	}
	this.tim=100
    this.obj = obj + "Object"; 	eval(this.obj + "=this"); hideLayer= this.obj;
	return this
}
function b_clipTo(t,r,b,l,h){

	if(bw.ns4){
// ka if (bw.ns6) alert(bw.ns6);

		this.css.clip.top=t;
		this.css.clip.right=r;
		this.css.clip.bottom=b;
		this.css.clip.left=l; 
		this.clipx=r;
	} else {
		this.css.clip="rect("+t+","+r+","+b+","+l+")"; 
		this.clipx=r;
		if(h){ 
			if(bw.ie4 || bw.ie5 || bw.ie6 || bw.ie7|| bw.ie8){ 
				this.css.height=b; 
				this.css.width=r
			}
			
			if (bw.ns6){ 
//				this.css.height=50; 
//				this.css.width=154;
			}
		}
	}
}
function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function b_bgChange(color,hilite,border){
	if(!bw.ns4){
		
		this.css.backgroundColor= color;
		if(border)this.css.borderStyle= border
		if(bw.ie4) this.evnt.children[0].style.color= hilite;
		else this.evnt.firstChild.style.color= hilite;
	}
}
function b_showIt(){this.css.visibility='show'}
function b_hideIt(){this.css.visibility='hide'}
function goLnk(url,target){
	if(url=='#' || !url) return;
	if(target){
		if(target=='_parent') parent.location.href= url;
		else if(target=='_top') top.location.href= url;
		else if(target=='_blank') window.open(url,'');
		else if(target=='_self') setTimeout('location.href="'+url+'"',200);
		else if(parent.frames.length>0){
			if(!parent.frames[target]) window.open(url,target);
			else eval('parent.'+target+'.location.href="'+url+'"');
		}
		else window.open(url,target);
	}
	else setTimeout('location.href="'+url+'"',200);
	return false;
}
function b_clipIn(speed){
	if(this.clipy>0){
		this.clipy-=speed
		if(this.clipy<0) this.clipy=0
		this.clipTo(0,this.clipx,this.clipy,0,1)
		this.tim=setTimeout(this.obj+".clipIn("+speed+")",10)
	}else{this.clipy=0; this.clipTo(0,this.clipx,this.clipy,0,1)}	
}
function b_clipOut(speed){
	if(this.clipy<this.clipheight){
// ka
//if(bw.ns6) {alert("ns6")}
		speed=((this.clipheight-this.clipy)<speed)?this.clipheight-this.clipy:speed;
		this.clipy+=speed
		this.clipTo(0,this.clipx,this.clipy,0,1)
		this.tim=setTimeout(this.obj+".clipOut("+speed+")",10)
	}else{
		this.clipy=this.clipheight; 
		this.clipTo(0,this.clipx,this.clipy,0,1)
	}
}
//Page variable, holds the width and height of the document. (see documentsize tutorial on bratta.com/dhtml)
var page=new makePageCoords()

/********************************************************************************
Checking if the values are % or not.
********************************************************************************/
function checkp(num,lefttop){
	if(num){
		if(num.toString().indexOf("%")!=-1){
			if(this.menurows)num=(page.x2*parseFloat(num)/100)
			else num=(page.y2*parseFloat(num)/100)
		}else num=parseFloat(num)
	}else num=0
	return num
}
/********************************************************************************
Menu object, constructing menu ++
********************************************************************************/
function menuObj(name){
	this.makeStyle=makeStyle;
	this.makeMain=makeMain;
	this.makeSub=makeSub;
	this.makeSubSub=makeSubSub
	this.makeSubSub2=makeSubSub2
	this.back= new Array();
	this.lnk= new Array();
	this.sublnk= new Array();
	this.subsublnk= new Array();
	this.subsub2lnk= new Array();
	this.target= new Array();
	this.subtarget= new Array();
	this.subsubtarget= new Array();
	this.subsub2target= new Array();
	this.mainmenus=0; 
	this.submenus=new Array()
	this.subsubmenus= new Array();
	this.construct=constructMenu;
	this.checkp=checkp;
	this.name=name;
	this.menumain=menumain;
	this.hidemain=hidemain;
	this.hideactive=hideactive;
	this.menusub=menusub;
	this.menusub2=menusub2;
	this.hidesubs=hidesubs;
	this.menueventon="mouse"
	this.menueventoff="mouse"
	this.stayoncolor=0
}
function constructMenu(){
	bw=new checkBrowser()
	page=new makePageCoords()
	//Checking numbers for %
	this.mainwidth=checkp(this.mainwidth,0)
	this.mainheight=checkp(this.mainheight,1)
	this.subplacement=checkp(this.subplacement,1)
	this.subwidth=checkp(this.subwidth,0)
	this.subheight=checkp(this.subheight,1)
	this.subsubwidth=checkp(this.subsubwidth,0)
	this.subsubheight=checkp(this.subsubheight,1)
	this.subsubXplacement=checkp(this.subsubXplacement,1)
	this.subsubYplacement=checkp(this.subsubYplacement,1)
	this.subsub2width=checkp(this.subsub2width,0)
	this.subsub2height=checkp(this.subsub2height,1)
	this.subsub2Xplacement=checkp(this.subsub2Xplacement,1)
	this.subsub2Yplacement=checkp(this.subsub2Yplacement,1)
	if(this.backgroundbar){ //Backgroundbar part
		this.oBackgroundbar=new makeMenu(this,'div'+this.name+'Backgroundbar','',-1)
		this.oBackgroundbar.moveIt(this.checkp(this.backgroundbarfromleft,0),this.checkp(this.backgroundbarfromtop,1))
if(this.menurows) this.oBackgroundbar.clipTo(0,this.checkp(this.backgroundbarsize),this.mainheight+(this.mBorderSize*2),0,1)
		else this.oBackgroundbar.clipTo(0,this.mainwidth+(this.mBorderSize*2),this.checkp(this.backgroundbarsize),0,1)
		if(!bw.ns4)this.oBackgroundbar.css.backgroundColor=this.backgroundbarcolor
		else this.oBackgroundbar.css.bgColor= this.backgroundbarcolor
	}
	this.x=this.checkp(this.fromleft,0); this.y=this.checkp(this.fromtop,1);
	for(i=0;i<this.mainmenus;i++){
		if(this.menuplacement!=0){
			if(this.menurows) this.x=this.checkp(this.menuplacement[i])
			else this.y=this.checkp(this.menuplacement[i])
		}
		this.back[i]= new makeMenu(this,'div'+this.name+'Mainback'+i,'',-1,i);
		this.back[i].clipTo(0,this.mainwidth+(this.mBorderSize*2),this.mainheight+(this.mBorderSize*2),0,1);
		this.back[i].moveIt(this.x,this.y);
		if(bw.ns4){
			this[i]=new makeMenu(this,'div'+this.name+'Main'+i,'',-1,i)
			this[i].css.bgColor= this.mainbgcoloroff;
			this[i].hilite=new makeMenu(this,'div'+this.name+'Main'+i+'Hilite','',-1,i)
			this[i].hilite.clipTo(0,this.mainwidth,this.mainheight,0,1)
			this[i].hilite.moveIt(this.x+this.mBorderSize,this.y+this.mBorderSize)
			this[i].hilite.css.bgColor=this.mainbgcoloron;
			this[i].cover=new makeMenu(this,'div'+this.name+'Main'+i+'Cover','',0,i)
			this[i].cover.clipTo(0,this.mainwidth,this.mainheight,0,1)
			this[i].cover.moveIt(this.x+this.mBorderSize,this.y+this.mBorderSize);
		}
		else this[i]=new makeMenu(this,'div'+this.name+'Main'+i,'',0,i)
		this[i].clipTo(0,this.mainwidth,this.mainheight,0,1)
		this[i].moveIt(this.x+this.mBorderSize,this.y+this.mBorderSize)
		this[i].bgChange(this.mainbgcoloroff,this.mainOff)
		if(!bw.ns4)this.back[i].css.backgroundColor= this.mBorderColor
		else this.back[i].css.bgColor= this.mBorderColor
		if(!this.menurows) this.y+=this.mainheight+this.checkp(this.pxbetween)+this.mBorderSize
		else {this.x+=this.mainwidth+this.checkp(this.pxbetween)+this.mBorderSize;this.s1BorderSize=this.mBorderSize}
		if(this.submenus[i]!='nosub'){
			this[i].subs=new makeMenu(this,'div'+this.name+'Sub'+i,'',1,i,-1)
			if(!this.menurows) this[i].subs.moveIt(this.subplacement+this[i].x,this[i].y-this.s1Separator)
			else this[i].subs.moveIt(this[i].x-this.s1BorderSize,this[i].y+this.subplacement)
			if(!bw.ns4)this[i].subs.css.backgroundColor= this.s1BorderColor
			else this[i].subs.css.bgColor= this.s1BorderColor
			this.suby=this.s1BorderSize;
			this[i].sub=new Array()
			for(j=0;j<this.submenus[i]["main"];j++){
				if(bw.ns4){
					this[i].sub[j]=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j,'div'+this.name+'Sub'+i,-1,i,j)
					this[i].sub[j].css.bgColor=this.subbgcoloroff;
					this[i].sub[j].hilite=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'Hilite','div'+this.name+'Sub'+i,-1,i,j);
					this[i].sub[j].hilite.clipTo(0,this.subwidth,this.subheight,0,1)
					this[i].sub[j].hilite.moveIt(this.s1BorderSize,this.suby)
					this[i].sub[j].hilite.css.bgColor=this.subbgcoloron
					this[i].sub[j].cover=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'Cover','div'+this.name+'Sub'+i,2,i,j)
					this[i].sub[j].cover.clipTo(0,this.subwidth,this.subheight,0,1)
					this[i].sub[j].cover.moveIt(this.s1BorderSize,this.suby)
				}
				else this[i].sub[j]=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j,'div'+this.name+'Sub'+i,2,i,j)
				this[i].sub[j].clipTo(0,this.subwidth,this.subheight,0,1)
				this[i].sub[j].moveIt(this.s1BorderSize,this.suby)
				this[i].sub[j].bgChange(this.subbgcoloroff,this.subOff)
				this.suby+=this.subheight+this.s1Separator
				if(this.submenus[i]["submenus"][j]>0){
					this.subsuby=this.s2BorderSize
					this[i].sub[j].subs=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_sub','',1,i,j)
					this[i].sub[j].subs.moveIt(this[i].subs.x+this.subsubXplacement,this[i].subs.y+this[i].sub[j].y+this.subsubYplacement)
					if(!bw.ns4)this[i].sub[j].subs.css.backgroundColor=this.s2BorderColor
					else this[i].sub[j].subs.css.bgColor=this.s2BorderColor
					this[i].sub[j].sub=new Array()
					for(a=0;a<this.submenus[i]["submenus"][j];a++){
						if(bw.ns4){
							this[i].sub[j].sub[a]=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_sub'+a,'div'+this.name+'Sub'+i+'_'+j+'_sub',-1,i,j,a)
							this[i].sub[j].sub[a].css.bgColor=this.subsubbgcoloroff
							this[i].sub[j].sub[a].hilite=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_sub'+a+'Hilite','div'+this.name+'Sub'+i+'_'+j+'_sub',-1,i,j,a)
							this[i].sub[j].sub[a].hilite.clipTo(0,this.subsubwidth,this.subsubheight,0,1)
							this[i].sub[j].sub[a].hilite.moveIt(this.s2BorderSize,this.subsuby)
							this[i].sub[j].sub[a].hilite.css.bgColor=this.subsubbgcoloron
							this[i].sub[j].sub[a].cover=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_sub'+a+'Cover','div'+this.name+'Sub'+i+'_'+j+'_sub',3,i,j,a)
							this[i].sub[j].sub[a].cover.clipTo(0,this.subsubwidth,this.subsubheight,0,1)
							this[i].sub[j].sub[a].cover.moveIt(this.s2BorderSize,this.subsuby)
						}
						else this[i].sub[j].sub[a]=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_sub'+a,'div'+this.name+'Sub'+i+'_'+j+'_sub',3,i,j,a)
						this[i].sub[j].sub[a].clipTo(0,this.subsubwidth,this.subsubheight,0,1)
						this[i].sub[j].sub[a].moveIt(this.s2BorderSize,this.subsuby)
						this[i].sub[j].sub[a].bgChange(this.subsubbgcoloroff,this.subsubOff)
						this.subsuby+=this.subsubheight+this.s2Separator
						if(this.subsubmenus[i][j][a]>0){
							this.subsub2y=this.s3BorderSize;
							this[i].sub[j].sub[a].subs=new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub','',1,i,j,a)
							this[i].sub[j].sub[a].subs.moveIt(this[i].sub[j].subs.x+this.subsub2Xplacement,this[i].sub[j].subs.y+this[i].sub[j].sub[a].y+this.subsub2Yplacement)
							if(!bw.ns4)this[i].sub[j].sub[a].subs.css.backgroundColor=this.s3BorderColor
							else this[i].sub[j].sub[a].subs.css.bgColor=this.s3BorderColor
							this[i].sub[j].sub[a].sub= new Array()
							for(b=0;b<this.subsubmenus[i][j][a];b++){
								if(bw.ns4){
									this[i].sub[j].sub[a].sub[b]= new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub'+b,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub',-1,i,j,a,b)
									this[i].sub[j].sub[a].sub[b].css.bgColor= this.subsub2bgcoloroff
									this[i].sub[j].sub[a].sub[b].hilite= new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub'+b+'Hilite','div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub',-1,i,j,a,b)
									this[i].sub[j].sub[a].sub[b].hilite.clipTo(0,this.subsub2width,this.subsub2height,0,1)
									this[i].sub[j].sub[a].sub[b].hilite.moveIt(this.s3BorderSize,this.subsub2y)
									this[i].sub[j].sub[a].sub[b].hilite.css.bgColor=this.subsub2bgcoloron
									this[i].sub[j].sub[a].sub[b].cover= new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub'+b+'Cover','div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub',4,i,j,a,b)
									this[i].sub[j].sub[a].sub[b].cover.clipTo(0,this.subsub2width,this.subsub2height,0,1)
									this[i].sub[j].sub[a].sub[b].cover.moveIt(this.s3BorderSize,this.subsub2y)
								}
								else this[i].sub[j].sub[a].sub[b]= new makeMenu(this,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub'+b,'div'+this.name+'Sub'+i+'_'+j+'_'+a+'_sub',4,i,j,a,b)
								this[i].sub[j].sub[a].sub[b].clipTo(0,this.subsub2width,this.subsub2height,0,1)
								this[i].sub[j].sub[a].sub[b].moveIt(this.s3BorderSize,this.subsub2y)
								this[i].sub[j].sub[a].sub[b].bgChange(this.subsub2bgcoloroff,this.subsub2Off)
								this.subsub2y+=this.subsub2height+this.s3Separator
							}
							this[i].sub[j].sub[a].subs.clipTo(0,this.subsub2width+(this.s3BorderSize*2),0,0,1)
							this[i].sub[j].sub[a].subs.clipheight=this.subsub2y+this.s3BorderSize-this.s3Separator
						}else this[i].sub[j].sub[a].subs=0
					}
					this[i].sub[j].subs.clipTo(0,this.subsubwidth+(this.s2BorderSize*2),0,0,1)
					this[i].sub[j].subs.clipheight=this.subsuby+this.s2BorderSize-this.s2Separator
				}else this[i].sub[j].subs=0
			}
			this[i].subs.clipTo(0,this.subwidth+(this.s1BorderSize*2),0,0,1)
			this[i].subs.clipheight=this.suby+this.s1BorderSize-this.s1Separator
		}else this[i].subs=0
	}
	setTimeout("window.onresize=resized;",500)
	if(this.menueventoff=="mouse"){
		explorerev+=this.name+".hidemain(-1);"
		document.onmouseover=new Function(explorerev)
	}
}
function resized(){
	page2=new makePageCoords()
	if(page2.x2!=page.x2 || page.y2!=page2.y2) location.reload()
}

/*********************************************************************************************
Mouseevents (name==this (as in made object, not the event "this"))
*********************************************************************************************/
function cancelEv(){
	if(bw.ie4 || bw.ie5 || bw.ie6 || bw.ie7|| bw.ie8) window.event.cancelBubble=true
}
function mmover(num,name){

	name[num].bgChange(name.mainbgcoloron,name.mainHilite,'inset')
	if(name.menueventon=="mouse") {name.menumain(num,1);}
	name[num].nssubover=true
	cancelEv()
}
function mmout(num,name){
	if(!isNaN(num)){
		if(name[num].subs==0 || !name.stayoncolor || !name[num].active)
		name[num].bgChange(name.mainbgcoloroff,name.mainOff,'outset'); 
		name[num].nssubover=false
		if(name.menueventoff=="mouse") if(bw.ns4) setTimeout("if(!"+name.name+"["+num+"].nssubover) "+name.name+".hideactive("+num+")",100)
	} 
	cancelEv()
}
function submmover(num,subnum,name){
	name[num].sub[subnum].bgChange(name.subbgcoloron,name.subHilite,'inset')
	if(name.menueventon=="mouse") {name.menusub(num,subnum,1)}
	name[num].nssubover=true
	cancelEv()
}
function submmout(num,subnum,name){
	if(!isNaN(subnum)){
		name[num].nssubover=false;
		if(!name.stayoncolor || !name[num].sub[subnum].active || name[num].sub[subnum].subs==0)
		name[num].sub[subnum].bgChange(name.subbgcoloroff,name.subOff,'outset')
	}
	cancelEv()
}
function subsubmmover(num,subnum,subsubnum,name){
	if(!isNaN(subnum)){
		name[num].sub[subnum].sub[subsubnum].bgChange(name.subsubbgcoloron,name.subsubHilite,'inset'); 
		if(name.menueventon=="mouse") {name.menusub2(num,subnum,subsubnum,1)}
		name[num].nssubover=true
	}
	cancelEv()
}
function subsubmmout(num,subnum,subsubnum,name){
	if(!isNaN(subnum)){
		name[num].nssubover=false
		if(!name.stayoncolor || !name[num].sub[subnum].sub[subsubnum].active || name[num].sub[subnum].sub[subsubnum].subs==0) name[num].sub[subnum].sub[subsubnum].bgChange(name.subsubbgcoloroff,name.subsubOff,'outset')
	}
	cancelEv()
}
function subsub2mmover(num,subnum,subsubnum,subsub2num,name){
	if(!isNaN(subnum)){
		name[num].sub[subnum].sub[subsubnum].sub[subsub2num].bgChange(name.subsub2bgcoloron,name.subsub2Hilite,'inset'); 
		name[num].nssubover=true

	}
	cancelEv()
}
function subsub2mmout(num,subnum,subsubnum,subsub2num,name){
	if(!isNaN(subnum)){
		name[num].nssubover=false
		name[num].sub[subnum].sub[subsubnum].sub[subsub2num].bgChange(name.subsub2bgcoloroff,name.subsub2Off,'outset')
	}
	cancelEv()
}
/*********************************************************************************************
Showing submenus
*********************************************************************************************/
function menumain(num,mouse){
	if(this[num].subs!=0){
		clearTimeout(this[num].subs.tim)
		if(this[num].subs.clipy==0 || mouse){
			this.hidemain(num); 
			this[num].subs.clipOut(this.menuspeed); 
			this[num].active=1
		}else{
			this.hidemain(-1); this[num].active=0
		}
	}
	else{
		this.hidemain(-1);
		this[num].bgChange(this.mainbgcoloron,this.mainHilite)
	}
}
/*********************************************************************************************
Showing subsubmenus
*********************************************************************************************/
function menusub(num,sub,mouse){
	this.hidesubs(num,sub)
	if(this[num].sub[sub].subs!=0){
		if(this[num].sub[sub].subs.clipy==0 || mouse){
			this[num].sub[sub].active=1
			this[num].sub[sub].subs.clipOut(this.menusubspeed)
		}else{
			this[num].sub[sub].active=0
			this[num].sub[sub].subs.clipIn(this.menusubspeed)
		}
	}
}
function menusub2(num,sub,sub2,mouse){
	this.hidesubs(num,sub,sub2);
	if(this[num].sub[sub].sub[sub2].subs!=0){
		if(this[num].sub[sub].sub[sub2].subs.clipy==0 || mouse){
			this[num].sub[sub].sub[sub2].active=1
			this[num].sub[sub].sub[sub2].subs.clipOut(this.menusubspeed)
		}else{
			this[num].sub[sub].sub[sub2].active=0
			this[num].sub[sub].sub[sub2].subs.clipIn(this.menusubspeed)
		}
	}
}
/*********************************************************************************************
Hides the other sub menuitems if any are shown. Also calls the hidesubs to hide any showing
submenus.
*********************************************************************************************/
function hidemain(num){
	for(i=0;i<this.mainmenus;i++){
		if(this[i].subs!=0){
			if(this[i].subs.clipy<=this[i].subs.clipheight){
				this.hidesubs(i,100,100)
				if(i!=num){
					clearTimeout(this[i].subs.tim)
					this[i].active=0
//					this[i].bgChange(this.mainbgcoloroff)     ** amend for ns6 **
					if(this.menurows)this[i].subs.clipIn(this.menuspeed)
					else{this[i].subs.clipy=0; this[i].subs.clipTo(0,this[i].subs.clipx,this[i].subs.clipy,0,1)}
				}
			}
		} //else this[i].bgChange(this.mainbgcoloroff)      ** amend for ns6 **
	}
}
/*********************************************************************************************
Hides the active submenuitems
*********************************************************************************************/
function hideactive(num){
	if(this[num].subs!=0){
		this.hidesubs(num,100,100)
		clearTimeout(this[num].subs.tim)
		this[num].active=0
		this[num].bgChange(this.mainbgcoloroff)
		if(this.menurows)this[num].subs.clipIn(this.menuspeed)
		else{this[num].subs.clipy=0; this[num].subs.clipTo(0,this[num].subs.clipx,this[num].subs.clipy,0,1)}
	}
}
/*********************************************************************************************
Hides the other subsub menuitems if any are shown.
*********************************************************************************************/
function hidesubs(num,sub,sub2){
	for(j=0;j<this[num].sub.length;j++){

		if(this[num].sub[j].subs!=0){
			if(j!=sub){
				if(this[num].sub[j].subs.clipy<=this[num].sub[j].subs.clipy	|| this[num].subs.clipy<this[num].subs.clipheight){
					clearTimeout(this[num].sub[j].subs.tim)
					this[num].sub[j].active=0
					this[num].sub[j].bgChange(this.subbgcoloroff)
					this[num].sub[j].subs.clipy=0
					this[num].sub[j].subs.clipTo(0,this[num].sub[j].subs.clipx,this[num].sub[j].subs.clipy,0,1)
				}
			}
			for(k=0;k<this[num].sub[j].sub.length;k++){
				if(this[num].sub[j].sub[k].subs!=0 && k!=sub2){
					clearTimeout(this[num].sub[j].sub[k].subs.tim);
					this[num].sub[j].sub[k].active=0
					this[num].sub[j].sub[k].bgChange(this.subsubbgcoloroff)
					this[num].sub[j].sub[k].subs.clipy=0
					this[num].sub[j].sub[k].subs.clipTo(0,this[num].sub[j].sub[k].subs.clipx,this[num].sub[j].sub[k].subs.clipy,0,1)
				}
			}
		}
	}
}
/*********************************************************************************************
These are the functions that writes the style and menus to the page. 
*********************************************************************************************/
function makeStyle(){
	str='\n<style type="text/css">\n'
	str+="\n<!-- DHTML CoolMenus from www.bratta.com -->\n\n"
	str+='\tDIV.cl'+this.name+'Back{position:absolute; z-index:50; clip:rect(0,0,0,0)}\n'
	str+='\tDIV.cl'+this.name+'Main{position:absolute; z-index:51; clip:rect(0,0,0,0); overflow:hidden; width:'+(this.mainwidth-10)+'; '+this.clMain+'; color:'+this.mainOff+';border:outset 2px '+this.m3Dcolor+'; '+this.pad+'}\n'
	str+='\tDIV.cl'+this.name+'Sub{position:absolute; z-index:52; clip:rect(0,0,0,0); overflow:hidden; width:'+(this.subwidth-10)+'; '+this.clSub+'; color:'+this.subOff+'; border:outset 2px '+this.s3Dcolor+'; '+this.pad+'}\n'
	str+='\tDIV.cl'+this.name+'SubSub{position:absolute; z-index:54; clip:rect(0,0,0,0); width:'+(this.subsubwidth-10)+'; '+this.clSubSub+'; color:'+this.subsubOff+'; border:outset 2px '+this.ss3Dcolor+'; '+this.pad+'}\n'
	str+='\tDIV.cl'+this.name+'SubSub2{position:absolute; z-index:54; clip:rect(0,0,0,0); width:'+(this.subsub2width-10)+'; color:'+this.subsub2Off+'; '+this.clSubSub2+'; border:outset 2px '+this.sss3Dcolor+'; '+this.pad+'}\n'
	if(bw.ns4){
		str+='\tDIV.cl'+this.name+'Cover{position:absolute; z-index:51; clip:rect(0,0,0,0); overflow:hidden; width:'+(this.mainwidth-10)+'}\n'
		str+='\tDIV.cl'+this.name+'MainHilite{position:absolute; z-index:51; clip:rect(0,0,0,0); overflow:hidden; width:'+(this.mainwidth-10)+'; '+this.clMainHilite+'; color:'+this.mainHilite+'; visibility:hidden; border:inset 2px '+this.m3Dcolor+'; '+this.pad+'}\n'
		str+='\tDIV.cl'+this.name+'SubCover{position:absolute; z-index:52; clip:rect(0,0,0,0); overflow:hidden; width:'+(this.subwidth-10)+'}\n'
		str+='\tDIV.cl'+this.name+'SubHilite{position:absolute; z-index:52; clip:rect(0,0,0,0); overflow:hidden; width:'+(this.subwidth-10)+'; '+this.clSubHilite+'; color:'+this.subHilite+'; visibility:hidden; border:inset 2px '+this.s3Dcolor+'; '+this.pad+'}\n'
		str+='\tDIV.cl'+this.name+'SubSubCover{position:absolute; z-index:54; clip:rect(0,0,0,0); width:'+(this.subsubwidth-10)+'}\n'
		str+='\tDIV.cl'+this.name+'SubSubHilite{position:absolute; z-index:54; clip:rect(0,0,0,0); width:'+(this.subsubwidth-10)+'; '+this.clSubSubHilite+';color:'+this.subsubHilite+'; visibility:hidden; border:inset 2px '+this.ss3Dcolor+'; '+this.pad+'}\n'
		str+='\tDIV.cl'+this.name+'SubSub2Cover{position:absolute; z-index:54; clip:rect(0,0,0,0); width:'+(this.subsubwidth-10)+'}\n'
		str+='\tDIV.cl'+this.name+'SubSub2Hilite{position:absolute; z-index:54; clip:rect(0,0,0,0); width:'+(this.subsubwidth-10)+'; '+this.clSubSub2Hilite+';color:'+this.subsub2Hilite+'; visibility:hidden; border:inset 2px '+this.sss3Dcolor+'; '+this.pad+'}\n'
	}
	str+='\tDIV.cl'+this.name+'Subs{position:absolute; z-index:53; clip:rect(0,0,0,0); overflow:hidden}\n'
	str+='\t#div'+this.name+'Backgroundbar{position:absolute; z-index:50; clip:rect(0,0,0,0); overflow:hidden}\n'
	str+='\tA.clA'+this.name+'Main{'+this.clAMain+'; color:'+this.mainOff+'}\n'
	str+='\tA.clA'+this.name+'Sub{'+this.clASub+'; color:'+this.subOff+'}\n'
	str+='\tA.clA'+this.name+'SubSub{'+this.clASubSub+'; color:'+this.subsubOff+'}\n'
	str+='\tA.clA'+this.name+'SubSub2{'+this.clASubSub2+'; color:'+this.subsub2Off+'}\n'
	str+='</style>'
	document.write(str)
}
function makeMain(num,text,link,target){
	str=""
	if(this.backgroundbar && num==0){str+='\n<div id="div'+this.name+'Backgroundbar"></div>\n'}
	str+='<div id= "div'+this.name+'Mainback'+num+'" class="cl'+this.name+'Back"></div>\n'
	str+='\n\n<div id="div'+this.name+'Main'+num+'" class="cl'+this.name+'Main">'
	if(bw.ns4){
		str+='<spacer type= "block" width="'+(this.mainwidth-10)+'" height="1"><br clear= "left">'+text;
		str+='<spacer type= "vertical" size= "'+(this.mainheight-25)+'"></div>\n<div id="div'+this.name+'Main'+num+'Hilite" class="cl'+this.name+'MainHilite"><spacer type= "block" width="'+(this.mainwidth-10)+'" height="0"><br clear= "all">'+text+'<spacer type= "vertical" size= "'+(this.mainheight-25)+'"></div>\n'
		str+='<div id="div'+this.name+'Main'+num+'Cover" class="cl'+this.name+'Cover"></div>\n'
		if(link) this.submenus[num]='nosub';
	}
	else{
		if(link){ str+='<a href="'+link+'" onclick= "return false"'; this.submenus[num]='nosub'
		}else str+='<a href="#" onclick="'+this.name+'.menumain('+num+'); return false"'
		if(target) str+=' target="'+target+'" '
		str+=' class="clA'+this.name+'Main">'+text+'</a></div>\n'
	}
	this.target[num]= (target)?target:0;
	this.lnk[num]=link;
	this.sublnk[num]= new Array();
	this.subsublnk[num]= new Array();
	this.subsub2lnk[num]= new Array();
	this.subtarget[num]= new Array();
	this.subsubtarget[num]= new Array();
	this.subsub2target[num]= new Array();
	this.mainmenus++; 
	document.write(str)
}
function makeSub(num,subnum,text,link,total,target){
	str=""
	if(subnum==0) str='<div id="div'+this.name+'Sub'+num+'" class="cl'+this.name+'Subs">\n'
	str+='\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'" class="cl'+this.name+'Sub">'
	if(bw.ns4){
		str+='<spacer type= "block" width="'+(this.subwidth-10)+'" height="1"><br clear= "all">'+text;
		str+='<spacer type= "vertical" size= "'+(this.subheight-25)+'"></div>\n\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'Hilite" class="cl'+this.name+'SubHilite"><spacer type= "block" width="'+(this.subwidth-10)+'" height="1"><br clear= "all">'+text+'<spacer type= "vertical" size= "'+(this.subheight-25)+'"></div>\n'
		str+='\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'Cover" class="cl'+this.name+'SubCover"></div>\n'
	}
	else{
		if(link) str+='<a href="'+link+'" onclick= "return false"'; else str+='<a href="#" onclick="'+this.name+'.menusub('+num+','+subnum+'); return false"'
		if(target) str+=' target="'+target+'" '
		str+=' class="clA'+this.name+'Sub">'+text+'</a></div>\n'
	}
	this.subtarget[num][subnum]= (target)?target:0;
	this.sublnk[num][subnum]=link;
	this.subsublnk[num][subnum]= new Array();
	this.subsub2lnk[num][subnum]= new Array();
	this.subsubtarget[num][subnum]= new Array();
	this.subsub2target[num][subnum]= new Array();
	if(subnum==total-1){
		str+='</div>\n'; this.submenus[num]=new Array()
		this.subsubmenus[num]= new Array();
		this.submenus[num]["main"]=total; this.submenus[num]["submenus"]=new Array()
	}
	document.write(str)
}
function makeSubSub(num,subnum,subsubnum,text,link,total,target){
	str=""
	if(subsubnum==0) str='<div id="div'+this.name+'Sub'+num+'_'+subnum+'_sub" class="cl'+this.name+'Subs">\n'
	str+='\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_sub'+subsubnum+'" class="cl'+this.name+'SubSub">'
	if(bw.ns4){
		str+='<spacer type= "block" width="'+(this.subsubwidth-10)+'" height="1"><br clear= "all">'+text;
		str+='<spacer type= "vertical" size= "'+(this.subsubheight-25)+'"></div>\n\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_sub'+subsubnum+'Hilite" class="cl'+this.name+'SubSubHilite"><spacer type= "block" width="'+(this.subsubwidth-10)+'" height="1"><br clear= "all">'+text+'<spacer type= "vertical" size= "'+(this.subsubheight-25)+'"></div>\n';
		str+='\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_sub'+subsubnum+'Cover" class="cl'+this.name+'SubSubCover"></div>\n'
	}
	else{
		if(link) str+='<a href="'+link+'" onclick= "return false"'; else str+='<a href="#"'
		if(target) str+=' target="'+target+'" '
		str+=' class="clA'+this.name+'SubSub">'+text+'</a></div>\n'
	}
	this.subsubtarget[num][subnum][subsubnum]=(target)?target:0;
	this.subsublnk[num][subnum][subsubnum]=link;
	this.subsub2lnk[num][subnum][subsubnum]= new Array();
	this.subsub2target[num][subnum][subsubnum]= new Array();
	if(subsubnum==total-1){
		str+='</div>\n';
		this.submenus[num]["submenus"][subnum]=total
		this.subsubmenus[num][subnum]= new Array()
	}
	document.write(str)
}
function makeSubSub2(num,subnum,subsubnum,subsub2num,text,link,total,target){
	str=""
	if(subsub2num==0) str='<div id="div'+this.name+'Sub'+num+'_'+subnum+'_'+subsubnum+'_sub" class="cl'+this.name+'Subs">\n'
	str+='\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_'+subsubnum+'_sub'+subsub2num+'" class="cl'+this.name+'SubSub2">'
	if(bw.ns4){
		str+='<spacer type= "block" width="'+(this.subsub2width-10)+'" height="1"><br clear= "all">'+text;
		str+='<spacer type= "vertical" size= "'+(this.subsub2height-25)+'"></div>\n\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_'+subsubnum+'_sub'+subsub2num+'Hilite" class="cl'+this.name+'SubSub2Hilite"><spacer type= "block" width="'+(this.subsub2width-10)+'" height="1"><br clear= "all">'+text+'<spacer type= "vertical" size= "'+(this.subsub2height-25)+'"></div>\n'
		str+='\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_'+subsubnum+'_sub'+subsub2num+'Cover" class="cl'+this.name+'SubSub2Cover"></div>\n';
	}
	else {
		if(link) str+='<a href="'+link+'" onclick= "return false"'; else str+='<a href="#"'
		if(target) str+=' target="'+target+'" '
		str+=' class="clA'+this.name+'SubSub2">'+text+'</a></div>\n'
	}
	this.subsub2target[num][subnum][subsubnum][subsub2num]=(target)?target:0;
	this.subsub2lnk[num][subnum][subsubnum][subsub2num]=link;
	if(subsub2num==total-1){
		str+='</div>\n';
		this.subsubmenus[num][subnum][subsubnum]=total
	}
	document.write(str);
}
/*********************************************************************************************
END Menu script
*********************************************************************************************/
