  var bNS4;
  var bNS6Comp;
  var bMinIE4;
  var bOpera;
  var bExclude;
  var imgs = new Array();
  imgs[0]="images/ITWCorpLogo.gif";imgs[1]="ITWCorpLogoLeft.gif";
  function loadimages(){
    var n;
    var images = new Array();
    images.length = imgs.length;
    for(n=0;n<imgs.length;n++){
      images[n] = new Image();
      images[n].src = imgs[n];
    }
  }
/* ---------------- Browser Detection Functions -------------------*/
  function getBrowser(){
    var bKDE=false;
    var bSaf=false;
    bNS4=false;
    bNS6Comp=false;
    bMinIE4=false;
    bOpera=false;
    bExclude=false;
    var agt=navigator.userAgent.toLowerCase();
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);
    var is_nav=((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
    var is_nav6=(is_nav && (is_major == 5));
    var is_nav6up=(is_nav && (is_major >= 5));
    var is_gecko=(agt.indexOf('gecko') != -1);
    var is_firefox=(is_gecko && agt.indexOf("Firefox")!=-1);
    var is_named_safari=(agt.indexOf('safari') != -1);
    var is_safari=(document.childNodes)&&(!document.all)&&(!navigator.taintEnabled)&&(!navigator.accentColorName)?true:false;
    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    var is_opera = (agt.indexOf("opera") != -1);
    var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
    var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
    var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
    var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);
    if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
      bKDE=true;
    }else if(is_named_safari && is_safari){
      bSaf=true;
    }else if(is_nav && (is_major == 4)){
      bNS4=true;
    }else if(is_opera5up){
      bOpera=true;
    }else if(is_nav6||is_nav6up||is_firefox||bKDE||bSaf){
      bNS6Comp=true;
    }else if(is_ie && (is_major >= 4)){
      bMinIE4=true;
    }else if(is_nav && agt.indexOf('webtv')!=-1){
      bExclude=true;
    }else{
      bExclude=true;
    }
/* ---------------- Begin Safari 3 Patch ------------------*/
    if(is_named_safari){
      bNS6Comp=true;
      bNS4=false;
      bKDE=false;
      bOpera=false;
      bMinIE4=false;
      bExclude=false;
    }
/* ---------------- End Safari 3 Patch ------------------*/
  }
/* ---------------- Menu Visibility Management Functions ------------------*/
  function clearAllMenus(){
    if(bNS4){
      document.divRolls.visibility = "hide";
      document.divSh.visibility = "hide";
      document.divBa.visibility = "hide";
      document.divEl.visibility = "hide";
      document.divAc.visibility = "hide";
      document.divTI.visibility = "hide";
      document.divCo.visibility = "hide";
      document.divAb.visibility = "hide";
    }else if(bNS6Comp){
      document.getElementById("divRolls").style.visibility = "hidden";
      document.getElementById("divSh").style.visibility = "hidden";
      document.getElementById("divBa").style.visibility = "hidden";
      document.getElementById("divEl").style.visibility = "hidden";
      document.getElementById("divAc").style.visibility = "hidden";
      document.getElementById("divTI").style.visibility = "hidden";
      document.getElementById("divCo").style.visibility = "hidden";
      document.getElementById("divAb").style.visibility = "hidden";
    }else if(bMinIE4||bOpera){
      document.all.divRolls.style.visibility = "hidden";
      document.all.divSh.style.visibility = "hidden";
      document.all.divBa.style.visibility = "hidden";
      document.all.divEl.style.visibility = "hidden";
      document.all.divAc.style.visibility = "hidden";
      document.all.divTI.style.visibility = "hidden";
      document.all.divCo.style.visibility = "hidden";
      document.all.divAb.style.visibility = "hidden";
    }else{
      if(bExclude){
        var sMsg = "Your web browser is not fully enabled to run client scripts.\r";
        sMsg += "The menus for this web site will not function in your browser.";
        alert(sMsg);
      }
    }
  }
  function showMenu(divID){
    clearAllMenus();
    var objDiv = getObject(divID);
    if(bNS4){
      objDiv.visible = "show";
    }else if(bNS6Comp){
      objDiv.style.visibility = "visible";
    }else{
      objDiv.style.visibility = "visible";
    }
  }
/* ----------------  Menu Bar Mouse Event Functions  -------------------*/
  function onBarItem(cellID,divID){
    var objCell = getObject(cellID);
    if(!bNS4){
      objCell.style.cursor = "default";
    }
    objCell.className = "barOn";
    showMenu(divID);
  }
  function offBarItem(cellID){
    var objCell = getObject(cellID);
    objCell.className = "bar";
  }
/* ---------------- "On Menu" Mouse Event Functions ------------*/
  function setBarClass(cellID,classID){
    var objCell = getObject(cellID);
    objCell.className = classID;
  }
  function resetBarClass(tableID,cellID){
    var objTbl = getObject(tableID);
    var objCell = getObject(cellID);
    if(!objTbl){
      clearAllMenus();
    }
    objCell.className = "bar";
  }
