/*******************************************************************************
Copyright (c) 1999 Thomas Brattli (www.bratta.com)
******************************************************************************/
function makePageCoords(){
	this.x=0;this.x2=(bw.ns4 || bw.ns5)?innerWidth:document.body.offsetWidth-3;
	this.y=0;this.y2=(bw.ns4 || bw.ns5)?innerHeight+3:document.body.offsetHeight;
	this.x50=this.x2/2;	this.y50=this.y2/2;
	this.x10=(this.x2*10)/100-5;this.y10=(this.y2*10)/100-5
	this.x15=(this.x2*15)/100-5;this.y15=(this.y2*15)/100-5; 
	return this;
}

/*****************************************************************************
Debugging function
******************************************************************************/
function debug(txt,ev){
	if(mDebugging==2) self.status=txt
	else alert(txt)
	if(ev) eval(ev)
	return false
}
/********************************************************************************
Checking if the values are % or not.
********************************************************************************/
function cf_checkp(num,w,check){
	if(num){
		if(num.toString().indexOf("%")!=-1){
			if(w || check && (this.frametype==2 || this.frametype==3)) num=(page.x2*parseFloat(num)/100)
			else num=(page.y2*parseFloat(num)/100)
		}else num=parseFloat(num)
	}else num=0
	return num
}
/*****************************************************************************
General function to check if the frame exists.
******************************************************************************/
function cf_checkFrame(){
	if(top[this.menuFrameName]) return true
	else return false
}
/*****************************************************************************
Checking if the main frame has been scrolled or not!
******************************************************************************/
function cf_checkScrolled(){
	if(!top[this.menuFrameName]) return
	if(bw.ns4 || bw.ns5){
		this.scrolledX=top[this.menuFrameName].pageXOffset
		this.scrolledY=top[this.menuFrameName].pageYOffset
	}else{
		this.scrolledX=top[this.menuFrameName].document.body.scrollLeft
		this.scrolledY=top[this.menuFrameName].document.body.scrollTop
	}
}
/*****************************************************************************
General objects function, for frameobjects and regular objects!
******************************************************************************/
function makeFObj(frame,obj,parent,topnum,subnum,sub2num,sub3num,border){
	if(frame){
		if(!top[frame] && mDebugging) return debug('Frame: '+frame+' doesn\'t exist'+top[frame]) 
  		this.evnt=bw.dom?top[frame].document.getElementById(obj):bw.ie4?top[frame].document.all[obj]:bw.ns4?eval('top.'+frame+'.document.'+obj):0;
	}else{
  		this.evnt=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval('document.'+obj):0;
	}
	if(mDebugging){
		if(!this.evnt) return debug('There seems to be an error with this layer:\nFrame: '+frame+'\nLayer: '+obj)
	}
	this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;			
	this.ref=bw.dom || bw.ie4?document:bw.ns4?this.css.document:0;
	this.writeIt=cf_writeIt;
	this.height=bw.ns4?this.ref.height:this.evnt.offsetHeight;
	this.width=bw.ns4?this.ref.width:this.evnt.offsetWidth;
	this.x=(bw.ns4 || bw.ns5)? parseInt(this.css.left):this.evnt.offsetLeft;
	this.y=(bw.ns4 || bw.ns5)? parseInt(this.css.top):this.evnt.offsetTop;					
	this.hideIt=cf_hideIt;	this.showIt=cf_showIt; this.clipTo=cf_clipTo;		
	this.moveIt=cf_moveIt; this.bgChange=cf_bgChange;		
	this.parent=parent		
	if(frame && !border){
		this.evnt.onmouseover=new Function(parent.name+".mmover("+subnum+","+sub2num+","+sub3num+")");
		this.evnt.onmouseout=new Function(parent.name+".mmout("+subnum+","+sub2num+","+sub3num+")");
	}else if(!border){
		this.evnt.onmouseover=new Function(parent.name+".mover("+topnum+")");
		this.evnt.onmouseout=new Function(parent.name+".mmout2()");
	}
	this.obj = obj + "Object"; 	eval(this.obj + "=this")
	this.fcChange=cf_fcChange;
	return this
}
function cf_showIt(){this.css.visibility="visible"}
function cf_hideIt(){this.css.visibility="hidden"}
function cf_bgChange(color){if(color){if(bw.dom || bw.ie4) this.css.backgroundColor=color
else if(bw.ns4) this.css.bgColor=color}}
function cf_clipTo(t,r,b,l,w){if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r
this.css.clip.bottom=b;this.css.clip.left=l
}else{this.css.clip="rect("+t+","+r+","+b+","+l+")"; if(w){this.css.width=r; this.css.height=b}}}
function cf_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x;this.css.top=this.y}
function cf_place(){this.moveIt(this.pagex,this.pagey); this.showIt()}
function cf_writeIt(text){if(bw.ns4){this.ref.write(text);this.ref.close()}
else this.evnt.innerHTML=text}
function cf_fcChange(color){
	if(bw.ie4){
		this.evnt.children[0].style.color=color
	}else{
		this.evnt.childNodes[0].style.color=color
	}
}
/*****************************************************************************
Event functions
******************************************************************************/
//Mouseover on sub and sub2 menus
function cf_mmover(subnum,sub2num,sub3num){
	clearTimeout(this.tim)
	this.over=1
	if(sub3num>-1){
		this.activeSub3=sub3num
		this.sub3[sub3num].bgChange(this.sub3bgcoloron)
		if(!bw.ns4) this.sub3[sub3num].fcChange(this.sub3hovercolor)
	}else if(sub2num>-1){
		if(this.activeSub2>-1) this.sub2[this.activeSub2].bgChange(this.sub2bgcoloroff)
		this.activeSub2=sub2num
		this.sub2[sub2num].bgChange(this.sub2bgcoloron)
		if(!bw.ns4) this.sub2[sub2num].fcChange(this.sub2hovercolor)
		this.showSub3(sub2num)
	}else if(subnum>-1){
		if(this.activeSub>-1) this.sub[this.activeSub].bgChange(this.subbgcoloroff)
		if(this.activeSub2>-1) this.sub2[this.activeSub2].bgChange(this.sub2bgcoloroff)
		this.activeSub=subnum
		this.sub[subnum].bgChange(this.subbgcoloron)
		if(!bw.ns4) this.sub[subnum].fcChange(this.subhovercolor)
		this.hideSub3()
		this.showSub2(subnum)
	}
}
//Mouseout on sub and sub2 menus
function cf_mmout(subnum,sub2num,sub3num){
	this.tim=setTimeout(this.name+".mout()",500)
	this.over=0
	if(sub3num>-1){
		this.sub3[sub3num].bgChange(this.sub3bgcoloroff)
		if(!bw.ns4) this.sub3[sub3num].fcChange(this.sub3textcolor)
	}else if(sub2num>-1){
		if(this.activeTop>-1 && this.activeSub>-1 && this.mtop[this.activeTop].sub.length!=0){
			if(!bw.ns4) this.sub2[sub2num].fcChange(this.sub2textcolor)
			if(!this.mtop[this.activeTop].sub[this.activeSub].sub[sub2num]) return 
			if(this.mtop[this.activeTop].sub[this.activeSub].sub[sub2num].sub.length==0) this.sub2[sub2num].bgChange(this.sub2bgcoloroff)
		}
	}else if(subnum>-1){
		if(this.activeTop>-1 && this.mtop[this.activeTop].sub.length!=0){
			if(!bw.ns4) this.sub[subnum].fcChange(this.subtextcolor)
			if(!this.mtop[this.activeTop].sub[subnum]) return 
			if(this.mtop[this.activeTop].sub[subnum].sub.length==0)	this.sub[subnum].bgChange(this.subbgcoloroff)
		}
	}
}
function cf_mmout2(name){
	this.tim=setTimeout(this.name+".mout()",500)
	this.over2=0
}
//Mouseover on the top menus
function cf_mover(num){
	if(!this.checkFrame() || !this.loaded) return
	clearTimeout(this.tim)
	if(this.activeTop>-1){
		if(this.bordersize>0) this.sub.border.hideIt()
		this.top[this.activeTop].bgChange(this.mainbgcoloroff)
		if(!bw.ns4) this.top[this.activeTop].css.color=this.maintextcolor
	}
	this.activeTop=num
	this.top[this.activeTop].bgChange(this.mainbgcoloron)
	this.hideSub2(); this.hideSub3()
	this.checkScrolled()
	if(!bw.ns4) this.top[num].css.color=this.mainhovercolor
	this.over2=1
	ln=this.mtop[num].sub.length
	for(i=0;i<this.maxsubs;i++){
		if(i<ln){
			this.sub[i].writeIt('<span class="clSub">'+this.mtop[num].sub[i].text+'</span>')
			this.sub[i].bgChange(this.subbgcoloroff)
			if(bw.ns4){
				this.sub[i].ref.captureEvents(Event.MOUSEDOWN)
				this.sub[i].ref.onmousedown=new Function(this.name+".go("+num+","+i+")")
			}else this.sub[i].evnt.onclick=new Function(this.name+".go("+num+","+i+")")
			this.sub[i].bgChange(this.subbgcoloroff)
			this.sub[i].showIt()
			if(this.frametype==0){
				x=this.subXplacement
				y=this.top[num].y + (this.subheight*i) +this.subYplacement + (this.bordersize*i)
			}else if(this.frametype==1){
				x=this.framesize- this.subwidth +this.subXplacement
				y=this.top[num].y + (this.subheight*i) +this.subYplacement + (this.bordersize*i)
			}else if(this.frametype==2){
				x=this.top[num].x+this.subXplacement
				y=this.subYplacement + (this.subheight*i) + (this.bordersize*i)
			}else if(this.frametype==3){
				x=this.top[num].x+this.subXplacement
				y=this.framesize - ((ln-i-1)*this.subheight)-this.subheight+this.subYplacement+(this.bordersize*i)-(this.bordersize*ln)
			}
			if(this.pagecheck){
				if(this.frametype==2 || this.frametype==3){
					if(x+this.subwidth>page.x2) x=this.top[num].x - this.subwidth + this.top[num].width
				}
			}
			this.sub[i].moveIt(x+this.scrolledX,y+this.scrolledY)
		}else this.sub[i].hideIt()
	}
	if(this.bordersize>0){
		if(ln!=0){
			this.sub.border.clipTo(0,this.subwidth + this.bordersize*2, this.subheight*ln + this.bordersize*(ln+1) ,0,1)
			this.sub.border.moveIt(this.sub[0].x-this.bordersize, this.sub[0].y-this.bordersize)
			this.sub.border.showIt()
		}else this.sub.border.hideIt()
	}
}
//Mouseout on all menus
function cf_mout(){
	if(!this.checkFrame() || !this.loaded || this.over) return
	this.activeTop=-1
	clearTimeout(this.tim)
	for(i=0;i<this.top.length;i++){this.top[i].bgChange(this.mainbgcoloroff); if(!bw.ns4) this.top[i].css.color=this.maintextcolor}
	for(i=0;i<this.maxsubs;i++){this.sub[i].hideIt()}
	if(this.bordersize>0) this.sub.border.hideIt()
	this.activeSub=-1; this.activeSub2=-1; this.activeSub2=-1
	this.hideSub2(); this.hideSub3()
}
/*****************************************************************************
Function that "resets" the object pointers when a new page loads. 
Without this Explorere crashes.
******************************************************************************/
function cf_refresh(){
	for(i=0;i<this.maxsubs;i++){
		this.sub[i]=new makeFObj(this.menuFrameName,'divSub'+i,this,-1,i,-1,-1)
	}
	for(i=0;i<this.maxsubs2;i++){
		this.sub2[i]=new makeFObj(this.menuFrameName,'divSub2_'+i,this,-1,-1,i,-1)
	}
	for(i=0;i<this.maxsubs3;i++){
		this.sub3[i]=new makeFObj(this.menuFrameName,'divSub3_'+i,this,-1,-1,-1,i)
	}
	this.loaded=true
	for(i=0;i<this.mtop.length;i++){
		if(this.bordersize>0) this.top[i].border.showIt()
		this.top[i].showIt()
	}
	if(this.frametype==1){ //Right menu
		this.framesize=bw.ns4||bw.ns5?top[this.menuFrameName].innerWidth+5:top[this.menuFrameName].document.body.offsetWidth-3;
	}else if(this.frametype==3){ //Bottom menu
		this.framesize=bw.ns4||bw.ns5?top[this.menuFrameName].innerHeight+5:top[this.menuFrameName].document.body.offsetHeight-1;
	}	
	if(this.bordersize>0){
		this.sub.border=new makeFObj(this.menuFrameName,'divSubBorder',this,-1,-1,-1,-1,1)
		this.sub2.border=new makeFObj(this.menuFrameName,'divSub2Border',this,-1,-1,-1,-1,1)
		this.sub3.border=new makeFObj(this.menuFrameName,'divSub3Border',this,-1,-1,-1,-1,1)
	}
}
/*****************************************************************************
Shows and hides the sub2s
******************************************************************************/
function cf_showSub2(num){
	if(this.activeTop<0) return 
	if(!this.mtop[this.activeTop].sub[num])return 
	ln=this.mtop[this.activeTop].sub[num].sub.length
	for(i=0;i<this.maxsubs2;i++){
		if(i<ln){
			this.sub2[i].writeIt('<span class="clSub2">'+this.mtop[this.activeTop].sub[num].sub[i].text+'</span>')
			this.sub2[i].bgChange(this.sub2bgcoloroff)	
			if(bw.ns4){
				this.sub2[i].ref.captureEvents(Event.MOUSEDOWN)
				this.sub2[i].ref.onmousedown=new Function(this.name+".go("+this.activeTop+","+num+","+i+")")
			}else this.sub2[i].evnt.onclick=new Function(this.name+".go("+this.activeTop+","+num+","+i+")")
			if(this.frametype==3) y=this.sub[num].y- ((ln-i-1)*this.sub2height)+this.sub2Yplacement+(this.bordersize*i)-(this.bordersize*ln)
			else y=this.sub[num].y+(i*this.sub2height)+this.sub2Yplacement+(this.bordersize*i)
			x=this.sub[num].x+this.sub2Xplacement
			if(this.pagecheck){
				if(this.frametype==2 || this.frametype==3){
					if(x+this.sub2width>page.x2) x=this.sub[num].x-this.sub2Xplacement
				}
			}
			this.sub2[i].moveIt(x,y)
			this.sub2[i].bgChange(this.sub2bgcoloroff)
			this.sub2[i].showIt()
		}else this.sub2[i].hideIt()
	}
	if(this.bordersize>0){
		if(ln!=0){
			this.sub2.border.clipTo(0,this.sub2width + this.bordersize*2, this.sub2height*ln + this.bordersize*(ln+1),0,1)
			this.sub2.border.moveIt(this.sub2[0].x-this.bordersize, this.sub2[0].y-this.bordersize)
			this.sub2.border.showIt()
		}else this.sub2.border.hideIt()
	}
}
function cf_hideSub2(num){
	for(i=0;i<this.maxsubs2;i++){
		this.sub2[i].hideIt()
	}
	if(this.bordersize>0) this.sub2.border.hideIt()
}
/*****************************************************************************
Shows and hides the sub3s
******************************************************************************/
function cf_showSub3(num){
	if(this.activeTop<0 || this.activeSub<0 || this.mtop[this.activeTop].sub.length==0) return 
	if(!this.mtop[this.activeTop].sub[this.activeSub].sub[num]) return 
	ln=this.mtop[this.activeTop].sub[this.activeSub].sub[num].sub.length
	for(i=0;i<this.maxsubs3;i++){
		if(i<ln){
			this.sub3[i].writeIt('<span class="clSub3">'+this.mtop[this.activeTop].sub[this.activeSub].sub[num].sub[i].text+'</span>')
			this.sub3[i].bgChange(this.sub3bgcoloroff)	
			if(bw.ns4){
				this.sub3[i].ref.captureEvents(Event.MOUSEDOWN)
				this.sub3[i].ref.onmousedown=new Function(this.name+".go("+this.activeTop+","+this.activeSub+","+num+","+i+")")
			}else this.sub3[i].evnt.onclick=new Function(this.name+".go("+this.activeTop+","+this.activeSub+","+num+","+i+")")
			if(this.frametype==3) y=this.sub2[num].y - ((ln-i-1)*this.sub3height) + this.sub3Yplacement+(this.bordersize*i)-(this.bordersize*ln)
			else y=this.sub2[num].y+ (i*this.sub3height) + this.sub3Yplacement+(this.bordersize*i)
			x=this.sub2[num].x+this.sub3Xplacement
			if(this.pagecheck){
				if(this.frametype==2 || this.frametype==3){
					if(x+this.sub3width+10>page.x2) x=this.sub2[num].x-this.sub3Xplacement
				}
			}
			this.sub3[i].moveIt(x,y)
			this.sub3[i].showIt()
		}else this.sub3[i].hideIt()
	}
	if(this.bordersize>0){
		if(ln!=0){
			this.sub3.border.clipTo(0,this.sub3width + this.bordersize*2, this.sub3height*ln + this.bordersize*(ln+1),0,1)
			this.sub3.border.moveIt(this.sub3[0].x-this.bordersize, this.sub3[0].y-this.bordersize)
			this.sub3.border.showIt()
		}else this.sub3.border.hideIt()
	}
}
function cf_hideSub3(num){
	for(i=0;i<this.maxsubs3;i++){
		this.sub3[i].hideIt()
	}
	if(this.bordersize>0) this.sub3.border.hideIt()
}
/*****************************************************************************
Sets the top menus
******************************************************************************/
function cf_construct(){
	this.top=new Array()
	this.x=this.checkp(this.fromleft,1); this.y=this.checkp(this.fromtop)
	this.pxbetween=this.checkp(this.pxbetween,0,1)
	for(i=0;i<this.mtop.length;i++){
		this.top[i]=new makeFObj(0,'divTop'+i,this,i,-1,-1,-1)
		this.top[i].bgChange(this.mainbgcoloroff)
		if(this.menuplacement!=0){
			if(this.frametype==2 || this.frametype==3) this.x=this.checkp(this.menuplacement[i],0,1)
			else this.y=this.checkp(this.menuplacement[i],0,1)
		}
		this.w=this.mtop[i].width||this.mainwidth
		this.top[i].moveIt(this.x,this.y)
		this.top[i].bgChange(this.mainbgcoloroff)
		this.top[i].clipTo(0,this.w,this.mainheight,0,1)
		this.top[i].width=this.w
		if(this.bordersize>0){
			this.top[i].border=new makeFObj(0,'divTop'+i+'Border',this,i,-1,-1,-1,1)
			this.top[i].border.moveIt(this.x-this.bordersize,this.y-this.bordersize)
			this.top[i].border.bgChange(this.bordercolor)
			this.top[i].border.clipTo(0,this.w+this.bordersize*2,this.mainheight+this.bordersize*2,0,1)
		}
		if(bw.ns4){
			this.top[i].ref.captureEvents(Event.MOUSEDOWN)
			this.top[i].ref.onmousedown=new Function(this.name+".go("+i+")")
		}else this.top[i].evnt.onclick=new Function(this.name+".go("+i+")")
		if(this.frametype==2 || this.frametype==3) this.x+=this.w+this.pxbetween
		else this.y+=this.mainheight+this.pxbetween
	}
	setTimeout("window.onresize=resized;",800)
}
/*****************************************************************************
Refreshing page if it's resized! - You can disable or change this if you want.
It's not 100% safe, but it should work in most frame enviroments
******************************************************************************/
function resized(){
	page2=new makePageCoords()
	if(page2.x2!=page.x2 || page.y2!=page2.y2){
		//Trapping what page that's in the frameset!
		if(top[oCFMenu.menuFrameName]) murl=top[oCFMenu.menuFrameName].location.href
		else murl=""
		if(murl.indexOf("http://")>-1){ //if not it's a local test page
			murl=murl.substr(murl.indexOf("/")+2,murl.length)
			currurl=location.href
			sign=currurl.indexOf("?")>-1?"&":"?"
			location.href=location.href  + sign + "resizedurl=" + murl
		}else location.reload()
	}
}
/*****************************************************************************
Make functions
******************************************************************************/
function cf_makeTop(text,link,target,width,fc){
	this.mtop[this.a]=new Array()
	this.mtop[this.a].sub=new Array()
	this.mtop[this.a].text=text
	this.mtop[this.a].link=link
	this.mtop[this.a].target=target
	this.mtop[this.a].width=width
	this.mtop[this.a].fc=fc
	this.b=0; this.a++
	if(this.bordersize>0) document.write('\n<div id="divTop'+(this.a-1)+'Border" class="clMainBorder"></div>\n')
	document.write('\n<div id="divTop'+(this.a-1)+'" class="clMain">'+text+'</div>\n')
}
function cf_makeSub(text,link,target,fc){
	this.mtop[this.a-1].sub[this.b]=new Array()
	this.mtop[this.a-1].sub[this.b].sub=new Array()
	this.mtop[this.a-1].sub[this.b].text=text
	this.mtop[this.a-1].sub[this.b].link=link
	this.mtop[this.a-1].sub[this.b].target=target
	this.mtop[this.a-1].sub[this.b].fc=fc
	this.c=0; this.b++
}
function cf_makeSub2(text,link,target,fc){
	this.mtop[this.a-1].sub[this.b-1].sub[this.c]=new Array()
	this.mtop[this.a-1].sub[this.b-1].sub[this.c].sub=new Array()
	this.mtop[this.a-1].sub[this.b-1].sub[this.c].text=text
	this.mtop[this.a-1].sub[this.b-1].sub[this.c].link=link
	this.mtop[this.a-1].sub[this.b-1].sub[this.c].target=target
	this.mtop[this.a-1].sub[this.b-1].sub[this.c].fc=fc
	this.d=0; this.c++
}
function cf_makeSub3(text,link,target,fc){
	this.mtop[this.a-1].sub[this.b-1].sub[this.c-1].sub[this.d]=new Array()
	this.mtop[this.a-1].sub[this.b-1].sub[this.c-1].sub[this.d].text=text
	this.mtop[this.a-1].sub[this.b-1].sub[this.c-1].sub[this.d].link=link
	this.mtop[this.a-1].sub[this.b-1].sub[this.c-1].sub[this.d].target=target
	this.mtop[this.a-1].sub[this.b-1].sub[this.c-1].sub[this.d].fc=fc
	this.d++
}
/*****************************************************************************
This function makes the string that will be written out in the main frame
whenever a page loads there.
******************************************************************************/
function cf_makeFrameString(){
	this.subwidth=this.checkp(this.subwidth,1)
	this.subheight=this.checkp(this.subheight)
	this.sub2width=this.checkp(this.sub2width,1)
	this.sub2height=this.checkp(this.sub2height)
	this.sub3width=this.checkp(this.sub3width,1)
	this.sub3height=this.checkp(this.sub3height)
	sw=bw.ns4?6:3;
	str='\n<style>\n'
		+'SPAN.clSub{'+this.substyle+'; width:'+(this.subwidth-sw)+'; color:'+this.subtextcolor+'}\n'
		+'SPAN.clSub2{'+this.sub2style+'; width:'+(this.sub2width-sw)+'; color:'+this.sub2textcolor+'}\n'
		+'SPAN.clSub3{'+this.sub3style+'; width:'+(this.sub3width-sw)+'; color:'+this.sub3textcolor+'}\n'
		+'DIV.clSubs{'+this.substyle+'; color:'+this.subcolor+'; cursor:hand; position:absolute; visibility:hidden; clip:rect(0,'+this.subwidth+','+this.subheight+',0); left:0; width:'+this.subwidth+'; height:'+this.subheight+'}\n'
	for(i=0;i<this.maxsubs;i++){
		str+='#divSub'+i+'{top:'+(this.subheight*i)+';}\n'	
	}
	if(this.bordersize>0){
		str+='#divSubBorder{position:absolute; background-color:'+this.bordercolor+'; layer-background-color:'+this.bordercolor+'}\n'
		str+='#divSub2Border{position:absolute; background-color:'+this.bordercolor+'; layer-background-color:'+this.bordercolor+'}\n'
		str+='#divSub3Border{position:absolute; background-color:'+this.bordercolor+'; layer-background-color:'+this.bordercolor+'}\n'
	}	
	str+='DIV.clSubs3{'+this.sub3style+'; color:'+this.sub3textcolor+'; cursor:hand; position:absolute; visibility:hidden; clip:rect(0,'+this.sub3width+','+this.sub3height+',0); left:0; width:'+this.sub3width+'; height:'+this.sub3height+'}\n'
	str+='DIV.clSubs2{'+this.sub2style+'; color:'+this.sub2textcolor+'; cursor:hand;position:absolute; visibility:hidden; clip:rect(0,'+this.sub2width+','+this.sub2height+',0); left:0; width:'+this.sub2width+'; height:'+this.sub2height+'}\n'
		+'</style>\n\n'
	this.frameString=str
	str="\n\n"
	if(this.bordersize>0) str+='<div id="divSubBorder"></div>\n\n'
	for(i=0;i<this.maxsubs;i++){
		str+='<div id="divSub'+i+'" class="clSubs"></div>\n'
	}
	if(this.bordersize>0) str+='<div id="divSub2Border"></div>\n\n'
	for(i=0;i<this.maxsubs2;i++){
		str+='<div id="divSub2_'+i+'" class="clSubs2"></div>\n'
	}
	if(this.bordersize>0) str+='<div id="divSub3Border"></div>\n\n'
	for(i=0;i<this.maxsubs3;i++){
		str+='<div id="divSub3_'+i+'" class="clSubs3"></div>\n'
	}
	this.frameString2=str	
}
/*****************************************************************************
Styles for the top items
******************************************************************************/
function cf_makeStyle(){
	this.mainheight=this.checkp(this.mainheight)
	this.mainwidth=this.checkp(this.mainwidth,1)
	str='\n\n<style>\n'
	str+='\tDIV.clMain{position:absolute; cursor:hand; color:'+this.maintextcolor+'; visibility:hidden; '+this.topstyle+' }\n'
	if(this.bordersize>0)str+='\tDIV.clMainBorder{position:absolute; cursor:hand; visibility:hidden; '+this.topstyle+' }\n'	
	str+='</style>\n\n'	
	document.write(str)
}
/*****************************************************************************
Going to another page
******************************************************************************/
function cf_go(num,subnum,sub2num,sub3num){
	if(sub3num>-1){
		url=this.mtop[num].sub[subnum].sub[sub2num].sub[sub3num].link
		target=this.mtop[num].sub[subnum].sub[sub2num].sub[sub3num].target
		fc=this.mtop[num].sub[subnum].sub[sub2num].sub[sub3num].fc
	}else if(sub2num>-1){
		url=this.mtop[num].sub[subnum].sub[sub2num].link
		target=this.mtop[num].sub[subnum].sub[sub2num].target
		fc=this.mtop[num].sub[subnum].sub[sub2num].fc
	}else if(subnum>-1){
		url=this.mtop[num].sub[subnum].link
		target=this.mtop[num].sub[subnum].target
		fc=this.mtop[num].sub[subnum].fc
	}else{
		url=this.mtop[num].link
		target=this.mtop[num].target
		fc=this.mtop[num].fc
	}	
	if(url){
		this.over=0; this.mout()
		if(target=="_blank") window.open(url)
		else if(target=="_top" || target=="window") top.location.href=url  
		else top[target].location.href=url
	}else if(fc){
		eval(fc)
	}
}

