﻿


var Slides = {
    container : $('#slides'),  
    totalSlides : '',
    currentSlide : 0,
    nextSlide: 0,
    slideHeight : 400,
    translateAmount : 0,
    totalSlidesHeight : 630,
    showElipsis: false,
    init: function(totalSlides) {
        if(!totalSlides) {
            throw new Eror('Please pass the total number of slides');
            }
        Slides.totalSlides = totalSlides;
        Slides.loadContent();
        Slides.keyPress();  
        
    },
    loadContent : function() {
        Slides.container = $('#slides');
        Slides.container.hide();  
        for(var i = 0; i < Slides.totalSlides; i++ ) {
            var newSlide = $('<div id="#slide-' + i + '"></div>' )
                .load('Testimonials/' + i + '.html', function() {
                    if(Slides.showElipsis) {
                        Slides.truncate($(this));
                    }
                })
                .appendTo($('#slides'));
            
                
        }
     
        Slides.container.show();  
    },
    keyPress : function() {
        $(document.body).keydown(function(e){
            // if left or right arror is pressed
            if(e.keyCode === 39 || e.keyCode === 37) {
                e.preventDefault();
                (e.keyCode === 39) ? Slides.next() : Slides.prev();
            }
        }); //end key down
    },
    prev: function() {
         // No more left to go back.  
        if ( Slides.translateAmount === 0 ) return;  
        Slides.nextSlide = (Slides.currentSlide - 1) % Slides.totalSlides;
        var currentSlide = Slides.container.children('div').slice(Slides.currentSlide, Slides.nextSlide);
        
        Slides.slideHeight = 
            currentSlide.height()
            + ( parseInt( currentSlide.css('margin-top'), 10 ) ) + 
            ( parseInt( currentSlide.css('margin-bottom'), 10 ) );
            
        Slides.translateAmount += Slides.slideHeight;  
       
        Slides.animate();  
        
        Slides.currentSlide = Slides.nextSlide;
    },
    next : function() {
        Slides.nextSlide = (Slides.currentSlide + 1) % Slides.totalSlides;
        var currentSlide = Slides.container.children('div').slice(Slides.currentSlide, Slides.nextSlide);

        Slides.slideHeight = 
            currentSlide.height()
            + ( parseInt( currentSlide.css('margin-top'), 10 ) ) + 
            ( parseInt( currentSlide.css('margin-bottom'), 10 ) );
        if(Slides.nextSlide != 0) {
        Slides.translateAmount -= Slides.slideHeight;
        }
        else {
            Slides.translateAmount = 0;
        }
        
        
        
        
        Slides.animate();
        
        Slides.currentSlide = Slides.nextSlide;
        
    },
    animate : function() {
        if(Slides.nextSlide!=0) {
        Slides.container.children().animate({top: Slides.translateAmount  + "px"}, 800);
        }
        else {
            var fakechildren = Slides.container.children(':eq(0)').clone().appendTo(Slides.container);
            Slides.container.children().animate({top: -(Slides.container.height() -208 ) +'px'},800,function(){
                
                Slides.container.children().css('top', 0);
                fakechildren.remove();
            });
        }
    },
    truncate : function(current) {
        var t = current.find('p').clone()
                                        .hide()
                                        .css('overflow', 'visible').css('width', '289px')
                                        .css('white-space','normal').css('height','auto');
        t.appendTo(Slides.container);
                                       
        if(t.height() > 111) {
            var text = t.html().substr(0,320);
            var index = text.lastIndexOf(' ');
            current.find('p').html(text.substr(0,index) + ' ...');
        }
        t.remove();
    }  
    
}  
  

