YUKU = YUKU || {};

YUKU.boxes =
{
   add : function (box)
   {
      if (!box && !box.after && !box.before && !box.html)
         return;

      if (!window.gs.boxes_init)
         return;

      var html = '<div class="box custom-box extra-content">' + box.html + '</div>';
      var new_el = YUKU.el_from_html(html);
      var cname = box.after ? box.after : box.before;
      var old_el = this.get(cname);

      if (!old_el) return;

      if (box.classname)
         YUKU.class_name.add(new_el, box.classname);

      if (box.after)
         YUKU.insert_after(new_el, old_el);
      else
         YUKU.insert_before(new_el, old_el);

      return;
   },

   get : function (classname)
   {
      var id = classname.replace(/\s+/g, '-');

      if (YUKU.get_by_id(id))
         return YUKU.get_by_id(id);

      return null;
   },

   init : function ()
   {
      if (window.gs.boxes_init)
         return;

      var boxes = ['tool-box', 'announcement-box', 'whosonline-box', ['forum-box', 'sub'],
                    ['control-box', 'top'], 'forum-box', ['control-box', 'bottom'], 'legend-box',
                    'discussion-box', 'reply-box', 'breadcrumb-box', 'featured-box', 'tags-box',
                    'stats-box', 'post-box'];

      var divs = YUKU.get_by_tag('DIV', YUKU.get_by_id('wrapper'));
      for (var i = 0; i < divs.length; i++)
      {
         var div = divs[i];
         if (YUKU.class_name.test(div, 'box'))
         {
            for (var j = 0; box = boxes[j]; j++)
            {
               if (typeof box == 'string') {
                  if (YUKU.class_name.test(div, box))
                     div.id = box;
               } else {
                  if (YUKU.class_name.test(div, box[0]) && YUKU.class_name.test(div, box[1]))
                     div.id = box[0] + '-' + box[1];
               }
            }
         }
      }

      window.gs.boxes_init = 1;
   }
}