/**
 * Animates a fixed amount of 
 * random dom-attached images.
 */
jQuery.noConflict();
jQuery(document).ready(function($)
{
   // -------------------------------------------------------------------------------------------------
   // LOGIN BAR

   $('#header ul').css({'display':'none'});

   $('#header')
   .mouseenter(function()
   {
      $('#header ul').fadeIn('fast');
   })
   .mouseleave(function()
   {
      $('#header ul').fadeOut('fast');
   });

   // -------------------------------------------------------------------------------------------------
   // ANIMATION

   // Current language
   var lang = $('html').attr('lang');

   // Animation
   var container = $('#js-animation');
   var Images    = new Array();
   var Shuffled  = new Array();
   var timer     = {};
   var timer_r   = {};
   var time_step = 0;
   var img_max   = 16;

   /**
    * Create a shuffled list of numbers and
    * remove its last element (duplicate bug).
    */
	function shuffleArray()
   {
      var Shuffle = new Array();

      for (var i = 0; i < img_max; i ++)
      {
      	Shuffle[ i + 0 ] = i;
      	Shuffle[ i + 1 ] = i;
      }

      for (var i = 0; i < img_max; i ++)
      {
      	var j = Math.floor(Math.random() * img_max);
      	var t = Shuffle[i];
      	Shuffle[i] = Shuffle[j];
      	Shuffle[j] = t;
      }
      
      Shuffle.splice(-1, 1);

      return Shuffle;
	}
	
	/**
	 * Create images and shuffle their dom order.
    */
   function createImages()
   {
      for (var i = 0; i < img_max; i ++)
      {
         name = i;
      	$(container).append('<img class="thumb no' + name + '" src="files/layout/intro/animation/' + name + '.jpg" alt="" />');
      }

      $('.thumb').css({'opacity':'0'});
      $('#js-animation').shuffle();
   }

   /**
    * Animate images.
    */
   function animateImages()
   {
      $.clearTimer(timer);
      Shuffled = shuffleArray();

      for (var i = 0; i < Shuffled.length; i ++)
      {
         time_step += 100 + i * 10;
         $('.thumb.no' + Shuffled[i]).stop().delay(time_step).animate({'opacity':'1'}, 500 + time_step, 'easeInQuad');
      }
   }

   /**
    * Redirect to next page based on language.
    */
   function redirectPage()
   {
      var redirect = '';
      lang == 'de' ? redirect = '/agentur.html' : redirect = '/agency.html';
      self.location.href = redirect;
   }
   
   /**
    * Create images and run animation.
    */
   createImages();
   timer   = $.timer(1500, animateImages);
   // timer_r = $.timer(12500, redirectPage);
});

