/* interactive pagination for auction highlights in special teaser box */

// create the aerophil namecpace
/*global YAHOO */
YAHOO.namespace ("aerophil");

// The Prelistening function initializes the flash object and handles the click events with unobtrusive javascript
YAHOO.aerophil.AuctionHighlights = function(e) {
  var $YD = YAHOO.util.Dom;
  var $YE = YAHOO.util.Event;
  var $YC = YAHOO.util.Event;
  var $ = $YD.get;

  return {
    
    status: "stop",
    elActive: "",
    target: "",
    
    init: function() {
      // console.log("init");
      if ( !$('thisItem') ) return;
      this.thisItem = $('thisItem').innerHTML;
      this.allItems = $('allAuctionHighlights').innerHTML;
      $YE.addListener(['prev-item', 'next-item'], 'click', this.handleEvent, null, YAHOO.aerophil.AuctionHighlights);
    },
    handleEvent: function(e) {
      // console.log("handleEvent");
      $YE.stopEvent(e);
      var t = $YE.getTarget(e);
      $YD.addClass( $('itemStatusBar'), 'loading' );
      var callback = {
        success: function(o) {
          $('productDescriptionHighlights').innerHTML = o.responseText;
          $('thisItem').innerHTML = YAHOO.aerophil.AuctionHighlights.nextItem;
          YAHOO.aerophil.AuctionHighlights.thisItem = YAHOO.aerophil.AuctionHighlights.nextItem;
          $YD.removeClass( $('itemStatusBar'), 'loading' );
          
          var options = {
            animSequence: 'sync',
            keysClose: ['s', 'c', 'q', 27],
            keysPrev: ['z', 'p', 37],
            keysNext: ['w', 'n', 39],
            text: {
              cancel:     'Abbrechen',
              loading:    'Lade Bild ...',
              close:      '<span class="shortcut">S<\/span>chlie&szlig;en',
              next:       '<span class="shortcut">W<\/span>eiter',
              prev:       '<span class="shortcut">Z<\/span>ur&uuml;ck',
              errors: {
                single: 'Sie m&uuml;ssen folgendes Browser-Plugin installieren, um den Inhalt zu sehen: <a href="{0}">{1}<\/a>.',
                shared: 'Sie m&uuml;ssen folgende zwei Browser-Plugins installieren, um den Inhalt zu sehen:  <a href="{0}">{1}<\/a> und <a href="{2}">{3}<\/a>.',
                either: 'Sie m&uuml;ssen eins der folgenden Browser-Plugins installieren, um den Inhalt zu sehen: <a href="{0}">{1}<\/a> oder <a href="{2}">{3}<\/a>.'
              }
            }
          };
          if ( $('previewImageLinkBox') )
          {
            var elements = $YD.getChildrenBy($('previewImageLinkBox'), function(el){ return (el.nodeName && el.nodeName.toLowerCase() === 'a'); } );
            // console.log("elements.length: " + elements.length);
            Shadowbox.setup( elements, options);
          }
          
        },
        failure: function(o) {$YD.removeClass( $('itemStatusBar'), 'loading' );}
      }
      // console.log("t.id: " + t.id);
      if ( t.id && t.id === "prev-item" )
      {
        if ( parseInt(this.thisItem)-1 < 1 )
        {
          this.nextItem = this.allItems;
        }
        else
        {
          this.nextItem = parseInt(this.thisItem)-1;
        }
      }
      else if ( t.id && t.id === "next-item" )
      {
        if ( parseInt(this.thisItem)+1 > this.allItems )
        {
          this.nextItem = 1;
        }
        else
        {
          this.nextItem = parseInt(this.thisItem)+1;
        }
      }
      sUrl = "/inc/auktionen/auctionHighlights.php?next=" + this.nextItem;
      YAHOO.util.Connect.asyncRequest('GET', sUrl, callback, null);
    }
    
  };
}();
// initialize the prelistening
YAHOO.util.Event.onDOMReady(YAHOO.aerophil.AuctionHighlights.init, null,YAHOO.aerophil.AuctionHighlights);