/**
 * LightboxSetup object, allows dynamic setting of global LightboxOptions
 * (especially l10n strings)
 *
 * @author  tommy(at)profi(dot)it
 * @since   19.09.2008 09:56:25
 *
 */

var LightboxSetup = {
  /* the available labels for the lightbox */
  Labels: {
    de: {
      image: 'Bild',
      of: 'von',
      previous: 'zurück',
      next: 'weiter',
      close: 'schließen',
      slideshowStart: 'Diashow starten',
      slideshowStop: 'Diashow stoppen'
    },
    it: {
      image: 'Immagini',
      of: 'da',
      previous: 'viceversa',
      next: 'ulterio',
      close: 'chiudi',
      slideshowStart: 'start Slideshow',
      slideshowStop: 'stop Slideshow'
    },
    en: {
      image: 'Image',
      of: 'of',
      previous: 'back',
      next: 'next',
      close: 'close',
      slideshowStart: 'start Slideshow',
      slideshowStop: 'stop Slideshow'
    }
  },

  /**
   * is called after inclusion and sets the language variable
   *
   */
  load: function()
  {
    var test = $A(document.getElementsByTagName("script")).findAll( function(s) {
      return (s.src && s.src.match(/lightbox-setup\.js(\?.*)?$/))
    }).each( function(s) {
      var lang = s.src.match(/\?.*lang=([a-z]{2})/);
      LightboxSetup.setLanguage(lang[1]);
    });
  },

  /**
   * is called by load() and sets the global LightboxOptions object
   *
   */
  setLanguage: function(language)
  {
    window.LightboxOptions = {
    	labelImage: this.Labels[language]['image'],
    	labelOf: this.Labels[language]['of'],
      labelPrevious: this.Labels[language]['previous'],
      labelNext: this.Labels[language]['next'],
      labelClose: this.Labels[language]['close'],
      labelSlideshowStart: this.Labels[language]['slideshowStart'],
      labelSlideshowStop: this.Labels[language]['slideshowStop'],
      slideShowTimeout: 5
    }
  }
};

// process the lightbox setup procedure
LightboxSetup.load();