Archived

This topic is now archived and is closed to further replies.

sab3156

Javascript Undefined Link

Recommended Posts

hello, when i am using something like this: oM.makeMenu(''m1'','''',''General'',''general.htm'','''',120,0); and in the browser i hover over it, on the browser status bar, it says: undefinedgeneral.htm and when i click it, it doesn''t work! what am i doing wrong!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
it means that general.htm is not in the same directory as your script. If it is, check the spelling and capitalization.

Share this post


Link to post
Share on other sites

oM=new makeCM("oM"); oM.resizeCheck=1; oM.rows=1; oM.onlineRoot="/"; oM.pxBetween =0;
oM.fillImg="cm_fill.gif"; oM.fromTop=115; oM.fromLeft=155; oM.wait=300; oM.zIndex=400;
oM.useBar=1; oM.barWidth="100%"; oM.barHeight="menu"; oM.barX=0;oM.barY="menu"; oM.barClass="clBar";
oM.barBorderX=0; oM.barBorderY=0;
oM.level[0]=new cm_makeLevel(90,21,"clT","clTover",1,1,"clB",0,"bottom",0,0,0,0,0);
oM.level[1]=new cm_makeLevel(102,22,"clS","clSover",1,1,"clB",0,"right",0,0,"menu_arrow.gif",10,10);
oM.level[2]=new cm_makeLevel(110,22,"clS2","clS2over");
oM.level[3]=new cm_makeLevel(140,22);

oM.makeMenu(''m1'','''',''General'',''/news/?m=1'');

var avail="190+((cmpage.x2-235)/7)";
oM.menuPlacement=new Array(192,avail+"-11",avail+"*2-8",avail+"*3-12",avail+"*4-7",avail+"*5-9",avail+"*6+5")
oM.construct()




that''s the menu javascript code. here''s the dynamicMenu.js script: (next post)

Share this post


Link to post
Share on other sites

function cm_bwcheck(){
this.ver=navigator.appVersion
this.agent=navigator.userAgent.toLowerCase()
this.dom=document.getElementById?1:0
this.op5=(this.agent.indexOf("opera 5")>-1 || this.agent.indexOf("opera/5")>-1) && window.opera
this.op6=(this.agent.indexOf("opera 6")>-1 || this.agent.indexOf("opera/6")>-1) && window.opera
this.ie5 = (this.agent.indexOf("msie 5")>-1 && !this.op5 && !this.op6)
this.ie55 = (this.ie5 && this.agent.indexOf("msie 5.5")>-1)
this.ie6 = (this.agent.indexOf("msie 6")>-1 && !this.op5 && !this.op6)
this.ie4=(this.agent.indexOf("msie")>-1 && document.all &&!this.op5 &&!this.op6 &&!this.ie5&&!this.ie6)
this.ie = (this.ie4 || this.ie5 || this.ie6)
this.mac=(this.agent.indexOf("mac")>-1)
this.ns6=(this.agent.indexOf("gecko")>-1 || window.sidebar)
this.ns4=(!this.dom && document.layers)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.op5 || this.op6)
this.usedom= this.ns6//Use dom creation

this.reuse = this.ie||this.usedom //Reuse layers

this.px=this.dom&&!this.op5?"px":""
return this
}var bw=new cm_bwcheck()
/*Variable declaration*/
var cmpage
/*Crossbrowser objects functions*/
function cm_message(txt){alert(txt); return false}
function cm_makeObj(obj,nest,o,doc){ //Changed in v4.05

if(!doc) doc=document
if(bw.usedom&&o) this.evnt=o
else{nest=(!nest) ? "
doc.":'doc.layers.'+nest+'.'
this.evnt=bw.dom? doc.getElementById(obj):
bw.ie4?doc.all[obj]:bw.ns4?eval(nest+"
layers." +obj):0;
}
if(!this.evnt) return cm_message('The layer does not exist ('+obj+')'
+'- \nIf your using Netscape please check the nesting of your tags (on the entire page)\nNest:'+nest)
this.css=bw.dom||bw.ie4?this.evnt.style:this.evnt; this.ok=0
this.ref=bw.dom||bw.ie4?doc:this.css.document;
this.obj = obj + "
Object"; eval(this.obj + "=this");
this.x=0; this.y=0; this.w=0; this.h=0; this.vis=0; return this
}
cm_makeObj.prototype.moveIt = function(x,y){this.x=x;this.y=y; this.css.left=x+bw.px;this.css.top=y+bw.px}
cm_makeObj.prototype.showIt = function(o){this.css.visibility="
visible"; this.vis=1; if(bw.op5&&this.arr){ this.arr.showIt(); }}//alert('showing arrow')}}

cm_makeObj.prototype.hideIt = function(no){this.css.visibility="
hidden"; this.vis=0;}
cm_makeObj.prototype.clipTo = function(t,r,b,l,setwidth){
this.w=r; this.h=b; if(bw.ns4){this.css.clip.top=t;this.css.clip.right=r; this.css.clip.bottom=b;this.css.clip.left=l
}else{if(t<0)t=0;if(r<0)r=0;if(b<0)b=0;if(b<0)b=0; this.css.clip="
rect("+t+bw.px+","+r+bw.px+","+b+bw.px+","+l+bw.px+")";
if(setwidth){if(bw.op5||bw.op6){this.css.pixelWidth=r; this.css.pixelHeight=b;}else{this.css.width=r+bw.px; this.css.height=b+bw.px;}}}}
function cm_active(on,h){
if(this.o.arr) on?this.o.arr.hideIt():bw.op5?this.o.arr.showIt():this.o.arr.css.visibility="
inherit"
if(bw.reuse||bw.usedom){
if(!this.img2) this.o.evnt.className=on?this.cl2:this.cl
else this.o.ref.images["
img"+this.name].src=on?this.img2.src:this.img1.src; //Changed v4.05

if(on && bw.ns6){this.o.hideIt(); this.o.css.visibility='inherit' }; //netscape 6 bug fix

}else{
if(!this.img2){ if(on) this.o.over.showIt(); else this.o.over.hideIt();
}else this.o.ref.images["
img"+this.name].src=on?this.img2.src:this.img1.src;
}this.isactive=on?1:0
}
/***Pageobject **/
function cm_page(frame){ //Changed v4.05

if(!frame) frame = self
this.x=0; this.x2 =(!bw.ie)?frame.innerWidth:frame.document.body.offsetWidth-20;
this.y=0; this.orgy=this.y2= (!bw.ie)?frame.innerHeight:frame.document.body.offsetHeight-6;
this.x50=this.x2/2; this.y50=this.y2/2; return this
}
/***check positions**/
function cm_cp(num,w,minus){
if(num){if(num.toString().indexOf("
%")!=-1){var t = w?cmpage.x2:cmpage.y2; num=parseInt((t*parseFloat(num)/100))
if(minus) num-=minus }else num=eval(num);} else num=0; return num
}
/**Level object**/
function cm_makeLevel(){
var c=this, a=arguments; c.width=a[0]||null; c.height=a[1]||null;
c.regClass=a[2]||null; c.overClass=a[3]||null; c.borderX=a[4]||null;
c.borderY=a[5]||null; c.borderClass=a[6]||null; c.rows=a[7]>-1?a[7]:null;
c.align=a[8]||null; c.offsetX=a[9]||null; c.offsetY=a[10]||null; c.arrow=a[11]||null;
c.arrowWidth=a[12]||null; c.arrowHeight=a[13]||null; return c
}
/***Making the main menu object**/
function makeCM(name){ //Changed v4.05

var c=this; c.mc=0; c.name = name; c.m=new Array(); c.level=new Array(); c.l=new Array(); c.tim=100; c.isresized=0;
c.isover=0; c.zIndex=100; c.frameStartLevel=1; c.bar=0; c.z=0; c.totw=0; c.toth=0; c.maxw=0; c.maxh=0; cmpage = new cm_page(); c.constructed = 0;
return this
}//events

makeCM.prototype.onshow="
"; makeCM.prototype.onhide=""; makeCM.prototype.onconstruct="";
/***Creating layers**/
function cm_divCreate(id,cl,txt,w,c,app,ex,txt2){
if(bw.usedom){var div=document.createElement("
DIV"); div.className=cl; div.id=id;
if(txt) div.innerHTML=txt; if(app){app.appendChild(div); return div}
if(w) document.body.appendChild(div); return div
}else{var dstr='<div id="
'+id+'" class="'+cl+'"'
if(ex&&bw.reuse) dstr+="
"+ex; dstr+=">"+txt; ; if(txt2) dstr+=txt2;
if(c) dstr+='</div>'; if(w) document.write(dstr); else return dstr
}return "
"
}
/***Getting layer string for each menu**/
function cm_getLayerStr(m,app,name,fill,clb,arrow,ah,aw,root){
var no=m.nolink,arrstr='',l=m.lev,str='',txt=m.txt,ev='', id=name + '_' + m.name,d1; if(app) d1=app
if((!bw.reuse||l==0) && !no){
ev=' onmouseover="
'+name+'.showsub(\''+m.name+'\')"'
+' onmouseout="
'+name+'.mout(\''+m.name+'\')"'
+' onclick="
'+name+'.onclck(\''+m.name+'\'); return false" '
}
if(bw.reuse&&l!=0) txt=''; if(l==0) str+=d1=cm_divCreate(id+'_0',clb,''); str+=m.d2=cm_divCreate(id,m.cl,txt,0,0,d1,ev)
if(l==0&&bw.usedom){
m.d2.whenclickedon=new Function(name+'.onclck("
'+m.name+'")');
m.d1=d1;
m.d2.onmouseover=new Function(name+'.showsub("
'+m.name+'")');
m.d2.onmouseout=new Function(name+'.mout("
'+m.name+'")')
}if(!bw.reuse && !m.img1 && !no){
str+=cm_divCreate(id+'_1',m.cl2,txt,0,1)
str+=cm_divCreate(id+'_3',"
clCMAbs",'<a href="#" '+ev+'><img alt="" src="'+root+fill+'" width="'+m.w+'" height="'+m.h+'" border="0" /></a>',0,1)
}str+='</div>';
if(l==0){if(arrow)str+=m.d3=cm_divCreate(id+'_a','clCMAbs','<img alt="
" height="'+aw+'" width="'+ah+'" src="'+root+arrow+'" />',0,1,d1); str+="</div>"}
str+="
\n"; if(!bw.reuse){m.txt=null; m.d2=null; m.d3=null;}
if(bw.usedom){ if(l==0) document.body.appendChild(d1); str=''}
return str
}
/***get align num from text (better to evaluate numbers later)**/
function cm_checkalign(a){
switch(a){
case "
right": return 1; break; case "left": return 2; break;
case "
bottom": return 3; break; case "top": return 4; break;
case "
righttop": return 5; break; case "lefttop": return 6; break;
case "
bottomleft": return 7; break; case "topleft": return 8; break;
}return null
}
/**Making each individual menu **/
makeCM.prototype.makeMenu=function(name,parent,txt,lnk,targ,w,h,img1,img2,cl,cl2,align,rows,nolink,whenclickedon,onmouseover,onmouseout){
var c = this; if(!name) name = c.name+"
"+c.mc; var p = parent!=""&&parent&&c.m[parent]?parent:0;
if(c.mc==0){var tmp=location.href;
if(tmp.indexOf('file:')>-1||tmp.charAt(1)==':') c.root=c.offlineRoot; else c.root=c.onlineRoot
if(c.useBar){if(!c.barBorderClass) c.barBorderClass=c.barClass; c.bar1 = cm_divCreate(c.name+'bbar_0',c.barClass,'',0,1);
c.bar = cm_divCreate(c.name+'bbar',c.barBorderClass,'',1,1,0,0,c.bar1); if(bw.usedom) c.bar.appendChild(c.bar1);
}}var create=1,img,arrow; var m = c.m[name] = new Object(); m.name=name; m.subs=new Array(); m.parent=p; m.arnum=0; m.arr=0
var l = m.lev = p?c.m[p].lev+1:0; c.mc++; m.hide=0;
if(l>=c.l.length){
var p1,p2=0; if(l>=c.level.length) p1=c.l[c.level.length-1];
else p1=c.level[l]; c.l[l]=new Array(); if(!p2) p2=c.l[l-1]
if(l!=0){ if(isNaN(p1.align)) p1["
align"]=cm_checkalign(p1.align)
for(i in p1){if(i!="
str"&&i!="m"){if(p1[i]==null) c.l[l][i]=p2[i]; else c.l[l][i]=p1[i] }}
}else{c.l[l]=c.level[0]; c.l[l].align=cm_checkalign(c.l[l].align)}
c.l[l]["
str"]=''; c.l[l].m=new Array(); if(!c.l[l].borderClass) c.l[l].borderClass=c.l[l].regClass
c.l[l].app=0; c.l[l].max=0; c.l[l].arnum=0; c.l[l].o=new Array(); c.l[l].arr=new Array()
c.level[l]=p1=p2=null
if(l!=0) c.l[l].str=c.l[l].app=cm_divCreate(c.name+ '_' +l+'_0',c.l[l].borderClass,'')
}if(p){p = c.m[p]; p.subs[p.subs.length]=name;
if(p.subs.length==1&&c.l[l-1].arrow){ p.arr=1;
if(p.parent){c.m[p.parent].arnum++
if(c.m[p.parent].arnum>c.l[l-1].arnum){
c.l[l-1].str+=c.l[l-1].arr[c.l[l-1].arnum]=cm_divCreate(c.name+ '_a' +(l-1)+'_'+c.l[l-1].arnum,'clCMAbs','<img height="
'+c.l[l-1].arrowHeight
+'" width="'+c.l[l-1].arrowWidth+'" src="'+c.root+c.l[l-1].arrow+'" alt="" />',0,1,c.l[l-1].app); c.l[l-1].arnum++
}}}if(bw.reuse) if(p.subs.length>c.l[l].max) c.l[l].max = p.subs.length; else create=0
}m.rows=rows>-1?rows:c.l[l].rows; m.w=cm_cp(w||c.l[l].width,1); m.h=cm_cp(h||c.l[l].height,0); m.txt=txt; m.lnk=lnk;
if(align) align=cm_checkalign(align); m.align=align||c.l[l].align; m.cl=cl=cl||c.l[l].regClass;
m.targ=targ; m.cl2=cl2||c.l[l].overClass; m.create=create; m.mover=onmouseover; m.out=onmouseout;
m.onclck=whenclickedon; m.active = cm_active; m.isactive=0; m.nolink=nolink
if(create) c.l[l].m[c.l[l].m.length]=name
if(img1){m.img1 = new Image(); m.img1.src=c.root+img1; if(!img2) img2=img1; m.img2 = new Image(); m.img2.src=c.root+img2;
m.cl="
clCMAbs"; m.txt=''; if(!bw.reuse&&!nolink) m.txt = '<a href="#" onmouseover="'+c.name+'.showsub(\''+name+'\')" onmouseout="'+c.name+'.mout(\''+name+'\')" onclick="'+c.name+'.onclck(\''+name+'\'); return false">';;
m.txt+='<img alt="
" src="'+c.root+img1+'" width="'+m.w+'" height="'+m.h+'" id="img'+m.name+'" '
if(bw.dom&&!nolink) m.txt+='nostyle="
cursor:Pointer; cursor:hand"'; if(!bw.reuse){if(!bw.dom) m.txt+='name="img'+m.name+'"'; m.txt+=' border="0"'}; m.txt+=' />'; if(!bw.reuse&&!nolink) m.txt+='</a>'
}else{m.img1=0; m.img2=0};
if(l==0||create) c.l[l].str+=cm_getLayerStr(m,c.l[l].app,c.name,c.fillImg,c.l[l].borderClass,c.l[l].arrow,c.l[l].arrowWidth,c.l[l].arrowHeight,c.root)
if(l==0){if(m.w>c.maxw) c.maxw=m.w; if(m.h>c.maxh) c.maxh=m.h; c.totw+=c.pxBetween+m.w+c.l[0].borderX;c.toth+=c.pxBetween+m.h+c.l[0].borderY}
if(lnk && !onmouseover) m.mover="
self.status='"+c.root+m.lnk+"'"
}
/**Getting x/y coords for subs **/
makeCM.prototype.getcoords=function(m,bx,by,x,y,maxw,maxh,ox,oy){
var a=m.align; x+=m.o.x; y+=m.o.y
switch(a){
case 1: x+=m.w+bx; break; case 2: x-=maxw+bx; break;
case 3: y+=m.h+by; break; case 4: y-=maxh+by; break;
case 5: x-=maxw+bx; y-=maxh-m.h; break;
case 6: x+=m.w+bx; y-=maxh-m.h; break;
case 7: y+=m.h+by; x-=maxw-m.w; break;
case 8: y-=maxh+by; x-=maxw-m.w+bx; break;
}//Added v4.05

if(m.lev==this.frameStartLevel-1 && this.frames){
switch(a){
case 1: x=0; break;
case 2: x=this.cmpage.x2-maxw; break;
case 3: y=0; break;
case 4: y-=maxh+by; break;
case 5: x-=maxw+bx; y-=maxh-m.h; break;
case 6: x+=m.w+bx; y-=maxh-m.h; break;
case 7: y+=m.h+by; x-=maxw-m.w; break;
case 8: y-=maxh+by; x-=maxw-m.w+bx; break;
}
}
m.subx=x + ox; m.suby=y + oy
}
/**Showing sub elements**/
makeCM.prototype.showsub=function(el){ //Changed v4.05

var c=this,pm=c.m[el];
if(!pm.b||(c.isresized&&pm.lev>0)) pm.b=c.l[pm.lev].b; c.isover=1
clearTimeout(c.tim);
var ln=pm.subs.length,l=pm.lev+1
if(c.l[pm.lev].a==el&&l!=c.l.length){if(c.l[pm.lev+1].a) c.hidesub(l+1,el); return}
c.hidesub(l,el); if(pm.mover) eval(pm.mover); if(!pm.isactive) pm.active(1);
c.l[pm.lev].a = el; if(ln==0) return;
if(!c.l[l].b) return //Added v4.05

var b = c.l[l].b, bx=c.l[l].borderX, by=c.l[l].borderY, rows=pm.rows
var x=bx,y=by,maxw=0,maxh=0,cn=0; b.hideIt()
for(var i=0;i<c.l[l].m.length;i++){
if(!bw.reuse) m=c.m[c.l[l].m[i]]
else m=c.m[c.m[el].subs[i]]
if(m && m.parent==el&&!m.hide){
if(!bw.reuse) o=m.o; else o=m.o=c.l[l].o[i]
if(x!=o.x||y!=o.y) o.moveIt(x,y); nl=m.subs.length
if(bw.reuse){
if(o.w!=m.w || o.h!=m.h) o.clipTo(0,m.w,m.h,0,1)
if(o.evnt.className!=m.cl){
m.isactive=0; o.evnt.className=m.cl
if(bw.ns6){o.hideIt(); o.css.visibility='inherit'} //NS6 bugfix

}if(bw.ie6) b.showIt()//IE6 bugfix (scrollbars)

o.evnt.innerHTML=m.txt; if(bw.ie6) b.hideIt()
if(!m.nolink){
o.evnt.onmouseover=new Function(c.name+"
.showsub('"+m.name+"')")
o.evnt.onmouseout=new Function(c.name+"
.mout('"+m.name+"')") //Added v4.05

o.evnt.whenclickedon=new Function(c.name+"
.onclck('"+m.name+"')")
if(o.oldcursor){o.css.cursor=o.oldcursor; o.oldcursor=0;}
}else{o.evnt.onmouseover=''; o.evnt.whenclickedon=''; if(o.css.cursor=='') o.oldcursor=bw.ns6?"
pointer":"hand"; else o.oldcursor=o.css.cursor; o.css.cursor="auto"}
}if(m.arr){o.arr=c.l[l].arr[cn]; o.arr.moveIt(x + m.w-c.l[l].arrowWidth-3,y+m.h/2-(c.l[l].arrowHeight/2));
o.arr.css.visibility="
inherit"; cn++;} else o.arr=0
if(!rows){y+=m.h+by; if(m.w>maxw) maxw=m.w; maxh=y}
else{x+=m.w+bx; if(m.h>maxh) maxh=m.h; maxw=x;}
o.css.visibility="
inherit"; if(bw.op5||bw.op6) o.showIt()
}else{o = c.m[c.l[l].m[i]].o; o.hideIt();} }
if(!rows) maxw+=bx*2; else maxh+=by*2; b.clipTo(0,maxw,maxh,0,1)
//Check frame scroll

if(c.chkscroll) c.chkscroll() //Added v4.05 - not the best solution

if(!pm.subx||!pm.suby||c.scrollY>0||c.isresized) c.getcoords(pm,c.l[l-1].borderX,c.l[l-1].borderY,pm.b.x,pm.b.y,maxw,maxh,c.l[l-1].offsetX,c.l[l-1].offsetY)
x=pm.subx; y=pm.suby; if(c.chkscroll&&l>=c.frameStartLevel) y+=c.scrollY; b.moveIt(x,y); if(c.onshow) eval(c.onshow); b.showIt()
}
/**Hide sub elements **/
makeCM.prototype.hidesub=function(l,el){ //Changed v4.05

var c = this,tmp,m,i,j,hide
if(!l) {l=1; hide=1}
for(i=l-1;i<c.l.length;i++){
if(i>0&&i>l-1) if(c.l[i].b) c.l[i].b.hideIt()//Changed v4.05

if(c.l[i].a&&c.l[i].a!=el){
m=c.m[c.l[i].a]; m.active(0,1); if(m.mout) eval(m.mout); c.l[i].a=0
if(i>0&&i>l-1) if(bw.op5||bw.op6) for(j=0;j<c.l[i].m.length;j++) c.m[c.l[i].m[j]].o.hideIt()
}if(i>l){for(j=0;j<c.l[i-1].arnum;j++){c.l[i-1].arr[j].hideIt(); if(bw.op6) c.l[i-1].arr[j].moveIt(-1000,-1000)}} //opera bug

}if(hide&&c.onhide) eval(c.onhide) //onhide event

}
/***Make all menu div objects**/
makeCM.prototype.makeObjects=function(nowrite,fromframe){ //Changed v4.05

var c = this,oc,name,bx,by,w,h,l,no,ar,id,nest,st=0,en=c.l.length
//Added v4.05

if(fromframe){
st = this.frameStartLevel
this.body = fromframe.document.body
this.doc = fromframe.document
this.deftarget=fromframe
this.cmpage = new cm_page(fromframe)
}else{
this.body=document.body
this.doc=document
if(this.frames) en = this.frameStartLevel
this.deftarget=self
}
if(!nowrite){
for(i=st;i<en;i++){
if(i!=0) c.l[i].str+="
</div>"
if(!bw.usedom) this.doc.write(c.l[i].str)
else if(i>0) this.body.appendChild(c.l[i].app)
if(!this.frames) c.l[i].str=null
}}c.z=c.zIndex+2
for(i=st;i<en;i++){oc=0
if(i!=0){bobj=c.l[i].b = new cm_makeObj(c.name + "
_"+i+"_0","",c.l[i].app,this.doc); bobj.css.zIndex=c.z;
if(bw.dom) bobj.css.overflow='hidden'}; bx=c.l[i].borderX; by=c.l[i].borderY; c.l[i].max=0;
for(j=0;j<c.l[i].m.length;j++){
m = c.m[c.l[i].m[j]]; name=m.name; w=m.w; h=m.h; l=m.lev; no=m.nolink;
if(i>0){m.b = bobj; nest=i}
else{m.b = new cm_makeObj(c.name + "
_"+name+"_0","",m.d1,this.doc); m.b.css.zIndex=c.z; m.b.clipTo(0,w+bx*2,h+by*2,0,1); nest=name}
id = c.name + "
_"+name; nest=c.name + "_"+nest;
if(m.create){
o=m.o=new cm_makeObj(id,nest+"
_0",m.d2,this.doc); o.z=o.css.zIndex=c.z+1; if(bw.reuse){c.l[l].o[oc]=o; oc++};
if(l==0&&m.img1) o.css.visibility='inherit'; if(bw.op5) o.showIt(); o.arr=0;
}if(!bw.reuse||l==0) o.clipTo(0,w,h,0,1); o.moveIt(bx,by); o.z=o.css.zIndex=c.z+2
if(j<c.l[i].arnum){
c.l[i].arr[j]=new cm_makeObj(c.name+"
_a"+i+"_"+j,nest+"_0",nowrite?0:c.l[i].arr[j],this.doc)
c.l[i].arr[j].css.zIndex=c.z+30+j;
}else if(l==0&&m.arr==1){
o.arr=new cm_makeObj(id+"
_a",nest+"_0",m.d3,this.doc)
o.arr.moveIt(bx+m.w-c.l[i].arrowWidth-3,by+m.h/2-(c.l[i].arrowHeight/2));
o.arr.css.zIndex=c.z+20;
}if(!no && !bw.reuse && !m.img1){
o.over=new cm_makeObj(c.name + "
_"+name+"_1",nest+"_0"+".document.layers."+id,"",this.doc)
o.over.moveIt(0,0); o.over.hideIt(); o.over.clipTo(0,w,h,0,1); o.over.css.zIndex=c.z+3
img=new cm_makeObj(c.name + "
_"+name+"_3",nest+"_0"+".document.layers."+id,"",this.doc); img.moveIt(0,0)
img.css.visibility="
inherit"; img.css.zIndex=c.z+4; if(bw.op5) img.showIt()
}c.z++;
}
}
//this.doc = 0; //this.body = 0

///Set scroll vars - added v4.05

if(fromframe){
c.chkscroll = function(){
if (bw.ie4 || bw.ie5 || bw.ie55) this.scrollY=this.body.scrollTop;
if (bw.ns6 || bw.ns4 || bw.op5 || bw.op6) this.scrollY=this.deftarget.pageYOffset;
if (bw.ie6){
if (this.doc.compatMode && document.compatMode != "
BackCompat") this.scrollY=this.doc.documentElement.scrollTop
else this.scrollY=this.body.scrollTop
}
}
}
}
/**Onmouseout**/
makeCM.prototype.mout = function(){
var c = this;
clearTimeout(c.tim)
c.isover = 0
c.tim = setTimeout("
if(!"+c.name+".isover)"+c.name+".hidesub()",c.wait)
}
/**Constructing and initiating top items and bar**/
makeCM.prototype.construct=function(nowrite){ //Changed v4.05

var c=this; if(!c.l[0]||c.l[0].m.length==0) return cm_message('No menus defined');
c.makeObjects(nowrite); cmpage = new cm_page();
var mpa,o,maxw=c.maxw,maxh=c.maxh,i,totw=c.totw,toth=c.toth,m,px=c.pxBetween
var bx=c.l[0].borderX,by=c.l[0].borderY,x=c.fromLeft; y=c.fromTop,mp=c.menuPlacement,rows=c.rows
if(rows){toth=maxh+by*2; totw=totw-px+bx;}else{totw=maxw+bx*2; toth=toth-px+by;}
switch(mp){
case "
center": x=cmpage.x2/2-totw/2; if(bw.ns4) x-=9; break;
case "
right": x=cmpage.x2-totw; break;
case "
bottom": case "bottomcenter": y=cmpage.y2-toth; if(mp=="bottomcenter") x=cmpage.x2/2-totw/2; break;
default: if(mp.toString().indexOf(",")>-1) mpa=1; break;
}for(i=0;i<c.l[0].m.length;i++){
m = c.m[c.l[0].m[i]]; o = m.b; if(mpa) rows?x=cm_cp(mp[i]):y=cm_cp(mp[i],0,0,1);
o.moveIt(x,y); o.showIt(); if(m.arr) m.o.arr.showIt(); o.oy=y;
if(!mpa) rows?x+=m.w+px+bx:y+=m.h+px+by
}if(c.useBar==1){ //Background-Bar

bbx=c.barBorderX; bby=c.barBorderY;
bar1=c.bar1= new cm_makeObj(c.name+'bbar_0',c.name+'bbar',nowrite?0:c.bar1,document)
bar=c.bar= new cm_makeObj(c.name+'bbar','',nowrite?0:c.bar,document); bar.css.zIndex=c.zIndex+1
var barx=c.barX=="menu"?c.m[c.l[0].m[0]].b.x-bbx:cm_cp(c.barX,1);
var bary=c.barY=="
menu"?c.m[c.l[0].m[0]].b.y-bby:cm_cp(c.barY);
var barw=c.barWidth=="
menu"?totw:cm_cp(c.barWidth,1,bbx*2);
var barh=c.barHeight=="
menu"?toth:cm_cp(c.barHeight,0,bby*2);
bar1.clipTo(0,barw,barh,0,1); bar1.moveIt(bbx,bby); bar1.showIt();
bar.clipTo(0,barw+bbx*2,barh+bby*2,0,1); bar.moveIt(barx,bary); bar.showIt();
}if(c.resizeCheck){ //Window resize code.

setTimeout('window.onresize=new Function("
'+c.name+'.resized()")',500)
c.resized=cm_resized; if(bw.op5||bw.op6) document.onmousemove=new Function(c.name+"
.resized()")
}if(c.onconstruct) eval(c.onconstruct) //onconstruct event

c.constructed = 1 //Added v4.05

return true
}
/**Capturing resize**/
var cm_inresize=0
function cm_resized(){
if(cm_inresize) return
page2=new cm_page(); var off=(bw.op6||bw.op5)?15:5
if(page2.x2<cmpage.x2-off || page2.y2<cmpage.orgy-off || page2.x2>cmpage.x2+off || page2.y2>cmpage.orgy+off){
if(bw.ie||bw.ns6){
cmpage=page2; this.isresized=1;
if(this.onresize) eval(this.onresize); this.construct(1);
if(this.onafterresize) eval(this.onafterresize)
}else{cm_inresize=1; location.reload()}
}
}
/**whenclickedon of an item**/
makeCM.prototype.onclck=function(m){
m = this.m[m]
if(m.onclck) eval(m.onclck);
lnk=m.lnk; targ=m.targ
if(lnk){
if(lnk.indexOf("
mailto")!=0 && lnk.indexOf("http")!=0) lnk=this.root+lnk
if(String(targ)=="
undefined" || targ=="" || targ==0 || targ=="_self"){
if(this.frames){ //Turning of all level 1 + vars

if(this.l[0].a){
this.m[this.l[0].a].active(0,1)
this.l[0].a =0
}
for(i=this.frameStartLevel;i<this.l.length;i++){
if(this.l[i].b){
this.l[i].b.hideIt()
this.l[i].b = null
for(j=0;j<this.l[i].m.length;j++){
this.m[this.l[i].m[j]].b = null;
}
}
}
this.isover=0
}
this.deftarget.location.href=lnk
}
else if(targ=="
_blank") window.open(lnk)
else if(targ=="
_top" || targ=="window") top.location.href=lnk
else if(top[targ]) top[targ].location.href=lnk
else if(parent[targ]) parent[targ].location.href=lnk

}else return false
}


sorry if this is a little long

[edited by - sab3156 on July 28, 2003 3:26:23 PM]

Share this post


Link to post
Share on other sites