/**
 * Created by IntelliJ IDEA.
 * User: rebin
 * Date: 11-1-17
 * Time: 上午6:22
 */
(function(){
   //自动滚动延时
   var autoTimer;
   var delayTimer;
   //延时
   var delayTime = 3500;
   //当前索引
   var current = 0;
   //是否正在进行
   var isPlaying = false;
   //初始化
   function init(){
       //绑定鼠标事件
       $('#slider-control li').click(function(){
           clearInterval(autoTimer);
           var index =  $('#slider-control li').index(this);
           //console.log("target:"+index);
           go(index);
       })
       $('#slider-container li').hover(function(){
           if(delayTimer)
                clearTimeout(delayTimer);
           if(autoTimer)
                clearInterval(autoTimer);

           console.log('focus')
       },function(){
           if(delayTimer)
                clearTimeout(delayTimer);
           if(autoTimer)
                clearInterval(autoTimer);
           delayTimer = setTimeout(function(){
                autoTimer = setInterval(function(){goNext(800,0)},delayTime);
           },delayTime/2);

           console.log('blur')
       });

       $('#slider-container a').click(function(){
           if(isPlaying){
               return false;
           }else{
               switch($(this).parents('li').attr('class')){
                   case "leftside":
                        goPrev(800,0);
                        return false;
                   case "rightside":
                        goNext(800,0);
                        return false;
                   case "current":
                        break;
               }
           }
       })

       autoTimer = setInterval(function(){goNext(800,0)},delayTime);
//        goNext()
   }
   //下翻
    function goNext(time,count){
        //console.log('run goNext,target=' + target);
        if(!isPlaying){
            isPlaying = true;
            current++;
             current = current > 3?0:current;
            $('#slider-control li:eq('+current+')').addClass('current').siblings().removeClass('current');
            $('#image-container-slider .current').css('z-index',9).animate({left:'40px',top:'80px',opacity:0.5,width:'465px',height:'338px'},time,'easeOutCirc',function(){
                $(this).removeClass('current').addClass('leftside');
            });
            $('#image-container-slider .current img').animate({width:'465px',height:'338px'},time,'easeOutCirc');
            $('#image-container-slider .leftside').css('z-index',1).animate({left:'350px',top:'150px',opacity:0,width:'310px',height:'225px'},time,'easeOutCirc',function(){
                $(this).removeClass('leftside').addClass('behind');
            });
            $('#image-container-slider .leftside img').css('z-index',9).animate({width:'310px',height:'225px'},time,'easeOutCirc');
            $('#image-container-slider .behind').animate({left:'545px',top:'80px',opacity:0.5,width:'465px',height:'338px'},time,'easeOutCirc',function(){
                $(this).removeClass('behind').addClass('rightside');
            });
            $('#image-container-slider .behind img').animate({width:'465px',height:'338px'},time,'easeOutCirc');
            $('#image-container-slider .rightside').css('z-index',99).animate({width:'620px',height:'450px',opacity:1,left:'225px',top:'100px'},time,'easeOutCirc',function(){
                $(this).removeClass('rightside').addClass('current');
            });
            $('#image-container-slider .rightside img').animate({width:'620px',height:'450px'},time,'easeOutCirc',function(){
                isPlaying = false;
                if(count>0){
                    count--
//                    console.log(count);
                    if(count > 0)
                    goNext(time,count);
                    return;
                }
            });
        }
    }
    function goPrev(time,count){
        //console.log('run goPrev,target=' + target);
        if(!isPlaying){
            isPlaying = true;
            current--;
            current = current< 0 ?3:current;
            $('#slider-control li:eq('+current+')').addClass('current').siblings().removeClass('current');

             $('#image-container-slider .current').css('z-index',9).animate({left:'545px',top:'80px',opacity:0.5,width:'465px',height:'338px'},time,'easeOutCirc',function(){
                $(this).removeClass('current').addClass('rightside');
            });
            $('#image-container-slider .current img').animate({width:'465px',height:'338px'},time,'easeOutCirc');

            $('#image-container-slider .leftside').css('z-index',99).animate({width:'620px',height:'450px',opacity:1,left:'225px',top:'100px'},time,'easeOutCirc',function(){
                $(this).removeClass('leftside').addClass('current');
            });
            $('#image-container-slider .leftside img').animate({width:'620px',height:'450px'},time,'easeOutCirc');

            $('#image-container-slider .behind').css('z-index',9).animate({left:'40px',top:'80px',opacity:0.5,width:'465px',height:'338px'},time,'easeOutCirc',function(){
                $(this).removeClass('behind').addClass('leftside');
            });
            $('#image-container-slider .behind img').animate({width:'465px',height:'338px'},time,'easeOutCirc');


            $('#image-container-slider .rightside').css('z-index',1).animate({left:'350px',top:'150px',opacity:0,width:'310px',height:'225px'},time,'easeOutCirc',function(){
                $(this).removeClass('rightside').addClass('behind');
            });
            $('#image-container-slider .rightside img').animate({width:'310px',height:'225px'},time,'easeOutCirc',function(){
                isPlaying = false;
                if(count){
                    count--
//                    console.log(count);
                    if(count > 0)
                        goPrev(time,count);
                    return;
                }
            });

        }
    }

    function go(target){
        var sub = target - current;
//        console.log('sub:'+sub);
        if(sub > 1){
             goNext(300/sub,sub);
        }else if(sub==1){
            goNext(800,0);
        }else if(sub<-1){
            goPrev(300/-sub,0-sub);
        }else if(sub == -1){
            goPrev(800,0)
        }
    }

$(function(){
    init();
})
})()

