Javascript Undefined Link
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!
it means that general.htm is not in the same directory as your script. If it is, check the spelling and capitalization.
The problem isn''t in this line...
oM.makeMenu(''m1'','''',''General'',''general.htm'','''',120,0);
So you''ll need to post the whole thing.
oM.makeMenu(''m1'','''',''General'',''general.htm'','''',120,0);
So you''ll need to post the whole thing.
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)
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}//eventsmakeCM.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]<br> else m=c.m[c.m[el].subs]<br> if(m && m.parent==el&&!m.hide){<br> if(!bw.reuse) o=m.o; else o=m.o=c.l[l].o<br> if(x!=o.x||y!=o.y) o.moveIt(x,y); nl=m.subs.length<br> if(bw.reuse){<br> if(o.w!=m.w || o.h!=m.h) o.clipTo(0,m.w,m.h,0,1)<br> if(o.evnt.className!=m.cl){ <br> m.isactive=0; o.evnt.className=m.cl<br> if(bw.ns6){o.hideIt(); o.css.visibility='inherit'} <font color=gray>//NS6 bugfix<br></font><br> }if(bw.ie6) b.showIt()<font color=gray>//IE6 bugfix (scrollbars)<br></font><br> o.evnt.innerHTML=m.txt; if(bw.ie6) b.hideIt() <br> if(!m.nolink){<br> o.evnt.onmouseover=new Function(c.name+"</font>.showsub('<font color=darkred><font color=darkred><font color=darkred>"+m.name+"</font></font></font>')<font color=darkred>")<br> o.evnt.onmouseout=new Function(c.name+"</font>.mout('<font color=darkred><font color=darkred><font color=darkred>"+m.name+"</font></font></font>')<font color=darkred>") <font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Added v4.05<br></font></font></font></font></font><br> o.evnt.whenclickedon=new Function(c.name+"</font>.onclck('<font color=darkred><font color=darkred><font color=darkred>"+m.name+"</font></font></font>')<font color=darkred>")<br> if(o.oldcursor){o.css.cursor=o.oldcursor; o.oldcursor=0;}<br> }else{o.evnt.onmouseover=''; o.evnt.whenclickedon=''; if(o.css.cursor=='') o.oldcursor=bw.ns6?"</font>pointer<font color=darkred>":"</font>hand<font color=darkred>"; else o.oldcursor=o.css.cursor; o.css.cursor="</font><font color=blue>auto</font><font color=darkred>"} <br> }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)); <br> o.arr.css.visibility="</font>inherit<font color=darkred>"; cn++;} else o.arr=0<br> if(!rows){y+=m.h+by; if(m.w>maxw) maxw=m.w; maxh=y}<br> else{x+=m.w+bx; if(m.h>maxh) maxh=m.h; maxw=x;}<br> o.css.visibility="</font>inherit<font color=darkred>"; if(bw.op5||bw.op6) o.showIt()<br> }else{o = c.m[c.l[l].m].o; o.hideIt();} }<br> if(!rows) maxw+=bx*2; else maxh+=by*2; b.clipTo(0,maxw,maxh,0,1)<br> <font color=gray>//Check frame scroll<br></font><br> if(c.chkscroll) c.chkscroll() <font color=gray>//Added v4.05 - not the best solution<br></font><br> 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)<br> 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()<br>}<br><font color=gray>/**Hide sub elements **/</font><br>makeCM.prototype.hidesub=function(l,el){ <font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Changed v4.05<br></font></font></font></font></font></font></font></font><br> var c = this,tmp,m,i,j,hide<br> if(!l) {l=1; hide=1}<br> for(i=l-1;i<c.l.length;i++){<br> if(i>0&&i>l-1) if(c.l.b) c.l.b.hideIt()<font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Changed v4.05<br></font></font></font></font></font></font></font></font><br> if(c.l.a&&c.l.a!=el){<br> m=c.m[c.l.a]; m.active(0,1); if(m.mout) eval(m.mout); c.l.a=0<br> if(i>0&&i>l-1) if(bw.op5||bw.op6) for(j=0;j<c.l.m.length;j++) c.m[c.l.m[j]].o.hideIt()<br> }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)}} <font color=gray>//opera bug<br></font><br> }if(hide&&c.onhide) eval(c.onhide) <font color=gray>//onhide event<br></font><br>}<br><font color=gray>/***Make all menu div objects**/</font><br>makeCM.prototype.makeObjects=function(nowrite,fromframe){ <font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Changed v4.05<br></font></font></font></font></font></font></font></font><br> var c = this,oc,name,bx,by,w,h,l,no,ar,id,nest,st=0,en=c.l.length<br> <font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Added v4.05<br></font></font></font></font></font><br> if(fromframe){<br> st = this.frameStartLevel<br> this.body = fromframe.document.body<br> this.doc = fromframe.document<br> this.deftarget=fromframe<br> this.cmpage = new cm_page(fromframe)<br> }else{<br> this.body=document.body<br> this.doc=document<br> if(this.frames) en = this.frameStartLevel<br> this.deftarget=self<br> }<br> if(!nowrite){<br> for(i=st;i<en;i++){<br> if(i!=0) c.l.str+="</font></div><font color=darkred>"<br> if(!bw.usedom) this.doc.write(c.l.str)<br> else if(i>0) this.body.appendChild(c.l.app)<br> if(!this.frames) c.l.str=null<br> }}c.z=c.zIndex+2<br> for(i=st;i<en;i++){oc=0<br> if(i!=0){bobj=c.l.b = new cm_makeObj(c.name + "</font>_<font color=darkred><font color=darkred>"+i+"</font></font>_0<font color=darkred><font color=darkred>","</font></font><font color=darkred>",c.l.app,this.doc); bobj.css.zIndex=c.z; <br> if(bw.dom) bobj.css.overflow='hidden'}; bx=c.l.borderX; by=c.l.borderY; c.l.max=0;<br> for(j=0;j<c.l.m.length;j++){<br> m = c.m[c.l.m[j]]; name=m.name; w=m.w; h=m.h; l=m.lev; no=m.nolink;<br> if(i>0){m.b = bobj; nest=i}<br> else{m.b = new cm_makeObj(c.name + "</font>_<font color=darkred><font color=darkred><font color=darkred>"+name+"</font></font></font>_0<font color=darkred><font color=darkred>","</font></font><font color=darkred>",m.d1,this.doc); m.b.css.zIndex=c.z; m.b.clipTo(0,w+bx*2,h+by*2,0,1); nest=name}<br> id = c.name + "</font>_<font color=darkred>"+name; nest=c.name + "</font>_<font color=darkred>"+nest;<br> if(m.create){<br> o=m.o=new cm_makeObj(id,nest+"</font>_0<font color=darkred>",m.d2,this.doc); o.z=o.css.zIndex=c.z+1; if(bw.reuse){c.l[l].o[oc]=o; oc++}; <br> if(l==0&&m.img1) o.css.visibility='inherit'; if(bw.op5) o.showIt(); o.arr=0;<br> }if(!bw.reuse||l==0) o.clipTo(0,w,h,0,1); o.moveIt(bx,by); o.z=o.css.zIndex=c.z+2<br> if(j<c.l.arnum){<br> c.l.arr[j]=new cm_makeObj(c.name+"</font>_a<font color=darkred><font color=darkred>"+i+"</font></font>_<font color=darkred>"+j,nest+"</font>_0<font color=darkred>",nowrite?0:c.l.arr[j],this.doc)<br> c.l.arr[j].css.zIndex=c.z+30+j;<br> }else if(l==0&&m.arr==1){<br> o.arr=new cm_makeObj(id+"</font>_a<font color=darkred><font color=darkred><font color=darkred>",nest+"</font></font></font>_0<font color=darkred>",m.d3,this.doc)<br> o.arr.moveIt(bx+m.w-c.l.arrowWidth-3,by+m.h/2-(c.l.arrowHeight/2)); <br> o.arr.css.zIndex=c.z+20;<br> }if(!no && !bw.reuse && !m.img1){ <br> o.over=new cm_makeObj(c.name + "</font>_<font color=darkred><font color=darkred><font color=darkred>"+name+"</font></font></font>_1<font color=darkred><font color=darkred><font color=darkred>",nest+"</font></font></font>_0<font color=darkred><font color=darkred>"+"</font></font>.document.layers.<font color=darkred><font color=darkred>"+id,"</font></font><font color=darkred>",this.doc)<br> o.over.moveIt(0,0); o.over.hideIt(); o.over.clipTo(0,w,h,0,1); o.over.css.zIndex=c.z+3<br> img=new cm_makeObj(c.name + "</font>_<font color=darkred><font color=darkred><font color=darkred>"+name+"</font></font></font>_3<font color=darkred><font color=darkred><font color=darkred>",nest+"</font></font></font>_0<font color=darkred><font color=darkred>"+"</font></font>.document.layers.<font color=darkred><font color=darkred>"+id,"</font></font><font color=darkred>",this.doc); img.moveIt(0,0)<br> img.css.visibility="</font>inherit<font color=darkred>"; img.css.zIndex=c.z+4; if(bw.op5) img.showIt()<br> }c.z++; <br> }<br> }<br> <font color=gray>//this.doc = 0; //this.body = 0<br></font><br> <font color=gray>///Set scroll vars - added v4.05<br></font><br> if(fromframe){<br> c.chkscroll = function(){<br> if (bw.ie4 || bw.ie5 || bw.ie55) this.scrollY=this.body.scrollTop;<br> if (bw.ns6 || bw.ns4 || bw.op5 || bw.op6) this.scrollY=this.deftarget.pageYOffset;<br> if (bw.ie6){<br> if (this.doc.compatMode && document.compatMode != "</font>BackCompat<font color=darkred>") this.scrollY=this.doc.documentElement.scrollTop<br> else this.scrollY=this.body.scrollTop<br> }<br> }<br> }<br>}<br><font color=gray>/**Onmouseout**/</font><br>makeCM.prototype.mout = function(){<br> var c = this;<br> clearTimeout(c.tim)<br> c.isover = 0<br> c.tim = setTimeout("</font><font color=blue>if</font>(!<font color=darkred><font color=darkred>"+c.name+"</font></font>.isover)<font color=darkred><font color=darkred>"+c.name+"</font></font>.hidesub()<font color=darkred>",c.wait)<br>}<br><font color=gray>/**Constructing and initiating top items and bar**/</font><br>makeCM.prototype.construct=function(nowrite){ <font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Changed v4.05<br></font></font></font></font></font></font></font></font><br> var c=this; if(!c.l[0]||c.l[0].m.length==0) return cm_message('No menus defined');<br> c.makeObjects(nowrite); cmpage = new cm_page(); <br> var mpa,o,maxw=c.maxw,maxh=c.maxh,i,totw=c.totw,toth=c.toth,m,px=c.pxBetween<br> var bx=c.l[0].borderX,by=c.l[0].borderY,x=c.fromLeft; y=c.fromTop,mp=c.menuPlacement,rows=c.rows<br> if(rows){toth=maxh+by*2; totw=totw-px+bx;}else{totw=maxw+bx*2; toth=toth-px+by;}<br> switch(mp){<br> case "</font>center<font color=darkred>": x=cmpage.x2/2-totw/2; if(bw.ns4) x-=9; break;<br> case "</font>right<font color=darkred>": x=cmpage.x2-totw; break;<br> case "</font>bottom<font color=darkred>": case "</font>bottomcenter<font color=darkred>": y=cmpage.y2-toth; if(mp=="</font>bottomcenter") x=cmpage.x2/2-totw/2; <font color=blue>break</font>;<br> <font color=blue>default</font>: <font color=blue>if</font>(mp.toString().indexOf(<font color=darkred><font color=darkred>","</font></font>)>-1) mpa=1; <font color=blue>break</font>;<br> }<font color=blue>for</font>(i=0;i<c.l[<font color=purple>0</font>].m.length;i++){<br> m = c.m[<font color=purple>c.l[0</font>].m[<font color=purple>i</font>]]; o = m.b; <font color=blue>if</font>(mpa) rows?x=cm_cp(mp[<font color=purple>i</font>]):y=cm_cp(mp[<font color=purple>i</font>],0,0,1); <br> o.moveIt(x,y); o.showIt(); <font color=blue>if</font>(m.arr) m.o.arr.showIt(); o.oy=y; <br> <font color=blue>if</font>(!mpa) rows?x+=m.w+px+bx:y+=m.h+px+by<br> }<font color=blue>if</font>(c.useBar==1){ <font color=gray>//Background-Bar<br></font><br> bbx=c.barBorderX; bby=c.barBorderY; <br> bar1=c.bar1= <font color=blue>new</font> cm_makeObj(c.name+'bbar_0',c.name+'bbar',nowrite?0:c.bar1,document)<br> bar=c.bar= <font color=blue>new</font> cm_makeObj(c.name+'bbar','',nowrite?0:c.bar,document); bar.css.zIndex=c.zIndex+1<br> var barx=c.barX=="menu<font color=darkred>"?c.m[c.l[0].m[0]].b.x-bbx:cm_cp(c.barX,1);<br> var bary=c.barY=="</font>menu<font color=darkred>"?c.m[c.l[0].m[0]].b.y-bby:cm_cp(c.barY);<br> var barw=c.barWidth=="</font>menu<font color=darkred>"?totw:cm_cp(c.barWidth,1,bbx*2);<br> var barh=c.barHeight=="</font>menu<font color=darkred>"?toth:cm_cp(c.barHeight,0,bby*2);<br> bar1.clipTo(0,barw,barh,0,1); bar1.moveIt(bbx,bby); bar1.showIt();<br> bar.clipTo(0,barw+bbx*2,barh+bby*2,0,1); bar.moveIt(barx,bary); bar.showIt();<br> }if(c.resizeCheck){ <font color=gray>//Window resize code.<br></font><br> setTimeout('window.onresize=new Function("</font>'+c.name+'.resized()<font color=darkred>")',500)<br> c.resized=cm_resized; if(bw.op5||bw.op6) document.onmousemove=new Function(c.name+"</font>.resized()<font color=darkred>")<br> }if(c.onconstruct) eval(c.onconstruct) <font color=gray>//onconstruct event<br></font><br> c.constructed = 1 <font color=gray><font color=gray><font color=gray><font color=gray><font color=gray>//Added v4.05<br></font></font></font></font></font><br> return true<br>}<br><font color=gray>/**Capturing resize**/</font><br>var cm_inresize=0<br>function cm_resized(){<br> if(cm_inresize) return<br> page2=new cm_page(); var off=(bw.op6||bw.op5)?15:5<br> if(page2.x2<cmpage.x2-off || page2.y2<cmpage.orgy-off || page2.x2>cmpage.x2+off || page2.y2>cmpage.orgy+off){<br> if(bw.ie||bw.ns6){<br> cmpage=page2; this.isresized=1; <br> if(this.onresize) eval(this.onresize); this.construct(1);<br> if(this.onafterresize) eval(this.onafterresize)<br> }else{cm_inresize=1; location.reload()} <br> }<br>}<br><font color=gray>/**whenclickedon of an item**/</font><br>makeCM.prototype.onclck=function(m){<br> m = this.m[m]<br> if(m.onclck) eval(m.onclck); <br> lnk=m.lnk; targ=m.targ<br> if(lnk){<br> if(lnk.indexOf("</font>mailto<font color=darkred>")!=0 && lnk.indexOf("</font>http<font color=darkred>")!=0) lnk=this.root+lnk<br> if(String(targ)=="</font>undefined<font color=darkred><font color=darkred>" || targ=="</font></font><font color=darkred>" || targ==0 || targ=="</font>_self<font color=darkred>"){<br> if(this.frames){ <font color=gray>//Turning of all level 1 + vars<br></font><br> if(this.l[0].a){<br> this.m[this.l[0].a].active(0,1)<br> this.l[0].a =0<br> }<br> for(i=this.frameStartLevel;i<this.l.length;i++){<br> if(this.l.b){<br> this.l.b.hideIt()<br> this.l.b = null<br> for(j=0;j<this.l.m.length;j++){<br> this.m[this.l.m[j]].b = null;<br> }<br> }<br> }<br> this.isover=0<br> }<br> this.deftarget.location.href=lnk <br> }<br> else if(targ=="</font>_blank<font color=darkred>") window.open(lnk)<br> else if(targ=="</font>_top<font color=darkred><font color=darkred>" || targ=="</font></font>window") top.location.href=lnk<br> <font color=blue>else</font> <font color=blue>if</font>(top[<font color=purple>targ</font>]) top[<font color=purple>targ</font>].location.href=lnk<br> <font color=blue>else</font> <font color=blue>if</font>(parent[<font color=purple>targ</font>]) parent[<font color=purple>targ</font>].location.href=lnk<br><br> }<font color=blue>else</font> <font color=blue>return</font> <font color=blue>false</font><br>}<br> </pre><!–ENDSCRIPT–> <br><br>sorry if this is a little long <br><br><SPAN CLASS=editedby>[edited by - sab3156 on July 28, 2003 3:26:23 PM]</SPAN>
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement