Suche im Forum:
Suchen


Autor Nachricht
Beitrag06.09.2007 um 15:06 (UTC)    
Titel: Coolmenü Vertikal

Kann mir jemand sagen wie man ein Coolmenü vertikal hinkriegen kann ??
Also so wie bei Homepagehilfe.de.tl wenn man da auf Extras geht.

Screen:



danke im vorraus


mfg Thomas Janz
Beitrag06.09.2007 um 17:31 (UTC)    
Titel:

Beitrag06.09.2007 um 18:27 (UTC)    
Titel:

Hey danke Coolplace! Ich habs mir sofort runtergeladen . Aber ich brauch ein Programm um js Files zu öffnen ! Könntest du mir da irgentwie weiterhelfen ???

Danke im Vorraus



Mfg Thomas Janz
Beitrag06.09.2007 um 18:44 (UTC)    
Titel:

Starte den Editor (Notepad oder so) und gebe unten als Datei-Typ auf "Alle Dateien".
Jetzt kannst Du die JS-Datei öffnen Wink
Beitrag06.09.2007 um 18:59 (UTC)    
Titel:

Man ich kann es echt nicht beschreiben ! du bist einfach der beste !
Jedoch sind die Codes etwas andas als das Coolmenü bzw. dropdownmenü so wie ich das kenne ^^

wenn ich dir den inhalt hier posten würde , könntest du dann was damit anfangen und mir helfen?? wäre sehr nett coolplace !!


Also das waren 3 js files (cm addins.js , coomenus4.js , menu1.js)



