
$(function(){
	
	getFaqData();
});

function toggleAnswer(obj){
	if(typeof(obj) == "string"){
		obj = "a[name='" + obj + "']";
	}

	if(!$(obj).parent().attr("class") || !$(obj).parent().attr("class").match("open")){
		$(obj).parent().children(".answer").show();
		$(obj).parent().addClass("open");
	}else{
		$(obj).parent().children(".answer").hide();
		$(obj).parent().removeClass("open");
	}
}

function openAnswer(obj){
	if(typeof(obj) == "string"){
		obj = "a[name='" + obj + "']";
	}
	$(obj).parent().children(".answer").show();
	$(obj).parent().addClass("open");
}

function checkUrlHash(){
	var urlHash = window.location.hash;
	if(urlHash.length > 1){
		toggleAnswer(urlHash.replace("#",""));
	}
}

function hashOpen(){
	var urlProtocol = window.location.protocol;
	var urlHost = window.location.host;
	var urlPath = window.location.pathname;

	$("a[href*='" + urlPath + "#']").click(function(){
		var qNum = $(this).attr("href").replace(urlProtocol,"").replace(urlHost,"").replace(urlPath,"").replace(/\//g,"").replace("#","");
		openAnswer(qNum);
	});
}

function getFaqData(){
	var postBody = {};
	var date = new Date();
	postBody["time"] = date.getTime();

	$.ajax({
		url : "/js/faq/json/faqlist.json",
		data : postBody,
		type : "get",
		success : function(data){
			getFaqDataCB(data);
		}
	});
}
function getFaqDataCB(data){
	var result = eval("(" + data + ")");
	createFaq(result);
}
function createFaq(json){
	var faqGenre = $("#faq ol").attr("class");
	var faq = json["faq"][faqGenre];
	for(var i = 0; i < faq.length; i++){
		$("#faq ol").append("<li><a name=\""+ faq[i]["serial"] + "\"></a><div class=\"question\"><h3>" + faq[i]["question"] + "</h3></div><div class=\"answer\"><p>" + faq[i]["answer"] + "</p><span class=\"inquiry\"><a href=\"/inquiry/\">→ 問題が解決しない場合</a></span><span class=\"close\">X 閉じる</span></div></li>")
	}

/* アンカーに飛ばす場合
	if(window.location.hash.length > 0){
		window.location.href = window.location.href;
	}
*/
	checkUrlHash();
	hashOpen();

	$("#faq .question").hover(function(){
		$(this).parent().addClass("over");
	},function(){
		$(this).parent().removeClass("over");
	});


	$("#faq .question").click(function(){
		toggleAnswer(this);
	});
	$("#faq .answer .close").click(function(){
		var name = $(this).parent().parent().children("a").attr("name");
		toggleAnswer(name);
	});
}

