$(document).ready(function() {
	time = 6000;
	slide = 800;
	i=0;
	setup();
});


function setup() {
	$(window).resize(function() {
		imgH = $('#slides li img').height();
		$('#slideshow div').height(imgH);
	});
	$('#slides li:not(:first-child)').css('left', '100%');

	$('#slideshow').mouseenter(function() {
		play = false;
		pause();
	}).mouseleave(function() {
		play = true;
		$('#pause').stop().hide();
	});
	
	$('#prev').click(prev);
	$('#next').click(next);
	
	imgs = $('#slides li');
	dots = $('#circle-nav li');
	$(dots).click(pick);
	total = imgs.length;
	cur = 0;
	
	play = true;
	setTimeout('slideshow()',time);
}
function slideshow() {
	if(play) {
		move();
	}
	
	setTimeout('slideshow()',time);
}
function next() {
	play = false;
	move();
}
function prev() {
	play = false;
	moveBack();
}
function move() {
	if(cur == total - 1) {
		next = 0;
	} else {
		next = cur + 1;
	}
	if(cur == 0) {
		prev = total - 1;
	} else {
		prev = cur - 1;
	}
	
	$(imgs[cur]).animate({
		left: '-100%'
	}, slide, 'linear', function() { $(this).css('left', '100%'); });
	$(imgs[next]).animate({
		left: '0%'
	}, slide, 'linear');
	$(dots[cur]).removeClass('live');
	$(dots[next]).addClass('live');
	
	cur = cur + 1;
	if(cur == total) {
		cur = 0;
	}
}
function moveBack() {
	if(cur == total - 1) {
		next = 0;
	} else {
		next = cur + 1;
	}
	if(cur == 0) {
		prev = total - 1;
	} else {
		prev = cur - 1;
	}
	
	$(imgs[prev]).css('left', '-100%');
	$(imgs[cur]).animate({
		left: '100%'
	}, slide, 'linear');
	$(imgs[prev]).animate({
		left: '0%'
	}, slide, 'linear');
	$(dots[cur]).removeClass('live');
	$(dots[prev]).addClass('live');
	
	cur = cur - 1;
	if(cur < 0) {
		cur = total - 1;
	}
}
function pause() {
	$('#pause').show();
	$('#pause').pulse({
		opacity: [0.3,.5]
	}, {
		duration: 500,
		times: 999999    
	});
}
function pick() {
	i = $(this).index();
	if(i > cur) {
		move();
		setTimeout("f()", slide);
	} else if(i < cur) {
		moveBack();
		setTimeout("f()", slide);
	}
}
function f() {
	if(i > cur) {
		move();
	} else if(i < cur) {
		moveBack();
	}
}
