﻿var setToggleInline;
var setToggle;
var setToggleInitSt;
var setToggleNoAnime;

$(document).ready(function() {
//インライン要素に対応したスライドトグル
setToggleInline = function (link_name_on,link_name_off,wrap_contents_name, contents_name, more_contents_name) {
		var beforeHeight;
		var afterMoreHeight;
		$("#" + more_contents_name).hide();
		$("#" + link_name_off).hide();
		$("#" + wrap_contents_name).css("overflow","hidden");
		//開く
		$("#" + link_name_on).click(function() {

			 //開く前の高さ
			 beforeHeight = $("#" + wrap_contents_name).height();

			 //開く
			 $("#" + wrap_contents_name).css("overflow","hidden");
			 $("#" + more_contents_name).show();
			 $("#" + wrap_contents_name).height(beforeHeight);
       afterMoreHeight = $("#" + more_contents_name).height();
			 $("#" + more_contents_name).hide();

			 //開くアニメーション
			 $("#" + wrap_contents_name).animate(
			 	{height: ($("#" + contents_name).height() + afterMoreHeight)},
 			 	{duration: 70,
     		complete: function(){
				  	$("#" + more_contents_name).show();
						//続きを見る・閉じるリンクを切り替える
			 			$("#" + link_name_on).hide();
			 			$("#" + link_name_off).show();
					}
			 	}
			 );
		});

		//閉じる
		$("#" + link_name_off).click(function() {
				$("#" + link_name_on).show();
			 	$("#" + link_name_off).hide();
			 	$("#" + more_contents_name).hide();
			 	//閉じるアニメーション

			 	$("#" + wrap_contents_name).animate(
			 	{height: beforeHeight},
 			 	{duration: 70}
			 	);

		});


}

setToggleNoAnime = function (link_name_on, link_name_off, contents_name) {
		$("#" + link_name_on).click(function() { noAnimeToggle(link_name_on, link_name_off, contents_name) });
		$("#" + link_name_off).click(function() { noAnimeToggle(link_name_on, link_name_off, contents_name) });
		// 最初は非表示にする
		//$("#" + contents_name).toggle();
		//$("#" + link_name_off).toggle();
		localToggle("#" + contents_name);
		localToggle("#" + link_name_off);
}

setToggle = function (link_name_on,link_name_off,contents_name) {
		$("#" + link_name_on).click(function() { slideToggle(link_name_on, link_name_off, contents_name) });
		$("#" + link_name_off).click(function() { slideToggle(link_name_on, link_name_off, contents_name) });
		// 最初は非表示にする
	 	$("#" + contents_name).toggle();
		$("#" + link_name_off).toggle();
}

setToggleInitSt = function (link_name_on,link_name_off, contents_name, st) {
		$("#" + link_name_on).click(function() { slideToggle(link_name_on, link_name_off, contents_name) });
		$("#" + link_name_off).click(function() { slideToggle(link_name_on, link_name_off, contents_name) });
	 // 非表示の場合は最初非表示にする
	 if(st == "close") {
	 	 $("#" + contents_name).toggle();
		 $("#" + link_name_off).toggle();
	 } else {
	   $("#" + link_name_on).toggle();
	 }
}


function slideToggle(link_name_on, link_name_off, contents_name){
	 $("#" + contents_name).slideToggle(70);
	 $("#" + link_name_on).toggle();
	 $("#" + link_name_off).toggle();
};

function noAnimeToggle(link_name_on, link_name_off, contents_name) {
	 //$("#" + link_name_on).toggle();
	 //$("#" + contents_name).toggle();
	 //$("#" + link_name_off).toggle();

	 localToggle("#" + contents_name);
	 localToggle("#" + link_name_on);
	 localToggle("#" + link_name_off);
}

//IE8でtoggleで不具合があったため、自前で実装
//toggle関数が効かない原因は、
//$(classname).is(“:visible”)
//が必ずtrueを返すためにshow()が実行されないため。
function localToggle(class_name){
	var elem = $(class_name);
	if (elem.css('display') == 'none') {
		elem.show();
	} else {
		elem.hide();
	}
}


});

