var timerObj;

$(document).ready(function() {
	var slider = $("#sliderId");
	var sliderList = slider.find(".slider ul");
	var sliderLength = sliderList.children().length;
	var sliderWidth = 660;
	var sliderPosition = 0;
	var sliderChk = true;

	if (sliderLength <= 4) return;

	var moveDirection = 1;
	var interval = 3500;
	var timerObj = setInterval(autoMove, interval);

	if (sliderLength % 4) {
		for (var i = 0; i < 4 - (sliderLength % 4); ++i) {
			sliderList.append("<li style=\"background:none;\">&nbsp;</li>");
		}
		sliderLength = sliderList.children().length;
	}

	slider.find(".btn_prev").click(function() {
		if (sliderChk) {
			moveDirection = 0;
			if (sliderPosition < 0) sliderPosition = sliderPosition + sliderWidth;
			else {
				sliderList.css("left", sliderPosition - sliderWidth);
				var tg = $("#sliderId .slider ul li");
				tg.eq(0).before(tg.slice(sliderLength - 4, sliderLength));
			}
			sliderChk = false;
			sliderList.animate({left : sliderPosition - 35}, 500, function() {sliderChk = true;});
			setNowPage();
		}
	});

	slider.find(".btn_next").click(function() {
		if (sliderChk) {
			moveDirection = 1;
			if (sliderPosition > -sliderWidth * Math.floor((sliderLength - 1) / 4)) sliderPosition = sliderPosition - sliderWidth;
			else {
				sliderList.css("left", sliderPosition + sliderWidth);
				var tg = $("#sliderId .slider ul li");
				tg.slice(0, 4).appendTo(tg.parent());
			}

			sliderChk = false;
			sliderList.animate({left : sliderPosition - 35}, 500, function() {sliderChk = true;});
			setNowPage();
		}
	});

	function autoMove() {
		if (moveDirection) {
			if (sliderPosition > -sliderWidth * Math.floor((sliderLength - 1) / 4)) {
				sliderPosition = sliderPosition - sliderWidth;
			} else {
				sliderList.css("left", sliderPosition + sliderWidth);
				var tg = $("#sliderId .slider ul li");
				tg.slice(0, 4).appendTo(tg.parent());
			}
		} else {
			if (sliderPosition < 0) {
				sliderPosition = sliderPosition + sliderWidth;
			} else {
				sliderList.css("left", sliderPosition - sliderWidth);
				var tg = $("#sliderId .slider ul li");
				tg.eq(0).before(tg.slice(sliderLength - 4, sliderLength));
			}
		}
		sliderChk = false;
		sliderList.animate({left : sliderPosition - 35}, 500, function() {sliderChk = true;});
		setNowPage();
	}

	var sliderIndex = 1;
	var sliderMaxIndex = Math.ceil(sliderLength / 4);

	function setNowPage() {
		if (moveDirection) sliderIndex = sliderIndex >= sliderMaxIndex ? 1 : sliderIndex + 1;
		else sliderIndex = sliderIndex <= 1 ? sliderMaxIndex : sliderIndex - 1;

	}

	$("#sliderId *").hover(function() {
		clearInterval(timerObj);
	}, function() {
		clearInterval(timerObj);
		timerObj = setInterval(autoMove, interval);
	});

});
