var BBUtil = new Object();

BBUtil.getXYOffset = function(obj)
{
  var off;

  if (obj.offsetParent != null)
  {
    off = BBUtil.getXYOffset(obj.offsetParent);
  }
  else
  {
    off = new Array();
    off['x'] = 0;
    off['y'] = 0;
  }
  off['x'] += parseInt(obj.offsetLeft);
  off['y'] += parseInt(obj.offsetTop);
  return off;
}

BBUtil.xVerseNode = function(root, handler)
/* handler is object w/ method handler.handleXVerse(node)
   - return false to teminate the traversal
   - true to continue */
{
  var i, c, node;

  if (root && root.hasChildNodes())
  {
    for (i = 0, c = root.childNodes.length; i < c; i++)
    {
      node = root.childNodes[i];
      if (node)
      {
        if (handler.handleXVerse(node))
        {
          BBUtil.xVerseNode(node, handler);
        }
      }
    }
  }
}

BBUtil.currencySelect = function()
{
  var p = new PopUpWindow("currency-select.php", "CurrencySel", 480, 600);
  p.pop();
  return false;
}

BBUtil.classNameAdd = function(className, selector)
{
  if (!className)
  {
    return selector;
  }
  else if (className.match(new RegExp("^"+selector+"$")))
  {
    return className;
  }
  else if (className.match(new RegExp("^"+selector+"\\s")))
  {
    return className;
  }
  else if (className.match(new RegExp("\\s"+selector+"\\s")))
  {
    return className;
  }
  else if (className.match(new RegExp("\\s"+selector+"$")))
  {
    return className;
  }
  else
  {
    return className+" "+selector;
  }
}

BBUtil.classNameDel = function(className, selector)
{
  if (!className)
  {
    return "";
  }
  else if (className.match(new RegExp("^"+selector+"$")))
  {
    return "";
  }
  else if (className.match(new RegExp("^"+selector+"\\s")))
  {
    return className.replace(new RegExp("^"+selector+"\\s"), "");
  }
  else if (className.match(new RegExp("\\s"+selector+"\\s")))
  {
    return className.replace(new RegExp("\\s"+selector+"\\s"), " ");
  }
  else if (className.match(new RegExp("\\s"+selector+"$")))
  {
    return className.replace(new RegExp("\\s"+selector+"$"), "");
  }
  else
  {
    return className;
  }
}


BBUtil.classNameMatch = function(className, selector)
{
  if (!className)
  {
    return false;
  }
  else if (className.match(new RegExp("^"+selector+"$")))
  {
    return true;
  }
  else if (className.match(new RegExp("^"+selector+"\\s")))
  {
    return true;
  }
  else if (className.match(new RegExp("\\s"+selector+"\\s")))
  {
    return true;
  }
  else if (className.match(new RegExp("\\s"+selector+"$")))
  {
    return true;
  }
  else
  {
    return false;
  }
}

BBUtil.closeAllDHTMLPops = function(objName)
{
  if (objName != "liltype.bb.LColDDownMenu")
  {
    if (window.liltype.bb.LColDDownMenu)
    {
      window.liltype.bb.LColDDownMenu.closeFlyout();
    }
  }
  
  if (objName != "BBDetailPop")
  {
    if (window.BBDetailPop)
    {
      window.BBDetailPop.close();
    }
  }
  
  if (objName != "BBFWHCart")
  {
    if (window.BBFWHCart)
    {
      window.BBFWHCart.onChildClose();
    }
  }
}
