| [ PHPXref.com ] | [ Generated: Sun Jul 20 20:12:55 2008 ] | [ Scout Tracker 0.13 ] |
| [ Index ] [ Variables ] [ Functions ] [ Classes ] [ Constants ] [ Statistics ] | ||
[Summary view] [Print] [Text view]
1 //UDMv3.4.1.1b 2 3 4 5 // filter for undefined arrays 6 for (var f=0;f<mI.length;f++){ 7 if(typeof sP[f]=="undefined"){sP[f]=new Array(mI[f][2],mI[f][3],mI[f][3],0,0);} 8 if(typeof cP[f]=="undefined"){cP[f]=new Array;} 9 if(typeof sI[f]=="undefined"){sI[f]=new Array;} 10 if(typeof cI[f]=="undefined"){cI[f]=new Array;} 11 for (var sf=0;sf<sI[f].length;sf++){ 12 if(typeof cP[f][sf]=="undefined"){cP[f][sf]=new Array;} 13 if(typeof cI[f][sf]=="undefined"){cI[f][sf]=new Array;} 14 }} 15 16 // set undefined or disallowed values 17 if(absTOP<0){absTOP=0;} 18 if(absLEFT<0){absLEFT=0;} 19 if(vPADDING<0){vPADDING=0;} 20 if(svPADDING<0){svPADDING=0;} 21 if(aHOVER=="") { aHOVER=aLINK; } 22 if(saHOVER=="") { saHOVER=saLINK; } 23 if(aCURSOR=="hand"){aCURSOR="pointer";} 24 if(kde){allowForSCALING=false;} 25 26 //find colors or images 27 var tempImg; 28 var bnk=".gif"; 29 var bk=new Array(mCOLOR,bCOLOR,rCOLOR,smCOLOR,sbCOLOR,srCOLOR,shCOLOR); 30 var bks=new Array; 31 var ui=new Array(false,false,false,false,false,false); 32 if(bk[2]=="") { bk[2]=mCOLOR; } 33 if(bk[5]=="") { bk[5]=bk[3]; } 34 35 var imgBacks=0; 36 for (var b=0;b<bk.length;b++){ 37 if(bk[b]=="") { bk[b]=""; } 38 if((bk[b].indexOf('.gif') != -1) || (bk[b].indexOf('.jpg') != -1)){ 39 ui[b]=true; 40 tempImg=bk[b]; 41 bk[b]=new Image; 42 bk[b].src=baseHREF+tempImg; 43 bks[b] = 'background-image:url('+bk[b].src+')\;'; 44 imgBacks++; 45 } 46 else { 47 if(bk[b]=="") { bks[b] = 'background-color:transparent\;'; } 48 else { bks[b] = 'background-color:'+bk[b]+'\;'; } 49 } 50 } 51 52 if(imgBacks==0){bnk="";} 53 if(ui[2]&&!ui[0]) { bks[0]+='background-image:url('+bnk+')\;'; } 54 if(ui[0]&&!ui[2]) { bks[2]+='background-image:url('+bnk+')\;'; } 55 if(ui[5]&&!ui[3]) { bks[3]+='background-image:url('+bnk+')\;'; } 56 if(ui[3]&&!ui[5]) { bks[5]+='background-image:url('+bnk+')\;'; } 57 58 59 60 61 //do nothing 62 function doNothing(){} 63 64 65 66 // find the inner width and height of the browser window 67 var bWidth=window.innerWidth; 68 var bHeight=window.innerHeight; 69 70 71 72 // compensate for lack of scrollbar if applicable 73 var sbaa=14; 74 if(!kde&&!saf){ 75 if(ns7){sbaa=15;} 76 if(mac&&(mz7&&ns6)){sbaa=16;} 77 if((mz7&&ns6)&&(agt.indexOf("rc1")!=-1||agt.indexOf("rv:1.2")!=-1)){sbaa=19;} 78 if(((mz7&&ns6)&&win&&(agt.indexOf("windows nt 5.1")!=-1))||mac||ns6){if(document.width<=(innerWidth-30)){bWidth-=sbaa;}} 79 else if((mz7&&ns6)&&win&&(agt.indexOf("windows nt 5.0")!=-1)){if(document.width<=(innerWidth-16)){bWidth-=16;}} 80 else if(win){if(document.width<=(innerWidth-17)){bWidth-=17;}} 81 if(lin){if(document.width<=(innerWidth-17)){bWidth-=17;}} 82 if(agt.indexOf("mac os x")!=-1){bWidth+=1;} 83 if(menuALIGN=="free"||remoteTRIGGERING||(!showBORDERS&&!stretchMENU)){bWidth-=sbaa;} 84 } 85 86 //saf tweak 87 if(saf){ 88 bWidth-=15; 89 bHeight-=15; 90 } 91 92 93 //op7 tweak 94 if(op7){ 95 bWidth=document.body.clientWidth; 96 bHeight=document.body.clientHeight; 97 } 98 99 //override width if defined 100 if(documentWIDTH>0){bWidth=documentWIDTH;} 101 102 103 104 //set nav height for backward compatibility 105 var navH=fSIZE+5+vPADDING; 106 if (fSIZE<13) { navH+=(13-fSIZE); } 107 var origH=navH; 108 109 // find wrapping links routine by brendan armstrong 110 var Mrows=new Array;var Nrows=new Array; 111 for(var i=0;i<mI.length;i++){ 112 var thisT=mI[i][1]; 113 var splitT=thisT.split('<br>'); 114 Mrows[i]=splitT.length; 115 Nrows[i]=Mrows[i]; 116 } 117 function cFun(a,b) { return b-a; } 118 Mrows.sort(cFun); 119 navH=navH*Mrows[0]; 120 121 var thisNavH=new Array; 122 for(i=0;i<mI.length;i++){ 123 if(menuALIGN=="free"){ 124 thisNavH[i]=origH*Nrows[i]; 125 } 126 else{ 127 thisNavH[i]=navH; 128 } 129 } 130 131 132 // find the subnav item height 133 var subNavH=sfSIZE+5+svPADDING; 134 if (sfSIZE<13) { subNavH+=(13-sfSIZE); } 135 136 137 //calculate nav width 138 var endSpace=0; 139 var navSpace=0; 140 for (var j=0;j<mI.length;j++){ 141 if(mI[j][2]==""){mI[j][2]=10;} 142 if(mI[j][1]==""){mI[j][1]=' ';} 143 navSpace+=mI[j][2]+bSIZE; 144 } 145 navSpace+=bSIZE; 146 endSpace=bWidth-navSpace; 147 148 149 150 //set values for different alignments 151 var ra=false; 152 if(menuALIGN=="right"){ 153 ra=true; 154 absLEFT=endSpace-absLEFT; 155 } 156 157 var ca=false; 158 if(menuALIGN=="center"){ 159 ca=true; 160 absLEFT=endSpace / 2; 161 } 162 163 var la=false; 164 if(menuALIGN=="left"){ 165 la=true; 166 } 167 168 169 //if(navSpace>bWidth&&menuALIGN!="free") { absLEFT=0; } 170 171 //convert shadow type 172 var shy=0; 173 var shType; 174 if(typeof shSIZE == "number") { 175 if(shSIZE<0){shSIZE=0;} 176 shy-=shSIZE; 177 shType="number"; 178 } 179 if(typeof shSIZE == "string") { 180 shSIZE=parseInt(shSIZE); 181 shy+=shSIZE; 182 shType="string"; 183 } 184 185 //variables 186 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; 187 188 //show grid 189 var grs; 190 function showGrid() { 191 grs=grid.style.visibility; 192 if(grs=="hidden"){grid.style.visibility="visible";} 193 } 194 //hide grid 195 function hideGrid() { 196 grs=grid.style.visibility; 197 if(grs=="visible"){grid.style.visibility="hidden";} 198 } 199 200 201 // write status message 202 function writeStatus(sTxt){ 203 window.status=sTxt; 204 return true; 205 } 206 207 208 // clear child menus 209 function clearChildMenus() { 210 211 cNumOf = cObj.childNodes.length; 212 for(i=0;i<cNumOf;i++){ 213 cObj.removeChild(cObj.childNodes[i]); 214 } 215 216 currentID = [currentID[0],-1,-1]; 217 } 218 219 220 221 222 // actually clear submenus 223 var currentID = [-1,-1,-1]; 224 var previousID = [-1,-1,-1]; 225 var focusID = [-1,-1,-1]; 226 var cTimer=0; 227 var closeOkay=false; 228 var fid=0; 229 function clearSubMenus() { 230 231 if(currentID[0]>-1) { 232 for(i=0;i<mI.length;i++){ 233 ncObj = document.getElementById("maincell-"+i); 234 ncObj.style.zIndex = zORDER+3; 235 } 236 ncObj = document.getElementById("maincell-"+currentID[0]); 237 if(typeof ncObj != "undefined") { 238 if(ui[2]) { 239 if(ui[0]) { ncObj.style.backgroundImage = 'url('+bk[0].src+')'; } 240 else { ncObj.style.backgroundImage = 'url('+bnk+')'; } 241 } 242 else { 243 if(ui[0]) { ncObj.style.backgroundImage = 'url('+bk[0].src+')'; } 244 else { ncObj.style.backgroundColor = bk[0]; } 245 } 246 ncObj.firstChild.firstChild.firstChild.firstChild.firstChild.style.color = aLINK; 247 } 248 249 mNumOf = sObj.childNodes.length; 250 for(i=0;i<mNumOf;i++){ 251 sObj.removeChild(sObj.childNodes[i]); 252 } 253 254 clearChildMenus(); 255 } 256 257 writeStatus(''); 258 259 currentID = [-1,-1,-1]; 260 focusID=[-1,-1,-1]; 261 262 hideGrid(); 263 clearTimeout(cTimer); 264 closeOkay=false; 265 } 266 267 268 269 // start clear menus from grid 270 function gridClearMenus() { 271 272 if(closeOkay) { 273 clearTimeout(cTimer); 274 clearSubMenus(); 275 } 276 else { 277 closeOkay=true; 278 cTimer=setTimeout("gridClearMenus()",closeTIMER); 279 } 280 281 } 282 283 284 // td click handlers 285 var wins = new Array; 286 var wNum = 0; 287 function goToUrl(cUrl,cTarg){ 288 if(cUrl.indexOf("mailto:")!=-1){ document.location=cUrl; } 289 else if(cUrl!=""){ 290 if(cTarg=="_self"){self.document.location=cUrl;} 291 else if(cTarg=="_top"){top.document.location=cUrl;} 292 else if(cTarg=="_parent"){parent.document.location=cUrl;} 293 else if(cTarg=="_blank"){ 294 wins[wNum]=open(cUrl,"","status=yes,scrollbars=yes,scrolling=yes,toolbar=yes,menubar=yes,location=yes,resizable=yes"); 295 wNum++; 296 } 297 else { 298 if(top[cTarg]){top[cTarg].document.location=cUrl} 299 else {document.location=cUrl;} 300 } 301 } 302 } 303 304 305 //main cell rollover 306 function mainRollover(rmNum) { 307 308 for(i=0;i<mI.length;i++){ 309 ncObj = document.getElementById("maincell-"+i); 310 ncObj.style.zIndex = zORDER+20; 311 } 312 ncObj = document.getElementById("maincell-"+rmNum); 313 314 if(ui[2]) { 315 ncObj.style.backgroundImage = 'url('+bk[2].src+')'; 316 } 317 else { 318 ncObj.style.backgroundImage = 'url('+bnk+')'; 319 ncObj.style.backgroundColor = bk[2]; 320 } 321 ncObj.firstChild.firstChild.firstChild.firstChild.firstChild.style.color = aHOVER; 322 323 if(altDISPLAY=="status") { 324 writeStatus(mI[rmNum][5]); 325 } 326 else { 327 tInfo=mI[rmNum][0]; 328 if(tInfo=="#") { tInfo = ""; } 329 writeStatus(tInfo); 330 } 331 332 } 333 334 335 //main cell events 336 var kcc=-1; 337 var sPlay=false; 338 var cPlay=false; 339 function mainCell(mNum,gridTrue) { 340 341 if(typeof mI[mNum]=="undefined") { return false; } 342 343 currentID = previousID; 344 clearSubMenus(); 345 currentID = [mNum,-1,-1]; 346 previousID = currentID; 347 focusID=currentID; 348 349 mainRollover(mNum); 350 351 if(sI[mNum].length>0) { openSubMenu(mNum); } 352 353 if(typeof gridTrue=="undefined") { showGrid(); } 354 355 return currentID; 356 } 357 358 //minimum main cell events 359 function partialMainCell(mNum) { 360 361 mainRollover(mNum); 362 363 if(sI[mNum].length>0) { 364 if(previousID[1]>-1) { clearCell(document.getElementById("subcell-"+mNum+"-"+previousID[1])); } 365 } 366 367 } 368 369 370 //open submenu 371 var sn,stObj,shAry,chAry,swPad,shPad,nodeHtml,mDiff,wAdj,tfObj; 372 var kPressed=false; 373 374 var shopac='-moz-opacity:'+(shOPACITY/100); 375 if(!win){shopac='';} 376 377 var stt,textScale,applyWidth,applyWidthII; 378 function openSubMenu(mid) { 379 380 //create node 381 sNode = document.createElement("div"); 382 document.getElementById("manch").appendChild(sNode); 383 384 //build submenu items 385 sn=''; 386 387 applyWidth='width:auto;min-width:'+sP[mid][0]+'px\;white-space:nowrap\;'; 388 if(kde||saf||(op7&&shType=="string")){applyWidth='width:'+sP[mid][0]+'px\;';} 389 sn+='<div id="subtable-'+mid+'" style="'+applyWidth+'-moz-opacity:1\;position:relative\;left:'+shy+'px\;top:'+shy+'px\;'+bks[4]+'"><table cellpadding=0 cellspacing='+sbSIZE+' border=0>'; 390 shAry = new Array; 391 chAry = new Array; 392 for(i=0;i<sI[mid].length;i++){ 393 sn+='<tr>'; 394 clcu = ''; 395 if(cellCLICK&&sI[mid][i][0]!=""&&sI[mid][i][0]!="#"&&sI[mid][i][0]!="~") { clcu = ' cursor:'+aCURSOR+'\;'; } 396 cllu=' cursor:default\;'; 397 if(sI[mid][i][0]!=""&&sI[mid][i][0]!="#"&&sI[mid][i][0]!="~") { cllu = ' cursor:'+aCURSOR+'\;'; } 398 399 // find wrapping links routine by brendan armstrong 400 shAry[i]=subNavH; 401 var thisT=sI[mid][i][1]; 402 var splitT=thisT.split('<br>'); 403 var Trows=splitT.length; 404 if (Trows>1) { shAry[i]=(subNavH*Trows)-(svPADDING*(Trows-1)); } 405 406 titleText=""; if(altDISPLAY=="title") { titleText = sI[mid][i][3]; } 407 textScale='width:auto;min-width:'+(sP[mid][0]-(2*sbSIZE))+'px\;height:auto;min-'; 408 if(!allowForSCALING||kde||saf||op7) { textScale='width:'+(sP[mid][0]-(2*sbSIZE))+'px\;'; } 409 sn+='<td style="'+clcu+'" align='+sP[mid][2]+'><div title="'+titleText+'" class=SUBmTD onfocus="subCell('+mid+','+i+')" onmouseover="temCNode=document.getElementById(\'childmenu-'+mid+'-'+i+'\')\;if(!temCNode){subCell('+mid+','+i+')}else{partialSubCell('+mid+','+i+')}" onclick="if(cellCLICK){goToUrl(sI['+mid+']['+i+'][0],sI['+mid+']['+i+'][2])}" id="subcell-'+mid+'-'+i+'" style="'+bks[3]+''+textScale+'height:'+shAry[i]+'px\;white-space:nowrap;"><div onmouseout="event.cancelBubble=true" id="subtext-'+mid+'-'+i+'" style="'+cllu+'position:relative"><span style="color:'+saLINK+'\;font:'+sfSIZE+' '+sfFONT+'\;font-weight:'+sfWEIGHT+'\;" onclick="if(!cellCLICK){goToUrl(sI['+mid+']['+i+'][0],sI['+mid+']['+i+'][2])}">'+sI[mid][i][1]+'</span></div></div></td>'; 410 sn+='</tr>'; 411 } 412 sn+='</table></div>'; 413 414 //set position 415 416 sTop = parseInt(ncObj.style.top)+thisNavH[mid]; 417 if(vOFFSET<0) { sTop+=vOFFSET; } if(sP[mid][3]<0) { sTop+=sP[mid][3]; } 418 419 if(shType=="string") { sTop-=(shSIZE*2); } 420 421 stMargin=bSIZE; 422 if(vOFFSET>0) { stMargin+=vOFFSET; } 423 if(sP[mid][3]>0) { stMargin+=sP[mid][3]; } 424 425 stMargin+=shSIZE; 426 427 sLeft = parseInt(ncObj.style.left); 428 if(shType=="string") { sLeft-=(shSIZE*2); } 429 430 431 swPad=sbSIZE;shPad=0; 432 if(shType=="string") { 433 swPad=(2*shSIZE)+sbSIZE; 434 shPad=(2*shSIZE); 435 } 436 437 438 slMargin = 0; 439 srMargin = 0; 440 if(sP[mid][1]=="left") { 441 wAdj=false; 442 if((parseInt(ncObj.style.top)+thisNavH[mid])>sTop&&(sLeft<(hOFFSET+sP[mid][4]+mI[mid][2]))) { wAdj=true; sLeft+=mI[mid][2]; } 443 if(hOFFSET>0) { slMargin+=hOFFSET; } 444 if(sP[mid][4]>0) { slMargin+=sP[mid][4]; } 445 if(hOFFSET<0) { sLeft+=hOFFSET; } 446 if(sP[mid][4]<0) { sLeft+=sP[mid][4]; } 447 if(wAdj) { 448 if(slMargin>mI[mid][2]) { slMargin-=mI[mid][2]; } 449 else { sLeft-=(mI[mid][2]-slMargin); slMargin=0; } 450 } 451 } 452 if(sP[mid][1]=="right") { 453 mSize=0; 454 if(hOFFSET>0) { srMargin+=hOFFSET; mSize+=srMargin; } 455 if(sP[mid][4]>0) { srMargin+=sP[mid][4]; mSize+=srMargin; } 456 if(hOFFSET<0) { sLeft-=hOFFSET; } 457 if(sP[mid][4]<0) { sLeft-=sP[mid][4]; } 458 sLeft-=(sP[mid][0]-mI[mid][2]+mSize); 459 } 460 461 slMargin+=shSIZE; 462 463 464 //write submenu 465 applyWidth='width:auto;min-width:'+(sP[mid][0]+slMargin)+'px\;white-space:nowrap\;'; 466 if(kde||saf){applyWidth='width:'+(sP[mid][0]+slMargin)+'px\;';} 467 applyWidthII='width:auto;min-width:'+(sP[mid][0]+swPad-sbSIZE)+'px\;white-space:nowrap\;'; 468 if(kde||saf){applyWidthII='width:'+(sP[mid][0]+swPad-sbSIZE)+'px\;';} 469 sNode.parentNode.innerHTML='<div onmouseover="showGrid()" id="submenu-'+mid+'" style="'+applyWidth+'visibility:hidden\;position:absolute\;left:'+sLeft+'px\;top:'+sTop+'px\;z-index:'+(zORDER+40)+'\;"><div id="subshadow-'+mid+'" style="'+shopac+'\;margin-top:'+stMargin+'px\;margin-left:'+slMargin+'px\;margin-right:'+srMargin+'px\;'+bks[6]+'z-index:'+(zORDER+41)+'\;'+applyWidthII+'height:1px\;">'+sn+'</div></div>'; 470 471 clearTimeout(cTimer); 472 closeOkay=false; 473 //position text layers 474 for(i=0;i<sI[mid].length;i++){ 475 stObj=document.getElementById('subtext-'+mid+'-'+i); 476 stt=((stObj.parentNode.offsetHeight/2)-(stObj.offsetHeight/2)+svtOFFSET)+"px"; 477 stObj.style.top = stt; 478 if(sP[mid][2]=="left") { stObj.style.left = stINDENT+"px"; } 479 if(sP[mid][2]=="right") { stObj.style.left = (0-stINDENT)+"px"; } 480 } 481 482 //size dropshadow 483 shObj=document.getElementById('subshadow-'+mid); 484 shObj.style.height=(document.getElementById('subtable-'+mid).offsetHeight+shPad)+"px"; 485 486 //submenu object 487 snObj = document.getElementById('submenu-'+mid); 488 489 //show submenu 490 if(!remoteTRIGGERING) { snObj.style.visibility="visible"; } 491 492 return snObj; 493 } 494 495 496 497 //clear submenu rollover 498 function clearSubRollover(rmNum,rsNum) { 499 500 if(!keepLIT) { 501 ncObj.firstChild.firstChild.firstChild.firstChild.firstChild.style.color = aLINK; 502 if(ui[2]) { 503 if(ui[0]) { ncObj.style.backgroundImage = 'url('+bk[0].src+')'; } 504 else { ncObj.style.backgroundImage = 'url('+bnk+')'; } 505 } 506 else { 507 if(ui[0]) { ncObj.style.backgroundImage = 'url('+bk[0].src+')'; } 508 else { ncObj.style.backgroundColor = bk[0]; } 509 } 510 } 511 512 if(previousID[1]>-1) { 513 pObj = document.getElementById('subcell-'+previousID[0]+'-'+previousID[1]); 514 if(ui[5]) { 515 if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } 516 else { pObj.style.backgroundImage = 'url('+bnk+')'; } 517 } 518 else { 519 if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } 520 else { pObj.style.backgroundColor = bk[3]; } 521 } 522 pObj.firstChild.firstChild.style.color = saLINK; 523 } 524 } 525 526 527 //submenu rollover 528 function subRollover(rmNum,rsNum) { 529 530 if(sI[rmNum][rsNum][4]){ 531 if(ui[5]) { 532 scObj.style.backgroundImage = 'url('+bk[5].src+')'; 533 } 534 else { 535 scObj.style.backgroundImage = 'url('+bnk+')'; 536 scObj.style.backgroundColor = bk[5]; 537 } 538 } 539 540 scObj.firstChild.firstChild.style.color = saHOVER; 541 542 if(altDISPLAY=="status") { 543 writeStatus(sI[rmNum][rsNum][3]); 544 } 545 else { 546 tInfo=sI[rmNum][rsNum][0]; 547 if(tInfo=="#") { tInfo = ""; } 548 writeStatus(tInfo); 549 } 550 551 } 552 553 554 555 //submenu cell events 556 var cn,ctObj; 557 function subCell(mNum,sNum) { 558 559 clearTimeout(cTimer); 560 closeOkay=false; 561 562 clearSubRollover(); 563 564 currentID = [mNum,sNum,-1]; 565 previousID = currentID; 566 focusID=currentID; 567 scObj = document.getElementById('subcell-'+mNum+'-'+sNum); 568 569 subRollover(mNum,sNum); 570 571 openChildMenu(mNum,sNum); 572 573 showGrid(); 574 } 575 576 577 //minimum sub cell events 578 function partialSubCell(mNum,sNum) { 579 580 clearSubRollover(); 581 subRollover(mNum,sNum); 582 583 if(cI[mNum][sNum].length>0) { 584 if(previousID[2]>-1) { clearCell(document.getElementById("childcell-"+mNum+"-"+sNum+"-"+previousID[2])); } 585 } 586 587 588 } 589 590 591 592 593 //open childmenu 594 var ctt; 595 var evcy,evoh,evst,mctPos; 596 function openChildMenu(mid,cid) { 597 598 clearChildMenus(); 599 600 if(cI[mid][cid].length<=0) { return false; } 601 602 //create node 603 cNode = document.createElement("div"); 604 document.getElementById("canch").appendChild(cNode); 605 606 cn = ''; 607 applyWidth='width:auto;min-width:'+cP[mid][cid][0]+'px\;white-space:nowrap;'; 608 if(kde||saf||(op7&&shType=="string")){applyWidth='width:'+cP[mid][cid][0]+'px\;';} 609 cn+='<div id="childtable-'+mid+'-'+cid+'" style="'+applyWidth+'-moz-opacity:1\;position:relative\;left:'+shy+'px\;top:'+shy+'px\;'+bks[4]+'"><table cellpadding=0 cellspacing='+sbSIZE+' border=0>'; 610 chAry[mid] = new Array; 611 for(i=0;i<cI[mid][cid].length;i++){ 612 cn+='<tr>'; 613 clcu = ''; 614 if(cellCLICK&&cI[mid][cid][i][0]!=""&&cI[mid][cid][i][0]!="#"&&cI[mid][cid][i][0]!="~") { clcu = ' cursor:'+aCURSOR+'\;'; } 615 cllu=' cursor:default\;'; 616 if(cI[mid][cid][i][0]!=""&&cI[mid][cid][i][0]!="#"&&cI[mid][cid][i][0]!="~") { cllu = ' cursor:'+aCURSOR+'\;'; } 617 618 // find wrapping links routine by brendan armstrong 619 chAry[mid][i]=subNavH; 620 var thisT=cI[mid][cid][i][1]; 621 var splitT=thisT.split('<br>'); 622 var Trows=splitT.length; 623 if (Trows>1) { chAry[mid][i]=(subNavH*Trows)-(svPADDING*(Trows-1)); } 624 625 titleText=""; if(altDISPLAY=="title") { titleText = cI[mid][cid][i][3]; } 626 textScale='width:auto;min-width:'+(cP[mid][cid][0]-(sbSIZE*2))+'px\;height:auto;min-'; 627 if(!allowForSCALING||kde||saf||op7){ textScale='width:'+(cP[mid][cid][0]-(sbSIZE*2))+'px\;'; } 628 cn+='<td style="'+clcu+'" align='+cP[mid][cid][2]+'><div title="'+titleText+'" class=SUBmTD onfocus="childCell('+mid+','+cid+','+i+')" onblur="clearCell(this)" onmouseover="childCell('+mid+','+cid+','+i+')" onclick="if(cellCLICK){goToUrl(cI['+mid+']['+cid+']['+i+'][0],cI['+mid+']['+cid+']['+i+'][2])}" id="childcell-'+mid+'-'+cid+'-'+i+'" style="'+bks[3]+''+textScale+'height:'+chAry[mid][i]+'px\;white-space:nowrap;"><div onmouseout="event.cancelBubble=true" id="childtext-'+mid+'-'+cid+'-'+i+'" style="'+cllu+'position:relative"><span style="color:'+saLINK+'\;font:'+sfSIZE+' '+sfFONT+'\;font-weight:'+sfWEIGHT+'\;" onclick="if(!cellCLICK){goToUrl(cI['+mid+']['+cid+']['+i+'][0],cI['+mid+']['+cid+']['+i+'][2])}">'+cI[mid][cid][i][1]+'</span></div></div></td>'; 629 cn+='</tr>'; 630 } 631 cn+='</table></div>'; 632 633 //set position 634 cLeft = sLeft+slMargin-shSIZE; 635 636 clMargin = 0; 637 crMargin = 0; 638 if(cP[mid][cid][1]=="left") { 639 if(chhOFFSET>0) { clMargin+=chhOFFSET; } 640 if(cP[mid][cid][4]>0) { clMargin+=cP[mid][cid][4]; } 641 if(chhOFFSET<0) { cLeft+=chhOFFSET; } 642 if(cP[mid][cid][4]<0) { cLeft+=cP[mid][cid][4]; } 643 cLeft+=sP[mid][0]; 644 } 645 if(cP[mid][cid][1]=="right") { 646 mSize=0; 647 if(chhOFFSET>0) { crMargin+=chhOFFSET; mSize+=crMargin; } 648 if(cP[mid][cid][4]>0) { crMargin+=cP[mid][cid][4]; mSize+=crMargin; } 649 if(chhOFFSET<0) { cLeft-=chhOFFSET; } 650 if(cP[mid][cid][4]<0) { cLeft-=cP[mid][cid][4]; } 651 cLeft-=cP[mid][cid][0]+mSize; 652 } 653 654 clMargin+=shSIZE; 655 656 cTop = sTop+stMargin-shSIZE; 657 658 for(i=0;i<cid;i++){ 659 cTop+=shAry[i]+sbSIZE; 660 } 661 if(chvOFFSET<0) { cTop+=chvOFFSET; } if(cP[mid][cid][3]<0) { cTop+=cP[mid][cid][3]; } 662 663 ctMargin=sbSIZE; 664 if(chvOFFSET>0) { ctMargin+=chvOFFSET; } 665 if(cP[mid][cid][3]>0) { ctMargin+=cP[mid][cid][3]; } 666 667 ctMargin+=shSIZE; 668 669 //write submenu 670 applyWidth='width:auto;min-width:'+(cP[mid][cid][0]+clMargin)+'px\;white-space:nowrap;'; 671 if(kde||saf){applyWidth='width:'+(cP[mid][cid][0]+clMargin)+'px\;';} 672 applyWidthII='width:auto;min-width:'+(cP[mid][cid][0]+swPad-sbSIZE)+'px\;white-space:nowrap;'; 673 if(kde||saf){applyWidthII='width:'+(cP[mid][cid][0]+swPad-sbSIZE)+'px\;';} 674 cNode.parentNode.innerHTML='<div onmouseover="showGrid()" id="childmenu-'+mid+'-'+cid+'" style="visibility:hidden\;position:absolute\;left:'+cLeft+'px\;top:'+cTop+'px\;z-index:'+(zORDER+60)+'\;"><div id="childshadow-'+mid+'-'+cid+'" style="'+shopac+'\;margin-top:'+ctMargin+'px\;margin-left:'+clMargin+'px\;margin-right:'+crMargin+'px\;'+bks[6]+'z-index:'+(zORDER+61)+'\;'+applyWidthII+'height:1px\;">'+cn+'</div></div>'; 675 676 //position text layers 677 for(i=0;i<cI[mid][cid].length;i++){ 678 ctObj=document.getElementById('childtext-'+mid+'-'+cid+'-'+i); 679 ctt=((ctObj.parentNode.offsetHeight/2)-(ctObj.offsetHeight/2)+svtOFFSET)+"px"; 680 ctObj.style.top = ctt; 681 if(cP[mid][cid][2]=="left") { ctObj.style.left = stINDENT+"px"; } 682 if(cP[mid][cid][2]=="right") { ctObj.style.left = (0-stINDENT)+"px"; } 683 } 684 685 //size dropshadow 686 cshObj=document.getElementById('childshadow-'+mid+'-'+cid); 687 cshObj.style.height=(document.getElementById('childtable-'+mid+'-'+cid).offsetHeight+shPad)+"px"; 688 689 //childmenu object 690 cnObj = document.getElementById('childmenu-'+mid+'-'+cid); 691 692 //move if remotely triggered and overhanging bottom 693 if(remoteTRIGGERING) { 694 evcy=parseInt(cnObj.style.top); 695 evoh=cnObj.offsetHeight; 696 evst=window.pageYOffset; 697 if((evcy+evoh)>bHeight) { 698 mctPos=evcy-((evcy+evoh)-bHeight); 699 cnObj.style.top=(mctPos+evst)+"px"; 700 } 701 } 702 703 //show childmenu 704 cnObj.style.visibility="visible"; 705 706 return cnObj; 707 } 708 709 710 //clear cell function for sub and child menus 711 function clearCell(ccObj) { 712 if(ui[5]) { 713 if(ui[3]) { ccObj.style.backgroundImage = 'url('+bk[3].src+')'; } 714 else { ccObj.style.backgroundImage = 'url('+bnk+')'; } 715 } 716 else { 717 if(ui[3]) { ccObj.style.backgroundImage = 'url('+bk[3].src+')'; } 718 else { ccObj.style.backgroundColor = bk[3]; } 719 } 720 ccObj.firstChild.firstChild.style.color = saLINK; 721 } 722 723 724 //childmenu cell events 725 function childCell(mNum,sNum,cNum) { 726 727 clearTimeout(cTimer); 728 closeOkay=false; 729 730 if(!keepSubLIT) { 731 scObj.firstChild.firstChild.style.color = saLINK; 732 if(ui[5]) { 733 if(ui[3]) { scObj.style.backgroundImage = 'url('+bk[3].src+')'; } 734 else { scObj.style.backgroundImage = 'url('+bnk+')'; } 735 } 736 else { 737 if(ui[3]) { scObj.style.backgroundImage = 'url('+bk[3].src+')'; } 738 else { scObj.style.backgroundColor = bk[3]; } 739 } 740 } 741 742 if(previousID[2]>-1) { 743 pObj = document.getElementById('childcell-'+previousID[0]+'-'+previousID[1]+'-'+previousID[2]); 744 if(ui[5]) { 745 if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } 746 else { pObj.style.backgroundImage = 'url('+bnk+')'; } 747 } 748 else { 749 if(ui[3]) { pObj.style.backgroundImage = 'url('+bk[3].src+')'; } 750 else { pObj.style.backgroundColor = bk[3]; } 751 } 752 pObj.firstChild.firstChild.style.color = saLINK; 753 } 754 currentID = [mNum,sNum,cNum]; 755 previousID = currentID; 756 focusID=currentID; 757 758 ccObj = document.getElementById('childcell-'+mNum+'-'+sNum+'-'+cNum); 759 760 if(cI[mNum][sNum][cNum][4]){ 761 if(ui[5]) { 762 ccObj.style.backgroundImage = 'url('+bk[5].src+')'; 763 } 764 else { 765 ccObj.style.backgroundImage = 'url('+bnk+')'; 766 ccObj.style.backgroundColor = bk[5]; 767 } 768 } 769 770 ccObj.firstChild.firstChild.style.color = saHOVER; 771 772 if(altDISPLAY=="status") { 773 writeStatus(cI[mNum][sNum][cNum][3]); 774 } 775 else { 776 tInfo=cI[mNum][sNum][cNum][0]; 777 if(tInfo=="#") { tInfo = ""; } 778 writeStatus(tInfo); 779 } 780 781 showGrid(); 782 } 783 784 785 786 var mn=''; 787 mn+='<div id="master" style="position:absolute\;left:0px\;top:0px\;">'; 788 789 // event handling grid 790 var gopac=""; 791 if(redGRID) { gopac="background-color:red"; } 792 793 var grw = bWidth; 794 if(gridWIDTH>0) { grw = gridWIDTH; } 795 var grh = bHeight; 796 if(gridHEIGHT>0) { grh = gridHEIGHT; } 797 798 mn+='<div id="udm-grid" onmouseover="gridClearMenus()" style="'+gopac+'\;cursor:default\;visibility:hidden\;position:absolute\;top:0px\;left:0px\;z-index:'+(zORDER+10)+'\;width:'+grw+'px\;height:'+grh+'px\;"> </div>'; 799 800 801 //menu nodes 802 mn+='<div id="manch" style="position:absolute\;top:0px\;left:0px\;z-index:'+(zORDER+40)+'\;"></div>'; 803 mn+='<div id="canch" style="position:absolute\;top:0px\;left:0px\;z-index:'+(zORDER+60)+'\;"></div>'; 804 805 806 // main navbar 807 var mbc = bks[1]; 808 var mcbc = bks[0]; 809 var clcu,cllu,mtObj,mcLeft,strCol; 810 var ofh='overflow:hidden'; 811 if(kde){ofh='';} 812 813 var mnDisplay=''; 814 if(remoteTRIGGERING) { mnDisplay='display:none'; } 815 816 if(menuALIGN!="free") { 817 818 //undernav if !free alignment 819 strCol=bks[0]; 820 if(showBORDERS) { strCol=bks[1]; } 821 if(stretchMENU||showBORDERS) { 822 mn+='<div id="underb" style="'+mnDisplay+'\;cursor:default\;'+strCol+'visibility:visible\;position:absolute\;z-index:'+(zORDER+1)+'\;left:0px\;top:'+absTOP+'px\;width:'+bWidth+'px\;height:'+(navH+(2*bSIZE))+'px\;">'; 823 if(stretchMENU&&showBORDERS) { mn+='<div style="margin:'+bSIZE+'px\;width:'+(bWidth-(2*bSIZE))+'px\;height:'+navH+'px\;'+bks[0]+'cursor:default"> </div>'; } 824 mn+='</div>'; 825 } 826 827 mn+='<div id="udm-navbar" style="'+mnDisplay+'\;'+bks[1]+'position:absolute\;z-index:'+(zORDER+2)+'\;left:'+absLEFT+'px\;top:'+absTOP+'\;width:'+navSpace+'px\;height:'+(navH+(2*bSIZE))+'px\;" class=mTD></div>'; 828 mcLeft=absLEFT+bSIZE; 829 830 //navbar if !free alignment 831 for(i=0;i<mI.length;i++){ 832 clcu = ''; 833 if(cellCLICK&&mI[i][0]!=""&&mI[i][0]!="#"&&mI[i][0]!="~") { clcu = ' cursor:'+aCURSOR+'\;'; } 834 cllu=' cursor:default\;'; 835 if(mI[i][0]!=""&&mI[i][0]!="#"&&mI[i][0]!="~") { cllu = ' cursor:'+aCURSOR+'\;'; } 836 titleText=""; if(altDISPLAY=="title") { titleText = mI[i][5]; } 837 mn+='<div title="'+titleText+'" onfocus="mainCell('+i+')" onmouseover="temSNode=document.getElementById(\'submenu-'+i+'\')\;if(!temSNode){mainCell('+i+')}else{partialMainCell('+i+')}" onmouseout="if(event.clientX<5||event.clientY<5){gridClearMenus()}" onclick="goToUrl(mI['+i+'][0],mI['+i+'][4],['+i+'])" id="maincell-'+i+'" style="'+mnDisplay+'\;z-index:'+(zORDER+3)+'\;visibility:hidden\;position:absolute\;top:'+(absTOP+bSIZE)+'px\;left:'+mcLeft+'px\;'+clcu+mcbc+'width:'+mI[i][2]+'px\;height:'+thisNavH[i]+'px\;'+ofh+'"><table cellpadding=0 cellspacing=0 border=0 style="width:'+mI[i][2]+'px\;height:'+thisNavH[i]+'px\;" onmouseout="event.cancelBubble=true"><tr><td class=mTD align='+mI[i][3]+'><span onclick="if(!cellCLICK){goToUrl(mI['+i+'][0],mI['+i+'][4])}" id="maintext-'+i+'" style="'+cllu+'position:relative;left:0px;top:0px">'+mI[i][1]+'</span></td></tr></table></div>'; 838 mcLeft+=bSIZE+mI[i][2]; 839 } 840 841 } 842 843 if(menuALIGN=="free") { 844 845 //navbar if free alignment 846 for(i=0;i<mI.length;i++){ 847 clcu = ''; 848 if(cellCLICK&&mI[i][0]!=""&&mI[i][0]!="#"&&mI[i][0]!="~") { clcu = ' cursor:'+aCURSOR+'\;'; } 849 cllu=' cursor:default\;'; 850 if(mI[i][0]!=""&&mI[i][0]!="#"&&mI[i][0]!="~") { cllu = ' cursor:'+aCURSOR+'\;'; } 851 mn+='<div style="'+bks[1]+'z-index:'+(zORDER+2)+'\;position:absolute\;left:'+(absLEFT+mI[i][7])+'px\;top:'+(absTOP+mI[i][6])+'px\;width:'+(mI[i][2]+(2*bSIZE))+'px\;height:'+(thisNavH[i]+(2*bSIZE))+'px\;"></div>'; 852 titleText=""; if(altDISPLAY=="title") { titleText = mI[i][5]; } 853 mn+='<div title="'+titleText+'" onfocus="mainCell('+i+')" onmouseover="temSNode=document.getElementById(\'submenu-'+i+'\')\;if(!temSNode){mainCell('+i+')}else{partialMainCell('+i+')}" onmouseout="if(event.clientX<5||event.clientY<5){gridClearMenus()}" onclick="if(cellCLICK){goToUrl(mI['+i+'][0],mI['+i+'][4])}" id="maincell-'+i+'" style="'+mnDisplay+'\;z-index:'+(zORDER+3)+'\;position:absolute\;left:'+(absLEFT+mI[i][7]+bSIZE)+'px\;top:'+(absTOP+mI[i][6]+bSIZE)+'px\;visibility:hidden\;'+clcu+mcbc+'width:'+mI[i][2]+'px\;height:'+thisNavH[i]+'px\;'+ofh+'"><table cellpadding=0 cellspacing=0 border=0 style="width:'+mI[i][2]+'px\;height:'+thisNavH[i]+'px\;" onmouseout="event.cancelBubble=true"><tr><td class=mTD align='+mI[i][3]+'><span onclick="if(!cellCLICK){goToUrl(mI['+i+'][0],mI['+i+'][4])}" id="maintext-'+i+'" style="'+cllu+'position:relative;left:0px;top:0px">'+mI[i][1]+'</span></td></tr></table></div>'; 854 mcLeft+=bSIZE+mI[i][2]; 855 } 856 857 } 858 859 860 861 //write navbar 862 mn+='</div>'; 863 document.write(mn); 864 865 866 867 //click to close 868 function clickToClose() { 869 clearSubMenus(); 870 } 871 document.onclick = clickToClose; 872 873 874 //load function 875 var mtt; 876 function loadFunction() { 877 878 //add event listener for remote triggering 879 if(remoteTRIGGERING) { document.addEventListener("mousemove", menuListen, false); } 880 881 //position text layers 882 for(i=0;i<mI.length;i++){ 883 mtObj=document.getElementById("maintext-"+i); 884 if(typeof mtObj!="undefined"){ 885 mtt=((thisNavH[i]/2)-(mtObj.offsetHeight/2)+vtOFFSET-(vPADDING/2)-1)+"px"; 886 if(kde){mtt=vtOFFSET+"px";} 887 mtObj.style.top = mtt; 888 if(mI[i][3]=="left") { mtObj.style.left = tINDENT+"px"; } 889 if(mI[i][3]=="right") { mtObj.style.left = (0-tINDENT)+"px"; } 890 document.getElementById("maincell-"+i).style.visibility="visible"; 891 } 892 } 893 894 //store some objects 895 nav = document.getElementById("udm-navbar"); 896 if(menuALIGN!="free"){nav.style.top=absTOP+"px";} 897 grid = document.getElementById("udm-grid"); 898 sObj = document.getElementById("manch"); 899 cObj = document.getElementById("canch"); 900 901 genericOnloadFunction(); 902 if(mz7||kde){nsinit();} 903 } 904 905 window.onload=loadFunction; 906 907 908 909 910 911 // resize / reload trap 912 function nsinit(){if(allowRESIZE==true){setTimeout("window.onresize=redo", 1000);}} 913 function redo(){window.location.reload();} 914 if(!mz7&&!kde) {if(allowRESIZE==true){window.onresize=new Function("window.location.reload()");}} 915 916 917 918 919 //listen for mouse events 920 var doListen=true; 921 var mtPos,mtProps,scaroTop,ecX,ecY; 922 function menuListen(e) { 923 924 if(doListen) { mtPos=[e.clientX+32,e.clientY]; } 925 //window.status=mtPos; 926 927 } 928 929 930 931 //move menu 932 function activateMenu(mmNum) { 933 if(typeof sP[mmNum]=="undefined"||!remoteTRIGGERING) { return false; } 934 935 //stop listening 936 doListen=false; 937 938 //store mouse co-ords 939 ecX=mtPos[0]; 940 ecY=mtPos[1] 941 942 //reset offsets 943 vOFFSET=0; 944 hOFFSET=0; 945 sP[mmNum][3]=0; 946 sP[mmNum][4]=0; 947 948 //remotely create menu 949 mainCell(mmNum,false); 950 951 //find scroll position 952 scaroTop=window.pageYOffset; 953 954 //set child menus alignment 955 for(i=0;i<sI[mmNum].length;i++){ 956 cP[mmNum][i][1]="left"; 957 } 958 959 //convert to useful position 960 mtProps=[snObj.offsetWidth,snObj.offsetHeight]; 961 if(mtPos[0]>(bWidth/2)) { 962 mtPos[0]=ecX-64-mtProps[0]; 963 //set child menus alignment 964 for(i=0;i<sI[mmNum].length;i++){ 965 cP[mmNum][i][1]="right"; 966 } 967 968 } 969 if((mtPos[1]+mtProps[1])>bHeight) { 970 mtPos[1]=(ecY)-((mtPos[1]+mtProps[1])-bHeight); 971 } 972 hOFFSET=mtPos[0]; 973 vOFFSET=mtPos[1]; 974 975 //move menu 976 snObj.style.left=hOFFSET+"px"; 977 snObj.style.top=(vOFFSET+scaroTop)+"px"; 978 ncObj.style.left=(hOFFSET)+"px"; 979 ncObj.style.top=((vOFFSET+scaroTop)-thisNavH[mmNum]-bSIZE)+"px"; 980 sLeft = parseInt(ncObj.style.left); 981 if(shType=="string") { sLeft-=(shSIZE*2); } 982 sTop = parseInt(ncObj.style.top)+thisNavH[mmNum]; 983 984 //show menu 985 remoteShow(snObj); 986 987 //start listening 988 doListen=true; 989 990 return true; 991 } 992 993 994 //show menu 995 var showTimer; 996 var showCount=0; 997 var showPassObj; 998 function remoteShow(showObj) { 999 1000 showPassObj=showObj; 1001 1002 if(showCount==1) { 1003 clearTimeout(showTimer); 1004 showCount=0; 1005 showObj.style.visibility="visible"; 1006 } 1007 else { 1008 showCount=1; 1009 showTimer=setTimeout("remoteShow(showPassObj)",40); 1010 } 1011 1012 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| [ Powered by PHPXref - Served by Debian GNU/Linux ] |