
/**
 * グローバルナビボタン押下時のコンテンツ表示
 */
$(function(){
	nowDisp = "article#site_top";
	naviChangeFlg = false;
	dispArticle = { "gnavi_btn_01_img":"article#profile",
					"gnavi_btn_02_img":"article#create",
					"gnavi_btn_03_img":"article#picture_diary",
					"gnavi_btn_04_img":"article#photo_album",
					"gnavi_btn_05_img":"article#contact"
				};
	
	// グローバルナビボタン（５つまとめて）
	$(".gnavi_btn_grp").click(function() {
		var id = $(this).attr("id");
		if ( naviChangeFlg == false ) {
			naviChangeFlg = true;
			$(nowDisp).fadeOut("normal",function() { $(dispArticle[id]).fadeIn("fast", function() { naviChangeFlg = false; }); });
			nowDisp = dispArticle[id];
		}
	});
	
	// サイトＴＯＰボタン
	$("a.site_top_link").click(function() {
		if ( naviChangeFlg == false ) {
			naviChangeFlg = true;
			$(nowDisp).fadeOut("normal",function() { $("article#site_top").fadeIn("fast", function() { naviChangeFlg = false; }); });
			nowDisp = "article#site_top";
		}
	});
	
	// プロフィールにあるお問い合わせボタン
	$("#profile_to_contact").click(function() {
		if ( naviChangeFlg == false ) {
			naviChangeFlg = true;
			$(nowDisp).fadeOut("normal",function(){ $("article#contact").fadeIn("fast", function() { naviChangeFlg = false; }); });
			nowDisp = "article#contact";
		}
	});
	
	// ページ先頭へスクロール
	$("#pageTop a").click(function(){
		$('html,body').animate( {scrollTop: $($(this).attr("href")).offset().top}, 'slow', 'swing');
		return false;
	});
});



/**
 *  絵日記表示
 */
$(function(){
	// 初回ページ表示
	$("#ajax_nikki_list").load("http://gs-daa.com/nikki/nikki_new.html");
	imageResizeAll();
});
// AJAXでdiv#ajax_nikki_ilst 内のデータを受信
function changeNikkiArea(p) {
	$("#nikki_imgBtn_"+p).hide();
	$("#nikki_imgKuru_"+p).fadeIn('normal',function() {
		$.get( "http://gs-daa.com/nikki/nikki_new.html",{"page":p}, function(data) {
			$("#ajax_nikki_list").append(data);
			$("#nikki_imgKuru_"+p).fadeOut("normal");
			$("#nikki_div_"+p).fadeOut("normal",function() {
				imageResizeAll();
				$("html,body").animate({scrollTop: $("a#nikki_a_"+p).offset().top-20}, {duration:"slow", complete:dummy_dummy});
			});
		});
	});
}
function dummy_dummy() {
}



/**
 *  フォトアルバム表示
 */
$(function(){
	// 初回ページ表示
	$("#ajax_photo_thumb_list").load("http://gs-daa.com/photo/photo_new.html", null, photo_renew );
	imageResizeAll();
});
// AJAXでdiv#ajax_photo_thumb_ilst 内のデータを受信
function changePhotoArea(p) {
	$("#photo_imgBtn_"+p).hide();
	$("#photo_imgKuru_"+p).fadeIn('normal',function() {
		$.get( "http://gs-daa.com/photo/photo_new.html",{"page":p}, function(data) {
			$("#ajax_photo_thumb_list").append(data);
			$("#photo_imgKuru_"+p).fadeOut("normal");
			$("#photo_div_"+p).fadeOut("normal",function() {
				$("html,body").animate({scrollTop: $("a#photo_a_"+p).offset().top}, {duration:"slow", complete:photo_renew});
			});
		});
	});
}
// 毎回設定し直さないとFancyBoxが作動しない
function photo_renew() {
	$("a[rel=photo_pop_gr]").fancybox({
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'none',
		'titlePosition' : 'inside',
		'overlayColor'	: '#000',
		'overlayOpacity': 0.7
	});
}



/**
 *  問い合わせメールを送信し、結果を表示する
 */
