var t,
	pixels,
	vP,
	slide = 1,
	slider_width = $("#slider").width(),
	num_slides = $("#slider section").length,
    isiOS = (navigator.userAgent.match(/iPad/i) != null || navigator.userAgent.match(/iPod/i) != null || navigator.userAgent.match(/iPhone/i) != null);

if ($.browser.webkit) {
	vP = "-webkit-";
} else if ($.browser.msie) {
	vP = "-ms-";
} else if ($.browser.mozilla) {
	vP = "-moz-";
} else if ($.browser.opera) {
	vP = "-o-";
}

function slideTo(slide, width) {
	pixels = width * (slide - 1);	
	
	$("#controls a").removeClass("active");	
	$("#controls a[href=#content"+slide+"]").addClass("active");
	
	if (Modernizr.csstransforms3d && Modernizr.csstransforms && Modernizr.csstransitions && 0) {
		$("#holder").css(vP+"transform","translate3d(-"+pixels+"px, 0px, 0px)");
		$("#holder").css("transform","translate3d(-"+pixels+"px, 0px, 0px)");			
	} else if (Modernizr.csstransforms && Modernizr.csstransitions) {
		$("#holder").css(vP+"transform","translate(-"+pixels+"px, 0px)");
		$("#holder").css("transform","translate(-"+pixels+"px, 0px)");		
	} else if (Modernizr.csstransitions) {
		$("#holder").css("margin-left","-"+pixels+"px");
	} else {
		$("#holder").animate({"margin-left":"-"+pixels+"px"},600);
	}		
}

function autoSlide(){
	slide++;
	if (slide > num_slides) {
		slide = 1;
	}
	slideTo(slide,slider_width);
}

function startTimer() {
	t = setInterval(autoSlide,10000);
}

function stopTimer() {
	clearInterval(t);
}

$(document).ready(function() {
	
	startTimer();
	
	$("#slider #holder").width(slider_width * num_slides);
	$("#slider #holder").height($("#slider section").height());	
	
	$("#slider").hover(
		function () {
			stopTimer();
		},
		function () {
			startTimer();
		}
	);
		
	$("#controls a").not("#right,#left").click(function(){
		slide = parseInt($(this).attr("href").replace("#content", ""));
		slideTo(slide,slider_width);

		return false;
	});
	
	$("#right").click(function(){
		slide++;
		if (slide > num_slides) {
			slide = 1;
		}
		slideTo(slide,slider_width);
	});
	
	$("#left").click(function(){
		slide--;
		if (slide < 1) {
			slide = num_slides;
		}
		slideTo(slide,slider_width);
	});
	
});
