﻿
$(function() {
		   
	var self = this;
		 
	// ヘッダーメニューの装飾。下のバーがアニメになる。
	if( $("#current").html() ) slide.init();
	
	// 用語をポップアップ。
	gls.init();
	
	$(".thumbnail").find("p").each(function(){
		$(this).click( function() {			
			var changeSrc = $(this).find("img").attr("src");
			var cS =changeSrc.replace(/_sss/, "");
			$(this).parent().parent().find(".main_image img").attr("src", cS);
		});
	});
	
	$(".mo").find("a").each( function() {
		var bf = $(this).find("img").attr("src");
		var sl = bf.slice(0, bf.length-4);
		var ls = bf.slice(bf.length-3, bf.length)
		var af = sl + "_o."+ ls;
		var lt = sl.slice(sl.length-1, bf.length)
		var id = $(this).parent().attr("id")
		
		if( (id !== "current") && (id !== "current_f") && (lt !== "o") ) {
			$(this).mouseover( function(){
				$(this).find("img").attr("src", af)
			});
			$(this).mouseout( function(){
				$(this).find("img").attr("src", bf)
			});
		}
	});
	
	$(".loadImg").mouseover( function() {
		var files = $(this).find(".thumbnail").attr("id");
		loadImg(files);
	});
	
	if($('.lightbox')) $('.lightbox a').lightBox(); 
	
	// フォームエンター送信防止
	if( $("form").attr("id") == "form" ) attachBlockEnter('form');
	
});

function loadImg(files) {
	//var files = $(this).parent().attr("id");
	files = files.split("_");
	for(var i = 1; i <= files[1]; i++) {
		if( i <= 9 ) {
			var si = "0" + i;
		}else {
			var si = i;
		}
		var url = "images/achievement/0" + files[0] + "/ac_" + files[0] + "_" + si + ".jpg";
		jQuery('<img />').attr('src', url);
	}
}

var slide = {
	init : function() {
		$("#menu > ul > li > a").each( function(i) {
			var tLeft = $(this).position().left;
			var tWidth = $(this).attr("offsetWidth");
			var cLeft = $("#current").position().left;
			var cWidth = $("#current").attr("offsetWidth");
			
			$(this).mouseover( function() {
				$("#slide").queue([])
					.animate({
						"left": tLeft,
						"width": tWidth
					},300);
			});
			$(this).mouseout( function() {
				$("#slide").queue([])
					.animate({
						"left": cLeft,
						"width": cWidth
					},300);
			});
			
			$("#slide").css("left", cLeft);
			$("#slide").css("width", cWidth)
			
		});
	}
}


var gls = {
	init : function() {
		this.createHtml().setEvent();
	},

	// 用語とデータを照合して、一致した場合には内容を表示します。
	searchWords : function(word) {
			 
	   for(var i = 0; i < words.length; i++) {
			
			var name = words[i].name

			if( name == word ) {
				var name = words[i].name
				var kana = words[i].kana
				var desk = words[i].desk
				
				$("#nm").html(name)
				$("#kn").html(kana)
				$("#ds").html(desk)
			}
		}

		return this;
	},
	
	// <span class="g">にイベントを設定します。
	setEvent : function() {
		
		var self = this;
		
		$("#contents").find("span.g").each( function() {
												   
			var word = $(this).text();
			
			$(this).hover( 
				function(e) {
					self.searchWords(word);
					$("#popup").css({
						display : "block",
						left : e.pageX - 40,
						top : e.pageY + 20
					});
				},
				function() {
					$("#popup").css("display", "none");
					
					$("#nm").html("")
					$("#kn").html("")
					$("#ds").html("")
				}
			);
		});
		
		return this;
	},
	
	// ポップアップ用のhtmlを生成します。今回はフッターに入れてますがどこでもいいです。
	createHtml : function() {
		$("#footer").append('<div id="popup"><div id="glossary"><dl><dt id="nm"></dt><dd id="kn" class="kana"></dd><dd id="ds" class="detail"></dd></dl></div></div>');
		return this;
	},
	
	// jsonをhtmlに変換。更新用スクリプト。
	output : function() {
		for(var i = 0; i < words.length; i++) {
			
			var name = words[i].name
			var kana = words[i].kana
			var desk = words[i].desk

			$("#html").append('<dt>' + name + '</dt> &#13;')
						.append('<dd class="kana">' + kana + '</dd> &#13;')
						.append('<dd class="detail">' + desk + '</dd> &#13; &#13;')
			
		}
		
		$("#textarea").val( $("#html").html() );

		return this;
	}
}

function attachBlockEnter(formid) {
	var elements = document.forms[formid].elements;
	for (var j=0; j < elements.length; j++) {
		var e = elements[j];	
		if (e.type == "text"){
			e.onkeypress=BlockEnter;
		}else if (e.type == "radio"){
			e.onkeypress=BlockEnter;
		}
	}
}

function BlockEnter(evt){
	evt = (evt) ? evt : event; 
	var charCode=(evt.charCode) ? evt.charCode : 
		((evt.which) ? evt.which : evt.keyCode);
	if ( Number(charCode) == 13 || Number(charCode) == 3) {
		return false;
	} else {
		return true;
	}
}


