/*******************************************************************************
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.
http://www.bratta.com/
**********************************************************************************/
//Default browsercheck, added to all scripts!
function checkBrowser(){
	this.ver=navigator.appVersion
	this.dom=document.getElementById?1:0
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie4 || this.ns4 || this.ns5)
	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){
    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){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 ){ this.css.height=b; this.css.width=r}}}}
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){
	if(!bw.ns4){
		this.css.backgroundColor=color;
		if(bw.ie4) this.evnt.children[0].style.color= hilite;
		else this.evnt.firstChild.style.color= hilite;
	}
	else //Vic!! (NS)
	{
	this.css.bgColor=color;	
	}
}
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){
		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=1
}
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)//o
		
		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.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.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 ) window.event.cancelBubble=true
}
function mmover(num,name)
	{
	if(num != name.pageNum)
		name[num].bgChange(name.mainbgcoloron,name.mainHilite)
	else
		name[num].bgChange(name.mainpresscoloron,name.mainpressHilite)

	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){
				if(num != name.pageNum)
					name[num].bgChange(name.mainbgcoloroff,name.mainOff); 
				else
				{
					name[num].bgChange(name.mainpresscoloron,name.mainpressHilite); 
					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){
	if(num != name.pageNum)
		name[num].sub[subnum].bgChange(name.subbgcoloron,name.subHilite)
	else
		name[num].sub[subnum].bgChange(name.mainpresscoloron,name.mainpressHilite)

	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)
		{
			if(num != name.pageNum)	
				name[num].sub[subnum].bgChange(name.subbgcoloroff,name.subOff)
			else
				name[num].sub[subnum].bgChange(name.mainpresscoloroff,name.mainpressHilite)		
		}
	}
	cancelEv()
}
function subsubmmover(num,subnum,subsubnum,name){
	if(!isNaN(subnum)){
		name[num].sub[subnum].sub[subsubnum].bgChange(name.subsubbgcoloron,name.subsubHilite); 
		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)
	}
	cancelEv()
}
function subsub2mmover(num,subnum,subsubnum,subsub2num,name){
	if(!isNaN(subnum)){
		name[num].sub[subnum].sub[subsubnum].sub[subsub2num].bgChange(name.subsub2bgcoloron,name.subsub2Hilite); 
		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)
	}
	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);
		if(num != this.pageNum)
			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
					if(this.pageNum != i)
						this[i].bgChange(this.mainbgcoloroff)
					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 
			if(this.pageNum != i)
				this[i].bgChange(this.mainbgcoloroff)

		//else
			//this[i].bgChange(this.mainpresscoloroff)

	}
}
/*********************************************************************************************
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+'}\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+'}\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+'}\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+'}\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}\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}\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}\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}\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+=text;
		str+='</div>\n<div id="div'+this.name+'Main'+num+'Hilite" class="cl'+this.name+'MainHilite">'+text+'</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+=text;
		str+='</div>\n\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'Hilite" class="cl'+this.name+'SubHilite">'+text+'</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+=text;
		str+='</div>\n\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_sub'+subsubnum+'Hilite" class="cl'+this.name+'SubSubHilite">'+text+'</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+=text;
		str+='</div>\n\t<div id="div'+this.name+'Sub'+num+'_'+subnum+'_'+subsubnum+'_sub'+subsub2num+'Hilite" class="cl'+this.name+'SubSub2Hilite">'+text+'</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
*********************************************************************************************/
