//UDMv3.4.1 // filter for undefined arrays for (var f=0;f'); 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;i0) { bWidth = documentWIDTH; } //calculate nav width var endSpace=0; var navSpace=0; for (var j=0;jbWidth&&menuALIGN!="free") { absLEFT=0; } //convert shadow type shy=0; 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 select boxes if(hideSELECT){hideSelects();} } } //hide grid function hideGrid() { grs=grid.style.visibility; if(grs=="visible"){ grid.style.visibility="hidden"; //show select boxes if(hideSELECT){showSelects();} } } // 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(); } } //minimum main cell events function partialMainCell(mNum) { mainRollover(mNum); showGrid(); 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; function openSubMenu(mid) { //create node sNode = document.createElement("div"); document.getElementById("manch").appendChild(sNode); //build submenu items 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]; } 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=0;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); sLeft-=2*sbSIZE; } slMargin+=shSIZE; //write submenu sNode.outerHTML=''; //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.style.color = saLINK; } } //submenu rollover function subRollover(rmNum,rsNum) { if(sI[rmNum][rsNum][0]!="~"){ if(typeof sI[rmNum][rsNum][4]!="undefined"){ if(ui[5]) { scObj.style.backgroundImage = 'url('+bk[5].src+')'; } else { scObj.style.backgroundImage = 'url('+bnk+')'; scObj.style.backgroundColor = bk[5]; } } scObj.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 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 = ''; 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]; } 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]+(2*sbSIZE); } 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]+(2*sbSIZE)+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 cNode.outerHTML='
'+cn+'
'; //position text layers for(i=0;ibHeight) { mctPos=event.clientY-((evcy+evoh)-bHeight); cnObj.style.top=(mctPos+evst)+"px"; } } //apply transition filter if(typeof cnObj.filters !="unknown" && typeof cnObj.filters[0] !="undefined") { cnObj.filters[0].Apply(); } //show childmenu cnObj.style.visibility="visible"; //play transition filter if(typeof cnObj.filters !="unknown" && typeof cnObj.filters[0] !="undefined") { cnObj.filters[0].Play(); } } //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.style.color = saLINK; } //childmenu cell events function childCell(mNum,sNum,cNum) { clearTimeout(cTimer); closeOkay=false; if(!keepSubLIT) { scObj.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.style.color = saLINK; } currentID = [mNum,sNum,cNum]; previousID = currentID; focusID=currentID; ccObj = document.getElementById('childcell-'+mNum+'-'+sNum+'-'+cNum); if(cI[mNum][sNum][cNum][0]!="~"){ if(typeof cI[mNum][sNum][cNum][4]!="undefined"){ if(ui[5]) { ccObj.style.backgroundImage = 'url('+bk[5].src+')'; } else { ccObj.style.backgroundImage = 'url('+bnk+')'; ccObj.style.backgroundColor = bk[5]; } } ccObj.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 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); //position text layers for(i=0;i-1) { document.getElementById("childcell-"+focusID[0]+"-"+focusID[1]+"-"+focusID[2]).click(); } else if(focusID[1]>-1) { document.getElementById("subcell-"+focusID[0]+"-"+focusID[1]).click(); } } var eka=event.altKey; var eks=event.shiftKey; var ekc=event.ctrlKey; if(eka||eks||ekc||remoteTRIGGERING){return false;} // form discrimination code by BUU @ website abstraction help forum var html=event.srcElement.outerHTML; regexp1=/^=65&&kc<=90) { kc+=32; } // find which key is pressed for (i=0;i-1) { if(kcc=="*l"||kcc=="*r") { focusID[2]++; if(focusID[2]>(cI[focusID[0]][focusID[1]].length-1)) { focusID[2]=0; } tempCI=cI[focusID[0]][focusID[1]][focusID[2]][0]; if(tempCI&&tempCI=="~"){focusID[2]++;} childFocus = document.getElementById("childcell-"+focusID[0]+"-"+focusID[1]+"-"+focusID[2]); if(childFocus) { childFocus.focus(); } } } } //clear key pressed function kpf() { kPressed=false; kcc=-1; focusID=[-1,-1,-1]; fid=0; } document.onmousemove=kpf; // activate key listening document.onkeyup = keyListen; // resize / reload trap if(allowRESIZE==true){window.onresize=new Function("window.location.reload()");} //select element hiding routine by Huy Do var selectSearch = true; var selectArray = new Array; var frm = document.forms; var typeStr,elm; //hide select elements function hideSelects(){ if (selectSearch==true){ for (i=0;i0){ for (z=0;z0){ for (z=0;z(bWidth/2)) { mtPos[0]=event.clientX-32-mtProps[0]; //set child menus alignment for(i=0;ibHeight) { mtPos[1]=(event.clientY)-((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]; }