cm addins.js :
Code:
/******************************************
CM_ADD-IN - hideselectboxes (last updated: 11/13/02)
IE5+ and NS6+ only - ignores the other browsers

Because of the selectbox bug in the browsers that makes
selectboxes have the highest z-index whatever you do
this script will check for selectboxes that interfear with
your menu items and then hide them.

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.
*****************************************/
if(bw.dom&&!bw.op){
  makeCM.prototype.sel=0
  makeCM.prototype.onshow+=";this.hideselectboxes(pm,pm.subx,pm.suby,maxw,maxh,pm.lev)"
  makeCM.prototype.hideselectboxes=function(pm,x,y,w,h,l){
    var selx,sely,selw,selh,i
    if(!this.sel){
      this.sel=this.doc.getElementsByTagName("SELECT")
        this.sel.level=0
    }
    var sel=this.sel
    for(i=0;i<sel.length;i++){
         selx=0; sely=0; var selp;
         if(sel[i].offsetParent){selp=sel[i]; while(selp.offsetParent){selp=selp.offsetParent; selx+=selp.offsetLeft; sely+=selp.offsetTop;}}
         selx+=sel[i].offsetLeft; sely+=sel[i].offsetTop
         selw=sel[i].offsetWidth; selh=sel[i].offsetHeight         
         if(selx+selw>x && selx<x+w && sely+selh>y && sely<y+h){
            if(sel[i].style.visibility!="hidden"){sel[i].level=l; sel[i].style.visibility="hidden"; if(pm){ if(!pm.mout) pm.mout=""; pm.mout+=this.name+".sel["+i+"].style.visibility='visible';"}}
      }else if(l<=sel[i].level && !(pm&&l==0)) sel[i].style.visibility="visible"
    }
  }
}
/******************************************
CM_ADD-IN - checkscrolled (last updated: 01/29/02)
This is supported by all browsers
- IE5 for MAC has some screen refreshing problems
- Using this for non-ie browsers might slow down the page
  because the other browsers do not support the onscroll event
  so the script uses a timer.

Now with two new features.
- Set scrollstop to 1 to get another scrolling effect.
  If you do it will work the way it does on DHTMLCentral.com.
  Note that this feature is not perfect on menus not in rows.
- If you have the hideselectboxes add-in as well this function
  will now check for interfearing selectboxes when you scroll as
  well.

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.
*****************************************/
if(bw.ie) makeCM.prototype.onconstruct='document.body.onscroll=new Function(c.name+".checkscrolled("+c.name+")")'
else makeCM.prototype.onconstruct='setTimeout(c.name+".checkscrolled()",200)' //REMOVE THIS LINE TO HAVE SCROLLING ON FOR EXPLORER ONLY!!
makeCM.prototype.lscroll=0
makeCM.prototype.scrollstop=0 //Set this variable to 1 for another scrolling effect. Leave at 0 to scroll regular
makeCM.prototype.checkscrolled=function(obj){
   var i;
   if(bw.mac) return //REMOVE THIS LINE TO HAVE SCROLLING ON THE MAC AS WELL - unstable!
  var c=bw.ie?obj:this, o
   if(bw.ns4 || bw.ns6 || bw.op5) c.scrollY=window.pageYOffset
   else c.scrollY=document.body.scrollTop
   if(c.scrollY!=c.lscroll){
    c.hidesub()
    if(c.scrollY>c.fromTop&&c.scrollstop){
      for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,c.scrollY)}
      if(c.useBar) c.bar.moveIt(c.bar.x,c.scrollY)
    }else{
      if(c.scrollstop){
        for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,c.fromTop)}
        if(c.useBar) c.bar.moveIt(c.bar.x,c.barY)
      }else{
        for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,o.oy+c.scrollY)}
        if(c.useBar) c.bar.moveIt(c.bar.x,c.barY+c.scrollY)
      }
    }
      c.lscroll=c.scrollY; cmpage.y=c.scrollY; cmpage.y2=cmpage.orgy+c.scrollY
      if(bw.ie){ clearTimeout(c.tim); c.isover=0; c.hidesub()}
    if(c.hideselectboxes){ //If you are using the hideselect add-in as well the script will now check for selectboxes when scrolling as well
      var x = c.useBar?c.m[c.l[0].m[0]].b.x>c.bar.x?c.bar.x:c.m[c.l[0].m[0]].b.x:c.m[c.l[0].m[0]].b.x;
      var y = c.useBar?c.m[c.l[0].m[0]].b.y>c.bar.y?c.bar.y:c.m[c.l[0].m[0]].b.y:c.m[c.l[0].m[0]].b.y;
      var maxw = c.useBar?c.bar.w:c.rows?c.totw:c.maxw; var maxh = c.useBar?c.bar.h:!c.rows?c.toth:c.maxh
      c.hideselectboxes(0,x,y,maxw,maxh,0)
    }
   }
   if(!bw.ie) setTimeout(c.name+".checkscrolled()",200)
}
/******************************************
CM_ADD-IN - pagecheck (last updated: 08/02/02)

Simple code that *tries* to keep the menus inside the
bounderies of the page.

Code updated. It's still not perfect (obviosly)
but it will now do another check to try and place
the menus inside.


Just add this code to the coolmenus js file
or link the cm_addins.js file to your page.
*****************************************/
makeCM.prototype.onshow+=";this.pagecheck(b,pm,pm.subx,pm.suby,maxw,maxh)"
makeCM.prototype.pagecheck=function(b,pm,x,y,w,h,n){ 
  var l=pm.lev+1,a=b.align; if(!n) n=1
  var ok=1
  if(x<cmpage.x) {pm.align=1; ok=0;}
  else if(x+w>cmpage.x2){ pm.align=2; ok=0;}
  else if(y<cmpage.y) { pm.align=3; ok=0;}
  else if(h+y>cmpage.y2) {pm.align=4; ok=0;}
  if(!ok) this.getcoords(pm,this.l[l-1].borderX,this.l[l-1].borderY,pm.b.x,pm.b.y,w,h,this.l[l-1].offsetX,this.l[l-1].offsetY)
  x=pm.subx; y=pm.suby
   //Added check --- still not ok? --- part of the code by Denny Caldwell (thanks) -- badly immplemented by me though
  if(x<cmpage.x) {x += cmpage.x-x;}
  else if(x+w>cmpage.x2){ x = -(x+w-cmpage.x2);}
  else if(y<cmpage.y) { y = cmpage.y-y; }
  else if(h+y>cmpage.y2) {y = -(y+h-cmpage.y2);}
  if(x<cmpage.x) {x += cmpage.x-x;}
  else if(x+w>cmpage.x2){ x = -(x+w-cmpage.x2);}
  else if(y<cmpage.y) { y = cmpage.y-y;}
  else if(h+y>cmpage.y2) {y = -(y+h-cmpage.y2);}
   b.moveIt(x,y) 
}
/******************************************
CM_ADD-IN - pagecheck (last updated: 01/26/02)
Simple code that *tries* to keep the menus inside thebounderies of
the page.A more advanced version of this code will come later.
Just add this code to the coolmenus js fileor link the cm_addins.
js file to your page as well.
*****************************************/
//makeCM.prototype.onshow+=";this.pagecheck2(b,pm,x,y,maxw,maxh)"
makeCM.prototype.pagecheck2=function(b,pm,x,y,w,h){     
   var fixX = 0   
   var fixY = 0 
   var ok=1   
   if(x+w>cmpage.x2) {
      ;
      ok=0;
   }else if(x<cmpage.x) {
       ok=0;
   }if(y+h>cmpage.y2){
      fixY = -(y+h-cmpage.y2);
      ok=0;
   }else if(y<cmpage.y) {
      fixY = cmpage.y-y;
      ok=0;
   }//   self.status="x:"+x+" y:" +y+ " fixX:" +fixX+ " fixY:" +fixY 
   if(!ok) {      
      self.status = x + " - " +cmpage.x + " - " + fixX + " - " + (x+fixX)
      x+=fixX;
      y+=fixY    
      pm.moveIt(x,y)   
      self.status = b.css.left
   } 
}

