$(window).unload(function () {
	$("#case.SP #content").css('left', 0);
});

$(document).ready(function(){
	
	//$('area[@rel="lightbox"]').lightBox();
	

	$('#top .cnt h3:has(br)').toggleClass('line2');
	/*$('#top .cnt a').click(function(){
		//alert( $.browser.name +"/" +$.os.name  ) ;
		var win;
		var wid = "1071";
		var hei = "792";
		if($.os.name == "mac"){
			wid = "1069";
			if($.browser.name == "chrome"){
				hei = "842";
			}
		}
		win=window.open(this.href, "thh","width="+wid+",height="+hei+",scrollbars=yes, resizable=yes");
		win.focus();
		return false;
	});*/

	if(!jQuery.support.noCloneEvent){
		$('#wrapper').addClass('ie');
	}
});

function cases(p){
	
	$('.navi:eq(0)').remove();
	for(var i=p+1; i<= 25; i++){
		$('#case .navi .n'+i).css("display","none").addClass('none');
	}
	//$('#case .navi .prev').css("display","inline");
	//$('#case .navi .next').css('display','inline');
	var filename = location.href;
    var dirname = filename;
	filename = filename.replace(/.*\//,"");
	filename = filename.replace(/\..*/,"");
	var nextLink = null;
	var prevLink = null;
	if(filename == "index" || filename == ""){
		nextLink = "2.html";
		$('#case .navi .n1').addClass('now');
		$('#case .navi .prev').addClass('nolink');
		$('#case .navi .next a').attr('href',nextLink);
		$('#case .navi .prev a').click(function(){
			return false;
		});
	}else if(filename == p){
		prevLink = p-1+'.html';
		$('#case .navi .prev a').attr('href',p-1+'.html');
		$('#case .navi .next').addClass('nolink');
		$('#case .navi .next a').click(function(){
			return false;
		});
	}else {
		if(filename == 2){
			prevLink = 'index.html';
			$('#case .navi .prev a').attr('href','index.html');
		}else{
			prevLink = filename*1-1+'.html';
			$('#case .navi .prev a').attr('href',filename*1-1+'.html');
		}
		nextLink = filename*1+1+'.html';
		$('#case .navi .next a').attr('href',filename*1+1+'.html');
	}

	$('#case .navi .n'+filename).addClass('now');
  
	$('#case .noLink a').click(function(){
		return false;
	});
    
    dirname = dirname.match(/\/case[0-9]+\//);
    
    dirname += "";
    dirname = dirname.replace(/\//g,'');
    $('#case .navi .list a').attr('href','../../index.html#'+dirname);

	//垂直センター
	var h = 0;
	var h_past = -1;
	var hm = 0;
	vertical_center = function(){
		h = $('#case #content .vc_target').height();
		if(h != h_past){
			h_past = h;
			hm = (600 - h)/2;
			hm = Math.round(hm);
			$('#case #content .vc_target').css('margin-top',hm+'px');
		}
	};
	vertical_center();
	setInterval(vertical_center,2000);

	thumb();

	var pc = true;
	var agent = navigator.userAgent;
	if(agent.indexOf('Android') != -1 ||
		agent.indexOf('iPhone;') != -1 ||
		agent.indexOf('iPad;') != -1 ||
		agent.indexOf('iPod;') != -1){
		//スマホ
		pc = false;
		//alternativeIMG();
		howto_flick();
		$('body').addClass('SP');
		flick(nextLink,prevLink);
		$('#case #content a[href^="img/"]').click(function(){return false;});
	}else{
		//スマホ以外

		alternativeIMG();
		//左右ボタン
		navi_pc(nextLink,prevLink);
		//ライトボックス
		//$('#case #content a[href^="img/"]').lightBox();
		//拡大画像先読み
		//$('#case #content a[href^="img/"]').each(function(){$.preloadImages($(this).attr('href'));});
	}
	
	$(window).load(function(){___resize(p,pc);});
    ___resize(p,pc);
    var delay = (function(){
        var timer = 0;
        return function(callback, ms){
        clearTimeout (timer);
        timer = setTimeout(callback, ms);
      };
    })();
    $(window).resize(function() {

        delay(function(){
          ___resize(p,pc);
        }, 500);
    });

}

//画像先読み
jQuery.preloadImages = function()
{
	for(var i = 0; i<arguments.length; i++)
	{
		jQuery("<img>").attr("src", arguments[i]);
	}
};

/*---------------------------------------------------------------
スマホ用画像差替（トップ）
--------------------------------------------------------------- */
function alternativeIMG_top(){
	$('#content .cnt .img img').each(function(){
		var src = $(this).attr('src');
		src = src.replace('img','img_pc');
		$(this).attr('src',src);
	});
}
/*---------------------------------------------------------------
PC用画像差替
--------------------------------------------------------------- */
function alternativeIMG(){
	$('#content a').each(function(){
		var _src = $('img',this).attr('src');
		var _href = $(this).attr('href');
		_src = _src.replace('img','img_pc');
		_href = _href.replace('img','img_pc');
		$('img',this).attr('src',_src);
		$(this).attr('href',_href).lightBox();
		//console.log(src);
	});
}

/*---------------------------------------------------------------
サムネ生成
--------------------------------------------------------------- */
function thumb(){
	var trgt = '#case .navi:eq(0)';
	var ief = false;
	if(!jQuery.support.noCloneEvent){
		//alert('IE');
		ief = true;
	}
	$('li:visible a',trgt).each(function(){
		var li = $(this);
		var no = $(this).text();
		var img = $('<img />');
        img.attr('src', './img_thumb/'+no+'.jpg');

        if(!ief){
	        img.load(function(){
	        	_main();
	        });
		}else{
	        $(window).load(function(){
	        	_main();
	        });
		}

        function _main(){
        	li.html('<span class="thumb"></span><span class="no">'+no+'</span>');
        	$('.thumb',li).html(img);
        }
	});
}
/*
function thumb(){
	var trgt = '#case .navi:eq(0)';
	var scale = 30;
	var ief = false;
	if(!jQuery.support.noCloneEvent){
	//alert('IE');
		ief = true;
	}
	$('li:visible a',trgt).each(function(){
		var li = $(this);
		var no = $(this).text();
		var img = $('<img />');
        img.attr('src', './img/'+no+'.jpg');

        if(!ief){
	        img.load(function(){
	        	_main();
	        });
		}else{
	        $(window).load(function(){
	        	_main();
	        });
		}

        function _main(){
        	li.html('<span class="thumb"></span><span class="no">'+no+'</span>');
        	$('.thumb',li).html(img);
        	var rect = img.width() /img.height();
        	if(rect > 1){
        		//横長
        		var w = Math.round(scale*rect);
        		var m = Math.round((scale-w)/2);
        		$('img',li).attr({
        			width:w,
        			height:scale
        		}).css({
        			marginLeft:m+'px'
        		});
        	}else{
        		//縦長
        		rect = img.height() / img.width();
        		var h = Math.round(scale*rect);
        		var m = Math.round((scale-h)/2);
        		$('img',li).attr({
        			width:scale,
        			height:h
        		}).css({
        			marginTop:m+'px'
        		});
        	}
        }
	});
}
*/

/*---------------------------------------------------------------
左右クリック領域生成
--------------------------------------------------------------- */
function navi_pc(nextLink,prevLink){
	var trgt = "#content";
	if(prevLink){
		$(trgt).append('<div id="arrowL2"><a href="'+prevLink+'"><span></span></a></div>');
	}
	if(nextLink){
		$(trgt).append('<div id="arrowR2"><a href="'+nextLink+'"><span></span></a></div>');
		
	}
}

/*---------------------------------------------------------------
フリック使い方
--------------------------------------------------------------- */
function howto_flick(){
	var trgt = "#case";
	$(trgt).append('<div id="howto"><a href="../../img/flick2.gif"><img src="../../img/btn_howto.png" /></a></div>');
	
	$('#howto a').lightBox();
}

/*---------------------------------------------------------------
フリック
--------------------------------------------------------------- */

function flick(nextLink,prevLink){
	var trgt = "#content";
	$(function() {
	    var touchHandler = getTouchHandler();
	    $(trgt).bind("touchmove touchstart touchend", touchHandler)
	                 .bind("webkitAnimationEnd", finishAnimation)
	                 .bind("webkitTransitionEnd", finishTransition);
	});
	/*$(function() {
		var box = $(trgt)[0];
		var touchHandler = getTouchHandler();
		box.addEventListener("touchmove", touchHandler, false);
		box.addEventListener("touchstart", touchHandler, false);
		box.addEventListener("touchend", touchHandler, false);
	});*/

	function finishTransition() {
		//var animationClass = $(trgt).offset().left > 0 ? "toR" : "toL";
		//$(trgt).removeClass("moving").css("-webkit-transform", "").css("left", "0").addClass(animationClass);
	}

	function finishAnimation() {
		$(trgt).removeClass('toR toL');
	}

	function startFlick(direction) {
		var box = $(trgt);
		var w = box.width() + 10;
		if (direction == "L") {
			w = w * -1;
		}
		box.css("-webkit-transform", "translate(" + w + "px)");
	}

	function getTouchHandler() {
		var startX = 0;
		var startY = 0;
		var diffX = 0;
		var diffY = 0;
		var sTime = 0;
		return function(e) {
			/*var props = new Array();
			for (var key in e) {
			    props.push(key);
			}
			props.sort();
			$("#wrapper").html(props.join("<br />")).css("text-align", "left");*/
			e.preventDefault();
			var touch = e.originalEvent.touches[0];
			wrapperY = $('#wrapper').css("top").slice(0,-2);
			if (e.type == "touchstart") {
				startX = touch.pageX;
				startY = touch.pageY;
				sTime = (new Date()).getTime();
			}

			else if (e.type == "touchmove") {
				diffX = touch.pageX - startX;
				diffY = touch.pageY - startY;
				$(trgt).addClass("moving").css("left", diffX + "px");
				$('body').scrollTop($('body').scrollTop()-Math.round(diffY*0.5));
			}

			else if (e.type == "touchend") {
				var t = (new Date()).getTime() - sTime;
				//var msg = "(" + diffX + " : " + t + "ms)";
				if (diffX > 260 || (t < 300 && diffX > 80)) {
					//msg = "右方向へフリック！" + msg;
					if(prevLink){
						location.href= prevLink;
						startFlick("R");
					}else{
						$(trgt).removeClass("moving").css("left", "0");
					}
				} else if (diffX < -260 || (t < 300 && diffX < -80)) {
					//msg = "左方向へフリック！" + msg;
					if(nextLink){
						location.href= nextLink;
						startFlick("L");
					}else{
						$(trgt).removeClass("moving").css("left", "0");
					}
				} else {
					$(trgt).removeClass("moving").css("left", "0");

				}

			}
		};
	}
}



function ___resize(p,pc) {
	var ww = 63;
	if(!pc){
		ww = 56;
	}
	var w = $("html").width();
	//console.log(w-p*50);
    if(w-p*ww >0){
        w = p*ww;
    }else{
        w -= 0;
    }
    //console.log(w,p)
	$("#case .navifooter ul").css("width",w+"px");
	var h = $("#case .navifooter").height()+20;
	$("#case #content").css("padding-bottom",(h)+"px");
	$("#case .navifooter").css("margin-top",(h*-1)+"px");
}

