(function Slider($) {
	if ( this instanceof Slider) {
		// class value
		var
			slider,
			mainVisualArea,
			mainVisualImg,
			thumbList
		;
		// onload
		$(function(){
			$("#slide").each(function(){
				slider = $(this);
				mainVisualArea = slider.find(".mainVisual");
				mainVisualImg = mainVisualArea.find("img");
				thumbList = slider.find(".thumbs li");
				thumbList.find("imgs").each(function(){
					var img = new Image();
					img.src = this.src;
				})
				
				thumbList.each(function(){
					$(this)
						.find("a")
							.each(function(){
								$(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(1000)
								;
								$(this).find("img").isSelected();
								return false;
							})
						.end()
					.end();
				});
				// innerFade
				(function(thumbsList){
					var
						cnt = 0,
						intervalID
					;
					$(thumbList).find("a").each(
						function(index){
							$(this).click(function(){
								cnt = index;
								clearInterval(intervalID);
								intervalID = setInterval(intervalFunc, 5000);
							});
						}
					);
					var intervalFunc = function (){
						cnt++;
						var arr = thumbList.get();
						if(cnt == arr.length) cnt = 0;
						$(arr[cnt]).find("a").click();
					}
					intervalID = setInterval(intervalFunc, 5000);
				})();
			});
			$(".thumbs a:first").click();
		});
		// extend
		$.fn.extend({
			isSelected: function(){
				var own = this;
				var imgs = thumbList.find("img");
				imgs.each(function(){
					var img = $(this);
					img.attr("src",img.attr("dsrc")).easyOver();
					own.attr("src",own.attr("hsrc")).removeEasyOver();
				});
			}
		});
	} else {
		return new Slider($);
	}
})(jQuery);

