/* !bookmark DOM構築後動作【開始】 */
$(function(){

	//変数設定
	var thumbMgn = 0;
	var thumbAnime = false;
	var thumbBlur = false;//<------------サムネイルがぼけてるかどうか

	// !サムネイルの数に合わせて横幅を修正
	var mvtw = 195 * Math.ceil($(".mainvisualThumb li").length/3);
	$(".mainvisualThumb").css({width:mvtw+"px"});

	// !イントロアニメーション
	$(".topIntro, .mainvisualThumb, .topArrowLeft, .topArrowRight").css({"visibility":"visible"});
	$(".mainvisualThumb li, .topArrowLeft, .topArrowRight, .topIntro, .topZoom").hide();
	$(".topIntro").fadeIn(2000,function(){
		$(".mainvisualThumb li, .topArrowLeft, .topArrowRight").show();
		$(".mainvisualThumb li, .topArrowLeft").fadeTo(0,0.2);
		$(".mainvisualThumb li").hover(
			function(){
				if(!thumbBlur){
					$(this).stop(true, false).fadeTo("fast",1);
				}
			},
			function(){
				if(!thumbBlur){
					$(this).stop(true, false).fadeTo("fast",0.2);
				}
			}
		);
		$(this).fadeOut(2000,function(){
			$(this).remove();
		})
	});

	// !左右にスライドする動作
	function slideThumb(d){
		if(d=="left"){
			if(thumbMgn<0){
				thumbMgn+=195;
				$(".mainvisualThumb").animate({marginLeft:thumbMgn+"px"},300,function(){arrowFade();});
			}
		}else{
			if(parseInt($(".mainvisualTop").css("width").replace("px","")) <= parseInt(mvtw+thumbMgn)){
				thumbMgn-=195;
				$(".mainvisualThumb").animate({marginLeft:thumbMgn+"px"},300,function(){arrowFade();});
			}
		}
	}

	// !左右のArrowを有効化／無効化表示切り替えのための関数
	function arrowFade(){
		if(thumbMgn<0){
			$(".topArrowLeft").fadeTo(0,1);
		}else if(thumbMgn>=0){
			$(".topArrowLeft").fadeTo(0,0.2);
		}
		if(parseInt($(".mainvisualTop").css("width").replace("px","")) > parseInt(mvtw+thumbMgn)){
			$(".topArrowRight").fadeTo(0,0.2);
		}else{
			$(".topArrowRight").fadeTo(0,1);
		}
	}

	// !左右のArrowのクリックイベント設定
	$(".topArrowLeft").click(function(){
		slideThumb("left");
	});
	$(".topArrowRight").click(function(){
		slideThumb("right");
	});

	// !ウインドウリサイズ時の動作【開始】
	$(window).resize(function(){
		//alert(".mainvisualTop = "+parseInt($(".mainvisualTop").css("width").replace("px",""))+"\n"+"mainvisualThumb = "+parseInt(mvtw+parseInt($(".mainvisualThumb").css("margin-left").replace("px",""))));
		while(parseInt($(".mainvisualTop").css("width").replace("px","")) > parseInt(mvtw+thumbMgn)){
			thumbMgn += 195;
		}
		if(!thumbAnime){
			thumbAnime = true;
			$(".mainvisualThumb").animate({marginLeft: thumbMgn+"px"},300,function(){
				thumbAnime=false;
				arrowFade();
			});
		}
	});// !ウインドウリサイズ時の動作【終了】

	// !画像プリロード
	var cache = [];
	function preLoadImages(){
		var args_len = $(".mainvisualThumb img").length;
		for (var i = args_len; i--;) {
			var cacheImage = document.createElement('img');
			cacheImage.src = $(".mainvisualThumb img:eq("+String(i)+")").attr("src").replace(".jpg","_b.jpg");
			cache.push(cacheImage);
		}
	}
	preLoadImages();

	// !サムネイルを全てブラー画像に変更する関数
	function changeThumbBlur(){
		if(!thumbBlur){
			$(".mainvisualThumb img").attr("src", function(){
				return this.src.replace(".jpg","_b.jpg");
			});
			$(".mainvisualThumb li").fadeTo(0,0.2);
			$(".mainvisualThumb li").css("cursor","default");
			thumbBlur = true;
		}
	}

	// !ブラーになったサムネイルを元に戻す関数
	function changeThumbSharp(){
		$(".mainvisualThumb img").attr("src", function(){
			return this.src.replace("_b.jpg",".jpg");
		});
		$(".mainvisualThumb li").css("cursor","pointer");
		thumbBlur = false;
	}

	// !サムネイルの拡大画像を表示
	function showZoom(){
		$(".topZoom").css({visibility:"visible"});
		$(".topZoom").stop(true, false).fadeTo("fast",1);
		changeThumbBlur();
	}

	// !サムネイルの拡大画像を隠す
	function hideZoom(){
		$(".topZoom").stop(true, false).fadeTo("fast",0,function(){
			$(this).css({visibility:"hidden"});
		});
		changeThumbSharp();
	}

	// !サムネイルのクリックイベント設定
	$(".mainvisualThumb li a").click(function(){
		return false;
	});
	$(".mainvisualThumb li img").click(function(){
		if(!thumbBlur){
			$(".topZoom p").html(String($(this).attr("alt")));
			$(".topZoom a").attr("href",$(this).parent().attr("href"));
			$(".topZoomImg").html('<img src="'+$(this).parent().attr('rel')+'" alt="'+$(this).attr('alt')+'" />');
			showZoom();
		}else{
			hideZoom();
		}
	});

	// !サムネイルをズームした時の背景にクリックイベント
	$(".topZoom").click(function(){
		hideZoom();
	});
	$(".topZoom .close").click(function(){
		hideZoom();
		return false;
	});

	// !スクロールバー実装
	$(".scrollHandle").html('<div class="scrollHandleLine"></div>');
	var scrollBarHeight = 320 * (360 / $("#allList ul").height());
	$(".scrollHandle").css({height: scrollBarHeight});
	$(".scrollHandle").draggable({
		drag:function(e,ui){
			var parcent=$(this).css("top").replace("px","")/320;
			$("#allList ul").css({marginTop: -$("#allList ul").height()*parcent});
		},
		containment:"parent",
		axis:"y"
	});

});// !DOM構築後動作【終了】