$(function(){
	// 初回ページ表示
	$("#ajax_sendmail").load("http://gs-daa.com/mail/mail_new.html?first=ON");
	imageResizeAll();
});
function ajax_sendmailer() {
	var p_name  = $("#f_name").val();
	var p_email = $("#f_email").val();
	var p_body  = $("#f_body").val();
	$("#loading_email").fadeIn('normal',function() {
		$("#ajax_sendmail").fadeTo('normal', 0, function() {
			$.post("http://gs-daa.com/mail/mail_new.html",{"name":p_name, "email":p_email, "body":p_body},function(data) {
				$("#loading_email").fadeOut('normal', function() {
					$("#ajax_sendmail").html(data);
					imageResizeAll();
					$("#ajax_sendmail").fadeTo('normal', 1.0);
				});
			});
		});
	});
}



/**
 *  ダウンロードＵＲＬメールを送信し、結果を表示する
 */
$(function(){
	// 初回ページ表示
	$("#ajax_product").load("http://gs-daa.com/sakuhin/sakuhin_new.html?first=ON");
	imageResizeAll();
	$("#product_dl_user_type_des").click(click_design);
	$("#product_dl_user_type_nml").click(click_peaple);
});
function ajax_product_sendmailer() {
	var s_name  = $("#s_name").val();
	var s_email = $("#s_email").val();
	var s_type  = $("#s_type").val();
	$("#loading_product").fadeIn('normal',function() {
		$("#ajax_product").fadeTo('normal', 0, function() {
			$.post("http://gs-daa.com/sakuhin/sakuhin_new.html",{"name":s_name, "email":s_email, "type":s_type},function(data) {
				$("#loading_product").fadeOut('normal',function() {
					$("#ajax_product").html(data);
					imageResizeAll();
					$("#ajax_product").fadeTo('normal', 1.0);
				});
			});
		});
	});
}

// ダウンロードユーザーのボタン切り替え
function click_design() {
	$("#product_dl_user_type_des").css({backgroundColor:"#e1a70b", color:"#ffffff", fontWeight:"bold"  });
	$("#product_dl_user_type_nml").css({backgroundColor:"#c4c2b5", color:"#22211b", fontWeight:"normal"});
	$("#s_type").val("1");
}
function click_peaple() {
	$("#product_dl_user_type_des").css({backgroundColor:"#c4c2b5", color:"#22211b", fontWeight:"normal"});
	$("#product_dl_user_type_nml").css({backgroundColor:"#e1a70b", color:"#ffffff", fontWeight:"bold"  });
	$("#s_type").val("2");
}



/**
 * 「ページの先頭に戻るボタン」がスクロールするとふわっと出てくる
 * スクロールしたらふわっと現れるだけ。（するするjsは上記にて指定済み）
 * 
 * cssで以下を必ず設定
 *   position: fixed;
 *   top     : 任意;
 *   bottom  : 任意;
 */
$(function(){
	var scrolltotop={
		setting: {startline:100},
		state: {isvisible:false, shouldvisible:false},
		
		togglecontrol:function(){
			var scrolltop=jQuery(window).scrollTop()
			this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false
			if (this.state.shouldvisible && !this.state.isvisible){
				jQuery("#pageTop").fadeIn("fast");
				this.state.isvisible=true;
			} else if (this.state.shouldvisible==false && this.state.isvisible){
				jQuery("#pageTop").fadeOut("fast");
				this.state.isvisible=false;
			}
		},
		
		init:function(){
			jQuery(document).ready(function($){
				jQuery("#pageTop").hide();
				var mainobj=scrolltotop;
				$(window).bind('scroll resize', function(e){
					mainobj.togglecontrol();
				})
			})
		}
	}
	scrolltotop.init();
});


/**
 * 小さい設定まとめて
 */
$(function(){
	// Div全体をクリックできるようにする
	$(".divLinkBox").click(function(){
		window.location=$(this).find("a").attr("href");
		return false;
	});
	
	// 外部URLを別ウィンドウで表示
	$("a[href^='http://']").attr("target","_blank");
	
	// 手の画像はマウス位置に同期する
	$("#body_hand").css({"opacity":"0"});		// 透明度0にしておかないとfadeToが効かない
	$('#body_hand').levitation(98, 40, 40);		// なんだこれ？

});



/**
 * gnavi（カゴ全体）
 * Window.resizeされた時、カゴの動きをFLASHと同じようにしてみる
 * 最初の表示は右下からスライドして現れる
 */
