SSD = 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() {

      var popups = $D.getElementsByClassName('popup', 'div');
      if(popups.length) {
        $D.addClass(popups, 'active');
        var z = 3;
        for (var i = popups.length; i >= 0 ; i--) {
          $D.setStyle(popups[i], 'zIndex', z);
          z++;
        }
        var x = $D.getX(popups[0]);
        var y = $D.getY(popups[0]);
        var close = [];
        for (var i = 0; i < popups.length; i++) {
          close.push(popups[i].getElementsByTagName('img')[0]);
          $D.setXY(popups[i], [x,y]);
          x += 50;
          y += 50;
        }

        $D.setStyle(close, 'cursor', 'pointer');
        $E.on(close, 'click', function(e) {
          $D.setStyle(this.parentNode.parentNode, 'display', 'none');
        });

      }

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

        $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: "nächstes Bild", prev: "vorheriges Bild", close: "schließen" }, 
                easing: YAHOO.util.Easing.easeBothStrong
              }
            }
          }
        };
        $P.controller.init();

      });
    }
  }


}();

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

