(function Slider($) {
	if ( this instanceof Slider) {
		$(function(){
			$(".switchContent").each(function(){
				var $slider = $(this);
				var $mainVisualArea = $slider.find(".mainVisual");
				var $mainVisualImg = $mainVisualArea.find("img");
				var $thumbList = $slider.find(".switchList li");
				//
				$thumbList.find("imgs").each(function(){
					var img = new Image();
					img.src = this.src;
				});
				//----------------------------------------------------------------------------------------------------
				(function(){
					var
						cnt = 0,
						intervalID
					;
					$thumbList
						.find("a")
							.each(function(index) {
							   $(this)
								.attr("_href",$(this)
								.attr("href"))
								.click(function() {
									$mainVisualArea
										.height($mainVisualImg.height())
										.css("background", "transparent url("+$mainVisualImg.attr("src")+") no-repeat left top")
									;
									$mainVisualImg
										.hide()
										.attr("src",$(this).attr("_href"))
										.fadeIn(1500)
									;
									$(this).find("img").isSelected();
									//
									cnt = index;
									clearInterval(intervalID);
									intervalID = setInterval(intervalFunc, 5000);
									//
									return false;
								})
								.find("img")
									.hover(function() {
										$(this).css("opacity", "0.7");
										$(".on").css("opacity", "0.7");
									}, function() {
										$(this).css("opacity", "1.0");
										$(".on").css("opacity", "0.7");
									})
								.end();
							})
						.end()
					.end();
					//
					var intervalFunc = function () {
						cnt++;
						var arr = $thumbList.get();
						if(cnt == arr.length) cnt = 0;
						$(arr[cnt]).find("a").click();
					}
					intervalID = setInterval(intervalFunc, 5000);
				})();
				$slider.find(".switchList a:first").click();
			});
		});
		//----------------------------------------------------------------------------------------------------
		// extend
		$.fn.extend({
			isSelected: function() {
				$this = $(this);
				$this.parents(".switchList").find("li img").removeClass('on').css('opacity','1.0');
				$this.addClass('on').css('opacity','0.7');
			}
		});
	} else {
		return new Slider($);
	}
})(jQuery);

