$(document).ready(function(){

	//初期化　すべて閉じ、矢印はすべて下向きにする
	$(".event_list .event_body").hide();
	$(".event_head a").css("background-image","url(/shared/img_event/btn_show.gif)");
		
    var count_element = document.getElementById("select_index");
    var count = count_element.value;
    if (count != "") {
      switch (count) {
      case '0':
        $(".event_list .event_body:eq(0)").show();
        break;
      
      case '1':
        $(".event_list .event_body:eq(1)").show();
        break;
      case '2':
        $(".event_list .event_body:eq(2)").show();
        break;
      case '3':
        $(".event_list .event_body:eq(3)").show();
        break;
      case '4':
        $(".event_list .event_body:eq(4)").show();
        break;
      case '5':
        $(".event_list .event_body:eq(5)").show();
        break;
      case '6':
        $(".event_list .event_body:eq(6)").show();
        break;
      case '7':
        $(".event_list .event_body:eq(7)").show();
        break;
      case '8':
        $(".event_list .event_body:eq(8)").show();
        break;
      case '9':
        $(".event_list .event_body:eq(9)").show();
        break;
      case '10':
        $(".event_list .event_body:eq(10)").show();
        break;
      case '11':
        $(".event_list .event_body:eq(11)").show();
        break;
      case '12':
        $(".event_list .event_body:eq(12)").show();
        break;
      case '13':
        $(".event_list .event_body:eq(13)").show();
        break;
      case '14':
        $(".event_list .event_body:eq(14)").show();
        break;
      }
    }
		
	//タブクリックで直下のevent_bodyを開く
	$(".event_head").click(function(){
		$(this).next(".event_body").slideToggle(400);
		return false;
	});
	
	//タブクリック時に矢印を切替
	$(".event_head").toggle(
		function(){
      if ($(".event_body").length > 1) {
  			$(this).children("a").css("background-image","url(/shared/img_event/btn_hide.gif)");
      } else {
  			$(this).children("a").css("background-image","url(/shared/img_event/btn_show.gif)");
      }
		},
		function(){
      if ($(".event_body").length > 1) {
  			$(this).children("a").css("background-image","url(/shared/img_event/btn_show.gif)");
      } else {
  			$(this).children("a").css("background-image","url(/shared/img_event/btn_hide.gif)");
      }
		}
	);

	//すべてのタブを閉じ、矢印はすべて下向きにする
	$(".collpase_all_event").click(function(){
		$(".event_head").children("a").css("background-image","url(/shared/img_event/btn_show.gif)")
		$(".event_body").slideUp(600)
		return false;
	});

	//すべてのタブを開き、、矢印はすべて上向きにする
	$(".show_all_event").click(function(){
		$(".event_head").children("a").css("background-image","url(/shared/img_event/btn_hide.gif)")
		$(".event_body").slideDown(600)
		return false;
	});
  
  var year_element = document.getElementById("search_year").value;
  var month_element = document.getElementById("search_month").value;
  var date_element = '';
  if ( year_element != '' ) {
  	$("#my-calendar").datepick({
  		beforeShowDay: myDayFilter,
  		dateFormat: "yymmdd",
  		yearRange: "-5:+5",
  		onSelect: mySelectHandler,
      onChangeMonthYear: myChangeHandler,
      defaultDate: new Date(year_element, month_element , date_element)
    
  	})
  } else {
  	$("#my-calendar").datepick({
  		beforeShowDay: myDayFilter,
  		dateFormat: "yymmdd",
  		yearRange: "-5:+5",
  		onSelect: mySelectHandler,
      onChangeMonthYear: myChangeHandler
  	})
  }
  


});

function mySelectHandler(val){
    var objForm = document.forms["form_ps"]; // 自画面エレメント
    objForm.elements["search_date"].value=val;

}

function myChangeHandler(val1,val2){
    var objForm = document.forms["form_ps"]; // 自画面エレメント
    objForm.elements["search_year"].value=val1;
    objForm.elements["search_month"].value=val2;
}

function sendRequestPrev( value ){
  var q = document.createElement('input');
  q.type = 'hidden';
  q.name = 'pid';
  q.value = value;
  document.forms[1].appendChild(q);
  document.forms[1].method = 'post';
  document.forms[1].submit();
}

function sendRequestNext( value ){
  var q = document.createElement('input');
  q.type = 'hidden';
  q.name = 'nid';
  q.value = value;
  document.forms[1].appendChild(q);
  document.forms[1].method = 'post';
  document.forms[1].submit();
}


/**
 * カレンダーのセル1つ1つが描画される前に呼ばれ、
 * 戻り値として次のような配列を返すとそれが反映される。
 * 
 *     [0] boolean その日付の選択可否
 *     [1] String  そのセルに適用するCSSクラス名
 *     [2] String  マウスホバー時のツールチップ文字列（省略可能）
 * 
 * 適用するCSSクラスに関して、background-colorは
 * スキンCSSのものが後から適用されているらしく、
 * [!important] を指定しても適用されなかった。
 * 従って、文字色の変更程度が妥当だと思われる。
 */
function myDayFilter(date) {
	var className = "";

	switch (date.getDay()) {
		case 0:
			className = "sunday";
			break;
		case 6:
			className = "saturday";
			break;
	}

	if (isHoliday(date)) {
		className = "holiday";
	}

	return [true, className];
}

/**
 * dateが祝日かどうかを判定して返す。
 *
 * @return boolean dateが祝日かどうか。
 */
function isHoliday(date) {
 var holiday = new Holiday();
 var test = new Date(date);
 var holidayName = holiday.getHolidayName(test); // "建国記念の日"
 if (holidayName == null) {
    return false;
 } else {
    return true;
 }
}

