var array_menu = new Array(); var array_id = new Array(); var dentro = 0; var div_mostrar = "menu_suspenso"; var chars = new Array( "Ã", "Â", "Á", "À", "Ä", "É", "Ê", "È", "Ë", "Í", "Ì", "Ï", "Î", "Ô", "Õ", "Ó", "Ò", "Ö", "Ú", "Ù", "Û", "Ü", "Ý", "Ñ", "Ç", "ã", "â", "á", "à", "ä", "é", "ê", "è", "ë", "í", "ì", "ï", "î", "ô", "õ", "ó", "ò", "ö", "ú", "ù", "û", "ü", "ý", "ñ", "ç" ); var troca = new Array( "Ã", "Â", "Á", "À", "Ä", "É", "Ê", "È", "Ë", "Í", "Ì", "Ï", "Î", "Ô", "Õ", "Ó", "Ò", "Ö", "Ú", "Ù", "Û", "Ü", "Ý", "Ñ", "Ç", "ã", "â", "á", "à", "ä", "é", "ê", "è", "ë", "í", "ì", "ï", "î", "ô", "õ", "ó", "ò", "ö", "ú", "ù", "û", "ü", "ý", "ñ", "ç" ); // checagem de browser 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; this.reuse = this.ie||this.usedom; this.px=this.dom&&!this.op5?"px":""; return this; } var bw; /*Variable declaration*/ var cmpage,cm_eventlayer=0,cm_eventlayerE=0; /*Crossbrowser objects functions*/ function cm_message(txt) { alert(txt); return false; } function cm_makeObj(obj,nest,o) { if(bw.usedom&&o) { this.evnt=o; } else { if( ! nest ) { nest = ''; } else { nest = 'document.layers.'+nest+'.'; } this.evnt=bw.dom? document.getElementById(obj): bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.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?document: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.css.display="block"; this.vis=1; if(bw.op5&&this.arr) { this.arr.showIt(); } } 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 { document.images["img"+this.name].src=on?this.img2.src:this.img1.src; } if(on && bw.ns6) { this.o.hideIt(); this.o.css.visibility='inherit'; } } 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() { this.x=0; this.x2 = (!bw.ie) ? window.innerWidth : document.body.offsetWidth-20; this.y=0; this.orgy=this.y2= (!bw.ie)?window.innerHeight: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) { var c=this; c.mc=0; c.name = name; c.id = 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.bar=0; c.z=0; c.totw=0; c.toth=0; c.maxw=0; c.maxh=0; cmpage = new cm_page(); }//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) { // adiciona conteudo das DIVs root 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='
',0,1); } str+='
'; if(l==0) { if(arrow) { str+=m.d3=cm_divCreate(id+'_a','clCMAbs','',0,1,d1); } str+=""; } 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; //c.largura = w; 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','',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=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 = ''; } m.txt+='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; } m.subx=x + ox; m.suby=y + oy; } /**Showing sub elements**/ makeCM.prototype.showsub=function(el) { entro = 1; for(var i = 0; i< document.getElementsByTagName("select").length; i++) { document.getElementsByTagName("select").item(i).style.visibility = "hidden"; } baseLeft = DOM_ObjectPosition_getPageOffsetLeft(document.getElementById(div_mostrar)); baseTop = DOM_ObjectPosition_getPageOffsetTop(document.getElementById(div_mostrar)); 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; meuNivel = l; this.meuNivel = meuNivel; 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; } 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;imaxw) { 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); if(!pm.subx||!pm.suby||c.srollY>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(l==1) { b.moveIt(baseLeft + x, baseTop + y); }else { if( meuNivel > 1 ) { //alert( 'movendo para: ' + x + ' : ' + y + ' posicao do pai:' + pm.b.x + " : " + pm.b.y + ' larg: ' + pm.b.w + ' nivel:' + meuNivel ); x = pm.b.x + pm.b.w; y--; } b.moveIt(x, y); } if(c.onshow) { eval(c.onshow); } b.showIt(); } /**Hide sub elements **/ makeCM.prototype.hidesub=function(l,el) { var c = this,tmp,m,i,j if(!l) { if(!l) { l=1; } } for(i=l-1;i0&&i>l-1) { c.l[i].b.hideIt(); } 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;jl) { for(j=0;j0) { document.body.appendChild(c.l[i].app); } c.l[i].str=null; //Probably need this on frames version though } } c.z=c.zIndex+2; for(i=0;i0) { m.b = bobj; nest=i; } else { m.b = new cm_makeObj(c.name + "_"+name+"_0","",m.d1); 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); 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-1) mpa=1; break; } for(i=0;icmpage.x2+off || page2.y2>cmpage.orgy+off) { if(bw.ie||bw.ns6) { cmpage=page2; this.isresized=1; if(onresize) { eval(this.onresize); } this.construct(1); if(this.onafterresize) { eval(this.onafterresize) } } else { cm_inresize=1; location.reload(); } } setXY(); } /**Onclick 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") { 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; } } // nome, cod, cod_pai, link, imagem, target function MontaMenu() { bw=new cm_bwcheck(); oCMenu=new makeCM("oCMenu"); oCMenu.pxBetween=0; oCMenu.fromLeft=0; oCMenu.fromTop=0; oCMenu.rows=1; oCMenu.menuPlacement="left"; oCMenu.offlineRoot=""; oCMenu.onlineRoot=""; oCMenu.resizeCheck=1; oCMenu.wait=500; oCMenu.fillImg="cm_fill.gif"; oCMenu.zIndex=0; if(bw.ns4 || bw.op5 || bw.op6){ oCMenu.onshow="document.layers?document.layers.formLayer.visibility='hidden':document.getElementById('formDiv').style.visibility='hidden';" oCMenu.onhide="document.layers?document.layers.formLayer.visibility='visible':document.getElementById('formDiv').style.visibility='visible';" } oCMenu.useBar=0; oCMenu.barWidth="760"; oCMenu.barHeight="16"; oCMenu.barClass="clBar"; oCMenu.barX=20; oCMenu.barY=20; oCMenu.barBorderX=0; oCMenu.barBorderY=0; oCMenu.barBorderClass=""; oCMenu.level[0]=new cm_makeLevel(); oCMenu.level[0].width=80; oCMenu.level[0].height=17; 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=0; oCMenu.level[0].offsetY=0; oCMenu.level[0].rows=0; oCMenu.level[0].arrow=0; oCMenu.level[0].arrowWidth=0; oCMenu.level[0].arrowHeight=0; oCMenu.level[0].align="bottom"; oCMenu.level[1]=new cm_makeLevel() oCMenu.level[1].width=oCMenu.level[0].width-2 oCMenu.level[1].height=20 oCMenu.level[1].regClass="clLevel1" oCMenu.level[1].overClass="clLevel1over" oCMenu.level[1].borderX=1 oCMenu.level[1].borderY=1 oCMenu.level[1].align="right" oCMenu.level[1].offsetX=-(oCMenu.level[0].width-2)/2+20 oCMenu.level[1].offsetY=0 oCMenu.level[1].borderClass="clLevel1border" oCMenu.level[2]=new cm_makeLevel() //oCMenu.level[2].width=150 oCMenu.level[2].height=20 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" var cod_menu_anterior = 0; var menu_formatado = new Array(); var menu_formatado_tmp = new Array(); var id_menu = 1; var nivel = 0; var nivel_pai = 0; for(var i = 0; i < array_menu.length; i++) { nivel = 0; nivel_pai = 0; var cod_menu_pai = array_menu[i][2]; if(menu_formatado.length > 0) { if(!cod_menu_pai) { menu_formatado[menu_formatado.length] = new Array(id_menu,array_menu[i][0],array_menu[i][1],array_menu[i][2],array_menu[i][3],'',replace_all(array_menu[i][0],troca,chars).length*10,array_menu[i][4], array_menu[i][5], array_menu[i][6],array_menu[i][7]); id_menu++; }else { // Percorre Menu Formatado for(var j=0; j < menu_formatado.length; j++) { // Verifica se algum menu tem o c�digo do pai do menu atual if(menu_formatado[j][2] == cod_menu_pai) { nivel_pai = menu_formatado[j][0]; // caso encontre o pai do menu atual, porcorre array formatado procurando // pelo irmaos do menu atual para formar o nivel. var maior_nome = replace_all(array_menu[i][0],troca,chars).length*8+22; for(var k=0; k < menu_formatado.length; k++) { // Encontra irmao e incrementa o nivel if(menu_formatado[k][3] == cod_menu_pai) { nivel++; if(menu_formatado[k][6]> maior_nome) { maior_nome = menu_formatado[k][6]; } menu_formatado[k][6] = maior_nome; } } nivel = menu_formatado[j][0]+"_"+nivel; } } if(nivel) { if(replace_all(array_menu[i][0],troca,chars).length*8+22 > maior_nome) { maior_nome = replace_all(array_menu[i][0],troca,chars).length*8+22; } menu_formatado[menu_formatado.length] = new Array(nivel,array_menu[i][0],array_menu[i][1],array_menu[i][2],array_menu[i][3],nivel_pai, maior_nome,array_menu[i][4], array_menu[i][5], array_menu[i][6],array_menu[i][7] ); } } }else { menu_formatado[menu_formatado.length] = new Array(id_menu,array_menu[i][0],array_menu[i][1],array_menu[i][2],array_menu[i][3],'', replace_all(array_menu[i][0],troca,chars).length*10,array_menu[i][4], array_menu[i][5], array_menu[i][6],array_menu[i][7]); id_menu++; } } if(menu_formatado.length > 0) { for(var i = 0; i< menu_formatado.length; i++) { if(menu_formatado[i][5]) { if(menu_formatado[i][7]) { // sub-menus link = "
" + menu_formatado[i][1] + "
"; oCMenu.makeMenu(menu_formatado[i][0]+"_",menu_formatado[i][5]+"_", link, menu_formatado[i][8],menu_formatado[i][9],menu_formatado[i][6],'','','','','','','','',menu_formatado[i][10]); } else { link = "
" + menu_formatado[i][1] + "
"; oCMenu.makeMenu(menu_formatado[i][0]+"_",menu_formatado[i][5]+"_", link, menu_formatado[i][8],menu_formatado[i][9],menu_formatado[i][6],'','','','','','','','',menu_formatado[i][10]); } }else { // menu pai (root) if( menu_formatado[i][8] ) { link = "
" + menu_formatado[i][1] + ""; } else { link = "" + menu_formatado[i][1] + ""; } oCMenu.makeMenu(menu_formatado[i][0]+"_",'',link,menu_formatado[i][8], menu_formatado[i][9],menu_formatado[i][6],'','','','','','','','',menu_formatado[i][10]); } } oCMenu.construct(); } } function replace_all(palavra, array_procura, array_substitui) { var array_palavra = palavra.split(" "); var palavra_final=""; var espaco = ""; for(var j=0; j