/******************
CM_ADD-IN - filterIt (last updated: 01/26/02)

Explorer5.5+ only. Other browser will ignore it.

This function uses filters for Explorer to show
the subitems.
If you use this add-in you will get 1 new
level property called "filter". You have
to specify which filter to use and what
level to use them on.
(this properties will also be inherited though)

Example setting:
oCMenu.level[1].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)"

Examples on how to use this will come later.

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.
*****************/
bw.filter=(bw.ie55||bw.ie6) && !bw.mac
makeCM.prototype.onshow+=";if(c.l[pm.lev].filter) b.filterIt(c.l[pm.lev].filter)"
cm_makeLevel.prototype.filter=null
cm_makeObj.prototype.filterIt=function(f){
  if(bw.filter){
    if(this.evnt.filters[0]) this.evnt.filters[0].Stop();
    else this.css.filter=f;
    this.evnt.filters[0].Apply();
    this.showIt();
    this.evnt.filters[0].Play();
  }
}
/******************
CM_ADD-IN - slide (last updated: 01/26/02)

This works in all browsers, but it can be
unstable on all other browsers then Explorer.

This function shows the submenus in a sliding
effect. If you use this add-in you get two
new level properties called "slidepx" and
"slidetim". You have to specify this for
the levels you want this to happen on
(these properties will also be inherited though)

slidepx is the number of pixels you want the
div to slide each setTimout, while "slidetim"
is the setTimeout speed (in milliseconds)

Example setting:
oCMenu.level[3].slidepx=10
oCMenu.level[3].slidetim=20

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.
*****************/
makeCM.prototype.onshow+="; if(c.l[pm.lev].slidepx){b.moveIt(x,b.y-b.h); b.showIt(); b.tim=null; b.slide(y,c.l[pm.lev].slidepx,c.l[pm.lev].slidetim,c,pm.lev,pm.name)}"
makeCM.prototype.going=0
cm_makeObj.prototype.tim=10;
cm_makeLevel.prototype.slidepx=null
cm_makeLevel.prototype.slidetim=30
cm_makeObj.prototype.slide=function(end,px,tim,c,l,name){
  if(!this.vis || c.l[l].a!=name) return
   if(this.y<end-px){
      if(this.y>(end-px*px-px) && px>1) px-=px/5; this.moveIt(this.x,this.y+px)
      this.clipTo(end-this.y,this.w,this.h,0)
      this.tim=setTimeout(this.obj+".slide("+end+","+px+","+tim+","+c.name+","+l+",'"+name+"')",tim)
   }else{this.moveIt(this.x,end)}
}
/******************
CM_ADD-IN - clipout (last updated: 01/26/02)

This works in all browsers, but it can be
unstable on all other browsers then Explorer.

This function shows the submenus with a clipping
effect. If you use this add-in you get two
new level properties called "clippx" and
"cliptim". You have to specify this for
the levels you want this to happen on
(these properties will also be inherited though)

"clippx" is the number of pixels you want the
div to slide each setTimout, while "cliptim"
is the setTimeout speed (in milliseconds)

Example setting:
oCMenu.level[3].clippx=10
oCMenu.level[3].cliptim=20

Just add this code to the coolmenus js file
or link the cm_addins.js file to your page as well.

*****************/
makeCM.prototype.onshow+="if(c.l[pm.lev].clippx){h=b.h; if(!rows) b.clipTo(0,maxw,0,0,1); else b.clipTo(0,0,maxh,0,1); b.clipxy=0; b.showIt(); clearTimeout(b.tim); b.clipout(c.l[pm.lev].clippx,!rows?maxw:maxh,!rows?maxh:maxw,c.l[pm.lev].cliptim,rows)}"
cm_makeObj.prototype.tim=10;
cm_makeLevel.prototype.clippx=null
cm_makeLevel.prototype.cliptim=30
cm_makeObj.prototype.clipxy=0
cm_makeObj.prototype.clipout=function(px,w,stop,tim,rows){
   if(!this.vis) return; if(this.clipxy<stop-px){this.clipxy+=px;
  if(!rows) this.clipTo(0,w,this.clipxy,0,1);
  else this.clipTo(0,this.clipxy,w,0,1);
  this.tim=setTimeout(this.obj+".clipout("+px+","+w+","+stop+","+tim+","+rows+")",tim)
   }else{if(bw.ns6){this.hideIt();}; if(!rows) this.clipTo(0,w,stop,0,1); else this.clipTo(0,stop,w,0,1);if(bw.ns6){this.showIt()}}
}



