  var g_topCounter   = 0;
  var g_crumb        = new Array();
  var g_selected     = null;
  var g_tempSelected = null;
  var g_bgColor      = '';
  var g_menuObj      = null;
  var g_GlobalMenu   = null;
  var g_timeOutID    = null;
  var g_currentPage  = false;

  var disableDropDown = false;

  if (document.layers && document.location.toString().indexOf('B2B_1_menu') > 0)
    disableDropDown = true;
  
  function setMouse(cursorType){
    if (window.event)
      window.event.srcElement.style.cursor = cursorType;
  };
  
  function getTextSize(sWord){
    var tsArr = new Array();
    var size = 0;

    tsArr['a'] = 6;
    tsArr['b'] = 7;
    tsArr['c'] = 6;
    tsArr['d'] = 7;
    tsArr['e'] = 7;
    tsArr['f'] = 4;
    tsArr['g'] = 7;
    tsArr['h'] = 7;
    tsArr['i'] = 3;
    tsArr['j'] = 3;
    tsArr['k'] = 7;
    tsArr['l'] = 3;
    tsArr['m'] = 11;
    tsArr['n'] = 7;
    tsArr['o'] = 7;
    tsArr['p'] = 7;
    tsArr['q'] = 7;
    tsArr['r'] = 5;
    tsArr['s'] = 7;
    tsArr['t'] = 4;
    tsArr['u'] = 7;
    tsArr['v'] = 6;
    tsArr['w'] = 10;
    tsArr['x'] = 6;
    tsArr['y'] = 6;
    tsArr['z'] = 6;
    tsArr['A'] = 8;
    tsArr['B'] = 7;
    tsArr['C'] = 8;
    tsArr['D'] = 7;
    tsArr['E'] = 6;
    tsArr['F'] = 6;
    tsArr['G'] = 8;
    tsArr['H'] = 7;
    tsArr['I'] = 3;
    tsArr['J'] = 6;
    tsArr['K'] = 7;
    tsArr['L'] = 7;
    tsArr['M'] = 10;
    tsArr['N'] = 7;
    tsArr['O'] = 8;
    tsArr['P'] = 7;
    tsArr['Q'] = 8;
    tsArr['R'] = 7;
    tsArr['S'] = 7;
    tsArr['T'] = 7;
    tsArr['U'] = 7;
    tsArr['V'] = 8;
    tsArr['W'] = 10;
    tsArr['X'] = 7;
    tsArr['Y'] = 7;
    tsArr['Z'] = 7;
    tsArr[' '] = 3;

    for (var i=0; i<sWord.length; i++){
      if (tsArr[sWord.charAt(i)])
        size += tsArr[sWord.charAt(i)];
      else
        size += 5;
    }
    return size + 22;
  }
  
  function menuObject(sTitle, sHref, target, iWidth, bRestricted){
    this.title      = sTitle;
    this.href       = sHref;
    this.target     = target;
    this.width      = iWidth;
    this.restricted = bRestricted;
  }
  
  function menuItem (sTitle, sHref, target, iWidth, bRestricted){
    if (iWidth.toString().toLowerCase()=='auto')
      iWidth = getTextSize(sTitle);
  
    return new Array(new menuObject(sTitle, sHref, target, iWidth, bRestricted));
  }  
  
  function showHideObject(obj, visible){
    if (document.layers){
      if (visible == 'hidden')
        visible = 'hide';
      obj.visibility = visible;
    }
    else
      obj.style.visibility = visible;
  }
  
  function setBgColor(obj, sColor){
    if (document.layers)
      obj.bgColor=sColor;
    else
      obj.style.backgroundColor = sColor;
  }

  function handleMouseOver(obj, sColor){
    var parentObject = document.layers ? obj.parentLayer : obj.parentElement;
    var parentObjectChildren = document.layers ? parentObject.document.layers : parentObject.children.tags("DIV");
    hideMenu(parentObject);
    g_tempSelected = obj;
    if (obj != g_selected)
      g_bgColor = document.layers ? obj.bgColor : obj.style.backgroundColor;
    if (obj.name.indexOf('t_') >= 0){
      for (var i=0; i<parentObjectChildren.length; i++)
        if (obj == parentObjectChildren[i]){
          g_crumb[obj.name][1] = true;
          showHideObject(parentObjectChildren[i+1], 'inherit');
        }
      setMouse('default');
    }
    else if(obj.name != 'empty')
      setMouse('hand');
    setBgColor(obj, sColor);
  };
  
  function handleOnClick(sUrl, sTarget, restricted){
    if (g_selected && g_selected != g_tempSelected)
      setBgColor(g_selected, g_bgColor);
    g_selected = g_tempSelected;

    if ( sUrl != ''){
      if (!restricted || checkLogin()){
        if (sTarget != ''){
          switch (sTarget.toLowerCase()){
            case '_blank':{
              var win = window.open(sUrl, '', '', '');
              win.focus();
              break;
            }
            case '_top':{
              top.document.location.href = sUrl;
              break;
            }
            default:{
              eval(sTarget + '.document.location=\'' +sUrl + '\'');
            }
          }
        }
        else{
            document.location.href = sUrl;
          }
      }
    }
  }
  
  
  function handleResize(){
    if (document.layers)
      document.location.reload();
    else
      BMMenu.style.left = alignMenu(g_menuObj); 
  }
  
  function handleMouseOut(obj, sColor, disableBgColorChange){
    if ((!(obj.name.indexOf('t_') >= 0 && g_crumb[obj.name][1])) && !(g_selected==obj))
      setBgColor(obj, sColor);
      
    var parentObjectChildren = document.layers ? obj.document.layers : obj.children.tags("DIV");
    for (var i=0; i<parentObjectChildren.length; i++)
      if ((document.layers && parentObjectChildren[i].document.layers.length > 0) || (document.all && parentObjectChildren[i].children.tags("DIV").length > 0)){
        showHideObject(parentObjectChildren[i], 'hidden');
      if(parentObjectChildren[i].name.indexOf('t_') >= 0){
        if (!disableBgColorChange)
            setBgColor(parentObjectChildren[i], g_crumb[parentObjectChildren[i].name][0]);
          g_crumb[parentObjectChildren[i].name][1] = false;
      }
    }
  }
  
  function alignMenu(menu){
    var menuLeft  = 0;
    var corNS    = document.layers ? 1 : 0;
    var centerCor = 0;
    var ww      = document.all ? document.body.clientWidth : window.innerWidth;
    
    switch(menu.align.toLowerCase()){
      case 'center':{
        centerCor = document.layers ? 0 : menu.centerFix;
        menuLeft = centerCor + Math.max((ww/2) - (menu.width/2),menu.leftDist) + corNS;
        break;
      }
      case 'left':{
        menuLeft = 0;
        break;
      }
      case 'right':{
        menuLeft = ww-menu.width;
        break;
      }
      case 'absolute':{
        menuLeft = menu.leftDist;
        break;
      }

    }
    return menuLeft;
  }
  
  function alignSubMenu(menu, menuCell){
    var menuLeft;
    var totalSubmenuLeft  = 0;
    
    for (var i=1; i<menuCell.length; i++)
      totalSubmenuLeft += menuCell[i].width + menu.hSpace;
    
    switch(menu.subAlign.toLowerCase()){
      case 'center':{
        menuLeft = (menu.width/2) - (totalSubmenuLeft/2);
        break;
      }
      case 'left':{
        menuLeft = 0;
        break;
      }
      case 'right':{
        menuLeft = menu.width-totalSubmenuLeft;
        break;
      }
    }
    return menuLeft;
  }
  
  function stopTimeout(obj){
    if (g_timeOutID)
      window.clearTimeout (g_timeOutID);
  }
  
  function startTimeout(menu, obj){
    g_GlobalMenu = obj;
    if (g_timeOutID)
      window.clearTimeout (g_timeOutID);
    if (menu.autoHideTime > 0)
      g_timeOutID = setTimeout('hideMenu(g_GlobalMenu)', menu.autoHideTime * 1000); 
    else
    hideMenu(g_GlobalMenu);
  }
  
  function hideMenu(obj){
    var objectChildren = document.layers ? obj.document.layers : obj.children.tags("DIV");
  
    for (var i=0; i<objectChildren.length; i++){
      if ((document.layers && objectChildren[i].document.layers.length > 0) || (document.all && objectChildren[i].children.tags("DIV").length > 0))
        showHideObject(objectChildren[i], 'hidden');
      if(objectChildren[i].name.indexOf('t_') >= 0 && g_crumb[objectChildren[i].name][1]){
        if (objectChildren[i].doNotChange && objectChildren[i].doNotChange == 'true')
      var x=1;
        else
            setBgColor(objectChildren[i], g_crumb[objectChildren[i].name][0]);
          g_crumb[objectChildren[i].name][1] = false;
          hideMenu(objectChildren[i+1]);
      }
    }
  }
  
  function drawMenu(menu){
 for (var i=0; i<menu.length; i++){
 if (disableDropDown && (menu[i][0].href == '' || menu[i][0].href == '#' )){
        menu[i][0].disableRollOver = true;
      }}

    var menuStr    = '';
    var topLeft    = 0;
    var menuLeft  = alignMenu(menu);
     
    if (document.layers)
    {
      menuStr += '<layer width="' + menu.width + '" left="' + menuLeft + '" top="' + menu.top + '" onmouseover="stopTimeout(this);" onmouseout="startTimeout(g_menuObj, this);">';
    }
    else
    {
      if (menu.align.toLowerCase() == 'inline')
         menuStr += '<div id="BMMenu" style="position:static;visibility:inherit;width:' + menu.width + ';" onmouseover="stopTimeout(this);" onmouseout="startTimeout(g_menuObj, this);">';
      else
         menuStr += '<div id="BMMenu" style="position:absolute;visibility:inherit;width:' + menu.width + ';top:' + menu.top + ';left:' + menuLeft + ';" onmouseover="stopTimeout(this);" onmouseout="startTimeout(g_menuObj, this);">';
    }
   	
    for (var i=0; i<menu.length; i++){
      menu[i].className = menu.className;
      if (i==menu.length-1 || menu[i+1][0].title == '')
          menu[i][0].separatorImg = '';
      else
          menu[i][0].separatorImg = menu.separatorImg;
      menu[i][0].className = menu.className;          

             //alert(menu[i][0].href )
        menuStr += drawMenuLayer(menu, menu[i], topLeft);
    //  }
      topLeft += menu[i][0].width + menu.hSpace;
    }
    if(topLeft < menu.width && menu.bgColor != ''){
      emptyMenuItem = menuItem ('', '', '', menu.width-topLeft);
      emptyMenuItem.separatorImg = '';
      menuStr += drawMenuLayer(menu, emptyMenuItem, topLeft);
    }
    
    if (document.layers)
      menuStr += '</layer>';
    else
      menuStr += '</div>';
    g_menuObj = menu;  
    window.onresize = handleResize;
    
    //if (false){
    //  menuStr += '<layer bgColor="#98AAD5" name="submenuLayer" width="500" left="0" top="' + menu.height + '" onmouseover="" onmouseout="">';
    //  menuStr += g_SubMenu;
    //  menuStr += '</layer>'; 
    //}
    menuStr += '</layer>';
    document.write (menuStr);
  }
  
  function hideShowSubmenuLayer(sVisibility){
    document.layers[0].layers[1].visibility = sVisibility;
  }
  
  function drawMenuLayer(menu, menuCell, menuLeft){
    var menuStr          = '';
    var submenuLeft      = 0;
    var totalSubmenuLeft = 0;
    var lName            = '';
    var emptyMenuItem    = '';
  
    totalSubmenuLeft = alignSubMenu(menu, menuCell);
    for (var i=1; i<menuCell.length; i++){
      submenuLeft += menuCell[i].width + menu.hSpace;
    }

    if (menuCell.length && menuCell.length > 1){
      menuCell[0].className = menu.className;
      if (isItemCurrrentPage(menuCell))
    g_currentPage = menuCell[0];
      g_topCounter++;
      g_crumb['t_' + g_topCounter] = new Array(menu.bgColor, false, menuCell);
      if (document.layers){
        menuStr += '<layer name="t_' + g_topCounter + '" visibility="inherit" height="' + menu.height + '" width="' + menuCell[0].width + '" left="' + menuLeft + '" top="0" bgcolor="' + menu.bgColor + '" onmouseover="handleMouseOver(this, \'' + menu.rollOverColor + '\');" onmouseout="handleMouseOut(this, \'' + menu.bgColor + '\');">' + layoutMenuContent(menu, menuCell[0]) + '</layer>';
        menuStr += '<layer name="s_' + g_topCounter + '" left="' + totalSubmenuLeft + '" top="' + (menu.height+menu.vSpace) + '" visibility="hide">';
      }
      else
      {
         menuStr += '<div name="t_' + g_topCounter + '" style="position:absolute;visibility:inherit;height:' + menu.height + ';width:' + menuCell[0].width + ';top:0;left:' + menuLeft + ';background-color:' + ((g_currentPage==menuCell[0])?menu.selectedBgColor:(menuCell[0].bgColor?menuCell[0].bgColor:menu.bgColor)) + ';" onmouseover="handleMouseOver(this, \'' + menu.rollOverColor + '\');" onmouseout="handleMouseOut(this, \'' + menu.bgColor + '\', ' + (g_currentPage==menuCell[0]) + ');" doNotChange="' + (g_currentPage==menuCell[0]) + '">' + layoutMenuContent(menu, menuCell[0]) + '</div>';
         menuStr += '<div name="s_' + g_topCounter + '" style="position:absolute;visibility:hidden;top:' + (menu.height+menu.vSpace) + ';left:' + totalSubmenuLeft + ';">';
      }
      	
      if(submenuLeft < menu.width && menu.subBgColor != '' && (menu.subAlign.toLowerCase() == 'center' || menu.subAlign.toLowerCase() == 'right')){
        if (menu.subAlign.toLowerCase() == 'center')
          submenuLeft = (menu.width-submenuLeft)/2;
        else
          submenuLeft = (menu.width-submenuLeft);
        
        emptyMenuItem = menuItem ('', '', '', menu.bgColor, menu.bgColor, submenuLeft);
        emptyMenuItem[0].separatorImg = '';
        menuStr += drawMenuLayer(menu, emptyMenuItem, -submenuLeft);
      }
      submenuLeft = 0;
      for (var i=1; i<menuCell.length; i++){
        if (i==menuCell.length-1 || menuCell[i+1][0].title == '')
          menuCell[i][0].separatorImg = '';
        else
          menuCell[i][0].separatorImg = menu.separatorImg;
        menuCell[i][0].className = menu.subClassName;
        if (!disableDropDown)
          menuStr += drawMenuLayer(menu, menuCell[i], submenuLeft);
        submenuLeft += menuCell[i][0].width + menu.hSpace;
      }
      if(submenuLeft < menu.width && menu.bgColor != '' && (menu.subAlign.toLowerCase() == 'center' || menu.subAlign.toLowerCase() == 'left')){
        if (menu.subAlign.toLowerCase() == 'center')
          emptyMenuItem = menuItem ('', '', '', (menu.width-submenuLeft)/2);
        else
          emptyMenuItem = menuItem ('', '', '', (menu.width-submenuLeft));
        emptyMenuItem[0].separatorImg = '';
        if (!disableDropDown)
          menuStr += drawMenuLayer(menu, emptyMenuItem, submenuLeft);
      }
      if (document.layers)
        menuStr += '</layer>';
      else
        menuStr += '</div>';
        
      if (menu.vSpace > 0 && menu.vSpaceColor != ''){
        if (document.layers)
          menuStr += '<layer name="empty" visibility="inherit" height="' + menu.vSpace + '" width="' + menuCell[0].width + '" left="' + menuLeft + '" top="' + menu.height + '" bgcolor="' + menu.vSpaceColor + '"></layer>';
        else
          menuStr += '<div name="empty" style="position:absolute;visibility:inherit;height:' + (menu.height+menu.vSpace) + ';z-Index:-1;width:' + menuCell[0].width + ';top:0;left:' + menuLeft + ';background-color:' + menu.vSpaceColor + ';"></div>';
      }
    }
    else{
      if (menuCell[0].title == ''){
        if (document.layers)
          menuStr += '<layer name="' + lName + '" visibility="inherit" height="' + menu.height + '" width="' + menuCell[0].width + '" left="' + menuLeft + '" top="0" bgcolor="' + menu.bgColor + '" ></layer>';
        else
          menuStr += '<div name="' + lName + '" style="position:absolute;visibility:inherit;height:' + menu.height + ';width:' + menuCell[0].width + ';top:0;left:' + menuLeft + ';background-color:' + menu.bgColor + ';"></div>';
      }
      else{
        if (isItemCurrrentPage(menuCell))
      g_currentPage = menuCell[0];
        if (document.layers)
          menuStr += '<layer name="' + lName + '" visibility="inherit" height="' + menu.height + '" width="' + menuCell[0].width + '" left="' + menuLeft + '" top="0" bgcolor="' + menu.bgColor + '" onmouseover="handleMouseOver(this, \'' + (menuCell[0].disableRollOver?menu.bgColor:menu.rollOverColor) + '\');" onmouseout="handleMouseOut(this, \'' + menu.bgColor + '\');">' +layoutMenuContent(menu, menuCell[0]) + '</layer>';
        else
          menuStr += '<div name="' + lName + '" style="position:absolute;visibility:inherit;height:' + menu.height + ';width:' + menuCell[0].width + ';top:0;left:' + menuLeft + ';background-color:' + ((g_currentPage==menuCell[0])?menu.selectedBgColor:(menuCell[0].bgColor?menuCell[0].bgColor:menu.bgColor)) + ';" onmouseover="handleMouseOver(this, \'' + (menuCell[0].disableRollOver?menu.bgColor:menu.rollOverColor) + '\');" onmouseout="handleMouseOut(this, \'' + ((g_currentPage==menuCell[0])?menu.selectedBgColor:(menuCell[0].bgColor?menuCell[0].bgColor:menu.bgColor)) + '\');" onclick="handleOnClick(\'' + menuCell[0].href + '\', \'' + menuCell[0].target + '\', ' + menuCell[0].restricted + ');">' + layoutMenuContent(menu, menuCell[0]) + '</div>';
      }
    }
    if (menu.vSpace > 0 && menu.vSpaceColor != ''){
      if (document.layers)
        menuStr += '<layer name="empty" visibility="inherit" height="' + menu.vSpace + '" width="' + menuCell[0].width + '" left="' + menuLeft + '" top="' + menu.height + '" bgcolor="' + menu.vSpaceColor + '"></layer>';
      else
        menuStr += '<div name="empty" style="position:absolute;visibility:inherit;height:' + (menu.height+menu.vSpace) + ';z-Index:-1;width:' + menuCell[0].width + ';top:0;left:' + menuLeft + ';background-color:' + menu.vSpaceColor + ';"></div>';
      }
    return menuStr;
  }
  
  function isItemCurrrentPage(obj){
    if (document.location.href.toString().toLowerCase().indexOf(obj[0].selectHref?obj[0].selectHref.toString().toLowerCase():obj[0].href.toString().toLowerCase())>0)
      return true;
    else if(obj.length && obj.length > 1){
    for (var i=1; i<obj.length; i++){
      if (isItemCurrrentPage(obj[i]))
        return true;
      }
    }
    return false;
  }
  
  function layoutMenuContent(menu, menuCell){
    var returnStr = '';
    
    if (menu.height>menu.rollOverHeight){
      returnStr += '<table cellPadding="0" cellSpacing="0" border="0" width="' + menuCell.width + '" height="' + menu.height + '" ID="Table1">';
      returnStr +=   '<tr>';
      returnStr +=     '<td bgColor="' + menu.bgColor + '" height="' + Math.ceil((menu.height-menu.rollOverHeight)/2) + '">';
      returnStr +=       '<IMG SRC="img/spacer.gif">';
      returnStr +=     '<td>';
      returnStr +=   '</tr>';
      returnStr +=   '<tr>';
      returnStr +=     '<td>';
    }
    returnStr += '<table cellPadding="0" cellSpacing="0" border="0" width="' + menuCell.width + '" height="' + menu.rollOverHeight + '" ID="Table2">';
    returnStr +=   '<tr>';
    returnStr +=     '<td align="center" class="' + menuCell.className + '" >';
    if (document.layers && menuCell.href != ''){ 
      if (menuCell.restricted)
        returnStr +=   '<a class="' + menuCell.className + '" href="javascript:handleOnClick(\'' + menuCell.href + '\', \'' + menuCell.target + '\');" onclick="return checkLogin(this.href);">';
      else
        returnStr +=   '<a class="' + menuCell.className + '" href="javascript:handleOnClick(\'' + menuCell.href + '\', \'' + menuCell.target + '\');">';
      returnStr +=   menuCell.title;
      returnStr +=   '</a>';
    }
    else if (menuCell.title != '')
      returnStr +=   menuCell.title;
    else
      returnStr +=   '<IMG SRC="img/spacer.gif">';
    returnStr +=     '</td>';
    if (menuCell.separatorImg != ''){
      returnStr += '<td align="right" bgColor="' + menu.bgColor + '" width="' + ((menu.separatorSpacing*2) + menu.separatorWidth) + '">';
      returnStr +=   '<IMG SRC="img/spacer.gif" border="0" width="' + menu.separatorSpacing + '"><img src="' + menuCell.separatorImg + '" border="0" width="' + menu.separatorWidth + '"><IMG SRC="img/spacer.gif" width="' + menu.separatorSpacing + '" border="0">';
      returnStr += '</td>';
    }
    returnStr +=   '</tr>';
    returnStr += '</table>';
    if (menu.height>menu.rollOverHeight){
      returnStr +=     '</td>';
      returnStr +=   '</tr>';
      returnStr +=   '<tr>';
      returnStr +=     '<td bgColor="' + menu.bgColor + '" height="' + Math.floor((menu.height-menu.rollOverHeight)/2) + '">';
      returnStr +=       '<IMG SRC="img/spacer.gif">';
      returnStr +=     '<td>';
      returnStr +=   '</tr>';
      returnStr += '</table>';
    }
    return returnStr;
  }