maxyear = new Array(3);	
maxyear[0] = 45;
maxyear[1] = 15;
maxyear[2] = 64;
maxyear[3] = 22;

hoshi = new Array(10);
hoshi[1] = "一白水星"
hoshi[2] = "二黒土星"
hoshi[3] = "三碧木星"
hoshi[4] = "四緑木星"
hoshi[5] = "五黄土星"
hoshi[6] = "六白金星"
hoshi[7] = "七赤金星"
hoshi[8] = "八白土星"
hoshi[9] = "九紫火星"

dt = new Date();
this_year = dt.getYear();
if (this_year < 1900) this_year+=1900;

function test() {
	alert("test");
}


function clear_result(fm) {
	fm.result2.value = "ここに結果が表示されます。";
	set_setsubun(fm);
}


function set_year(fm) {
	nen = fm.mtsh.selectedIndex;
	
	fm.year.options[0].text = "元";
	fm.year.options[0].value = 1;
	for (i=2;i<=64;i++) {
		if (i > maxyear[nen]) {
			fm.year.options[i-1].text = "";
			fm.year.options[i-1].value = 0;
		} else {
			fm.year.options[i-1].text = i;
			fm.year.options[i-1].value = i;
		}
	}
	
	fm.year.selectedIndex = 0;
	clear_result(fm);
	set_setsubun(fm);

}


function set_res(fm) {
	
	if (fm.year.options[fm.year.selectedIndex].value <1) {
		alert("生まれ年を選んでください。");
		return;
	}
	
	var s_sex = fm.sex.selectedIndex;
	var y = get_seireki(fm);

	var kazoe = this_year - y + 1;
	var setsu = 0;

	if (fm.setsuck.checked) setsu = 1;
	
	mes1 = yaku(kazoe,s_sex);
	mes2 = toshi(kazoe);
	mes3 = kyusei(kazoe+setsu);
	mes4 = shichigosan(kazoe,s_sex);
	
	if (mes3 == "") mes3 = kyuseis(kazoe+setsu);
	
	mes = "あなたは数え年で" + kazoe + "歳です。\n";
	mes += mes1 + mes2 + mes3 + mes4;
	
	fm.result2.value = mes;
	
//	fm.result.value = kazoe;
}

function yaku(yy,sx) {
	var mes="";
	if (sx == 0) {
		switch (yy) {
			case 24:
			case 41:
				mes = "前厄";
				break;
			case 25:
			case 42:
				mes = "本厄";
				break;
			case 26:
			case 43:
				mes = "後厄";
				break;
		}
	} else {
		switch (yy) {
			case 18:
			case 32:
				mes = "前厄";
				break;
			case 19:
			case 33:
				mes = "本厄";
				break;
			case 20:
			case 34:
				mes = "後厄";
				break;
		}
	}
	switch (yy) {
		case 13:
			mes = "十三詣";
			break;
		case 37:
		case 49:
		case 73:
		case 85:
			mes = "年男年女";
			break;
		case 61:
			mes = "還暦";
			break;
	}
	
	if (mes) mes += "に該当します。\n";
	return mes;
}

function toshi(yy) {
	var mes="";
	if (yy==70) mes = "古希";
	if (yy==77) mes = "喜寿";
	if (yy==80) mes = "傘寿";
	if (yy==88) mes = "米寿";
	if (yy==90) mes = "卒寿";
	if (yy==99) mes = "白寿";
	if (mes) mes += "に該当します。\n";
	return mes;
}

function kyusei(yy) {
	var mes="";
	var happo= 9-(this_year%9)+2; if (happo>9) happo-=9;
	var yaku1= 9-(this_year%9)+5; if (yaku1>9) yaku1-=9;
	var yaku2= 9-(this_year%9)-1; if (yaku2<1) yaku2+=9;
	var yaku3= 9-(this_year%9)-2; if (yaku3<1) yaku3+=9;

	if ((yy%9)==1) mes = hoshi[happo] + "で八方除";
	if ((yy%9)==4) mes = hoshi[yaku1] + "で星厄消除";
	if ((yy%9)==7) mes = hoshi[yaku2] + "で星厄消除";
	if ((yy%9)==6) mes = hoshi[yaku3] + "で星厄消除";
	if (mes) mes += "に該当します。\n";
	return mes;
}

function kyuseis(yy) {
	var mes="";
	
	var kyu = (yy%9)-(this_year%9-1);
	if (kyu < 1) kyu += 9;
	
	mes = "本命星は、" + hoshi[kyu] + "です。";
	mes += "\n";
	
//	mes += kikkyou(kyu);
	
	return mes;
}

function shichigosan(yy,sx) {
	var mes="";
	if ( (yy==3)||((yy==5)&&(sx==0))||((yy==7)&&(sx==1)) ) mes = "七五三に該当します。\n";
	return mes;
}

function get_seireki(fm) {
	var s_nen = fm.mtsh.selectedIndex;
	var s_year= fm.year.selectedIndex+1;
	var offset= 1867;
	
	switch (s_nen) {
		case 1:
			offset = 1911;
			break;
		case 2:
			offset = 1925;
			break;
		case 3:
			offset = 1988;
			break;
	}
	
	var y = offset + s_year;
	return y;
}

function get_setsubun(fm) {
	var y = get_seireki(fm);
	var m = y%4;
	var setsubun = "2/3";

	if ( (y<1901)||(y>2057) ) return "---";
	if ( (y>1984)&&(y<2021) ) return "2/3";
	if (y<1985) {
		if ((y>1900)&&(m==1)) return "2/3";
		if ((y>1917)&&(m==2)) return "2/3";
		if ((y>1954)&&(m==3)) return "2/3";
		return "2/4";
	} else if (y>2020) {
		if ((y<2058)&&(m==1)) return "2/2";
		return "2/3"
	}
	return "***";
}

function set_setsubun(fm) {
	var setsubun = get_setsubun(fm);
	fm.setsubun.value = setsubun;
}