jQuery.event.add(window, "load",
	function(){
		var gnaviX = $(window).width() - 839 + 175;
		var gnaviY = $(window).height()- 959 + 150;
		
		$('#gnavi_btn_01_img').hide();
		$('#gnavi_btn_02_img').hide();
		$('#gnavi_btn_03_img').hide();
		$('#gnavi_btn_04_img').hide();
		$('#gnavi_btn_05_img').hide();
		
		getMasterPosition();
		
//		$("#gnavi").animate({"opacity":1, "top":gnaviY, "left":gnaviX}, {duration:1300, easing:'easeOutQuint', complete:getMasterPosition});
		$("#loading_index").fadeOut("normal",function(){
			$("#gnavi").animate({"top":gnaviY, "left":gnaviX}, {duration:1300, easing:'easeOutQuint', complete:function(){
				getMasterPosition();
				setTimeout('showBtn("gnavi_btn_01_img")',10);		// わたしのこと		0
				setTimeout('showBtn("gnavi_btn_05_img")',800);		// 問い合わせ		800
				setTimeout('showBtn("gnavi_btn_04_img")',900);		// フォトアルバム	900
				setTimeout('showBtn("gnavi_btn_02_img")',1000);		// 制作したもの		1000
				setTimeout('showBtn("gnavi_btn_03_img")',1200);		// 絵日記			1200
				setTimeout('showAnchor()',1600);					// リンク名吹出し	1800
			}});
		});
		imageResizeAll();  // 全ての画像の幅を変更する（iPhone用）
		
		
		// animate({top:'-=25'}, {duration:1500,easing:'easeOutElastic',complete:function(){gbtnFlg[id]=false}});
		
		// 手が現れる
		setTimeout(function(){$('#body_hand').fadeTo('slow',1.0);},4890);
	}
);

// 音声（ビョーン）が欲しければコメントイン
/*
var audioObj = {"gnavi_btn_01_img":new Audio("common/sound/main1.mp3"),
				"gnavi_btn_02_img":new Audio("common/sound/main1.mp3"),
				"gnavi_btn_03_img":new Audio("common/sound/main1.mp3"),
				"gnavi_btn_04_img":new Audio("common/sound/main1.mp3"),
				"gnavi_btn_05_img":new Audio("common/sound/main1.mp3") };
*/


// ナビボタン登場アニメーション
function showBtn(id) {
	$("#"+id).show();
	getMasterPosition();
	gbtnFlg[id] = true;						// ボタン動作中設定
	gbtnY[id] = MasterY[id];				// ボタン初期位置記憶
	$("#"+id).offset({top:gbtnY[id]+20});	// オフセット位置を少し下へ
//	audioObj[id].play();					// 音声（ビョーン）が欲しければコメントイン
	$("#"+id).animate({top:'-=20'}, {duration:720,easing:'easeOutElastic',complete:function(){gbtnFlg[id]=false}});
}

// リンク先名吹き出し登場アニメーション
function showAnchor() {
	$("#gnavi a").next("span")
		.animate({opacity:"show", top:"-50"}, 400)
		.animate({top:"-50"}, 600)
		.animate({opacity:"hide", top:"-100"}, 400);
}



// ウィンドウリサイズ時に右下へ追従する
$(function() {
	// 最初はカゴを画面の右上（見えない場所）で待機
	var kago = false;
	var winW = $(window).width();
	var winH = $(window).height() / 3;
	var ob;
	
	// display:block じゃないと位置が取れないので先頭で処理する
	$("#gnavi").css({"display":"block"});
//	$("#gnavi").css({"top":winH, "left":winW, "opacity":"0"});   // opacityを変更するとIE7,8で透過PNGが狂う
	$("#gnavi").css({"top":winH, "left":winW});
	
	// 変数宣言
	MasterX = { "gnavi_btn_01_img":0, "gnavi_btn_02_img":0, "gnavi_btn_03_img":0, "gnavi_btn_04_img":0, "gnavi_btn_05_img":0 };
	MasterY = { "gnavi_btn_01_img":0, "gnavi_btn_02_img":0, "gnavi_btn_03_img":0, "gnavi_btn_04_img":0, "gnavi_btn_05_img":0 };
	gbtnY   = { "gnavi_btn_01_img":0, "gnavi_btn_02_img":0, "gnavi_btn_03_img":0, "gnavi_btn_04_img":0, "gnavi_btn_05_img":0 };
	gbtnFlg = { "gnavi_btn_01_img":false, "gnavi_btn_02_img":false, "gnavi_btn_03_img":false, "gnavi_btn_04_img":false, "gnavi_btn_05_img":false };
	
	// ウィンドウがリサイズされたら位置も変更する
	$(window).resize(function() {
		var gnaviX = $(window).width() - 839 + 175;   // ウィンドウ幅 - カゴ幅 + 175pxマージン
		var gnaviY = $(window).height()- 959 + 150;   // ウィンドウ高 - カゴ高 + 150pxマージン
		var ob;
		$("#gnavi").clearQueue();
		$("#gnavi").stop();
		kago = false;
		$("#gnavi").animate({"top":gnaviY, "left":gnaviX}, {duration:1200, easing:'easeOutExpo', step:kagoOff, complete:getMasterPosition});
	});
	
	// スクロール中はボタン動作禁止（座標がずれる為）
	$(window).scroll(function(){
		kago=false;
		getMasterPosition();
	});
	
	// ナビボタンのAlt表示
	$("#gnavi a").hover(
		function(){ $(this).next("span").stop(true,true).animate({opacity:"show", top:"-50"}, "fast"); },   // マウスオーバー
		function(){ $(this).next("span").stop(true,true).animate({opacity:"hide", top:"-30"}, "fast"); }    // マウスアウト
	);
	
	// ナビボタンのアニメ処理
	$(".gnavi_btn_grp").hover( animeGbtn, function(){ gbtnFlg[$(this).attr("id")] = false; } );
	
});


