var current_slide = 1;
var delay = 8000;
var timer = null;
var fade = 650;
var currentSlide = null;
var currentButton = null;

var is_changing = false;

function startTimer(){
	timer = window.setTimeout('switchSlide()', delay);
}

function stopTimer(){
	 if(typeof this.timer == "number") {
      	window.clearTimeout(this.timer);
      	this.timer = null;
    }

}

function switchSlide(){
	if(!is_changing){
		is_changing = true;
		jQuery('.slide').fadeOut(fade);
		
		var lastCheck = currentSlide.next('.slide');
	
		if(lastCheck.length == 0){
			currentSlide = jQuery('.slide').first();
		}
		else {
			currentSlide = currentSlide.next();
		}
		
		var lastButton = currentButton.next('.button');	
		if(lastButton.length == 0){
			currentButton = jQuery('.slide_buttons .button').first();
		}
		else{
			currentButton = lastButton;
		}
		jQuery('.slide_buttons .button').removeClass('active');
		currentButton.addClass('active');
	
		currentSlide.fadeIn(fade, function(){
			is_changing = false;
		});
		stopTimer();
		startTimer();
	}
}

function gotoSlide(slide, button){
	if(!is_changing){
		is_changing = true;
		jQuery('.slide').fadeOut(fade);
		currentSlide = jQuery(slide);
		currentSlide.fadeIn(fade, function(){
				is_changing = false;
			});
		if(button){
			jQuery('.slide_buttons .active').removeClass('active');
			button.addClass('active');
			currentButton = button;
		}
		stopTimer();
		startTimer();
	}
}

function previousSlide(){
		var lastCheck = currentSlide.prev('.slide');
		var newSlide = 0;
		var newButton = 0;
		if(lastCheck.length == 0){
			newSlide = jQuery('.slide').last();
		}
		else {
			newSlide = currentSlide.prev('.slide');
		}
		
		var lastButton = currentButton.prev('.button');
		if(lastButton.length == 0 ){
			newButton = jQuery('.slide_buttons .button').last();
		}
		else{
			newButton = lastButton;
		}
		gotoSlide(newSlide, newButton);
}

function nextSlide(){
		var lastCheck = currentSlide.next('.slide');
		var newSlide = 0;
		var newButton = 0;
		if(lastCheck.length == 0){
			newSlide = jQuery('.slide').first();
		}
		else {
			newSlide = currentSlide.next('.slide');
		}
		
		var lastButton = currentButton.next('.button');
		if(lastButton.length == 0 ){
			newButton = jQuery('.slide_buttons .button').first();
		}
		else{
			newButton = lastButton;
		}
		gotoSlide(newSlide, newButton);
}

function createButtons(){
	if(jQuery('.left_btn').length > 0){
		jQuery('.left_btn').click(function(e){
				previousSlide();
				e.preventDefault();
			});
	}
	if(jQuery('.right_btn').length > 0){
		jQuery('.right_btn').click(function(e){
				nextSlide();
				e.preventDefault();
			});
	}	
	
	jQuery('.slide_buttons .button').each(function(i){
		jQuery(this).click(function(e){
			if(!jQuery(this).hasClass('active')){ 
				var slide = jQuery('.slides .slide').eq(i);
				gotoSlide(slide, jQuery(this));
			}
			e.preventDefault();
		});

	});
}

jQuery(document).ready(function() {
	startTimer();
	currentSlide =  jQuery('.slides .active').first()
	currentSlide.css('display', 'block');
	createButtons();
	currentButton = jQuery('.slide_buttons .button').first()
	currentButton.first().addClass('active');
	

		
})

