$(document).ready(function(){
	//slider init
	//-----------------------------------------------------------------
	var interval;
	var defaultInterval = 5000;
	var animSpeed = 1000;
	var currentSlide = 0;
	$($(".slideshow li").get(0)).css("left", 0);
	$($(".titles a").get(0)).addClass("current");
	var slideCount = $(".slideshow li").length;
	var stopped = false;
	var on = true;
	$("#play").hide();
	$("#pause").show();
	
	//forward button
	//-----------------------------------------------------------------
	$("#ff").click(function(){
		if(on){
			on = !on;
			$("#play").hide();
			$("#pause").show();
			clearInterval(interval);
			
			$($(".slideshow li").get(currentSlide)).animate({"left": 630 + "px"}, animSpeed, "swing");
			if(currentSlide == slideCount - 1) currentSlide = 0; else currentSlide++;
			$($(".slideshow li").get(currentSlide)).css("left", -630 + "px");
			$($(".slideshow li").get(currentSlide)).animate({"left": 0 + "px"}, animSpeed, "swing", function(){ on = !on; });
			$(".titles a").removeClass("current");
			$($(".titles a").get(currentSlide)).addClass("current");
			
			interval = setInterval(slide, defaultInterval);
		}
		return false;
	});
	
	//back button
	//-----------------------------------------------------------------
	$("#rew").click(function(){
		if(on){
			on = !on;
			$("#play").hide();
			$("#pause").show();
			clearInterval(interval);
			
			$($(".slideshow li").get(currentSlide)).animate({"left": -630 + "px"}, animSpeed, "swing");
			if(currentSlide == 0) currentSlide = slideCount - 1; else currentSlide--;
			$($(".slideshow li").get(currentSlide)).css("left", 630 + "px");
			$($(".slideshow li").get(currentSlide)).animate({"left": 0 + "px"}, animSpeed, "swing", function(){ on = !on; });
			$(".titles a").removeClass("current");
			$($(".titles a").get(currentSlide)).addClass("current");
			
			interval = setInterval(slide, defaultInterval);
		}
		return false;
	});
	
	// slide title links
	//-----------------------------------------------------------------
	$(".titles a").click(function(){
		if(currentSlide == $(this).attr("rel")) return false;
		else {
			if(on){
				on = !on;
				$(".titles a").removeClass("current");
				$(this).addClass("current");
				$("#play").hide();
				$("#pause").show();
				clearInterval(interval);
			
				$($(".slideshow li").get(currentSlide)).animate({"left": 630 + "px"}, animSpeed, "swing");
				currentSlide = $(this).attr("rel");
				$($(".slideshow li").get(currentSlide)).css("left", -630 + "px");
				$($(".slideshow li").get(currentSlide)).animate({"left": 0 + "px"}, animSpeed, "swing", function(){ on = !on; });
			
				interval = setInterval(slide, defaultInterval);
			}
		}
		return false;
	});
	
	//play button
	//-----------------------------------------------------------------
	$("#play").click(function(){
		$(this).hide();
		$("#pause").show();
		setTimeout(slide, 1000);
		interval = setInterval(slide, defaultInterval);
		return false;
	});
	
	// pause button
	//-----------------------------------------------------------------
	$("#pause").click(function(){
		clearInterval(interval);
		$("#play").show();
		$(this).hide();
		return false;
	});
	
	//automatic slide change
	//-----------------------------------------------------------------
	function slide(){
		on = !on;
		$($(".slideshow li").get(currentSlide)).animate({"left": 630 + "px"}, animSpeed, "swing");
		if(currentSlide == slideCount - 1) currentSlide = 0; else currentSlide++;
		$($(".slideshow li").get(currentSlide)).css("left", -630 + "px");
		$($(".slideshow li").get(currentSlide)).animate({"left": 0 + "px"}, animSpeed, "swing", function(){ on = !on; });
		
		$(".titles a").removeClass("current");
		$($(".titles a").get(currentSlide)).addClass("current");
	}
	
	//image preload
	//-----------------------------------------------------------------
	if($(".slideshow").length > 0) {
		var i;
		var images = new Array();
		for(i = 0; i < $("ul.slideshow img").length; i++){
			images[i] = new Image(630, 149);
			images[i].src = $($("ul.slideshow img").get(i)).attr("src");
		}
		interval = setInterval(slide, defaultInterval);
	}
});
