//Large slider
var largeSlides;
var currentLargeSlide = 1;
function renderLargeSlides() {
	largeSlides = $("#large_slider td[rel='slide']");
	
	var target = $("#sliderControls");
	target.empty();
	for (i = 1; i <= largeSlides.length; i++) {
		target.append("<img alt='" + i + "' src='/wp-content/themes/twentyeleven/images/custom/dot_" + (i == 1 ? "on" : "off") + ".png' class='pointer' onclick='goToSlide(" + i + ");' /> ");
	}
}
function goToSlide(num) {
	var newLeft = ((num - 1) * -800) + "px";
	$("#large_slider").animate({
		left: newLeft
	}, 500);	
	
	$("#sliderControls img").each(function() {
		$(this).attr("src","/wp-content/themes/twentyeleven/images/custom/dot_" + ($(this).attr("alt") == num ? "on" : "off") + ".png");
	});
}
function previousLargeSlide() {
	if (currentLargeSlide > 1) {
		currentLargeSlide--;
	
		goToSlide(currentLargeSlide);
	}
}
function nextLargeSlide() {
	if (currentLargeSlide < largeSlides.length) {
		currentLargeSlide++;
	
		goToSlide(currentLargeSlide);
	}
}

//Gesture events for touch devices
var startX = 0;
var endX = -1;

function touchStart(e) {
	//e.preventDefault();

	//Store the starting X coordinate of this touch
	startX = parseInt(e.targetTouches[0].clientX);
	
	//console.log("touch started. startX = "+startX);
}
function touchMove(e) {
	endX = parseInt(e.targetTouches[0].clientX);
}
function touchEnd(e) {
	//console.log("touch ended. endX = "+endX);
	//Determine the transition direction
	if (endX != -1 && endX < (startX-30)) { //Eastbound swipe
		nextLargeSlide();
	} else if (endX != -1 && endX > (startX+30)) { //Westbound swipe
		previousLargeSlide();
	}
	
	//Set endX to a value that cannot be achieved by the user since there is no touchmove recorded for taps after a swipe
	endX = -1;
}
