jQuery(document).ready(function(){
  /*
   * Accordion init
   */    
  
  $('#wrapper-accordion').accordion();
  
  
  
  /*
   * Carousel init
   */

  $('#tvslider-control-prev').css({
    opacity: 0,
    left: -153
  }).animate({
    opacity: 0.5,
    left: 7
  }, 800, 'easeOutBack');
  $('#tvslider-control-next').css({
    opacity: 0,
    left: 695
  }).animate({
    opacity: 0.5,
    left: 535
  }, 800, 'easeOutBack');
  
  function carousel_initCallback(carousel){
    shuffle = function(o){
    	for(var j, x, i = $(o).length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
    	$(o).appendTo($('#tvslider'));
    };
    shuffle($('#tvslider li'));
    
    $('#tvslider-caption').text($('#tvslider li:first img').attr('title'));

    $('#tvslider-control-next').click(function() {
      carousel.next();
      return false;
    });
    $('#tvslider-control-prev').click(function() {
      carousel.prev();
      return false;
    });
  }
  
  function carousel_onBeforeAnimation(carousel,object,index,state){
    $('#tvslider').addClass('moving');
    $('#tvslider-caption').text($('#tvslider li img').eq(index-1).attr('title'));
    
    if(index == 1){
      $('#tvslider-control-next').removeClass('last');
      $('#tvslider-control-prev').addClass('first');
    }
    else if(index == $('#tvslider li').length){
      $('#tvslider-control-prev').removeClass('first');
      $('#tvslider-control-next').addClass('last');
    }
    else{
      $('#tvslider-control-next').removeClass('last');
      $('#tvslider-control-prev').removeClass('first');
    }
  }
  
  function carousel_onAfterAnimation(carousel,object,index,state){
    $('#tvslider').removeClass('moving');
  }
  
  $('#tvslider').jcarousel({
    scroll: 1,
    animation: 1000,
    easing: 'easeOutQuint',
    buttonNextHTML: null,
    buttonPrevHTML: null,
    initCallback: carousel_initCallback,
    itemVisibleInCallback: {
      onBeforeAnimation: carousel_onBeforeAnimation,
      onAfterAnimation: carousel_onAfterAnimation
    }
  });
 
});