// ナビボタンのマスター位置を記憶（初回表示時、ウィンドウリサイズ時など）
function getMasterPosition() {
	var ob;
	ob=$("#gnavi_btn_01_img").offset(); MasterY["gnavi_btn_01_img"]=ob.top; MasterX["gnavi_btn_01_img"]=ob.left;
	ob=$("#gnavi_btn_02_img").offset(); MasterY["gnavi_btn_02_img"]=ob.top; MasterX["gnavi_btn_02_img"]=ob.left;
	ob=$("#gnavi_btn_03_img").offset(); MasterY["gnavi_btn_03_img"]=ob.top; MasterX["gnavi_btn_03_img"]=ob.left;
	ob=$("#gnavi_btn_04_img").offset(); MasterY["gnavi_btn_04_img"]=ob.top; MasterX["gnavi_btn_04_img"]=ob.left;
	ob=$("#gnavi_btn_05_img").offset(); MasterY["gnavi_btn_05_img"]=ob.top; MasterX["gnavi_btn_05_img"]=ob.left;
	kago = true;
}


// ナビボタンの跳ねるアニメ（５つまとめて指定）
function animeGbtn() {
	var id = $(this).attr("id");
	if ( gbtnFlg[id] == false && kago == true) {
		gbtnFlg[id] = true;
		gbtnY[id] = MasterY[id];
		$("#"+id).clearQueue();
		$("#"+id).stop();
		$("#"+id).offset({top:gbtnY[id]+25});
		$("#"+id).animate({top:'-=25'}, {duration:1300,easing:'easeOutElastic',complete:function(){gbtnFlg[id]=false}});
	}
}

function kagoOff() {
	kago = false;
}


/**
 *  ひょっこりでてくる一言(仮) 画像がランダムに変わる。
 *  最初は吹き出しが非表示で人だけ隠れる
 *  本当は吹き出しが出たら動きをちょっと止めたい...
 */
$(function() {
	chipFlg = true;   // このフラグがtrueの時はマウスオーバーでも処理しない
	
	// 読み込み時にちょっと出る
	$('#twitter_chip').fadeTo('fast',0);
	$('#body_twitter').ready( function() {
		setTimeout(function(){
			$('#body_twitter')
				.animate({'marginTop':'-30px'},1000)   // 1秒掛けて「ぬっ」と出る
				.animate({'marginTop':'-30px'},800)    // 0.8秒停止
				.animate({'marginTop':'-180px'},1000); // 1秒掛けて戻る
				chipFlg = false;   // 初回ひょっこり処理が終わったのでmouseoverを受け付ける
		},7100); // 以上のアニメーションをページ読み込み２秒後に行う
	});
	
	// マウスホーバー時に出現する
	$('#chip_hover_area').mouseover(chip_show);

});

// チップ表示
function chip_show(){
	if ( chipFlg == false ) {  // 表示フラグOFFの時
		chipFlg = true;  // 表示フラグON
		$('#body_twitter').animate({'marginTop':'0'},400, function(){  // ひょっこり現れる
			$('#twitter_chip').load("http://gs-daa.com/hitokoto_img/hitokoto_new.html", function() {  // チップ取得
				$('#twitter_chip').fadeTo('fast',1.0);  // チップ表示
				setTimeout(chip_hide,2000);  // 2.0秒後に非表示を呼ぶ
			});
		});
	}
}