coolmenus4.js :
Code:
/************************************************************
Coolmenus Beta 4.06 - Copyright Thomas Brattli - www.dhtmlcentral.com
Last updated: 11.13.02

v4.06 - with basic frame support
*************************************************************/
/*Browsercheck object*/
function cm_bwcheck(){
   //In theory we should use object detection, but this script needs work-arounds for almost every browser...
   this.ver=navigator.appVersion
   this.agent=navigator.userAgent.toLowerCase()
   this.dom=document.getElementById?1:0
   this.ns4=(!this.dom && document.layers)?1:0;
   this.op=window.opera
   this.moz=(this.agent.indexOf("gecko")>-1 || window.sidebar)
   this.ie=this.agent.indexOf("msie")>-1 && !this.op
   if(this.op){
      this.op5=(this.agent.indexOf("opera 5")>-1 || this.agent.indexOf("opera/5")>-1)
      this.op6=(this.agent.indexOf("opera 6")>-1 || this.agent.indexOf("opera/6")>-1)
      this.op7=this.dom&&!this.op5&&!this.op6 //So all higher opera versions will use it
   }else if(this.moz) this.ns6 = 1
   else if(this.ie){
      this.ie4 = !this.dom && document.all
     this.ie5 = (this.agent.indexOf("msie 5")>-1)
     this.ie55 = (this.ie5 && this.agent.indexOf("msie 5.5")>-1)
     this.ie6 = this.dom && !this.ie4 && !this.ie5 && ! this.ie55
   }
   this.mac=(this.agent.indexOf("mac")>-1)
   this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.op5 || this.op6 || this.op7)
  this.usedom= this.ns6||this.op7//Use dom creation
  this.reuse = this.ie||this.op7||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(){//changed 4.06
   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]>-1?a[4]:null;
  c.borderY=a[5]>-1?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; c.roundBorder=a[14]||null; return c
}
/***Making the main menu object**/
function makeCM(name){ //Changed v4.06
  var c=this; c.mc=0; c.name = name; c.m=new Array(); c.scrollY=-1; 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.onclick=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,onclick,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){
      //Added 4.07 - bug(?) in opera 7 - you cannot dom-add layers created in one document to another one (or so it seems) - so turn of usedom
      if(bw.op7 && this.frames)   bw.usedom=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(var 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.mout=onmouseout;
  m.onclck=onclick; 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+='style="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){
      var path=lnk.indexOf("mailto:")>-1||lnk.indexOf("http://")>-1?"":c.root
      m.mover="self.status='"+path+m.lnk+"'"
      if(!m.mout) m.mout=""; m.mout+=";self.status='';"
   }
}
/**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.06
  var c=this,pm=c.m[el],m,o,nl
  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 && !c.openOnClick){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.openOnClick && !c.clicked) return//Added v4.06
   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 rb=c.l[l].roundBorder;//added 4.06
  var x=bx+rb,y=by+rb,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 //changed 4.06
      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.onclick=new Function(c.name+".onclck('"+m.name+"')")
          if(o.oldcursor){o.css.cursor=o.oldcursor; o.oldcursor=0;}
        }else{o.evnt.onmouseover=''; o.evnt.onclick='';  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+rb; else maxh+=by*2+rb; //changed 4.06
   if(rb){maxw+=rb; maxh+=rb}//added 4.06
   b.clipTo(0,maxw,maxh,0,1)
   //Check frame scroll
   if(c.chkscroll) c.chkscroll() //Added v4.05 - not the best solution
  if(c.chkscroll||!pm.subx||!pm.suby||c.scrollY>-1||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) //Changed 4.06
   x=pm.subx; if(c.chkscroll&&l==c.frameStartLevel) pm.suby+=c.scrollY; y=pm.suby; 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; c.clicked=0}
  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.06
  var c = this,oc,name,bx,by,w,h,l,no,ar,id,nest,st=0,en=c.l.length,bobj,o,m,i,j
  //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++){ //changed 4.06
      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++;
    }
  }
   if(fromframe){   ///Set scroll vars - added v4.05
      c.chkscroll = function(){//changed 4.06
         if (bw.ie&&!bw.ie6) this.scrollY=this.body.scrollTop;
         else if (bw.ie6 || bw.op7){
            if (this.doc.compatMode && document.compatMode != "BackCompat")   this.scrollY=this.doc.documentElement.scrollTop
            else this.scrollY=this.body.scrollTop
         }else this.scrollY=this.deftarget.pageYOffset;
      }
   }
}
/**Onmouseout**/
makeCM.prototype.mout = function(){ //Changed v4.06
   var c = this; clearTimeout(c.tim); c.isover = 0; var f="if(!"+c.name+".isover)"+c.name+".hidesub()"
  if(!c.closeOnClick) c.tim = setTimeout(f,c.wait)
   else{
      if(bw.ns4){ document.captureEvents("Event.MOUSEDOWN"); document.onmousedown=new Function(f)}
      else document.onclick=new Function(f);
      if(this.frames){
         if(bw.ns4){this.doc.captureEvents("Event.MOUSEDOWN"); this.doc.onmousedown=new Function(f)}
         else this.doc.onclick=new Function(f)
      }
   }
}
/**Constructing and initiating top items and bar**/
makeCM.prototype.construct=function(nowrite){ //Changed v4.06
  var c=this; if(!c.l[0]||c.l[0].m.length==0) return cm_message('No menus defined');
    if(!nowrite){for(var i=1;i<c.l.length;i++){c.l[i].str+="</div>"}} //Added 4.06
  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(var 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
    var bbx=c.barBorderX,bby=c.barBorderY;
    var bar1=c.bar1= new cm_makeObj(c.name+'bbar_0',c.name+'bbar',nowrite?0:c.bar1,document)
    var 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 - updated 4.06 - stil sucks
    if(bw.ns4||bw.op5||bw.op6)setTimeout('window.onresize=new Function("'+c.name+'.resized()")',500)
      else window.onresize=new Function(c.name+".resized()")
    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)?20: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||bw.op7||bw.ns4){
      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()}
  }
}
/**Onclick of an item**/
makeCM.prototype.onclck=function(m){ //Changed v4.06
  m = this.m[m]
  if(m.onclck) eval(m.onclck);
   if(this.openOnClick && m.subs.length>0){
      this.clicked = 1; this.showsub(m.name); return
   }
  var 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
}

