BASIC = function() {

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

  var Images = null;
  var Captions = null;

  return {
    init : function() {

      $E.onAvailable('gallery', function() {
        Images = $('gallery').getElementsByTagName('li')
        $E.on('next', 'click', function(e) {
          $E.stopEvent(e);
          var Images = $('gallery').getElementsByTagName('li');
          for(var i = 0; i < Images.length; i++) {
            if($D.hasClass(Images[i], 'visible')) {
              $D.replaceClass(Images, 'visible', 'hidden');
              if($D.getNextSibling(Images[i])) {
                $D.replaceClass($D.getNextSibling(Images[i]), 'hidden', 'visible');
              } else {
                $D.replaceClass(Images[0], 'hidden', 'visible');
              }
              break;
            }
          }
        }, 'next', true);
        $E.on('previous', 'click', function(e) {
          $E.stopEvent(e);
          var Images = $('gallery').getElementsByTagName('li');
          for(var i = 0; i < Images.length; i++) {
            if($D.hasClass(Images[i], 'visible')) {
              $D.replaceClass(Images, 'visible', 'hidden');
              if($D.getPreviousSibling(Images[i])) {
                $D.replaceClass($D.getPreviousSibling(Images[i]), 'hidden', 'visible');
              } else {
                $D.replaceClass(Images[Images.length - 1], 'hidden', 'visible');
              }
              break;
            }
          }
        }, 'previous', true);

        $D.setStyle($('gallery-navigation'), 'display', 'block');

        $P.config = {
          viewers: {
            "images" : {
              properties: {
                id: "images",
                grow: 0.2,
                fade: 0.2,
                modal: true,
                dragable: false,
                fixedcenter: true,
                loadFrom: "html",
                position: "absolute",
                buttonText: { next: "Next", prev: "Previous", close: "Close" }, 
                easing: YAHOO.util.Easing.easeBothStrong
              }
            }
          }
        };
        $P.controller.init();

      });
    }
  }


}();

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

