[ PHPXref.com ] [ Generated: Sun Jul 20 20:12:55 2008 ] [ Scout Tracker 0.13 ]
[ Index ]     [ Variables ]     [ Functions ]     [ Classes ]     [ Constants ]     [ Statistics ]

title

Body

[close]

/javascript/ -> menu_ie5.js (source)

   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]='&nbsp;';}
 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>&nbsp;</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">&nbsp;</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  


[ Powered by PHPXref - Served by Debian GNU/Linux ]