home *** CD-ROM | disk | FTP | other *** search
- 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;",500)
- }
- /*****************************************************************************
- 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;
- }
-