var EastCamp = {

	$slides: undefined,
	slideWidth: undefined,

	init: function() {
		$('body').addClass('js');

		$.localScroll();
		this.archiveCarousel();
		this.galleryZoom();
	},

	archiveCarousel: function() {
		var $carousel = $('.carousel');

		if ($carousel.length) {
			this.$slides = $carousel.find('.slides');

			var $slide = this.$slides.find('.varticle');
			var slides = $slide.length;

			$slide.each(function(k, v) {
				$(this).attr('data-id', k + 1);
			});

            this.slideWidth = $slide.outerWidth() + parseInt($slide.css('margin-left'));
            this.$slides.css('width', this.slideWidth * slides);

			$carousel.find('.page').click(function(e) {
				e.preventDefault();
				EastCamp.carouselPage($(this));
			});

			this.changeSlide($carousel.find('.varticle.current').data('id') - 3);
        }
	},

	carouselPage: function($p) {
		var currentSlide = parseInt(this.$slides.find('.varticle.current').data('id'));
		var maxSlide     = parseInt(this.$slides.find('.varticle').length) - 3;
		var nextSlide;

		if ($p.hasClass('next')) {
			nextSlide = (currentSlide == maxSlide ? 1 : currentSlide + 1);
		}
		else {
			nextSlide = (currentSlide == 1 ? maxSlide : currentSlide - 1);
		}

		this.changeSlide(nextSlide);
	},

	changeSlide: function(page) {
		var indent = -(this.slideWidth * (page - 1));
	
		this.$slides.animate({'left': indent}, 900, 'easeOutElastic');
		this.$slides.find('.varticle').removeClass('current');
		this.$slides.find('article:nth-child(' + page + ')').addClass('current');
	},

	galleryZoom: function() {
		$('a[rel=gallery]').fancybox({padding: 0});
	}

};

$(document).ready(function() {
	EastCamp.init();
});
