PNET = function() {

  var $ = YAHOO.util.Dom.get;
  var $D = YAHOO.util.Dom;
  var $E = YAHOO.util.Event;

  return {
    init : function() {

      $E.onAvailable('secondary', function() {
        var odd = $D.getElementsByClassName('odd', 'li', this),
            even = $D.getElementsByClassName('even', 'li', this),
            c;
        var ul = this.appendChild(document.createElement('ul'));
        $D.setStyle(ul, 'float', 'right');
        $D.removeClass(odd, 'odd');
        $D.removeClass(even, 'even');
        for (var i=0; i < odd.length; i++) {
          ul.appendChild(odd[i].cloneNode(true));
          odd[i].parentNode.removeChild(odd[i]);
        };
      });

      $E.onAvailable('gallery', function() {
        var lis = $D.getChildren($D.getLastChild(this));
        if(lis.length > 1) {
          $D.addClass(lis, 'disabled');
          $D.removeClass(lis[0], 'disabled');
          $D.setStyle('gallery-nav', 'display', 'block');
          $E.on('gallery-nav', 'click', function(e) {
            $E.stopEvent(e);
            var t = $E.getTarget(e);
            if(t.tagName.toLowerCase() == 'img') {
              t = t.parentNode;
            }
            if(t.id == 'next') {
              for (var i=0; i < lis.length; i++) {
                if(!$D.hasClass(lis[i], 'disabled')) {
                  if(lis[i+1]) {
                    $D.removeClass(lis[i+1], 'disabled');
                    $D.addClass(lis[i], 'disabled');
                    $('pos').innerHTML = i+2;
                    break;
                  } else {
                    $D.removeClass(lis[0], 'disabled');
                    $D.addClass(lis[i], 'disabled');
                    $('pos').innerHTML = 1;
                    break;
                  }
                }
              };
            } else if(t.id == 'previous') {
              for (var i=0; i < lis.length; i++) {
                if(!$D.hasClass(lis[i], 'disabled')) {
                  if(lis[i-1]) {
                    $D.removeClass(lis[i-1], 'disabled');
                    $D.addClass(lis[i], 'disabled');
                    $('pos').innerHTML = i;
                    break;
                  } else {
                    $D.removeClass(lis[lis.length-1], 'disabled');
                    $D.addClass(lis[i], 'disabled');
                    $('pos').innerHTML = lis.length;
                    break;
                  }
                }
              };
            }
          });
        }
      });

      $E.onAvailable('content', function() {
        if($D.hasClass(this, 'collapse')) {
          var col, cols = [], els;
          cols[0] = document.createElement('div');
          cols[1] = document.createElement('div');
          cols[2] = document.createElement('div');
          cols[3] = document.createElement('div');
          cols[4] = document.createElement('div');
          $D.addClass(cols[4], 'last');
          els = $D.getChildren(this);
          var c = 0;
          for (var i=0; i < els.length; i++) {
            $D.removeClass(els[i], 'last');
            if(i < 5) {
              $D.addClass(els[i], 'first');
            }
            cols[c].appendChild(els[i].cloneNode(true));
            c++;
            if(c > 4) {
              c = 0;
            }
          };
          while(this.childNodes.length) {
            this.removeChild(this.firstChild);
          }
          for (i=0; i < cols.length; i++) {
            this.appendChild(cols[i]);
          };
        }
      });

      $E.onAvailable('album', function() {
        var imgs = this.getElementsByTagName('li');
        $D.setStyle(imgs, 'display', 'none');
        $D.setStyle(imgs[0], 'display', 'block');
        $D.setStyle('prev', 'display', 'none');
        $E.on(['next', 'prev'], 'click', function(e) {
          $E.stopEvent(e);
          for (var i=0; i < imgs.length; i++) {
            if(this.id == 'next' && $D.getStyle(imgs[i], 'display') == 'block' && imgs[i+1]) {
              $D.setStyle(imgs[i], 'display', 'none');
              $D.setStyle(imgs[i+1], 'display', 'block');
              if(!imgs[i+2]) {
                $D.setStyle('next', 'display', 'none');
              }
              $D.setStyle('prev', 'display', 'block');
              break;
            } else if(this.id == 'prev' && $D.getStyle(imgs[i], 'display') == 'block' && imgs[i-1]) {
              $D.setStyle(imgs[i], 'display', 'none');
              $D.setStyle(imgs[i-1], 'display', 'block');
              $D.setStyle('next', 'display', 'block');
              if(imgs[i-1] == imgs[0]) {
                $D.setStyle('prev', 'display', 'none');
              }
              break;
            }
          };
        });
      });
    }
  };

}();

YAHOO.util.Event.onDOMReady(PNET.init);