/* ----------------  Menu Cell Mouse Event Functions  -------------------*/
  function setMenuItem(cellID,linkID,cellClassID,linkClassID){
    var objCell = getObject(cellID);
    var objLink = getObject(linkID);
    objCell.className = cellClassID;
    objLink.className = linkClassID;
  }
/* ----------------  Menu Link Mouse Event Functions  -------------------*/
  function setLinkClass(linkID,classID){
    var objLink = getObject(linkID);
    objLink.className = classID;
  }
/* ---------------- Menu Positioning Function ---------------------------*/
function init(){
  getBrowser();
  loadimages();
  var objDivRolls = getObject("divRolls");
  var objDivSh = getObject("divSh");
  var objDivBa = getObject("divBa");
  var objDivEl = getObject("divEl");
  var objDivAc = getObject("divAc");
  var objDivTI = getObject("divTI");
  var objDivCo = getObject("divCo");
  var objDivAb = getObject("divAb");
  var objCell = getObject('cell');
  var objTbl = getObject('tblBar');
  var iMenusTop = DL_GetElementTop(objCell);
  var iPBarTop = iMenusTop - 22;
  var iRJLeft = DL_GetElementLeft(objTbl);
  objDivRolls.style.top = iMenusTop;
  objDivRolls.style.left = iRJLeft;
  objCell = getObject('cellSh');
  var iShLeft = DL_GetElementLeft(objCell);
  objDivSh.style.top = iMenusTop;
  objDivSh.style.left = iShLeft;
  objCell = getObject('cellBa');
  var iBaLeft = DL_GetElementLeft(objCell);
  objDivBa.style.top = iMenusTop;
  objDivBa.style.left = iBaLeft;
  objCell = getObject('cellEl');
  var iElLeft = DL_GetElementLeft(objCell);
  objDivEl.style.top = iMenusTop;
  objDivEl.style.left = iElLeft;
  objCell = getObject('cellAc');
  var iAcLeft = DL_GetElementLeft(objCell);
  objDivAc.style.top = iMenusTop;
  objDivAc.style.left = iAcLeft;
  objCell = getObject('cellTI');
  var iTILeft = DL_GetElementLeft(objCell);
  objDivTI.style.top = iMenusTop;
  objDivTI.style.left = iTILeft;
  objCell = getObject('cellCo');
  var iCoLeft = (DL_GetElementLeft(objCell)) - 111;
  objDivCo.style.top = iMenusTop;
  objDivCo.style.left = iCoLeft;
  objCell = getObject('cellAb');
  var iAbLeft = DL_GetElementLeft(objCell) - 49;
  if(bNS6Comp){
    objDivAb.style.top = iMenusTop;
    objDivAb.style.left = iAbLeft - 5;
  }else{
    objDivAb.style.top = iMenusTop;
    objDivAb.style.left = iAbLeft;
  }
  if(bNS4){
    document.tbl.visibility = "show";
    document.tblBar.visibility = "show";
  }else if(bNS6Comp){
    document.getElementById("tbl").style.visibility = "visible";
    document.getElementById("tblBar").style.visibility = "visible";
  }else if(bMinIE4||bOpera){
    document.all.tbl.style.visibility = "visible";
    document.all.tblBar.style.visibility = "visible";
  }
  if(bNS4){
    window.onresize = resize;
  }else if(bNS6Comp){
    window.captureEvents(Event.ONRESIZE);
    window.onresize = resize;
  }else if(bMinIE4||bOpera){
    window.attachEvent("onresize", resize);
  }
}
function resize(){
  var objDivRolls = getObject("divRolls");
  var objDivSh = getObject("divSh");
  var objDivBa = getObject("divBa");
  var objDivEl = getObject("divEl");
  var objDivAc = getObject("divAc");
  var objDivTI = getObject("divTI");
  var objDivCo = getObject("divCo");
  var objDivAb = getObject("divAb");
  var objCell = getObject('cell');
  var objTbl = getObject('tblBar');
  var iMenusTop = DL_GetElementTop(objCell);
  var iPBarTop = iMenusTop - 22;
  var iRJLeft = DL_GetElementLeft(objTbl);
  objDivRolls.style.top = iMenusTop;
  objDivRolls.style.left = iRJLeft;
  objCell = getObject('cellSh');
  var iShLeft = DL_GetElementLeft(objCell);
  objDivSh.style.top = iMenusTop;
  objDivSh.style.left = iShLeft;
  objCell = getObject('cellBa');
  var iBaLeft = DL_GetElementLeft(objCell);
  objDivBa.style.top = iMenusTop;
  objDivBa.style.left = iBaLeft;
  objCell = getObject('cellEl');
  var iElLeft = DL_GetElementLeft(objCell);
  objDivEl.style.top = iMenusTop;
  objDivEl.style.left = iElLeft;
  objCell = getObject('cellAc');
  var iAcLeft = DL_GetElementLeft(objCell);
  objDivAc.style.top = iMenusTop;
  objDivAc.style.left = iAcLeft;
  objCell = getObject('cellTI');
  var iTILeft = DL_GetElementLeft(objCell);
  objDivTI.style.top = iMenusTop;
  objDivTI.style.left = iTILeft;
  objCell = getObject('cellCo');
  var iCoLeft = (DL_GetElementLeft(objCell)) - 111;
  objDivCo.style.top = iMenusTop;
  objDivCo.style.left = iCoLeft;
  objCell = getObject('cellAb');
  var iAbLeft = DL_GetElementLeft(objCell) - 49;
  if(bNS6Comp){
    objDivAb.style.top = iMenusTop;
    objDivAb.style.left = iAbLeft - 5;
  }else{
    objDivAb.style.top = iMenusTop;
    objDivAb.style.left = iAbLeft;
  }
  if(bNS4){
    document.tbl.visibility = "show";
    document.tblBar.visibility = "show";
  }else if(bNS6Comp){
    document.getElementById("tbl").style.visibility = "visible";
    document.getElementById("tblBar").style.visibility = "visible";
  }else if(bMinIE4||bOpera){
    document.all.tbl.style.visibility = "visible";
    document.all.tblBar.style.visibility = "visible";
  }
}
/* ----------------  DHTML API Functions  -------------------------------*/
  function getObject(sObjID){
    var obj;
    var q = "\"";
    if(bNS4){
      obj = eval("document." + sObjID);
    }else if(bNS6Comp){
      var sID = q + sObjID.toString() + q;
      obj = eval("document.getElementById(" + sID + ")");
    }else if(bMinIE4||bOpera){
      obj = eval("document.all." + sObjID);
    }
    return obj;
  }
  function DL_GetElementLeft(eElement){
    if (!eElement && this){                     // if argument is invalid (not specified, is null or is 0)
      eElement = this;                          // and function is a method
    }                                           // identify the element as the method owner
    var DL_bIE = document.all ? true : false;   // initialize var to identify IE
    var nLeftPos = eElement.offsetLeft;         // initialize var to store calculations
    var eParElement = eElement.offsetParent;    // identify first offset parent element
    while (eParElement != null){                // move up through element hierarchy
      if(DL_bIE){                               // if browser is IE, then...
         if( (eParElement.tagName != "TABLE") && (eParElement.tagName != "BODY") ){ // if parent is not a table or the body
           nLeftPos += eParElement.clientLeft;  // append cell border width to calcs
         }
      }
      else{                                     // if browser is Gecko, then...
         if(eParElement.tagName == "TABLE"){    // if parent is a table, then get its border as a number
            var nParBorder = parseInt(eParElement.border);
            if(isNaN(nParBorder)){              // if no valid border attribute, then... 
               var nParFrame = eParElement.getAttribute('frame');  // check the table's frame attribute
               if(nParFrame != null){           // if frame has ANY value, then...
                  nLeftPos += 1;                // append one pixel to counter
               }
            }
            else if(nParBorder > 0){            // if a border width is specified, then...
               nLeftPos += nParBorder;          // append the border width to counter
            }
         }
      }
      nLeftPos += eParElement.offsetLeft;       // append left offset of parent
      eParElement = eParElement.offsetParent;   // and move up the element hierarchy
    }                                           // until no more offset parents exist
    return nLeftPos;                            // return the number calculated
  }
  function DL_GetElementTop(eElement){
    if (!eElement && this){                      // if argument is invalid (not specified, is null or is 0)
      eElement = this;                           // and function is a method
    }                                            // identify the element as the method owner
    var DL_bIE = document.all ? true : false;    // initialize var to identify IE
    var nTopPos = eElement.offsetTop;            // initialize var to store calculations
    var eParElement = eElement.offsetParent;     // identify first offset parent element
    while (eParElement != null){                 // move up through element hierarchy
      if(DL_bIE){                                // if browser is IE, then...
        if( (eParElement.tagName != "TABLE") && (eParElement.tagName != "BODY") ){ // if parent a table cell, then...
          nTopPos += eParElement.clientTop;      // append cell border width to calcs
        }
      }
      else{                                      // if browser is Gecko, then...
        if(eParElement.tagName == "TABLE"){      // if parent is a table, then get its border as a number
          var nParBorder = parseInt(eParElement.border);
          if(isNaN(nParBorder)){                 // if no valid border attribute, then...
            var nParFrame = eParElement.getAttribute('frame');  // check the table's frame attribute
            if(nParFrame != null){               // if frame has ANY value, then...
              nTopPos += 1;                      // append one pixel to counter
            }
          }
          else if(nParBorder > 0){               // if a border width is specified, then...
            nTopPos += nParBorder;               // append the border width to counter
          }
        }
      }
      nTopPos += eParElement.offsetTop;          // append top offset of parent
      eParElement = eParElement.offsetParent;    // and move up the element hierarchy
    }                                            // until no more offset parents exist
    return nTopPos;                              // return the number calculated
  }




