var HomeSlideshow = {
    files: [],
    images: [],
    delay: 5000,
    speed: 500,
    currentImage: 0,
    animationActive: false,
    timer: null,
    startFrom: 0,
    folder: 'images/home-slideshow/',

    loadImage: function() {
        HomeSlideshow.images.push(new Image());

        var i = HomeSlideshow.images.length - 1;

        if (HomeSlideshow.images.length < HomeSlideshow.files.length) {
            jQuery(HomeSlideshow.images[i]).load(function(){
                HomeSlideshow.loadImage();
                if (i == 1) {
                    HomeSlideshow.timer = setTimeout('HomeSlideshow.changeImage(1)', HomeSlideshow.delay);
                }
            });
        }
        HomeSlideshow.images[i].src = HomeSlideshow.folder + HomeSlideshow.files[(i + HomeSlideshow.startFrom) % HomeSlideshow.files.length];

    },

    changeImage: function(i) {
        clearTimeout(HomeSlideshow.timer);

        if (HomeSlideshow.images[i] && HomeSlideshow.images[i].complete) {
            HomeSlideshow.animationActive = true;
            HomeSlideshow.currentImage = i;

            jQuery('.js_slideshow:last')
                .before('<img class="js_slideshow" src="'+ HomeSlideshow.folder + HomeSlideshow.files[(i + HomeSlideshow.startFrom) % HomeSlideshow.files.length] +'" alt="" width="1257px" />')
                .fadeOut(this.speed, function(){
                    jQuery(this).remove();
                    HomeSlideshow.timer = setTimeout('HomeSlideshow.changeImage('+((i + 1) % HomeSlideshow.files.length)+')', HomeSlideshow.delay);
                    HomeSlideshow.animationActive = false;
            });
        } else {
            HomeSlideshow.timer = setTimeout('HomeSlideshow.changeImage('+i+')', HomeSlideshow.delay);
        }
        resizeImage();
    }
};

jQuery(document).ready(function () {
    resizeImage();
    HomeSlideshow.loadImage();
    jQuery('#main-wrapper').click(function(){
        if (!HomeSlideshow.animationActive) {
            HomeSlideshow.changeImage(HomeSlideshow.currentImage < HomeSlideshow.files.length - 1 ? HomeSlideshow.currentImage+1 : 0 );
        }
    });
});
jQuery(window).resize(function(){
	resizeImage();
});


