﻿// JavaScript Document

//////////////////////////////////////////////////////////////////////
// top.js
//////////////////////////////////////////////////////////////////////


var baseWidth;
var baseHeight;
var path;
var imgVal;
var nowImg;

var mainimg;

var isFirstTime=true;

var photoWaitingTime=7000;




///////////////////////////////////////////////
// hash change
///////////////////////////////////////////////
$(function() {
    $(window).hashchange(function() {
        if (location.hash) {
            path = location.hash.split('#', 2)[1];
        }
		nowImg=parseInt(path)
		loadingImg(nowImg);
    });
});


///////////////////////////////////////////////
// init 初期化
///////////////////////////////////////////////
function init(_imgVal){
	
	imgVal=_imgVal;
	$('#spacerDiv').bind("click",spacerClicked);
	
	//ハッシュが無いとき
	if(location.hash==""){
		//ランダムにロード開始
		nowImg=Math.floor(Math.random()*imgVal);	
		loadStart();
	}
	//ハッシュあり
	else{
		nowImg=parseInt(location.hash.split('#', 2)[1]);
		loadingImg(nowImg);
	}
}


///////////////////////////////////////////////
// spacerClicked
///////////////////////////////////////////////
function spacerClicked(event){
	//spacerエリアがクリックされた
	loadStart();
}




///////////////////////////////////////////////
// loadStart
///////////////////////////////////////////////
function loadStart(){
	
	nowImg+=1;
	if(nowImg==imgVal){nowImg=0;}
	//ハッシュを変更
	location.replace("#"+nowImg);

}


///////////////////////////////////////////////
// loadingImg
///////////////////////////////////////////////
function loadingImg(_imgNum){
	//spacerエリアを消す
	$("#spacerDiv").css("display","none");
	
	//タイマーをストップ
	$(document).stopTime('timer', loadStart);
	
	//画像をロード
	mainimg=null;
	mainimg=new Image();
	mainimg.onload=loadComplete;
	mainimg.src='images/'+_imgNum+'.jpg';
}


///////////////////////////////////////////////
// loadComplete
///////////////////////////////////////////////
function loadComplete(){
	//ロード完了

	//イメージDivをうっすら消す
	$("#wrapper #imgDiv").animate({'opacity': '0'},700,'linear',imgDeleted);
	
}

///////////////////////////////////////////////
// imgDeleted
///////////////////////////////////////////////
function imgDeleted(){
	
	//イメージを変更
	$("#wrapper #imgDiv").html("<img src='images/"+nowImg+".jpg'>");
	
	baseWidth=mainimg.width;
	baseHeight=mainimg.height;
	$(window).bind("resize",windowResize);
	windowResize();
	
	//イメージDivをうっすら出す
	$("#wrapper #imgDiv").css("opacity","0");
	$("#wrapper #imgDiv").animate({'opacity': '1'},700,'linear',imgAppeared);	
}


///////////////////////////////////////////////
// imgAppeared
///////////////////////////////////////////////
function imgAppeared(){
	//イメージ再登場
	
	//初回だけメニュー登場
	if(isFirstTime){
		//左メニューを出す。
		$('#whiteDiv').css("opacity","0");
		$('#whiteDiv').animate({'left':'0px','opacity': '0.8'},{duration:1000});
		
		//h1クリックの設定
		$("h1").bind("click",function(){
			//location.href="http://blog.ipuheke.jp/";
			window.open("http://blog.ipuheke.jp/");
		});
		
		isFirstTime=false;
	}
	
	//タイマー作動
	$(document).everyTime(photoWaitingTime, 'timer' , loadStart);
	
	//spacerエリアを出す
	$("#spacerDiv").css("display","block");
}




///////////////////////////////////////////////
// windowResize
///////////////////////////////////////////////
function windowResize(event){
	//ステージサイズ
	var sw = $(window).width();
	var sh = $(window).height();
	
	//メインイメージの比率
	if (sh/sw > baseHeight/baseWidth) {
		//ステージが写真より縦長
		$("#wrapper #imgDiv img").height(sh);
		$("#wrapper #imgDiv img").width(Math.ceil(sh / baseHeight * baseWidth));
		$("#wrapper #imgDiv").css("left",Math.round((sw - $("#wrapper #imgDiv img").width()) / 2)+"px");
		$("#wrapper #imgDiv").css("top","0px");
		
	}else {
		//ステージが写真より横長
		$("#wrapper #imgDiv img").width(sw);
		$("#wrapper #imgDiv img").height(Math.ceil(sw / baseWidth * baseHeight));
		$("#wrapper #imgDiv").css("left","0px");
		$("#wrapper #imgDiv").css("top",Math.round((sh - $("#wrapper #imgDiv img").height()) / 2)+"px");
	}
}
	