makeCM.prototype.onshow+="if(c.l[pm.lev].clippx){h=b.h; if(!rows) b.clipTo(0,maxw,0,0,1); else b.clipTo(0,0,maxh,0,1); b.clipxy=0; b.showIt(); clearTimeout(b.tim); b.clipout(c.l[pm.lev].clippx,!rows?maxw:maxh,!rows?maxh:maxw,c.l[pm.lev].cliptim,rows)}"
cm_makeObj.prototype.tim=10;
cm_makeLevel.prototype.clippx=null
cm_makeLevel.prototype.cliptim=30
cm_makeObj.prototype.clipxy=0
cm_makeObj.prototype.clipout=function(px,w,stop,tim,rows){
   if(!this.vis) return; if(this.clipxy<stop-px){this.clipxy+=px;
  if(!rows) this.clipTo(0,w,this.clipxy,0,1);
  else this.clipTo(0,this.clipxy,w,0,1);
  this.tim=setTimeout(this.obj+".clipout("+px+","+w+","+stop+","+tim+","+rows+")",tim)
   }else{if(bw.ns6){this.hideIt();}; if(!rows) this.clipTo(0,w,stop,0,1); else this.clipTo(0,stop,w,0,1);if(bw.ns6){this.showIt()}}
}

//filter effect
bw.filter=(bw.ie55||bw.ie6) && !bw.mac
makeCM.prototype.onshow+=";if(c.l[pm.lev].filter) b.filterIt(c.l[pm.lev].filter)"
cm_makeLevel.prototype.filter=null
cm_makeObj.prototype.filterIt=function(f){
  if(bw.filter){
    if(this.evnt.filters[0]) this.evnt.filters[0].Stop();
    else this.css.filter=f;
    this.evnt.filters[0].Apply();
    this.showIt();
    this.evnt.filters[0].Play();
  }
}

