/**
 * jQuery setToggleMenu plugin
 * 開閉可能なメニューを設定する
 *
 * Attributes:
 * -@options: オプションのハッシュ
 *  -setter: 処理を仕掛ける要素。対象要素のclass名を指定
 *  -target: 表示／非表示にする要素。対象要素のclass名を指定
 *  -speed: 要素を見せるときのスピードミリセカンドで、デフォルトは0(アニメーションなし)
 *
 */
(function ($) {
	var name_space = 'setToggleMenu';
	$.fn[name_space] = function (options) {
		var elements = $(this);
		var settings = $.extend({
			setter: false,
			target: false,
			speed: false
		}, options);

		function get() {
			return function (i) {
				var setter = $("." + settings.setter, this),
					target = $("." + settings.target, this),
					speed = settings.speed,
					img = $('img', setter);
				if (!setter.hasClass("open")) {
					target.hide();
				}
				else {
					if (img.length > 0) {
						img.attr('src', img.attr('src').replace('_o.', '_a.'))
					}
					setter.removeClass('active');
				}
				setter.css("cursor", "pointer");
				//setter.wrapInner('<a href="#"></a>');
				setter.toggle(function () {
					if (img.length > 0) {
						img.attr('src', img.attr('src').replace('_o.', '_a.'))
					}
					setter.addClass('active');
					target.slideDown(speed);
				}, function () {
					if (img.length > 0) {
						img.attr('src', img.attr('src').replace('_a.', '_o.'))
					}
					setter.removeClass('active');
					target.slideUp(speed);
				});
			}
		}
		elements.each(get());
		return this;
	};
})(jQuery);


$(function(){
	$('.case').setToggleMenu({ setter:'setter', target:'target', speed:100 });

	//Firefoxのページ内リンクバグFIX
	var _anc = location.hash;
	if(_anc.length != 0){
		if($.browser.mozilla){location.hash = _anc;}
	}
});
