﻿/**
 * showall_section.js
 *
 * @require jquery.js
 *
 * aタグにclass="js_showall_section_trigger"を指定してください
 * aタグにrel="対象とするjQueryセレクタ"を指定してください（例：rel=".js_showall_section_target"、rel="#js_showall_section_target"）
 * aタグ内に表示するリンク（HTML）class="js_showall_section_trigger_show"、表示にする際のHTML（リンク）をclass="js_showall_section_trigger_hide"を記述してください
 */

/* 20090831 Mantis(14601) GAOF start
$(function(){
	$.showallSection_JS();
});
 20090831 Mantis(14601) GAOF end */

$.showallSection_JS = function(){
	//トリガのセレクタ
	var triggerSelector = "a.js_showall_section_trigger";
	//トリガ内の表示リンクセレクタ
	var triggerShowSelector = ".js_showall_section_trigger_show";
	//トリガ内の非表示リンクセレクタ
	var triggerHideSelector = ".js_showall_section_trigger_hide";
	//トリガの対象指定属性
	var targetAttr = "rel";
	
	//トリガ抽出
	var triggerElm = $(triggerSelector).show();

	//表示、非表示リンク初期化
	triggerElm.find(triggerShowSelector).show();
	triggerElm.find(triggerHideSelector).hide();

	//各々のトリガに対して
	triggerElm.each(function(){

			//指定されている対象エレメント抽出（非表示にする）
			var targetElm = $($(this).attr(targetAttr)).hide();

			//同じ対象指定のトリガ抽出
			var sameTriggerElm = triggerElm.filter("[" + targetAttr + "=" + $(this).attr(targetAttr) + "]");

			//クリック時のアクション
			$(this).click(function(){
				var showTriggerElm = sameTriggerElm.find(triggerShowSelector);
				var hideTriggerElm = sameTriggerElm.find(triggerHideSelector);
				
				//ターゲットが可視であれば
				if(targetElm.filter(":visible").size())
				{
					//非表示
					targetElm.hide();
					//表示、非表示リンクを調整
					showTriggerElm.show();
					hideTriggerElm.hide();
				}
				//ターゲットが不可視であれば
				else
				{
					//表示
					targetElm.show();
					//表示、非表示リンクを調整
					showTriggerElm.hide();
					hideTriggerElm.show();
				}
				return false;
			});
		})
	;
}

//20090831 Mantis(14601) GAOF start
$(function(){
	$.showallSection_JS();
});
//20090831 Mantis(14601) GAOF end