//scrolling effect
if(bw.ie) makeCM.prototype.onconstruct='document.body.onscroll=new Function(c.name+".checkscrolled("+c.name+")")'
else makeCM.prototype.onconstruct='setTimeout(c.name+".checkscrolled()",200)' //REMOVE THIS LINE TO HAVE SCROLLING ON FOR EXPLORER ONLY!!
makeCM.prototype.lscroll=0
makeCM.prototype.scrollstop=0 //Set this variable to 1 for another scrolling effect. Leave at 0 to scroll regular
makeCM.prototype.checkscrolled=function(obj){
   var i;
   if(bw.mac) return //REMOVE THIS LINE TO HAVE SCROLLING ON THE MAC AS WELL - unstable!
  var c=bw.ie?obj:this, o
   if(bw.ns4 || bw.ns6 || bw.op5) c.scrollY=window.pageYOffset
   else c.scrollY=document.body.scrollTop
   if(c.scrollY!=c.lscroll){
    c.hidesub()
    if(c.scrollY>c.fromTop&&c.scrollstop){
      for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,c.scrollY)}
      if(c.useBar) c.bar.moveIt(c.bar.x,c.scrollY)
    }else{
      if(c.scrollstop){
        for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,c.fromTop)}
        if(c.useBar) c.bar.moveIt(c.bar.x,c.barY)
      }else{
        for(i=0;i<c.l[0].m.length;i++){o=c.m[c.l[0].m[i]].b; o.moveIt(o.x,o.oy+c.scrollY)}
        if(c.useBar) c.bar.moveIt(c.bar.x,c.barY+c.scrollY)
      }
    }
      c.lscroll=c.scrollY; cmpage.y=c.scrollY; cmpage.y2=cmpage.orgy+c.scrollY
      if(bw.ie){ clearTimeout(c.tim); c.isover=0; c.hidesub()}
    if(c.hideselectboxes){ //If you are using the hideselect add-in as well the script will now check for selectboxes when scrolling as well
      var x = c.useBar?c.m[c.l[0].m[0]].b.x>c.bar.x?c.bar.x:c.m[c.l[0].m[0]].b.x:c.m[c.l[0].m[0]].b.x;
      var y = c.useBar?c.m[c.l[0].m[0]].b.y>c.bar.y?c.bar.y:c.m[c.l[0].m[0]].b.y:c.m[c.l[0].m[0]].b.y;
      var maxw = c.useBar?c.bar.w:c.rows?c.totw:c.maxw; var maxh = c.useBar?c.bar.h:!c.rows?c.toth:c.maxh
      c.hideselectboxes(0,x,y,maxw,maxh,0)
    }
   }
   if(!bw.ie) setTimeout(c.name+".checkscrolled()",200)
}





