//
//--- selector表記で、要素名+クラス名（またはid名）で与えているのは、要素探索の高速化のため
//------------------------------
//
//   Create footer document
//
//------------------ 16.Sep.2011

// フッターの作成
$(document).ready(function(){
	$("div#footer")
		.append(document.createElement("p"))
		.find("p")
		.append("Copyright (C) 2003-2012 Chigasaki-City Council of Social Welfare. All rights reserved.")
		.css("font-size", "9pt");
});

//------------------------------
//
//   Pull Down Menu Operation
//
//------------------ 16.Sep.2011

$(document).ready(function(){

// ① "#ul_gNav li" に対して hover listener を追加
// ② mouseOver状態で、対応する ".div_pullDown ul" を表示する。
// ③ MouseOutで、非表示にする。

	var i;  // イベント・インデックス作業用
	$("ul#ul_gNav li")
		.hover(function(){
			i = $("ul#ul_gNav li").index(this);
			$("div.div_pullDown ul").eq(i).show();},
			function(){$("div.div_pullDown ul").eq(i).hide();}
		);
  	
// ① ".div_pullDown ul" に対して hover listener を追加
// ② mouseOver状態で、自分自身の表示状態を維持する。
// ③ MouseOutで、非表示にする。

	$("div.div_pullDown ul")
		.hover(function(){$(this).show();},
			function(){$(this).hide();}
		);
});

//------------------------------
//
//   市社協地図の表示と非表示
//
//------------------ 05.Oct.2011/03.Nov.2011/06.Feb.2012 modified

$(document).ready(function(){

// 小さい地図をクリックしたら、大きい地図を表示する

	$("img#img_shakyouMiniMap").click(function(){
		$("img#img_shakyouLargeMap").show("slow");
		});

// 大きい地図をクリックしたら、大きい地図を非表示にする

	$("img#img_shakyouLargeMap").click(function(){
		$(this).hide("slow");
		});
});

//------------------------------
// カレンダーの生成 
//                   21.Sep.2011
//                   11.Nov.2011	push/joinの適用
//                   24.Nov.2011	祝日の反映（連想配列で定義）
//-------------------03.Dec.2011	jQuery interface

$(document).ready(function(){
	$("div#div_calendar").html(function(){

	var monthDays  = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	var today      = new Date();
	var thisDay    = today.getDate();
	var thisMonth  = today.getMonth();
	var thisYear   = today.getFullYear();
	var calendarArray = new Array();	// for work
//-----------------------------
// 祝日(2011年～2020年)
// 次の法律等をもとに作成。法改正が生じたら修正が必要となる。
//   ・国民の祝日に関する法律（昭和23年法律第178号, 最終改正 平成17年5月20日法律第43号, 平成19年1月1日施行）
//   ・国立天文台ホームページ「よくある質問」（質問3-1）
//
	var holiday　　= {	// associative array of holiday in Japan
	AD2011:[[1,10],[11],[21],[29],[3,4,5],,[18],,[19,23],[10],[3,23],[23]] ,
	AD2012:[[1,2,9],[11],[20],[29,30],[3,4,5],,[16],,[17,22],[8],[3,23],[23,24]],
	AD2013:[[1,14],[11],[20],[29],[3,4,5,6],,[15],,[16,23],[14],[3,4,23],[23]],
	AD2014:[[1,13],[11],[21],[29],[3,4,5,6],,[21],,[15,23],[13],[3,23,24],[23]],
	AD2015:[[1,12],[11],[21],[29],[3,4,5,6],,[20],,[21,22,23],[12],[3,23],[23]],
	AD2016:[[1,11],[11],[20,21],[29],[3,4,5],,[18],,[19,22],[10],[3,23],[23]],
	AD2017:[[1,2,9],[11],[20],[29],[3,4,5],,[17],,[18,23],[9],[3,23],[23]],
	AD2018:[[1,8],[11,12],[21],[29,30],[3,4,5],,[16],,[17,23,24],[8],[3,23],[23,24]],
	AD2019:[[1,14],[11],[21],[29],[3,4,5,6],,[15],,[16,23],[14],[3,4,23],[23]],
	AD2020:[[1,13],[11],[20],[29],[3,4,5,6],,[20],,[21,22],[12],[3,23],[23]]
	};
  
	var column = 0;
	var i, j, h, thisHoliday;	// h=0:other, 1:holiday; thisHoliday:for work
 
	// 閏年(うるう年)のチェック
	// 	(1)西暦年が4で割り切れる年は閏年
	// 	(2)ただし、西暦年が100で割り切れる年は平年
	// 	(3)ただし、西暦年が400で割り切れる年は閏年
	
	if (((thisYear % 4 == 0) && (thisYear % 100 != 0)) || (thisYear % 400 == 0))
    	monthDays[1] = 29;
	
	// 今月の日数
	var nDays = monthDays[thisMonth];
   
	// 今月一日の曜日：0～6の値で、0:日,1:月,...,6:土に対応
	var firstDay = today;
	firstDay.setDate(1);
	var startDay = firstDay.getDay();
   
	// カレンダーの生成
	// header部の書き出し
	calendarArray.push('<table id="js_calendar"><thead><tr><th colspan=7>' + thisYear + '年&nbsp;' + (thisMonth + 1) + '月</th></tr><tr><th><span class="js_sunday">日</span></th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th><span class="js_saturday">土</span></th></tr></thead><tbody><tr>');

	// 一日までの場所を「*」で埋める
	for (i=0; i < startDay; i++){
		calendarArray.push('<td class="js_asterisc">*</td>');
		column++;
	}
  // 日付を埋める
	if (holiday["AD"+thisYear][thisMonth] !== undefined)
		thisHoliday = holiday["AD"+thisYear][thisMonth];
	else thisHoliday.length = 0;
	
	for (i=1; i <= nDays; i++){
		// 祝日なら h=1, 以外ならh=0
		h = 0;
		for( j=0; j<thisHoliday.length; j++) {
			if (i==thisHoliday[j]) {
				h = 1;
				break;
			}
		}
		
		if (i==thisDay) {  // 今日
			if (h==1) calendarArray.push('<td class="js_today js_holiday">' + i + '</td>');
				else {
					if (column==0) calendarArray.push('<td class="js_today js_sunday">' + i + '</td>');
						else {
							if  (column==6) calendarArray.push('<td class="js_today js_saturday">' + i + '</td>');
								else calendarArray.push('<td class="js_today">' + i + '</td>');
								}
						}
				}
		else {  // 今日以外
			if (column==0) { // 日曜日？
				if (h==1) calendarArray.push('<td class="js_sunday js_holiday">' + i + '</td>');
					else calendarArray.push('<td class="js_sunday">' + i + '</td>');
					}
			else {
				if (column==6) { // 土曜日？
					if (h==1) calendarArray.push('<td class="js_saturday js_holiday">' + i + '</td>');
						else calendarArray.push('<td class="js_saturday">' + i + '</td>');
						}
				else { // 平日（週日）			
					if (h==1) calendarArray.push('<td class="js_holiday">' + i + '</td>');
						else calendarArray.push('<td>' + i + '</td>');
						}
				}
			}

		column++;
		if ((column == 7) && (i != nDays)){
			calendarArray.push('</tr><tr>'); // 行の終端を出力 & 新たな行の開始を出力
			column = 0;
		}
	}
	// 最終行の残りの「*」を出力
	while (column < 7){
		calendarArray.push('<td class="js_asterisc">*</td>');
		column++;
	}
	calendarArray.push('</tr></tbody></table>'); // 最終行の終端を出力
	return calendarArray.join('');
	});
});
