//UDMv3.4.1 // filter for undefined arrays for (var f=0;f0){bWidth=documentWIDTH;} //set nav height for backward compatibility var navH=fSIZE+5+vPADDING; if (fSIZE<13) { navH+=(13-fSIZE); } var origH=navH; // find wrapping links routine by brendan armstrong var Mrows=new Array;var Nrows=new Array; for(var i=0;i'); Mrows[i]=splitT.length; Nrows[i]=Mrows[i]; } function cFun(a,b) { return b-a; } Mrows.sort(cFun); navH=navH*Mrows[0]; var thisNavH=new Array; for(i=0;ibWidth&&menuALIGN!="free") { absLEFT=0; } //convert shadow type var shy=0; var shType; if(typeof shSIZE == "number") { if(shSIZE<0){shSIZE=0;} shy-=shSIZE; shType="number"; } if(typeof shSIZE == "string") { shSIZE=parseInt(shSIZE); shy+=shSIZE; shType="string"; } //variables var tInfo,titleText,master,nav,grid,pObj,nObj,ncObj,sObj,snObj,scObj,cObj,cnObj,ccObj,sNode,temSNode,temCNode,shObj,sLeft,slMargin,srMargin,sTop,stMargin,mSize,mNumOf,cNode,cshObj,cLeft,clMargin,crMargin,cTop,ctMargin,cmSize,cNumOf; //show grid var grs; function showGrid() { grs=grid.style.visibility; if(grs=="hidden"){grid.style.visibility="visible";} } //hide grid function hideGrid() { grs=grid.style.visibility; if(grs=="visible"){grid.style.visibility="hidden";} } // write status message function writeStatus(sTxt){ window.status=sTxt; return true; } // clear child menus function clearChildMenus() { cNumOf = cObj.childNodes.length; for(i=0;i-1) { for(i=0;i0) { openSubMenu(mNum); } if(typeof gridTrue=="undefined") { showGrid(); } return currentID; } //minimum main cell events function partialMainCell(mNum) { mainRollover(mNum); if(sI[mNum].length>0) { if(previousID[1]>-1) { clearCell(document.getElementById("subcell-"+mNum+"-"+previousID[1])); } } } //open submenu var sn,stObj,shAry,chAry,swPad,shPad,nodeHtml,mDiff,wAdj,tfObj; var kPressed=false; var shopac='-moz-opacity:'+(shOPACITY/100); if(!win){shopac='';} var stt,textScale,applyWidth,applyWidthII; function openSubMenu(mid) { //create node sNode = document.createElement("div"); document.getElementById("manch").appendChild(sNode); //build submenu items sn=''; applyWidth='width:auto;min-width:'+sP[mid][0]+'px\;white-space:nowrap\;'; if(konqi){applyWidth='width:'+sP[mid][0]+'px\;';} sn+='
'; shAry = new Array; chAry = new Array; for(i=0;i'); var Trows=splitT.length; if (Trows>1) { shAry[i]=(subNavH*Trows)-(svPADDING*(Trows-1)); } titleText=""; if(altDISPLAY=="title") { titleText = sI[mid][i][3]; } textScale='width:auto;min-width:'+(sP[mid][0]-(2*sbSIZE))+'px\;height:auto;min-'; if(!allowForSCALING) { textScale='width:'+(sP[mid][0]-(2*sbSIZE))+'px\;'; } sn+=''; sn+=''; } sn+='
'+sI[mid][i][1]+'
'; //set position sTop = parseInt(ncObj.style.top)+thisNavH[mid]; if(vOFFSET<0) { sTop+=vOFFSET; } if(sP[mid][3]<0) { sTop+=sP[mid][3]; } if(shType=="string") { sTop-=(shSIZE*2); } stMargin=bSIZE; if(vOFFSET>0) { stMargin+=vOFFSET; } if(sP[mid][3]>0) { stMargin+=sP[mid][3]; } stMargin+=shSIZE; sLeft = parseInt(ncObj.style.left); if(shType=="string") { sLeft-=(shSIZE*2); } swPad=sbSIZE;shPad=0; if(shType=="string") { swPad=(2*shSIZE)+sbSIZE; shPad=(2*shSIZE); } slMargin = 0; srMargin = 0; if(sP[mid][1]=="left") { wAdj=false; if((parseInt(ncObj.style.top)+thisNavH[mid])>sTop&&(sLeft<(hOFFSET+sP[mid][4]+mI[mid][2]))) { wAdj=true; sLeft+=mI[mid][2]; } if(hOFFSET>0) { slMargin+=hOFFSET; } if(sP[mid][4]>0) { slMargin+=sP[mid][4]; } if(hOFFSET<0) { sLeft+=hOFFSET; } if(sP[mid][4]<0) { sLeft+=sP[mid][4]; } if(wAdj) { if(slMargin>mI[mid][2]) { slMargin-=mI[mid][2]; } else { sLeft-=(mI[mid][2]-slMargin); slMargin=0; } } } if(sP[mid][1]=="right") { mSize=0; if(hOFFSET>0) { srMargin+=hOFFSET; mSize+=srMargin; } if(sP[mid][4]>0) { srMargin+=sP[mid][4]; mSize+=srMargin; } if(hOFFSET<0) { sLeft-=hOFFSET; } if(sP[mid][4]<0) { sLeft-=sP[mid][4]; } sLeft-=(sP[mid][0]-mI[mid][2]+mSize); } slMargin+=shSIZE; //write submenu applyWidth='width:auto;min-width:'+(sP[mid][0]+slMargin)+'px\;white-space:nowrap\;'; if(konqi){applyWidth='width:'+(sP[mid][0]+slMargin)+'px\;';} applyWidthII='width:auto;min-width:'+(sP[mid][0]+swPad-sbSIZE)+'px\;white-space:nowrap\;'; if(konqi){applyWidthII='width:'+(sP[mid][0]+swPad-sbSIZE)+'px\;';} sNode.parentNode.innerHTML=''; clearTimeout(cTimer); closeOkay=false; //position text layers for(i=0;i-1) { pObj = document.getElementById('subcell-'+previousID[0]+'-'+previousID[1]); if(ui[5]) { if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { pObj.style.backgroundImage = 'url('+bnk+')'; } } else { if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { pObj.style.backgroundColor = bk[3]; } } pObj.firstChild.firstChild.style.color = saLINK; } } //submenu rollover function subRollover(rmNum,rsNum) { if(sI[rmNum][rsNum][4]){ if(ui[5]) { scObj.style.backgroundImage = 'url('+bk[5].src+')'; } else { scObj.style.backgroundImage = 'url('+bnk+')'; scObj.style.backgroundColor = bk[5]; } } scObj.firstChild.firstChild.style.color = saHOVER; if(altDISPLAY=="status") { writeStatus(sI[rmNum][rsNum][3]); } else { tInfo=sI[rmNum][rsNum][0]; if(tInfo=="#") { tInfo = ""; } writeStatus(tInfo); } } //submenu cell events var cn,ctObj; function subCell(mNum,sNum) { clearTimeout(cTimer); closeOkay=false; clearSubRollover(); currentID = [mNum,sNum,-1]; previousID = currentID; focusID=currentID; scObj = document.getElementById('subcell-'+mNum+'-'+sNum); subRollover(mNum,sNum); openChildMenu(mNum,sNum); showGrid(); } //minimum sub cell events function partialSubCell(mNum,sNum) { clearSubRollover(); subRollover(mNum,sNum); if(cI[mNum][sNum].length>0) { if(previousID[2]>-1) { clearCell(document.getElementById("childcell-"+mNum+"-"+sNum+"-"+previousID[2])); } } } //open childmenu var ctt; var evcy,evoh,evst,mctPos; function openChildMenu(mid,cid) { clearChildMenus(); if(cI[mid][cid].length<=0) { return false; } //create node cNode = document.createElement("div"); document.getElementById("canch").appendChild(cNode); cn = ''; applyWidth='width:auto;min-width:'+cP[mid][cid][0]+'px\;white-space:nowrap;'; if(konqi){applyWidth='width:'+cP[mid][cid][0]+'px\;';} cn+='
'; chAry[mid] = new Array; for(i=0;i'); var Trows=splitT.length; if (Trows>1) { chAry[mid][i]=(subNavH*Trows)-(svPADDING*(Trows-1)); } titleText=""; if(altDISPLAY=="title") { titleText = cI[mid][cid][i][3]; } textScale='width:auto;min-width:'+(cP[mid][cid][0]-(sbSIZE*2))+'px\;height:auto;min-'; if(!allowForSCALING){ textScale='width:'+(cP[mid][cid][0]-(sbSIZE*2))+'px\;'; } cn+=''; cn+=''; } cn+='
'+cI[mid][cid][i][1]+'
'; //set position cLeft = sLeft+slMargin-shSIZE; clMargin = 0; crMargin = 0; if(cP[mid][cid][1]=="left") { if(chhOFFSET>0) { clMargin+=chhOFFSET; } if(cP[mid][cid][4]>0) { clMargin+=cP[mid][cid][4]; } if(chhOFFSET<0) { cLeft+=chhOFFSET; } if(cP[mid][cid][4]<0) { cLeft+=cP[mid][cid][4]; } cLeft+=sP[mid][0]; } if(cP[mid][cid][1]=="right") { mSize=0; if(chhOFFSET>0) { crMargin+=chhOFFSET; mSize+=crMargin; } if(cP[mid][cid][4]>0) { crMargin+=cP[mid][cid][4]; mSize+=crMargin; } if(chhOFFSET<0) { cLeft-=chhOFFSET; } if(cP[mid][cid][4]<0) { cLeft-=cP[mid][cid][4]; } cLeft-=cP[mid][cid][0]+mSize; } clMargin+=shSIZE; cTop = sTop+stMargin-shSIZE; for(i=0;i0) { ctMargin+=chvOFFSET; } if(cP[mid][cid][3]>0) { ctMargin+=cP[mid][cid][3]; } ctMargin+=shSIZE; //write submenu applyWidth='width:auto;min-width:'+(cP[mid][cid][0]+clMargin)+'px\;white-space:nowrap;'; if(konqi){applyWidth='width:'+(cP[mid][cid][0]+clMargin)+'px\;';} applyWidthII='width:auto;min-width:'+(cP[mid][cid][0]+swPad-sbSIZE)+'px\;white-space:nowrap;'; if(konqi){applyWidthII='width:'+(cP[mid][cid][0]+swPad-sbSIZE)+'px\;';} cNode.parentNode.innerHTML='
'+cn+'
'; //position text layers for(i=0;ibHeight) { mctPos=evcy-((evcy+evoh)-bHeight); cnObj.style.top=(mctPos+evst)+"px"; } } //show childmenu cnObj.style.visibility="visible"; return cnObj; } //clear cell function for sub and child menus function clearCell(ccObj) { if(ui[5]) { if(ui[3]) { ccObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { ccObj.style.backgroundImage = 'url('+bnk+')'; } } else { if(ui[3]) { ccObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { ccObj.style.backgroundColor = bk[3]; } } ccObj.firstChild.firstChild.style.color = saLINK; } //childmenu cell events function childCell(mNum,sNum,cNum) { clearTimeout(cTimer); closeOkay=false; if(!keepSubLIT) { scObj.firstChild.firstChild.style.color = saLINK; if(ui[5]) { if(ui[3]) { scObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { scObj.style.backgroundImage = 'url('+bnk+')'; } } else { if(ui[3]) { scObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { scObj.style.backgroundColor = bk[3]; } } } if(previousID[2]>-1) { pObj = document.getElementById('childcell-'+previousID[0]+'-'+previousID[1]+'-'+previousID[2]); if(ui[5]) { if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { pObj.style.backgroundImage = 'url('+bnk+')'; } } else { if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } else { pObj.style.backgroundColor = bk[3]; } } pObj.firstChild.firstChild.style.color = saLINK; } currentID = [mNum,sNum,cNum]; previousID = currentID; focusID=currentID; ccObj = document.getElementById('childcell-'+mNum+'-'+sNum+'-'+cNum); if(cI[mNum][sNum][cNum][4]){ if(ui[5]) { ccObj.style.backgroundImage = 'url('+bk[5].src+')'; } else { ccObj.style.backgroundImage = 'url('+bnk+')'; ccObj.style.backgroundColor = bk[5]; } } ccObj.firstChild.firstChild.style.color = saHOVER; if(altDISPLAY=="status") { writeStatus(cI[mNum][sNum][cNum][3]); } else { tInfo=cI[mNum][sNum][cNum][0]; if(tInfo=="#") { tInfo = ""; } writeStatus(tInfo); } showGrid(); } var mn=''; mn+='
'; // event handling grid var gopac=""; if(redGRID) { gopac="background-color:red"; } var grw = bWidth; if(gridWIDTH>0) { grw = gridWIDTH; } var grh = bHeight; if(gridHEIGHT>0) { grh = gridHEIGHT; } mn+='
 
