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