$(function(){
  var animateSpeed = 500;
  var stop = 0;
  
  $(".pic-links a").fancybox();

  $('#slide .comment-shadow').each(function(){
    $(this).height($(this).siblings('.comment').height());
  });

  $('#slide .center .slide-link').live('click',function(){return false});
  

  function setSlideMarkerTo(num) {
    $('#slide-nav li').removeClass('current').eq(num).addClass('current');
    $('#slide-nav .marker').animate(
                              {left: $('#slide-nav li').eq(num).offset().left - $('#slide-nav').offset().left}
                              ,animateSpeed);
  }

  function slideThem(count) {

    var allSlides = $('#slide > div');    
    if (count > 0) {
      if (count == 1) $('#slide .left .slide-link').trigger('click')
      else {       
        
          var centerNum = $('#slide .center').prevAll().length;
          var newCenterNum = centerNum - count;

          for (var i = newCenterNum+2; i < allSlides.length; i++) {
            allSlides.eq(i).animate({left: '100%', marginLeft: 1000},animateSpeed)                           
          }
          allSlides.removeClass('left').removeClass('right').removeClass('center');
          allSlides.eq(newCenterNum-1).animate(
              {
                left: 0
                ,marginLeft: -allSlides.eq(newCenterNum-1).width()/2
              }
              ,animateSpeed
              ,function(){
                  $(this).addClass('left')
              });

          allSlides.eq(newCenterNum).animate(
            {
              left: '50%'
              ,marginLeft: -allSlides.eq(newCenterNum).width()/2
            }
            ,animateSpeed
            ,function(){$(this).addClass('center')});

          allSlides.eq(newCenterNum+1).animate(
            {
              left: '100%',
              marginLeft: -allSlides.eq(newCenterNum+1).width()/2
            }
            ,animateSpeed
            ,function(){$(this).addClass('right')});
        
      }

    } else if (count < 0) {
        if (count == -1) $('#slide .right .slide-link').trigger('click')
        else {          
          var centerNum = $('#slide .center').prevAll().length;
          var newCenterNum = centerNum - count;
                    
          for (var i = 0; i < newCenterNum-1; i++) {
            allSlides.eq(i).animate({left: -1000, marginLeft: -allSlides.eq(i).width()/2},animateSpeed)
          }
          allSlides.removeClass('left').removeClass('right').removeClass('center');
          allSlides.eq(newCenterNum-1).animate(
              {
                left: 0
                ,marginLeft: -allSlides.eq(newCenterNum-1).width()/2
              }
              ,animateSpeed
              ,function(){
                  $(this).addClass('left')
              });
              
          allSlides.eq(newCenterNum).animate(
            {
              left: '50%'
              ,marginLeft: -allSlides.eq(newCenterNum).width()/2
            }
            ,animateSpeed
            ,function(){$(this).addClass('center')});

          allSlides.eq(newCenterNum+1).animate(
            {
              left: '100%',
              marginLeft: -allSlides.eq(newCenterNum+1).width()/2
            }
            ,animateSpeed
            ,function(){$(this).addClass('right')});
        }
      }
  }  
  
  $('#slide-nav a').click(function(){
    if (stop == 0) {
      var slideCount = $('#slide-nav .current').prevAll().length - $(this).parent('li').prevAll().length;

      slideThem(slideCount);

      $('#slide-nav .marker').animate({left: $(this).offset().left - $('#slide-nav').offset().left}, animateSpeed);
      $('#slide-nav li').removeClass('current');
      $(this).parent('li').addClass('current');
      stop = 1;
      setTimeout(function(){stop = 0}, animateSpeed);
    }
    return false;
  });
  

  $('#slide .left .slide-link').live('click',function(){
  if (stop == 0) {
    var allSlides = $('#slide > div');
    var thisNum = $(this).parent('div').prevAll().length;
    var newLeft = allSlides.eq(thisNum - 1);
    var $left = allSlides.eq(thisNum);
    var $center = allSlides.eq(thisNum + 1);
    var $right = allSlides.eq(thisNum + 2);

    newLeft.animate(
              {left: '0'}
              ,animateSpeed
              ,function(){newLeft.addClass('left')});

    $left.removeClass('left')
                     .animate(
                        {left: '50%'}
                        ,animateSpeed
                        ,function(){$left.addClass('center')});

    $center.removeClass('center')
                       .animate(
                          {left: '100%'}
                          ,animateSpeed
                          ,function(){$center.addClass('right')});

    $right.removeClass('right')
                      .animate(
                        {marginLeft: 1000}
                        ,animateSpeed);                      
    
    setSlideMarkerTo(thisNum);
    stop = 1;
    setTimeout(function(){stop = 0}, animateSpeed);
  }
    return false;
  });

  $('#slide .right .slide-link').live('click',function(){

  if (stop == 0) {

    var allSlides = $('#slide > div');
    var thisNum = $(this).parent('div').prevAll().length;
    var newRight = allSlides.eq(thisNum + 1);
    var $left = allSlides.eq(thisNum - 2);
    var $center = allSlides.eq(thisNum - 1);
    var $right = allSlides.eq(thisNum);

    newRight.animate(
              {marginLeft: -newRight.width()/2}
              ,animateSpeed
              ,function(){newRight.addClass('right')});

    $left.removeClass('left')
         .animate({left: -1000},animateSpeed);

    $center.removeClass('center')
           .animate(
              {left: 0}
              ,animateSpeed
              ,function(){$center.addClass('left')});

    $right.removeClass('right')
          .animate(
            {left: '50%'}
            ,animateSpeed
            ,function(){$right.addClass('center')});   
    
    setSlideMarkerTo(thisNum);

    stop = 1;
    setTimeout(function(){stop = 0}, animateSpeed);
  }
    return false;
  });

});
