var activeMenu = null;

function showMiniDetail(id)
{
   var e = Ext.get('itemhover_'+id);
   if(e.isVisible())
   {
     return;
   }
   var ct = Ext.get('scrollbox');
   var e_p = Ext.get('itemct_'+id);
   e_p.scrollIntoView('scrollbox');

   e.show().alignTo('itemct_'+id, 'tl-bl?', [0,-75]);

   var ct_b = ct.getBottom();
   var ct_t = ct.getTop();
   var ct_l = ct.getLeft();
   var ct_r = ct.getRight();


   var e_h = e.getHeight();
   var e_w = e.getWidth();
   var e_xy = e.getXY();

   if(e_xy[0] > ct_r || (e_xy[0] + e_w) > ct_r)
   {
      e.alignTo('itemct_'+id, 'tr-br?', [0,-75], false);
   }
   else if(e_xy[0] < ct_l)
   {
      e.alignTo('itemct_'+id, 'tl-tl?', [0,-75], false);
   }
   e.scrollIntoView('scrollbox', false);
}

function showCategoryMenu() {
   if(activeMenu)
   {
      activeMenu.className = "collapsed";
      getNextSiblingByElement(activeMenu).style.display = "none";
   }
   if(this == activeMenu)
   {
      activeMenu = null;
   }
   else
   {
      this.className = "expanded";
      getNextSiblingByElement(this).style.display = "block";
      activeMenu = this;
   }
   return false;
}

function initCategoryMenu() {
   var menus, menu, text, a, i;
   menus = getChildrenByElement(document.getElementById("category"));
   for(i = 0; i < menus.length; i++)
   {
      menu = menus[i];
      text = getFirstChildByText(menu);
                  if(!text){ continue; }
      a = document.createElement("a");
      menu.replaceChild(a, text);
      a.appendChild(text);
      a.href = "#";
      a.onclick = showCategoryMenu;
      if (menu.className == 'currentcategory') {
          a.className = 'expanded';
          activeMenu = a;
      } else {
          a.className = 'collapsed';
      }
      a.onfocus = function() { this.blur(); };
   }
}

var num_onAddItemActions = 0;
var onAddItemActions = new Array( 100 );
var cancelPressed = false;

function add_onAddItemAction( func ) {
  onAddItemActions[num_onAddItemActions] = func;
  num_onAddItemActions++;
}


function exec_onAddItemActions( theForm ) {
  var action_idx = 0;

  if(cancelPressed)
  {
    return true;
  }

  for( action_idx=0; action_idx<num_onAddItemActions; action_idx++ ) {
    retval = (onAddItemActions[action_idx])( );
    if (!retval)
      return false;
  }
  return true;
}

function updateModifierSizes(sizeId)
{
    var nc = '.mod_size_' + sizeId;
    Ext.select('.mod_size_dependent:not(' + nc + ')').each(function (e) {
        e.setDisplayed(false);
        e.select('input').each(function (inp) { inp.dom.checked = false; });
    });
    Ext.select('div' + nc).setDisplayed('inline');
    Ext.select('span' + nc).setDisplayed(true);
}