'; //menu nodes mn+='
'; mn+='
'; // main navbar var mbc = bks[1]; var mcbc = bks[0]; var clcu,cllu,mtObj,mcLeft,strCol; var ofh='overflow:hidden'; if(konqi){ofh='';} var mnDisplay=''; if(remoteTRIGGERING) { mnDisplay='display:none'; } if(menuALIGN!="free") { //undernav if !free alignment strCol=bks[0]; if(showBORDERS) { strCol=bks[1]; } if(stretchMENU||showBORDERS) { mn+='
'; if(stretchMENU&&showBORDERS) { mn+='
 
'; } mn+='
'; } mn+='
'; mcLeft=absLEFT+bSIZE; //navbar if !free alignment for(i=0;i
'+mI[i][1]+'
'; mcLeft+=bSIZE+mI[i][2]; } } if(menuALIGN=="free") { //navbar if free alignment for(i=0;i'; titleText=""; if(altDISPLAY=="title") { titleText = mI[i][5]; } mn+='
'+mI[i][1]+'
'; mcLeft+=bSIZE+mI[i][2]; } } //write navbar mn+=''; document.write(mn); //click to close function clickToClose() { clearSubMenus(); } document.onclick = clickToClose; //load function var mtt; function loadFunction() { //add event listener for remote triggering if(remoteTRIGGERING) { document.addEventListener("mousemove", menuListen, false); } //position text layers for(i=0;i(bWidth/2)) { mtPos[0]=ecX-64-mtProps[0]; //set child menus alignment for(i=0;ibHeight) { mtPos[1]=(ecY)-((mtPos[1]+mtProps[1])-bHeight); } hOFFSET=mtPos[0]; vOFFSET=mtPos[1]; //move menu snObj.style.left=hOFFSET+"px"; snObj.style.top=(vOFFSET+scaroTop)+"px"; ncObj.style.left=(hOFFSET)+"px"; ncObj.style.top=((vOFFSET+scaroTop)-thisNavH[mmNum]-bSIZE)+"px"; sLeft = parseInt(ncObj.style.left); if(shType=="string") { sLeft-=(shSIZE*2); } sTop = parseInt(ncObj.style.top)+thisNavH[mmNum]; //show menu remoteShow(snObj); //start listening doListen=true; return true; } //show menu var showTimer; var showCount=0; var showPassObj; function remoteShow(showObj) { showPassObj=showObj; if(showCount==1) { clearTimeout(showTimer); showCount=0; showObj.style.visibility="visible"; } else { showCount=1; showTimer=setTimeout("remoteShow(showPassObj)",40); } }