// チップ消去
function chip_hide() {
	if ( chipFlg == true ) {  // 表示フラグONの時
		$('#twitter_chip').fadeTo('fast',0,function() {  // チップを消去
			$('#body_twitter').stop().animate({'marginTop':'-180px'},1000);   // 引っ込む
		});
		chipFlg = false;   // 表示フラグOFF
	}
}


/** 透過GIFがあまりに惨めなのでPNGでアニメーション **/
$(function(){
	posTop = 0;
	timObj = setInterval(esaAnime,110);   // 0.11秒でアニメする
});
function esaAnime() {
	if ( posTop >= 595 ) { posTop = 0; } else { posTop += 85; }
	$('#body_esa').css({backgroundPosition:"0px "+posTop+"px"});
}


/*********************** カメレオンの動き（蛇行下降～食われる～去る） ***********************/
$(function() {
	// ページ読み込み後５秒後に行う
	$('#body_kamereon').ready( function() {
		setTimeout(function(){
			$('#body_esa')
				.animate({'left':['+=100px','easeInOutQuad'],'top':['+=100','linear']},{duration:1200})			// ゆ～ら１
				.animate({'left':['-=70px','easeInOutQuad'],'top':['+=100','linear']},{duration:1200})			//   ゆ～ら２
				.animate({'left':['+=150px','easeInOutQuad'],'top':['+=100','linear']},{duration:1200})			// ゆ～ら３
				.animate({'left':['-=70px','easeInOutQuad'],'top':['+=100','linear']},{duration:1200, complete:	//   ゆ～ら４
					function(){
						$('#body_esa').animate({'left':['+=170px','easeInOutQuad'],'top':['+=100','linear']},{duration:1200});							// ５回目のゆ～らで
						$('#body_kamereon_bero').animate({'bottom':'-20px'},{duration:1000}).animate({'bottom':['130px','swing']},{duration:200});			// ベロと
						$('#body_kamereon').animate({'bottom':'-200px'},{duration:1000}).animate({'bottom':['-10px','swing']},{duration:500, complete:		// カメレオン登場
							function() {
								clearInterval(timObj);				// 餌の動きを
								timObj = setInterval(esaAnime,15);	// 慌しく！
								
								var beroX = Math.floor( $(window).width() * 0.2 ) - 70;		// 舌のX座標を求める（少しずれる...）
								$('#body_kamereon_bero').css({"left":beroX});				// 舌の位置を指定
								$('#body_kamereon_bero').show();							// 舌表示
								var objBero = $("#body_kamereon_bero img").offset(); 
								var objEsa  = $("#body_esa").offset(); 
								
								var bx = objBero.left;
								var by = objBero.top;
								var ex = objEsa.left + 44;
								var ey = objEsa.top + 42;
								var dx = ex - bx;
								var dy = ey - by;
								var ang= Math.floor( Math.atan2(dy,dx) * 180 / Math.PI );
								var mm = Math.floor( Math.sqrt( Math.pow(dx,2) + Math.pow(dy,2) ) );
								
								$('#body_kamereon_bero').rotate(ang);		// 角度設定
								$('#body_kamereon_bero img').animate({'width':mm},{duration:100,easing:'swing', complete:	// 舌伸ばす
									function() {
										$('#body_kamereon_bero img').animate({'width':1},{duration:150,easing:'easeInExpo'});	// 舌縮める
									//	alert( "舌("+bx+","+by+")  餌("+objBero.left+","+objBero.top+")" );
										tey = $(window).height() - 170;
										$('#body_esa').animate({			// 餌持って行かれる
											'left':[bx,'easeInExpo'],
											'top':[tey,'easeInExpo'],
											'width':[20,'easeInExpo'],
											'height':[20,'easeInExpo']
											}, {duration:150, complete:
											function(){
												clearInterval(timObj);		// アニメPNG終了
												$('#body_esa').hide();					// 餌消す
												$('#body_kamereon_bero').hide();		// 舌消す
												$('#body_kamereon').animate({'bottom':'-10px'},{duration:100,complete:function() {		// 0.1秒の間を置いて
													$('#body_kamereon_eye').rotate({animateTo:360, duration:500, easing:$.easing.easeInOutQuart, callback:		// 目をグルりん
														function () {
															$('#body_kamereon').animate({'bottom':'-200px'},{duration:400,easing:'easeInQuart',complete:		// カメレオン去る
																function() {
																	$('#body_kamereon').hide();
																}
															});
														}
													});
												}});
											}
										});
									}
								});
							}
						});
					}
				});
		},15000);	// 以上のアニメーションをページ読み込み15秒後に行う
	});
});