/*****************************************************************************
Making the main CoolFrame menu object
******************************************************************************/
function coolFrameMenu(name){
	page=new makePageCoords()
	this.name=name
	this.sub=new Array(); this.sub2=new Array()
	this.sub3=new Array(); this.construct=cf_construct;
	this.over=false; this.tim=100
	this.refresh=cf_refresh;
	this.checkFrame=cf_checkFrame; this.mmout2=cf_mmout2
	this.mover=cf_mover; this.mout=cf_mout;
	this.mmover=cf_mmover; this.mmout=cf_mmout;
	this.a=0; this.b=0; this.c=0; this.d=0;
	this.loaded=false; this.mtop=new Array()
	this.makeTop=cf_makeTop; this.makeSub=cf_makeSub;
	this.makeSub2=cf_makeSub2; this.makeSub3=cf_makeSub3;
	this.showSub2=cf_showSub2; this.hideSub2=cf_hideSub2;
	this.showSub3=cf_showSub3; this.hideSub3=cf_hideSub3;
	this.activeTop=-1; this.activeSub=-1
	this.lastSub=-1; this.frameString2=0
	this.makeFrameString=cf_makeFrameString;
	this.makeStyle=cf_makeStyle;
	this.checkp=cf_checkp;
	this.go=cf_go;
	this.scrolledX=0; this.scrolledY=0
	this.checkScrolled=cf_checkScrolled;
}
    
