Index: branches/RC/themes/default2007/platform/inc/nlsmenu.js =================================================================== diff -u -r8929 -r9601 --- branches/RC/themes/default2007/platform/inc/nlsmenu.js (.../nlsmenu.js) (revision 8929) +++ branches/RC/themes/default2007/platform/inc/nlsmenu.js (.../nlsmenu.js) (revision 9601) @@ -25,14 +25,14 @@ this.icPath=""; this.memorizeSel=false; this.rt=new Object(); - + this.tmId = null; this.setTimeout=function(a, t) { this.tmId = window.setTimeout(a, t); }; this.clearTimeout=function() { if (this.tmId!=null) { window.clearTimeout(this.tmId); this.tmId=null;}}; - + nlsMenuMgr[mgr] = this; if(nls_isIE)window.attachEvent("onload", function(){nlsMenuMgr[mgr].init();}); - + return this; }; @@ -48,20 +48,20 @@ NlsMnMgr.createMenubar = function (mbarId) { if (this.menubar) alert("Menubar already exists!"); - var m=new NlsMenubar(mbarId); + var m=new NlsMenubar(mbarId); m.mgr=this; m.mgrId=this.mgrId; m.icPath=this.icPath; if (this.design) { m.$menuItemClick = NlsMenu.$dsItemClick; } this.menubar=m; - return m; + return m; }; NlsMnMgr.renderMenus = function (plc) { if (plc && plc!="") { var d=NlsMenu.$GE(plc); var s=""; - for (it in this.menus) { s+=this.menus[it].renderMenu(); } + for (it in this.menus) { s+=this.menus[it].renderMenu(); } d.innerHTML=s; } else { - for (it in this.menus) { document.write(this.menus[it].renderMenu()); } + for (it in this.menus) { document.write(this.menus[it].renderMenu()); } } }; @@ -97,7 +97,7 @@ var elm; var tmp; var x; var y; for(var i=0; i" + - "" + + return ("" + + "" + "
"); }; - + this.toString=function() {return "NlsMenuSeparator";}; }; @@ -157,7 +157,7 @@ this.cstMenu = (cst?cst:" "); this.toString=function() {return "NlsCustomMenuItem";}; }; - + function NlsMenu(mId) { /*private*/ this.lsItm=null; @@ -171,9 +171,9 @@ this.isMenubar=false; this.effect=null; this.srItems=[]; - + this.rt={ready:true,active:false}; - + /*public*/ this.mId = mId; this.items = new Object(); @@ -183,21 +183,21 @@ this.icPath=""; this.itemSpc=""; this.stretchItem=true; - + this.selection=false; - + this.showIcon=false; this.showSubIcon=true; - + this.absWidth=""; this.orient="V"; this.defItmEff=null; this.defPos=[0,0]; - + this.maxItemCol=100; this.zIndex = 100; - + this.wnd = window; nlsMenu[mId] = this; return this; @@ -217,7 +217,7 @@ return it; }; -NLSMENU.addSeparator = function(separator) { +NLSMENU.addSeparator = function(separator) { var intKey = "sep_"+this.count; var it = (separator ? separator : new NlsMenuSeparator()); it.stlprf = this.stlprf; @@ -300,9 +300,9 @@ for (var i=0;i=0) { scPath=allScs[i].src.replace(/nlsmenu.js/gi, ""); } } - if (!this.subMenuIc) { sbIc=[scPath+"img/submenu.gif", scPath+"img/submenuovr.gif"];} + if (!this.subMenuIc) { sbIc=[scPath+"img/submenu.gif", scPath+"img/submenuovr.gif"];} else {sbIc=[this.icPath+this.subMenuIc[0]]; if(this.subMenuIc[1])sbIc[1]=this.icPath+this.subMenuIc[1];} - + var cs=""; @@ -318,28 +318,28 @@ smenu+=(this.orient=="V"?"":""); smenu+=(""); smenu+=(this.orient=="V"?"":""); - } else + } else if (it.toString()=="NlsCustomMenuItem") { smenu+=(this.orient=="V"?"":""); smenu+=(""); smenu+=(this.orient=="V"?"":""); } else { - prf=NlsMenu.getPrf(it, this); + prf=NlsMenu.getPrf(it, this); if (this.orient=="V") { smenu+=""; } if (this.orient=="H") { if (tmpCnt==0) smenu+=""; tmpCnt++; } smenu+=""; - - if (this.showIcon) { + + if (this.showIcon) { smenu+=""; + smenu+=""; } - + smenu+=""; if (this.showSubIcon && it.subMenuId!="") { smenu+=""; } smenu+="
"+it.render()+"
"+it.cstMenu+"
"; smenu+=cs+(this.stretchItem?"width='100%'":"")+" height='100%'>
"; if(it.ico) { if(it.ico[0]) smenu+=""; if(it.ico[1]) smenu+=""; if(it.ico[2]) smenu+=""; } - smenu+=""+it.capt+""+ (it.subMenuId!=""? "" + (sbIc.length>1?"":"") :"") +"
"; @@ -348,26 +348,26 @@ if (this.orient=="H" && tmpCnt==this.maxItemCol) { smenu+=""; tmpCnt=0; } } } - + if(this.orient=="H" && tmpCnt!=0 ) { if(this.srItems.length>this.maxItemCol) while(++tmpCnt<=this.maxItemCol) smenu+=" "; smenu+=""; } smenu += ""; smenu = cs+"class='"+this.stlprf+"nlsmenu' "+ sAbs + ">"+smenu+""; - + if (this.customBorder!=null) smenu = this.customBorder.applyBorder(smenu, this.stlprf); smenu = this.shadow.dropShadow(smenu); smenu = "
" + smenu; if (!this.isMenubar && nls_isIE && !nls_isIE5 && this.mgr.flowOverFormElement) { - smenu += ""; + smenu += ""; } smenu+="
"; - + if (arguments[0]=="content") return smenu; - + smenu = "
" + smenu + "
"; return smenu; @@ -404,31 +404,31 @@ shadow += ""+menutd+""; break; case "bottomright" : - shadow += ""+menutd+av[0]+"" + + shadow += ""+menutd+av[0]+"" + ""+ah[0]+cornertd+""; break; case "bottomleft" : - shadow += ""+av[0]+menutd+"" + + shadow += ""+av[0]+menutd+"" + ""+cornertd+ah[1]+""; break; case "topleft" : - shadow += ""+cornertd+ah[1]+"" + + shadow += ""+cornertd+ah[1]+"" + ""+av[1]+menutd+""; break; case "topright" : - shadow += ""+ah[0]+cornertd+"" + + shadow += ""+ah[0]+cornertd+"" + ""+menutd+av[1]+""; break; } - return shadow + ""; + return shadow + ""; }; }; NLSMENU.showMenu = function(x1, y1, x2, y2, mnOrient, subDir, subAdj) { this.mgr.clearTimeout(); - - if(this.menuOnShow(this.mId)==false)return; - + + if(this.menuOnShow(this.mId)==false)return; + var ctx = NlsMenu.$GE(this.mId); if (!ctx) { //create menu if not rendered. @@ -440,7 +440,7 @@ ctx.style.visibility="hidden"; ctx.style.display=""; if(nls_isIE)this.init(); - + var w=window, d=document.body, de=document.documentElement; var scrOffX = w.scrollX||d.scrollLeft||de.scrollLeft; var scrOffY = w.scrollY||d.scrollTop||de.scrollTop; @@ -450,9 +450,9 @@ var mH=ctx.childNodes[0].offsetHeight; var sDir=(subDir?[subDir[0], subDir[1]]:["right", "down"]); var adjX=(subAdj?subAdj[0]:this.defPos[0]), adjY=(subAdj?subAdj[1]:this.defPos[1]); - + var dmfrm = NlsMenu.$GE(this.mId+"ifrm"); - if (dmfrm) { + if (dmfrm) { var actMn = NlsMenu.$GE("actmn_"+this.mId).children[0]; dmfrm.width = actMn.offsetWidth; dmfrm.height = actMn.offsetHeight; @@ -469,7 +469,7 @@ } else { if(y1-mH<0){if(y1+mHcW){if(x2>=mW){mX=x2-mW+scrOffX-adjX;sDir[0]="left"}else{mX=cW-mW-1+scrOffX;}}else{mX=x1+scrOffX+adjX;} } else { @@ -481,18 +481,18 @@ if(y1-mH<0){if(y2+mH 0) { for (var i=0;i1) { var k=mnItm.intKey; var c=NlsMenu.$GE("ic_"+k), o=NlsMenu.$GE("icovr_"+k), d=NlsMenu.$GE("icdis_"+k); - + c.style.display=(tf=="N"||(tf=="D" && !d)?"":"none"); o.style.display=(tf=="O"?"":"none"); if(d) d.style.display=(tf=="D"?"":"none"); } - + if (mn.showSubIcon && mnItm.subMenuId!="") { var ic=NlsMenu.$GE("subicovr_"+mnItm.intKey); if(ic){ ic.style.display=(tf=="O"?"":"none"); ic=NlsMenu.$GE("subic_"+mnItm.intKey); if(ic)ic.style.display=(tf=="N"||tf=="D"?"":"none"); } - } + } }; function setMnStyle(it, s, prefix) { @@ -658,7 +664,7 @@ rc=r.cells[i]; if(rc.id==it.id+"x1") rc.className=prefix+"nlsiconcell"+suff; if(rc.id==it.id+"x2") rc.className=prefix+"nlsitem"+(s=="D"?"disable":suff); - if(rc.id==it.id+"x3") rc.className=prefix+"nlssubmenucell"+suff; + if(rc.id==it.id+"x3") rc.className=prefix+"nlssubmenucell"+suff; } }; @@ -668,7 +674,7 @@ if(prMenu.mgr.design==true)return; var li = prMenu.lsItm; if (!prMenu.rt.active || !prMenu.rt.ready) return; - + var it=null, st="", nli=null; if (li!=null) { it=prMenu.items[li.id]; @@ -682,40 +688,40 @@ setMnIcon(prMenu, it, "N"); if (ef) { it.itemEffect.start(); } } - + var tmp=(it.crsFrame?it.subFrame.nlsGetMenu(it.subMenuId):nlsGetMenu(it.subMenuId)); - while(tmp!=null) { + while(tmp!=null) { nli = null; if (tmp.lsItm) { it=tmp.items[tmp.lsItm.id]; nli = (it.crsFrame ? it.subFrame.nlsGetMenu(it.subMenuId) : tmp.wnd.nlsGetMenu(it.subMenuId)); - } - tmp.hideMenu(); tmp=nli; + } + tmp.hideMenu(); tmp=nli; } } - + var oIt = NlsMenu.$GE(itId); it=prMenu.items[itId]; if (typeof(window.status)!="undefined") window.status=it.url; if(it.state!=2 && !it.selected) { if (it.itemEffect!=null) { it.itemEffect.init(); } - setMnStyle(oIt, (it.enable ? "O" : "D"), NlsMenu.getPrf(it, prMenu)); + setMnStyle(oIt, (it.enable ? "O" : "D"), NlsMenu.getPrf(it, prMenu)); setMnIcon(prMenu, it, "O"); if (it.itemEffect!=null) { it.itemEffect.start(); } } - - if (!prMenu.isMenubar || - (prMenu.isMenubar && !prMenu.dropOnClick) || + + if (!prMenu.isMenubar || + (prMenu.isMenubar && !prMenu.dropOnClick) || (prMenu.isMenubar && prMenu.dropOnClick && prMenu.isMenuOpened)) { NlsMenu.showMenu(prMenu, it); } - + prMenu.lsItm=oIt; }; function nls_getXY(oIt) { var p=new Object(); p.x=0;p.y=0;p.x2=0;p.y2=0; var tmp=oIt;var d=document; while(tmp) { p.x+=tmp.offsetLeft; p.y+=tmp.offsetTop; tmp=tmp.offsetParent } ; - p.x -= (window.scrollX||d.body.scrollLeft||d.documentElement.scrollLeft); - p.y -= (window.scrollY||d.body.scrollTop||d.documentElement.scrollTop); + p.x -= (window.scrollX||d.body.scrollLeft||d.documentElement.scrollLeft); + p.y -= (window.scrollY||d.body.scrollTop||d.documentElement.scrollTop); if (oIt) { p.x2=p.x+oIt.offsetWidth; p.y2=p.y+oIt.offsetHeight;}; return p; }; @@ -744,7 +750,7 @@ smn = nlsGetMenu(it.subMenuId); if (!smn) return; if (smn.zIndex <= prMenu.zIndex) { smn.zIndex = prMenu.zIndex+1 } - + } smn.showMenu(p.x, p.y, p.x2, p.y2, prMenu.orient, it.subDir, it.subPosAdj); } @@ -756,7 +762,7 @@ function nls_showMenu(mId, oIt, orient, subDir, subPosAdj) { var sMenu = nlsGetMenu(mId); - if (!sMenu) { hideAllNlsMenu(); return;} + if (!sMenu) { hideAllNlsMenu(); return;} sMenu.mgr.clearTimeout(); if (sMenu.rt.active) return; var p=nls_getXY(oIt); @@ -772,16 +778,16 @@ function _nlsMenuItemOver(mgrId) { var mgr = nlsMenuMgr[mgrId]; - if(mgr.design==true) return; + if(mgr.design==true) return; mgr.clearTimeout(); - + var am = mgr.assocMenuMgr; if ( am && am.length > 0) { for (var i=0; i