Menu1.js :
Code:

//Menu object creation
oCMenu=new makeCM("oCMenu") //Making the menu object. Argument: menuname

oCMenu.frames=0

//Menu properties   
oCMenu.pxBetween=5
oCMenu.fromLeft=210
oCMenu.fromTop=200   
oCMenu.rows=0
oCMenu.menuPlacement="0"
                                                             
oCMenu.offlineRoot="file:///C|/temp/stb/scripts/coolmenus/"
oCMenu.onlineRoot="../scripts/coolmenus/"
oCMenu.resizeCheck=1
oCMenu.wait=1000
oCMenu.fillImg="cm_fill.gif"
oCMenu.zIndex=0

//Background bar properties
oCMenu.useBar=0
oCMenu.barWidth="menu"
oCMenu.barHeight="menu"
oCMenu.barClass="clBar"
oCMenu.barX=0
oCMenu.barY=0
oCMenu.barBorderX=0
oCMenu.barBorderY=0
oCMenu.barBorderClass=""

//Level properties - ALL properties have to be specified in level 0
oCMenu.level[0]=new cm_makeLevel() //Add this for each new level
oCMenu.level[0].width=99
oCMenu.level[0].height=18
oCMenu.level[0].regClass="clLevel0"
oCMenu.level[0].overClass="clLevel0over"
oCMenu.level[0].borderX=0
oCMenu.level[0].borderY=0
oCMenu.level[0].borderClass="clLevel0border"
oCMenu.level[0].offsetX=1
oCMenu.level[0].offsetY=5
oCMenu.level[0].rows=0
oCMenu.level[0].arrow=0
oCMenu.level[0].arrowWidth=0
oCMenu.level[0].arrowHeight=0
oCMenu.level[0].align="right"

//dynamic effect (controllable for each level)
oCMenu.level[0].clippx=2
oCMenu.level[0].cliptim=2
//special animation filters (IE5.5+ only, controllable for each level)
oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)"

