// オプショナルツアー＆季節のイベントの処理を格納するオブジェクト。
if (typeof epinard_season == "undefined" || !epinard_season) var epinard_season = {};

/**
 * 月選択のタブメニューを表示する。
 * デザインは「/common/css/design.css」の「div.event_tab」で設定する。
 */
epinard_season.createTabMenu = function()
{
	// 当月を先頭にした配列を作成する。
	var a = [1,2,3,4,5,6,7,8,9,10,11,12];
	var m = (new Date()).getMonth();
	a = a.slice(m).concat(a.slice(0, m));

	var ul = $('<ul class="clearfix"></ul>');

	$.each(a, function(i, val){
		var li = $('<li class="button"></li>');
		var a = $('<a href="javascript:void(0);" id="tab_' + val + '"><span class="reader">' + val + '月</span></a>').click(function(){
			epinard_season.clickTab('#tab_' + val);
		});
		li.append(a);
		ul.append(li);
	});

	// 当月を選択状態にして、所定位置に表示する。
	ul.find('a:first').addClass('current');
	$('div.event_tab').append(ul);
};

/**
 * 月選択のタブメニューを表示する。
 *
 * @param id String: タブメニューdivのid(tab_月)。
 */
epinard_season.clickTab = function(id)
{
	$('div.event_tab').find('a[class="current"]').removeClass('current');
	$('div.event_tab').find(id).addClass('current');
	epinard_season.monthEventList(id.split('_')[1]);
	return false;
};

/**
 * 選択した月に合致するイベント情報(div)を表示する。
 * "event_list > dt"のclassに、カンマ句切りで月を記入する。
 * "0"の場合は常に表示する。
 *
 * @param month String: 月(1～12)。
 */
epinard_season.monthEventList = function(month)
{
	$('div.event_list').each(function(){
		var cls = $(this).find('dt').attr('class').split(',');
		if (cls[0] == '0' || $.inArray(month,cls) >= 0) {
			$(this).show();
		} else {
			$(this).hide();
		}
	});
};

// メイン処理。
$(function(){

	// タブメニューを表示する。
	epinard_season.createTabMenu();
	$('div.event_tab').show();

	// 当月のイベント情報を表示する。
	var month = (new Date()).getMonth() + 1;
	epinard_season.monthEventList(month.toString());
});
