/*globals YAHOO */
var fader = null;

var KIT = function() {

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

  return {
    imageFader: function() {

      var images = $('gallery').getElementsByTagName('img');
      var cur = 0;
      var next = 0;

      for(var i = 0; i < images.length; i++) {
        if($D.getStyle(images[i], 'opacity') > 0) {
          cur = i;
        } else {
          $D.setStyle(images[i], 'opacity', 0);
        }
      }

      if(cur != images.length - 1) {
        next = cur + 1;
      }

      var imageOut = new YAHOO.util.Anim(images[cur], {
        opacity: { from: 1, to: 0 },
        // points: { to: [Math.floor(Math.random()*11), Math.floor(Math.random()*11)] },
        width: { to: 900 }
        }, 4);
      var imageIn = new YAHOO.util.Anim(images[next], {
        opacity: { from: 0, to: 1 },
        width: { to: 543, from: 700 }
        }, 4);

      imageOut.onComplete.subscribe(function(e, anim) { 
        $D.removeClass(images[cur], 'active');
        $D.setStyle(images[cur], 'width', '543px');
        // $D.setXY(images[cur], [0,0]);
        $D.addClass(images[next], 'active');
      });

      imageOut.animate();
      imageIn.animate();

    },

    init: function() {

      $E.onAvailable('gallery', function(){ 

        var images = this.getElementsByTagName('img');
        var start = Math.floor(Math.random() * images.length);

        $D.setStyle(images, 'opacity', 0);
        $D.removeClass(images, 'hidden');
        $D.setStyle(images[start], 'opacity', 1);
        $D.addClass(images[start], 'active');
        $D.removeClass($('next'), 'hidden');

        fader = setInterval(KIT.imageFader, 7000); 
      });

    }
  };

}();

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


//var player = $f("player", "/assets/swf/flowplayer-3.2.7.swf");
$(function(){

  var swf;

  var detectVideoSupport = function (){
    return parseInt(
    (typeof HTMLVideoElement != undefined ? 1 : 0) + "" +
    (typeof HTMLAudioElement != undefined ? 1 : 0) + "" +
    (typeof HTMLCanvasElement != undefined ? 1 : 0)
    ) == 111 ? 1 : 0;
  };

  function close_box()
  {
    if(!$('html').hasClass('video')) {
      var api = swf.getApi();
      $(api).remove();
    }
    jQuery('#video-mask, #stage').animate({'opacity':'0'}, 300, 'linear', function(){
      jQuery('#video-mask, #stage').remove();
    });
    fader = setInterval(KIT.imageFader, 7000); 
  }

  function open()
  {

    clearInterval(fader);

    $('body').addClass('video').append('<div id="video-mask"></div><div id="stage"><div class="close" title="Fenster schliessen">x</div></div>');

    $('#video-mask').css({
      'height': $('window').height(), 
      'opacity': 0.5,
      'width': $('window').width()
    });

    $('window').resize(function(e) {
      $('#video-mask').css({
        'height': $('window').height(), 
        'width': $('window').width()
      });
    });

    if($('html').hasClass('video')){
      var c = $('#video').clone(true);
      $(c).width(640).height(360);  
      $('#stage').append(c);
      $(c).show().get(0).play();  
    } else {
      swf = flashembed('stage', '/assets/swf/flowplayer-3.2.7.swf', {
      'config': {
          'playlist': [
            {
              'url': $('#videosrc').get(0).src,
              'autoPlay': true
            }
          ]
        }
      });
      $(c).show();
    }
  }
  $('#video').parent(0).append('<div class="video-still" title="Video jetzt anschauen!"><span id="preview" class="vid-still-btn"></span></div>');
  $('#video').hide();
  $('#preview').click(function(e){
    open();
    e.preventDefault();
    $('#video-mask, #box').animate({'opacity':'.50'}, 300, 'linear');
    $('#box').animate({'opacity':'1.00'}, 100, 'linear');
    $('#video-mask, #box').css('display', 'block');
      $('.close').click(function(){
        close_box();
      });
      $('#video-mask').click(function(){
        close_box();
      });
  });
});