//Other special animation filters (IE5.5+ only, controllable for each level)
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Wheel(duration=0.5,spokes=5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Barn(duration=0.5,orientation=horizontal)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Blinds(duration=0.5,bands=5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.CheckerBoard(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.GradientWipe(duration=0.5,wipeStyle=0)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Iris(duration=0.5,irisStyle=STAR)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Iris(duration=0.5,irisStyle=CIRCLE)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Pixelate(duration=0.5,maxSquare=40)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Wheel(duration=0.5,spokes=5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.RandomDissolve(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Spiral(duration=0.5)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Stretch(duration=0.5,stretchStyle=push)"
//oCMenu.level[0].filter="progid:DXImageTransform.Microsoft.Strips(duration=0.5,motion=rightdown)"


//EXAMPLE SUB LEVEL[1] PROPERTIES - You have to specify the properties you want different from LEVEL[0] - If you want all items to look the same just remove this
oCMenu.level[1]=new cm_makeLevel() //Add this for each new level (adding one to the number)
oCMenu.level[1].width=oCMenu.level[0].width-4
oCMenu.level[1].height=18
oCMenu.level[1].regClass="clLevel1"
oCMenu.level[1].overClass="clLevel1over"
oCMenu.level[1].borderX=0
oCMenu.level[1].borderY=0
oCMenu.level[1].align="right"
oCMenu.level[1].offsetX=0
oCMenu.level[1].offsetY=0
oCMenu.level[1].borderClass="clLevel1border"
//dynamic effect
oCMenu.level[1].clippx=2
oCMenu.level[1].cliptim=2
//special animation filters
oCMenu.level[1].filter="progid:DXImageTransform.Microsoft.Fade(duration=0.5)"


//EXAMPLE SUB LEVEL[2] PROPERTIES - You have to specify the properties you want different from LEVEL[1] OR LEVEL[0] - If you want all items to look the same just remove this
oCMenu.level[2]=new cm_makeLevel() //Add this for each new level (adding one to the number)
oCMenu.level[2].width=150
oCMenu.level[2].height=18
oCMenu.level[2].offsetX=0
oCMenu.level[2].offsetY=0
oCMenu.level[2].regClass="clLevel2"
oCMenu.level[2].overClass="clLevel2over"
oCMenu.level[2].borderClass="clLevel2border"


/******************************************
Menu item creation:
myCoolMenu.makeMenu(name, parent_name, text, link, target, width, height, regImage, overImage, regClass, overClass , align, rows, nolink, onclick, onmouseover, onmouseout)
*************************************/
oCMenu.makeMenu('top0','','PlanMagic','http://www.java24.net','')
   oCMenu.makeMenu('sub00','top0','Main index','http://www.java24.net')
   oCMenu.makeMenu('sub01','top0','Products','http://www.java24.net')
      oCMenu.makeMenu('sub001','sub01','PlanMagic Business','http://www.java24.net','',140,0)
      oCMenu.makeMenu('sub002','sub01','PlanMagic Marketing','http://www.java24.net','',140,0)
      oCMenu.makeMenu('sub003','sub01','PlanMagic WebQuest Pro','http://www.java24.net','',140,0)
      oCMenu.makeMenu('sub004','sub01','PlanMagic Finance Pro','http://www.java24.net','',140,0)

oCMenu.makeMenu('top1','','Business plan','http://www.java24.net/businessplan.html')
   oCMenu.makeMenu('sub10','top1','Features','http://www.java24.net')
   oCMenu.makeMenu('sub11','top1','Download demo','http://www.java24.net')
   oCMenu.makeMenu('sub12','top1','How to order','http://www.java24.net')
   
oCMenu.makeMenu('top2','','Marketing plan','http://www.java24.net')
   oCMenu.makeMenu('sub21','top2','Features','http://www.java24.net')
   oCMenu.makeMenu('sub22','top2','Download demo','http://www.java24.net')
   oCMenu.makeMenu('sub23','top2','How to order','http://www.java24.net')

oCMenu.makeMenu('top3','','Web marketing','http://www.java24.net')
   oCMenu.makeMenu('sub31','top3','Features','http://www.java24.net')
   oCMenu.makeMenu('sub32','top3','Download demo','http://www.java24.net')
   oCMenu.makeMenu('sub33','top3','How to order','http://www.java24.net')

oCMenu.makeMenu('top4','','Financial plan','http://www.java24.net')
   oCMenu.makeMenu('sub41','top4','Features','http://www.java24.net')
   oCMenu.makeMenu('sub42','top4','Download demo','http://www.java24.net')
   oCMenu.makeMenu('sub43','top4','How to order','http://www.java24.net')
   


//Leave this line - it constructs the menu
oCMenu.construct()   



Das sieht zwar kompliziert aber das ist doch für dich machbar oder ??

Danke im Vorraus


Mfg Thomas janz

Ps: du bist der beste coolplace !![/quote]
Beitrag06.09.2007 um 19:03 (UTC)    
Titel:

Die JS-Files kannst Du nicht einfach im Quellcode einfügen, die musst Du irgendwo hochladen und entsprechend verlinken.
Beitrag06.09.2007 um 19:44 (UTC)    
Titel:

oh sry ! Ich versuchs morgen mal !!!!

noma Danke Coolplace


Mfg T.J.
Beiträge der letzten Zeit anzeigen:   


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de