/**Copyright (c) 2001 Thomas Brattli (www.dhtmlcentral.com)**/
/*************
Pageobject
***************/
function makePageCoords(win,fr){
if(!win) win=window
this.x=0;this.x2=(bw.ns4 || bw.ns6)?win.innerWidth-1:win.document.body.offsetWidth;
if(!fr&&bw.ie) this.x2-=20; else if(!fr&&bw.ns4) this.x2-=4; else if(bw.ns6) this.x2+=1
this.y=0;this.y2=(bw.ns4 || bw.ns6)?win.innerHeight:win.document.body.offsetHeight;
if(bw.ns4&&!win.rows) this.x2+=5; if(!fr&&bw.ie) this.y2-=4; else if(bw.ns4&&fr) this.y2+=4
this.y2orig=this.y2; this.x50=this.x2/2; this.y50=this.y2/2; return this;
}
/*************
Debugging function
***************/
function debug(txt,ev){if(mDebugging==2) self.status=txt; else alert(txt); if(ev) eval(ev); return false}
/************
Scroll function
*************/
function cm_checkScrolled(obj){
if(bw.ns4 || bw.ns6) obj.scrolledY=obj.win.pageYOffset
else obj.scrolledY=obj.win.document.body.scrollTop
if(obj.scrolledY!=obj.lastScrolled){
if(!obj.useframes){
for(i=0;ithis.l[l].maxnum) this.l[l].maxnum=this.m[parent].subs.length
if(this.m[parent].totheight==0) this.m[parent].totheight=this.l[l].border
this.m[parent].totheight+=obj.height+ this.l[l].border
if(this.m[parent].maxwidthobj.width?this.maxwidth:obj.width; this.maxheight=this.maxheight>obj.height?this.maxwidth:obj.height
}if(img1) text='
'
else if(bw.ns4){text=''+text+''}
if(bw.ns4&&this.useNS4links&&(l==0||!this.useframes) ||(l==0&&img1)){tt=img1&&l==0?this.useclick?this.name+".mover('"+name+"',1);":this.name+".go('"+name+"');":"";text=''+text+''}
if(img1){obj.preimg1=new Image(); obj.preimg1.src=img1}; if(img2){obj.preimg2=new Image(); obj.preimg2.src=img2}
if(img2) obj.img="imgCMenu"+name; else obj.img=0; obj.img1=img1||""; obj.img2=img2||""; obj.text=text; obj.subx=-1;
obj.c1=bgcoloroff||prop1.bgcoloroff||prop2.bgcoloroff; obj.c2=bgcoloron||prop1.bgcoloron||prop2.bgcoloron;
obj.c3=textcolor||this.l[l].tc; obj.c4=hovercolor||prop1.hovercolor||prop2.hovercolor; obj.suby=-1;
obj.mclick=onclick||""; obj.mover=onmouseover||""; obj.mout=onmouseout||""; obj.totheight=0; obj.maxwidth=0;
}
/************
Onmouseout
*************/
function cm_mout(name,cl){
if(!name&&cl&&!this.isover){this.isclicked=0; this.hideSubs(1,0,0,0,1); this.aobj[0]=-1; return}
if(!name) return; var l=this.m[name].l;
if((this.m[name].subs.length==0||!this.loaded)||(this.useclick&&!this.isclicked)){if((this.aobj[l+1]==-1||l>=this.l.length-1)&&this.aobj[l]!=-1){this.aobj[l].setactive(0,0,1); this.aobj[l]=-1;}}
if(this.m[name].mout!="") eval(this.m[name].mout)
if(this.useclick){this.isover=0; return}; clearTimeout(this.tim);
if(!(!bw.ie&&this.useframes&&l==0&&this.aobj1)){ this.isover=0; this.aobj1=0; this.tim=setTimeout(this.name+".hideSubs(1,0,0,0,1)",this.wait)}
}
/************
Onmouseover
*************/
function cm_mover(name,cl){
clearTimeout(this.tim); this.isover=1; var l=this.m[name].l;
if(this.aobj[l].name==name){
if(this.aobj[l+1]!=-1 && lpage.x2){
if(align!=1){if(align==3&&topalign!=0) topalign=3; align=1; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
}else if(this.m[name].subxpage.y2){
if(l==1){topalign=3; this.getCoords(name,l,num,topalign,align,ln,border,cn,3)}
else if(align!=3){ align=3; this.getCoords(name,l,num,topalign,align,ln,border,cn)}
}else if(this.m[name].suby=this.l.length) return; ln=this.m[name].subs.length
if(ln==0){this.hideSubs(l,1,0,1); return}
else this.hideSubs(l+1,1); var border=this.l[l].border; this.aobj[l]=-1
if(this.useframes&&(bw.ns4||bw.ns6)) cm_checkScrolled(this)
if((this.m[name].subx==-1 || this.m[name].suby==-1) || this.m[name].scrollY!=this.lastScrolled || this.isresized){
var topalign=this.l[0].align; var align=this.l[l-1].align;
this.getCoords(name,l,num,topalign,align,ln,border,0)
}var x=this.m[name].subx; var y=this.m[name].suby;
var bobj=this.l[l].oBorder; bobj.hideIt();
if(this.l[l-1].clip&&!(this.l[l-1].filter&&bw.filter)){
clearTimeout(bobj.tim); bobj.clipy=0; bobj.clipTo(0,this.m[name].maxwidth,0,0);
}else bobj.clipTo(0,this.m[name].maxwidth,this.m[name].totheight,0,1)
bobj.moveIt(x,y); var yy=border
for(i=0;ithis.m[name].subx && selx<(this.m[name].subx+this.m[name].maxwidth))
&&((sely+selh)>this.m[name].suby && sely<(this.m[name].suby+this.m[name].totheight))){
if(this.sel[i].style.visibility!="hidden"){this.sel[i].level=l; this.sel[i].style.visibility="hidden"; this.hcode+=this.name+".sel["+i+"].style.visibility='visible';"}
}else if(l<=this.sel[i].level) this.sel[i].style.visibility="visible"
}
}else if(bw.ns4&&this.hideForm){eval(this.hideForm+".visibility='hide'"); this.hcode=this.hideForm+".visibility='show'"}
}
/************
Making all top elements
*************/
function cm_makeTop(rr){
var m,rows,border,x,y,mpa
m=this.menuplacement; rows=this.rows; this.pxbetween=this.checkp(this.pxbetween,0,1,1)
border=this.l[0].border;y=this.checkp(this.fromtop,0,0,1)+border;x=this.checkp(this.fromleft,0,0,1)+border
if(m=="bottomcenter"||m=="bottom"){
if(m=="bottomcenter") x=toppage.x2/2-(this.totwidth+border*this.l[0].num+this.pxbetween*(this.l[0].num-1))/2
y=toppage.y2-this.maxheight-border
}else if(m=="right") x=toppage.x2-this.maxwidth-border*2
else if(m=="bottom") y=toppage.y2-this.maxheight-border*2
else if(m=="center"){if(rows==0) x=toppage.x2/2 - (this.maxwidth+border*2)/2; else x=toppage.x2/2 - (this.totwidth + border*this.l[0].num +this.pxbetween*(this.l[0].num-1))/2}
else if(m.toString().indexOf(",")>-1) mpa=1
if(this.usebar){ var bx,by,bww,bh,oBb
oNS=bw.ns6?this.oNS[this.l[0].maxnum]:0
this.oBar=new cm_makeObj('div'+this.name+'Bar',0,0,window,0,oNS)
if(this.barx=="menu") bx=mpa&&rows?this.checkp(m[0],1,0,1)-border:x-border; else{ bx=this.checkp(this.barx,1,0,1) }
if(this.bary=="menu") by=mpa&&!rows?this.checkp(m[0],0,0,1)-border:y-border; else by=this.checkp(this.bary,0,0,1); this.oBar.moveIt(bx,by)
if(this.barwidth=="menu"){bww=rows?mpa?(this.checkp(m[m.length-1],1,0,1)-bx)+this.m[this.l[0].names[this.l[0].num-1]].width+border:(this.totwidth +this.pxbetween*(this.l[0].num-1)):this.maxwidth;
bww+=!rows?border*2:0;}else bww=this.checkp(this.barwidth,1,0,1);
if(bw.ie&&rows&&this.barwidth=="100%"&&this.useframes) bww+=parseInt(self.document.body.leftMargin)*2
if(this.barheight=="menu"){bh=!rows?mpa?(this.checkp(m[m.length-1],0,0,1)-by)+this.m[this.l[0].names[this.l[0].num-1]].height+border:(this.totheight + this.pxbetween*(this.l[0].num-1)):this.maxheight;
bh+=rows?this.l[0].border*2:0;} else bh=this.checkp(this.barheight,0,0,1);
this.oBar.clipTo(0,bww,bh,0,1);
if(this.barinheritborder&&border){oBb=new cm_makeObj('div'+this.name+'Barb',0,0,window,'div'+this.name+'Bar');
oBb.moveIt(border,border); oBb.clipTo(0,bww-border*2,bh-border*2,0,1); oBb=null;}
}this.l[0].o=new Array()
for(j=0;j\n'
for(j=0;j'
str+=tempstr+' class="cl'+this.name+i+'">'+txt+''; str+='\n'
}else this.oNS[j]=cm_NS6_createElement(this.ns6styleb[i],tempstr+' class="cl'+this.name+i+'">'+txt+'')
}else frstr+=tempstr+'">\n'
}if(i!=0){frstr+='\n'}
}if(this.usebar){
if(this.barinheritborder) str2='';
if(bw.ns6) this.oNS[this.l[0].maxnum]=cm_NS6_createElement(this.ns6styleb[this.ns6styleb.length-1],str2)
else{str+='';str+=str2+'
\n'}
}if(!this.useframes&&bw.ie) str+=frstr; else this.frstr=frstr; if(!bw.ns6) document.write(str)
this.makeTop(); if(this.useframes) window.onerror=cm_check_error;
}
coolFrameError=0//Trapping external pages in frame error!
function cm_check_error(e){e=e.toLowerCase(); if(e.indexOf("access")>-1||e.indexOf("permission")>-1){coolFrameError=1; return true;}else return false}
/**************
Make styles
**************/
function cm_makeStyle(){
var str="\n")
}
/************
Refreshing page if it's resized
*************/
function cm_resized(){
page2=new makePageCoords(window,this.useframes);
if(page2.x2!=toppage.x2 || page2.y2!=toppage.y2){
if(!bw.ns4){
toppage=new makePageCoords(window,this.useframes); this.makeTop(1)
if(!this.useframes) page=toppage; this.isresized=1; eval(this.resizecode)
}else{this.win.location.reload(); location.reload()}
}if(!bw.ns4&&this.useframes){page=new makePageCoords(this.win,this.useframes)}
}
/************
Going to another page
*************/
function cm_go(name){
obj=this.m[name]; url=obj.lnk; target=obj.target; fc=obj.mclick
if(url){
if(this.useframes&&!coolFrameError) loc=this.win.location.href; else loc=location.href
if(fc) eval(fc); url=this.checkFolder(loc.toString(),url); this.isover=0;
this.hideSubs(1,0,1); this.isclicked=0; this.aobj[0]=-1
if(String(target)=="undefined" || target=="" || target==0 || target=="_self"){
this.win.location.href=url
}else if(target=="_blank") window.open(url)
else if(target=="_top" || target=="window") top.location.href=url
else if(top[target]) top[target].location.href=url
else{fr=findFrame(target); if(fr) fr.location.href=url}
}else if(fc) eval(fc)
}
/************
Getting folders - THANKS TO DCAGE FOR THIS FIX
*************/
function cm_checkFolder(tmp,url){
if(url.indexOf("mailto:")>-1 || url.indexOf("/")==0 || url.indexOf("http://")==0) return url
else if(this.useframes && bw.ie || bw.ns6) return url
var addr=''; var lvl=''; var off_cnt=0; var cnt=0;
if(tmp.indexOf('file:')>-1 || tmp.charAt(1)==':') addr=this.offlineUrl;
else if(tmp.indexOf('http:')>-1) addr=this.onlineUrl;
for(var i=0;ioff_cnt) lvl+='../'; }}
return lvl + url
}
/************
Checkloaded for the frames version
*************/
function cm_checkLoaded(ev,ns){
coolFName=eval(coolFName)
var ok=0
if(document.layers){
if(ns){coolFName.refresh(); coolFName.nsload=1; ok=1; coolFrameError=0
}else if(ev.target.name==coolFName.frame&&!coolFName.nsload){coolFName.refresh(); ok=1; coolFrameError=0; routeEvent(ev)}
}else if(bw.ie){
if (coolFName.win.document.readyState == "complete"){
coolFName.win.document.body.insertAdjacentHTML("beforeEnd",coolFName.frstr)
coolFName.win.document.body.onunload=cm_unloaded; coolFName.refresh(); ok=1; coolFrameError=0
}else setTimeout("cm_checkLoaded()",200)
}else if(bw.ns6){
if(coolFName.win.document){
if(coolFName.win.document.body){coolFName.win.addEventListener("unload", cm_unloaded, true); coolFName.refresh(); ok=1; coolFrameError=0}
else setTimeout("cm_checkLoaded()",200)
}else setTimeout("cm_checkLoaded()",200)
}
}
function cm_unloaded(ev){coolFName=eval(coolFName); if(!coolFName) return; if(document.layers && ev.target.name!=coolFName.frame) return; else coolFName.nsload=0; coolFName.loaded=0; if(!document.layers) setTimeout("cm_checkLoaded()",200)}
/************
Make menu object
*************/
var coolFName=""; var onload; var coolFMouseup="";
function makeCoolMenu(name){
coolFName=name; this.name=name; this.lastScrolled=0;
this.win=window; toppage=new makePageCoords(window,parent.frames.length);
this.aobj=new Array(); this.m=new Array(); this.l=new Array()
this.level=new Array(); this.resized=cm_resized;
this.makeMenu=cm_makeMenu; this.showSubs=cm_showSubs; this.makeTop=cm_makeTop;
this.getCoords=cm_getCoords; this.checkPage=cm_checkPage;
this.mmout=cm_mout; this.mover=cm_mover; this.checkp=cm_checkp;
this.hideSubs=cm_hideSubs; this.construct=cm_construct;
this.makeStyle=cm_makeStyle; this.refresh=cm_refresh;
this.go=cm_go; this.frstr=""; this.mobj=new Array()
this.totwidth=0; this.totheight=0; this.maxwidth=0; this.maxheight=0
this.tim=10; this.loaded=0; this.isover=false; this.checkFrame=cm_checkFrame;
this.checkFolder=cm_checkFolder; this.hcode=""; this.oNS=new Array(); this.oNS2=new Array()
bw.filter=(bw.ie6||bw.ver.indexOf("MSIE 5.5")>-1) && !bw.mac
}
/************
Find frame
*************/
function findFrame(frameName){
obj=top; var frameObj=0;
for(i=0;i