// クッキー保存
function setCookie(key, val) {
	var nd = new Date();
	nd.setTime(nd.getTime()+1000*60*60*24*1);
	document.cookie = key + "=" + escape(val) + ";expires=" + nd.toGMTString() + "; path=/;";
	return;
}
// クッキー取得
function getCook(key) {
	var a=document.cookie.split("; "), b, c=[];
	for(var k=0; k<a.length; k++) {
		b = a[k].split("=");
		c[b[0]] = b[1];
	}
	return c[key];
}
// 自動保存
var autosaving;
function autoSave() {
	autosaving = setInterval(function() {
		getData('tmpsave', 0);
	}, 60000);
}
function autoStop() {
	clearInterval(autosaving);
}
// 一時データの読込み
function fnc_tmpLoad(sid) {
  var a=getCook("mabankdemo_tmp").split("_"), l=a.length;
	sid = (sid) ? "'" + sid + "'" : 0;
	inputTable(a[l-3], 1, sid, a[l-2]);
	$("bodys").style.height = (document.body.clientHeight + 40) + 'px';
	$("bodys").style.display = 'block';
	$("pdata").style.display = 'block';
	for(var k=0; k<20; k++) {
		document.forms[0][k+1].value = a[k];
		document.forms[0][k+1].focus();
	}
	return;
}
// 説明の表示
function fnc_helpShow(v) {
	$("help").value = v;
	$("help").style.backgroundColor = '#fee';
}
// 読み込み
function loadFirst(sid) {
	var id = (sid) ? sid : getCook("mabankdemo");
	getData("pdata", id, 1, sid);
	return;
}
var num=21;
var dx = [
	[27520, 5436, 7265, 79263, 35240, 1275, 119927, 55583, 37531, 42751, 10000, 112112, 64124, 12750, 25461, 12301, 16257, 2534, 1754, 3000], 
	[33024, 6251, 11624, 61579, 33126, 1658, 104336, 52248, 60050, 49164, 10000, 128929, 102598, 11093, 31826, 19682, 26011, 3168, 1649, 5000], 
	[16144, 15164, 16901, 55299, 23478, 11211, 113930, 32803, 35654, 40613, 13500, 116506, 70917, 10112, 24187, 11685, 15444, 2407, 1666, 2850],

	[19629, 7189, 18598, 46974, 31138, 12155, 135637, 49113, 57648, 42773, 10000, 148268, 89260, 9651, 39783, 17123, 24450, 3960, 1550, 4000]
];
// ヘルプ画面
function showHelp(id) {
	var t;
	switch(id) {
	case 1 :
		t = "<p>※ＳＴＥＰ１では、決算年月日と入力単位の選択を行ないます。</p>\n<p><strong>入力単位を選択する</strong> … 入力単位を指定します。一度選択したものは変更できません。変更する場合は入力データを全削除して、最初からやり直してください。</p>\n<p><strong>新規に決算年月日を選択する</strong> … 選択後に「次へ進む」ボタンをクリックしてください。最大５期分まで入力できます。なお、一度選択したものは変更できません。</p>\n<p><strong>入力済みの決算年月日を選択する</strong> … 一覧表示された中から、修正する決算年月日を選択します。</p>\n<p><strong>前回入力した決算データを呼び出す</strong> … 入力途中で画面を閉じた場合や、通信障害等でデータを保存できなかった場合は、前回入力した決算データを呼び出すことができます。</p>\n";
		break;
	case 2 :
		t = "<p>※ＳＴＥＰ２では、決算データの入力を行ないます。</p>\n<p><strong>入力キー</strong> … 半角数字の他に、「+」と「-」を使って足し算と引き算ができます。（簡易電卓機能）</p>\n<p><strong>入力キー移動</strong> … 「Tab」キーと「Enter」キーが使えます。また、上に移動する場合は「↑」キーが使えます。</p>\n<p><strong>文字数の制限</strong> … ９桁まで入力できます。なお、簡易電卓機能を使用中は、文字数制限はありません。（例：2567999+1525+9945）</p>\n<p><strong>検算機能</strong> … 入力値を簡易的に検算しています。警告画面が出て、うまく入力できない場合は、調整した上で入力して下さい。</p>\n<p><strong>「*データのクリア」</strong> … 入力している最中の決算データを一括してクリアします。他の決算年月日には影響しません。</p>\n<p><strong>「*サンプル読み込み」</strong> … サンプルデータをランダムに読み込みます。データを読込み後に修正することもできるので、手軽に財務分析を体験することができます。</p>\n<p><strong>「*入力中のデータの一時保存」</strong> … 入力中のデータを、1分ごとにクッキーへ自動保存しています。[手動保存]をクリックすると即座に保存されます。</p>\n";
		break;
	}
	$("inputsub").innerHTML = t;
	return;
}
// 告知文
function fnc_addad(i, tan1) {
	var text;
	switch(i) {
	case 1 :
		text = "<p><strong>最大５期分の決算書を分析</strong><br />　M&amp;Aバンク体験版では、決算書を最大５期分入力することができます。分析の精度が高まるので、可能ならば５期分の決算書をご用意することをお勧めします。</p>\n<p><strong>データ保存機能</strong><br />　入力データは日付が変わると破棄されますが、５期分の決算書を一気に入力できない場合など、JugemKeyのユーザー認証機能を利用してデータを保存することができます。</p>\n";
		break;
	case 2 :
		text = "<p><strong>簡易電卓機能</strong><br />　入力時に「+」と「-」を使って足し算と引き算ができるので、作業効率を高めることができます。</p>\n<p><strong>入力キー移動</strong><br />　「Tab」キーと「Enter」キーが使えます。また、上に移動する場合は「↑」キーが使えます。</p>\n<p><strong>オートセーブ機能</strong><br />　入力中のデータを、1分ごとにクッキーへ自動保存します。</p>\n<p><strong><a href=\"#toptitle\" onclick=\"loadSample(" + tan1 + ");\" onkeypress=\"loadSample(" + tan1 + ");\" title=\"サンプルデータを読み込む\">サンプル読み込み</a></strong><br />　サンプルデータをランダムに読み込みます。お試しにどうぞ。</p>\n";
	}
	return "<div class=\"addad\">" + text + "\n</div>\n";
}
// サンプル読み込み
function loadSample(tan) {
	var dn = [0.8, 0.85, 0.90, 0.95, 1, 1.05, 1.10, 1.15, 1.20];
	var i = Math.floor((Math.random() * 100)) % dn.length;
	var n, j = Math.floor((Math.random() * 100)) % dx.length;
	for(var k=0; k<dx[j].length; k++) {
		n = (tan==1) ? Math.floor(dx[j][k]*dn[i]/1000) : Math.floor(dx[j][k]*dn[i]);
		document.forms[0][k+1].value = n;
		document.forms[0][k+1].focus();
	}
	return;
}
// 入力画面２（テーブル表示）
function inputTable(ymd, data, sid, tan0) {
	var tds=["","",""], vq=[], j=0, k=0, len, tan1;
	switch(data) {
	case 1 :
		tan1 = tan0;
		break;
	default :
		tan1 = data["item"][0]["v999"];
		len = data.item.length;
		for(var i1=0; i1<len; i1++) {
			if(data["item"][i1]["v100"]==ymd) break;
		}
	}
	var tan2 = (tan1==1) ? "百万" : "千";
	var tan = "　[単位：" + tan2 + "円]<input type=\"hidden\" id=\"texts[999]\" value=\"" + tan1 + "\" />";
	for(var i in v) {
		if(v[i][2]<3) {
			var ii = parseInt(i.replace("v", ""));
			var name = "texts[" + ii + "]";
			vq[i] = (i1==len || data==1) ? "" : checkSum(data["item"][i1][i]);
			if(!vq[i]) {
				vq[i] = "";
			}
			if(i=="v201") {
				k = 1;
			}else if(i=="v301") {
				k = 2;
			}
			switch(k) {
			case 2 :
				var c100 = (i=="v100") ? ymd : "";
				tds[k] += "<input type=\"hidden\" id=\"" + name + "\" value=\"" + c100 + "\" />\n";
				break;
			default :
				var vi = (v[i][2]==2) ? "&nbsp;" + v[i][0] : v[i][0];
				tds[k] += "\n<tr>\n<td>" + vi + "&nbsp;</td>\n<td><input type=\"text\" id=\"" + name + "\" value=\"" + vq[i] + "\" size=\"16\" class=\"input_num";
				if(v[i][2]==1 || v[i][2]==2) {
					tds[k] += "\" onFocus=\"fnc_lowerMe(" + j + "); fnc_helpShow(' 【"+ v[i][0] + "】 " + v[i][3] + "'); this.style.backgroundColor='yellow'; this.select();\" onKeyDown=\"fnc_Cancel(event||window.event); fnc_setNext(" + j + ", event.keyCode, " + ii + ");\" onBlur=\"this.style.backgroundColor='white';\" /></td>\n</tr>";
					j++;
				}else {
					tds[k] += "r\" onFocus=\"fnc_helpShow(' 【"+ v[i][0] + "】 " + v[i][3] + "');\" onKeyDown=\"fnc_Cancel(event||window.event);\" readonly=\"readonly\" /></td>\n</tr>";
				}
			}
		}
	}
	var dn = (document.URL.match(/.*demo.*/)) ? "." : "";
	var table = "\n<form id=\"fdata\" method=\"post\" autocomplete=\"off\" onSubmit=\"return false;\">\n<div>\n<div class=\"t2\">\n<div class=\"sa\">\n<img src=\"" + dn + "./sub/help.gif\" alt=\"ヘルプ\" height=\"13\" width=\"13\" /><a href=\"#toptitle\" onclick=\"showHelp(2);\" onkeypress=\"showHelp(2);\" title=\"ヘルプを見る\">ヘルプ</a></div>\n[ＳＴＥＰ２] 決算データの入力　<span class=\"s12\">[<a href=\"#toptitle\" onclick=\"autoStop(); pClose();\" onkeypress=\"autoStop(); pClose();\" title=\"入力画面を閉じる\">閉じる</a>]　[<a href=\"#toptitle\" onclick=\"autoStop(); loadFirst(" + sid + ");\" onkeypress=\"autoStop(); loadFirst(" + sid + ");\" title=\"決算年月日の選択へ戻る\">戻る</a>]</span></div>\n<div class=\"menul\">決算年月日：" + ymd.slice(0, 4) + "年（" + cYear(ymd.slice(0, 4)) + "）" + ymd.slice(4, 6) + "月" + ymd.slice(6, 8) + "日 " + tan + "\n</div>\n";
	var v1 = ["貸借対照表（B/S）", "損益計算書（P/L）他"];
	for(var i=0; i<2; i++){
		table += "<table class=\"input1\">\n<thead>\n<tr>\n<th colspan=\"2\">" + v1[i] + "</th>\n</tr>\n</thead>\n<tbody>" + tds[i] + "</tbody>\n</table>\n";
	}
	$("pdata").innerHTML = "<div id=\"inputmain\">" + table + tds[2] + "<div class=\"l2\" style=\"clear:both;\">\n<input value=\"\" type=\"text\" id=\"help\" size=\"90\" readonly=\"readonly\" /><br />\n<span class=\"s12\">\n<a href=\"#toptitle\" onclick=\"fnc_reset(" + num + ");\" onkeypress=\"fnc_reset(" + num + ");\">*データのクリア</a>\n　<a href=\"#toptitle\" onclick=\"loadSample(" + tan1 + ");\" onkeypress=\"loadSample(" + tan1 + ");\" title=\"サンプルデータを読み込む\">*サンプル読み込み</a>\n</span>\n　<input value=\"データを登録して分析結果を見る\" type=\"button\" id=\"btn0\" onclick=\"autoStop(); fnc_checkNum(" + sid + ");\" onkeypress=\"autoStop(); fnc_checkNum(" + sid + ");\" />\n</div>\n</div>\n<input type=\"hidden\" id=\"texts[777]\" value=\"252525\" /></form>\n<dl class=\"menulist\">\n<dt>入力中のデータの一時保存　<span class=\"s12\">[<a href=\"#toptitle\" onclick=\"getData('tmpsave', 0);\" onkeypress=\"getData('tmpsave', 0);\" title=\"入力中の決算データをクッキーに一時保存する\">手動保存</a>]</span></dt>\n<dd><span id=\"tmpsave\">（※1分ごとにクッキーへ自動保存します）</span></dd>\n</dl>\n</div>\n<div id=\"inputsub\"></div>\n";
	$("inputsub").innerHTML = fnc_addad(2);
	$("texts[101]").focus();
	autoSave();
}
// Tab・リターンキーと矢印で次の行き先を制御
function fnc_setNext(k, w, h) {
	var a=0, i=k+1, ev=w, max=num, min=0;
	if((ev==9 || ev==13) && i<max-1) { //Tab・リターンキー
		a = i+1;
	}else if(ev==40 && i<max-1 && i%max!=max-1) { //下
		a = i+1;
	}else if(ev==38 && i>min && i%max) { //上
		a = i-1;
	}
	if(ev==38 && i==1) {
		$("texts[101]").focus();
	}else if(a>0 && i<max) {
		document.forms[0][a].focus();
	}
}
// 各種自動計算
function fnc_lowerMe(i) {
	for(var c=0; c<i; c++){
		document.forms[0][c].style.backgroundColor = "white";
	}
	if(i>=1) {
		document.forms[0][i].value = checkSum(cId(i, 1));
	}
	$("texts[121]").value = checkSum(cId("texts[140]") - cId("texts[105]") - cId("texts[111]") - cId("texts[113]"));
	$("texts[153]").value = checkSum(cId("texts[151]") + cId("texts[152]"));
	$("texts[161]").value = checkSum(cId("texts[140]") - cId("texts[151]") - cId("texts[152]"));
	$("texts[163]").value = checkSum(cId("texts[161]") - cId("texts[162]"));
	$("texts[171]").value = checkSum(cId("texts[140]"));
	$("texts[202]").value = checkSum(cId("texts[201]") - cId("texts[203]"));
	$("texts[219]").value = checkSum(cId("texts[202]") - cId("texts[220]") + cId("texts[211]"));
	$("texts[229]").value = checkSum(cId("texts[220]") - cId("texts[231]") + cId("texts[222]"));
	return;
}
// 検算
function fnc_checkNum(sid) {
	var k;
	if(cId("texts[101]") + cId("texts[102]") > cId("texts[105]") - cId("texts[103]")) {
		k = "「現預金等」「売掛債権」「棚卸資産」の合計が「流動資産合計」よりも多いです。";
	}else	if(cId("texts[105]") + cId("texts[111]") > cId("texts[140]") - cId("texts[113]")) {
		k = "「流動資産合計」「有形固定資産」「無形固定資産」の合計が\n「資産合計」よりも多いです。";
	}else	if(cId("texts[140]") <= 0) {
		k = "数値を入力してください。";
	}else	if(cId("texts[219]") + cId("texts[229]") < 0) {
		k = "「経常費用合計」「その他費用等合計」の合計がマイナスです。";
	}
	if(k) {
		alert("入力ミスが見つかりました。\n\n● " + k + "\n");
		return false;
	}
	getData("toptitle", 0, 9, sid);
	return;
}
// データ読み込み
function getData(id, jd, yd, sid, b) {
	var get="", sa="", tf, tv, t, fName, hObj=createXMLHttpRequest();
	if(yd==0) {
		yd = $("t11").value + $("t12").value + $("t13").value;
		tan = (b==1) ? $("t999").value : "";
	}
	sid = (sid) ? "'" + sid + "'" : 0;
	var murl = document.URL;
	if(document.URL.match(/.*demo.*/)) {
		dn = "../demo/";
		dn1 = "./";
	}else {
		dn = "./demo/";
		dn1 = "./demo/";
	}
	switch(jd) {
	case 0 :
		for(var i in v) {
			if(v[i][2]<3) {
				tf = "texts[" + i.replace("v", "") + "]";
				tv = String($(tf).value).replace(/,/g, "");
				get += "&" + encodeURIComponent(tf) + "=" + tv;
				sa += tv + "_";
			}
		}
		fName = dn + "?od=" + id + get;
		setCookie("mabankdemo_tmp", sa);
		if(id=="tmpsave") {
			var nd = new Date();
 			$(id).innerHTML = "";
 			$(id).innerHTML = "※一時保存しました。（" + nd.toLocaleString() + "）";
			return;
		}
		break;
	default :
		fName = (sid) ? dn + "?jd=" + jd : dn + "tmp/kl" + jd + "cg.txt?" + Math.random();
	}
	if(hObj) {
		hObj.open("GET", fName, true);
		hObj.onreadystatechange = function() { 
			setTimeout(function() {
  			if(hObj.readyState == 0 || hObj.readyState == 4) {
					return;
				}
				hObj.abort();
				return NotFile(id, sid, 1);
			}, 15000);
			switch(hObj.readyState) {
			case 4 :
				t = hObj.responseText;
				if(id == "pdata" && (t.slice(0, 1) != "{" || !t)) {
					return (yd==1) ? gData("", jd, sid) : inputTable(yd, 1, sid, tan);
				}else if(!t) {
					return NotFile(id);
				}
				var tmp = [];
				var data = eval("(" + t + ")");
				if(!data) {
					return NotFile(id);
				}
				switch(id) {
				case "pdata" :
					tf = (yd==1) ? gData(data, jd, sid) : inputTable(yd, data, sid);
					break;
				default :
					setCookie('mabankdemo_tmp', '');
					open(dn1 + 'uchart0.html', '_self');
				}
				break;
			default :
 				$(id).innerHTML = "<p class=\"s12\"><img src=\"../sub/load.gif\" alt=\"[load]\" /> Now Loading...</p>";
 			}
		}
		hObj.send(null);
	}
	return (id == "pdata") ? "" : pClose();
}
function pClose() {
	$("bodys").style.display = 'none';
	$("pdata").style.display = 'none';
	$("pdata").innerHTML = '';
	return;
}
// 入力画面１
function gData(data, jd, sid) {
	var j=0, t=["", "", ""], b;
	var cid = (jd) ? "'" + jd + "'" : getCook('mabankdemo');
	if(data) {
		j = data.item.length;
		for(var i=0; i<j; i++){
			var v1 = String(data.item[i].v100);
			var v11 = v1.slice(0, 4) + "年（" + cYear(v1.slice(0, 4)) + "）" +  v1.slice(4, 6) + "月" + v1.slice(6, 8) + "日";
			t[0] += "<dd><a href=\"#toptitle\" onclick=\"getData('pdata', " + cid + ", '" + v1 + "', " + sid + ");\" onkeypress=\"getData('pdata', " + cid + ", '" + v1 + "', " + sid + ");\">" + v11 + "</a></dd>\n";
		}
		t[0] = "\n<dl class=\"menulist\">\n<dt>入力済みの決算年月日を選択する</dt>\n" + t[0] + "</dl>";
		var v10 = [v1.slice(0, 4), v1.slice(4, 6), v1.slice(6, 8)];
	}else {
		t[2] = "\n<dl class=\"menulist\">\n<dt>入力単位を選択する</dt>\n<dd><select id=\"t999\">\n<option value=\"0\">千円単位で入力</option>\n<option value=\"1\">百万円単位で入力</option>\n</select></dd>\n</dl>";
		b = 1;
	}
	var cook = getCook("mabankdemo_tmp");
	if(cook) {
		var a = cook.split("_");
		var l=a.length, ymd=a[l-3];
		var v111 = ymd.slice(0, 4) + "年（" + cYear(ymd.slice(0, 4)) + "）" +  ymd.slice(4, 6) + "月" + ymd.slice(6, 8) + "日";
		t[0] += "\n<dl class=\"menulist\">\n<dt>前回入力した決算データを呼び出す</dt>\n<dd><span id=\"gtmp\"><a href=\"#toptitle\" onclick=\"fnc_tmpLoad(" + sid + ");\" onkeypress=\"fnc_tmpLoad(" + sid + ");\">" + v111 + "</a></span></dd>\n</dl>";
	}
	if(j<5) {
		t[1] = "\n<dl class=\"menulist\">\n<dt>新規に決算年月日を選択する</dt>\n<dd>\n決算年月日：" + period(v10) + "</dd>\n<dd>\n<input value=\"決算年月日を選択して次へ進む\" type=\"button\" id=\"btn0\" onclick=\"getData('pdata', " + cid + ", 0, " + sid + ", " + b + ");\" onkeypress=\"getData('pdata', " + cid + ", 0, " + sid + ", " + b + ");\" /></dd>\n</dl>";
	}
	$("bodys").style.height = (document.body.clientHeight + 40) + 'px';
	$("bodys").style.display = 'block';
	$("pdata").style.display = 'block';
	var dn = (document.URL.match(/.*demo.*/)) ? "." : "";
	$("pdata").innerHTML = "\n<div id=\"inputmain\">\n<div class=\"t2\">\n<div class=\"sa\"><img src=\"" + dn + "./sub/help.gif\" alt=\"ヘルプ\" height=\"13\" width=\"13\" /><a href=\"#toptitle\" onclick=\"showHelp(1);\" onkeypress=\"showHelp(1);\" title=\"ヘルプを見る\">ヘルプ</a></div>\n[ＳＴＥＰ１] 決算年月日の選択　<span class=\"s12\">[<a href=\"#toptitle\" onclick=\"pClose();\" onkeypress=\"pClose();\" title=\"入力画面を閉じる\">閉じる</a>]</span>\n</div>\n<form id=\"fdata\" method=\"post\">" + t[2] + t[1] + t[0] + "\n</form>\n</div>\n<div id=\"inputsub\"></div>\n";
	$("inputsub").innerHTML = fnc_addad(1);
	return;
}
// Tab・リターンキーの無効処理
function fnc_Cancel(e){
	if(e.keyCode==9 || e.keyCode==13) {
		if(e.preventDefault) {
			e.preventDefault();
		}else {
			e.returnValue = false;
		}
	}
	if(!navigator.cookieEnabled) {
		alert("現在のブラウザ設定では「M&Aバンク」を利用できません。\nクッキーの受け入れを有効にしてください。");
	}
}
// 数値化処理
function cId(i, s) {
	var id = (s==1) ? document.forms[0][i].value : $(i).value;
	if(!id || id.match(/[^0-9\+\-,]+|.*[\+\-,]{2,}.*|[\+\-,]$/)) {
		return "";
	}else {
		id = eval(id.replace(/,/g, ""));
		id = (id>2147483647) ? "" : id;
		return id;
	}
}
// ３桁処理
function checkSum(i) {
	return String(i).replace(/[0-9]+/gm, function(chr) {
		var k, cnt=0, n="";
		for(k=chr.length-1; k>=0; k--) {
			n = chr.charAt(k) + n;
			cnt++;
			if(!(cnt%3) && k) {
				n = "," + n;
			}
		}
		return n;
	});
}
// リセット
function fnc_reset(i) {
	res = confirm("入力している最中の決算データを一括してクリアします。\nよろしいですか？");
	if(res==true){
		for(var j=1; j<i; j++) {
			document.forms[0][j].value = "";
		}
	}else {
		return;
	}
}
// リセットDCF
function resetDcf() {
	for(var i=0; i<7; i++) {
		$('dcf_' + i).value = "";
		if(i<4) {
			$('dcf_a' + i).checked = true;
		}
	}
	$('jd1').checked = true;
	$('yen1').checked = true;
	checkDcf(1);
}
// チェックDCF
function checkDcf(n) {
	for(var i=0; i<3; i++) {
		$('yen1' + i).innerHTML = $('yen' + n).value;
	}
}
// チェックDCF2
function checkDcf2(txt, n, jd) {
	$(txt).value = (jd) ? $('dcf_2').value*n/100 : ((n) ? n : '');
	$(txt).background = '#fee';
}
// 再計算DCF
function recalcDcf(jd) {
	if(jd) {
		resetDcf();
	}
	for(var i=0; i<7; i++) {
		$('dcf_ss' + i).style.display = 'block';
		$('dcf_' + i).readOnly = false;
	}
	$('dcf_sss1').style.display = 'block';
	changeClass('dcftable', 'dcftableprev');
	hides('dcfphs1');
	hides('dcfphs2');
}
// サンプル入力DCF
function sampleDcf() {
	var as = [120, 20, 1000, 800, 5, 5, 0];
	for(var i=0; i<7; i++) {
		$('dcf_' + i).value = as[i];
	}
}
// http://youmos.com/reference/set_element_class.html
function changeClass(id, val) {
	if(document.getElementById) {
		var obj = $(id);
		if(obj) {
			obj.className = val;
		}
	}
}
// 西暦変換
function cYear(i) {
	return "平成" + (i-1988) + "年";
}
// 決算年月日
function period(v10) {
	now = new Date();
	var y1 = now.getFullYear();
	var ymd = {
		11: [y1, y1-1, y1-2, y1-3, y1-4, y1-5, y1-6, y1-7],
		12: ["01", "02", "03", "04", "05", "06", "07","08", "09", 10, 11, 12],
		13: ["01", "02", "03", "04", "05", "06", "07","08", "09", 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ,31]
	};
	y1 = (now.getMonth()<6) ? y1-1 : y1;
	var a = {11:[y1], 12:["03"], 13:[31]};
	if(v10) {
		a = {11:[v10[0]-1], 12:[v10[1]], 13:[v10[2]]};
	}
	var p = ["" ,"", ""];
	for(var j in ymd) {
		p[j] = "<select id=\"t" + j + "\">\n";
		for(var i=0; i<ymd[j].length; i++){
			var flag = (ymd[j][i]==a[j]) ? " selected=\"selected\"" : "";
			var h11 = (j==11) ? "（" + cYear(ymd[j][i]) +"）": "" ;
			p[j] += "<option value=\"" + ymd[j][i] + "\"" + flag + ">" + ymd[j][i] + h11 + "</option>\n";
		}
		p[j] += "</select>\n";
	}
	return p[11] + p[12] + p[13];
}
// 表示非表示
function hide(name) {
	var a = $(name).style;
	a.display = (a.display=="none") ? "block" : "none";
}
// 表示非表示
function hides(name, k) {
	tM = $(name).style;
	tM.display = (tM.display=="none" || k==1) ? "block" : "none";
	return false;
}
// バッチ処理
function batch(what) {
	var i=0, el;
	while(el=$("batch"+i)) {
		el.checked = (what==1) ? "checked" : "";
		i++;
	}
	return false;
}
// メールアドレスのチェック
function fnc_mail() {
	var id = document.input1.elements[0].value;
	if(!id.match(/^\w[\w\.\-]+@\w[\w\.\-]+\.[a-zA-Z]{2,6}$/)){
		alert("メールアドレスの形式が正しくありません。");
		return false;
	}
}
// ユーザー名とパスワードのチェック
function fnc_userpass() {
	var id = document.input1.elements[0].value;
	var id1 = document.input1.elements[1].value;
	if(!id.match(/[a-zA-Z0-9]{3,20}/)) {
		alert("ユーザー名は3～20文字の英数半角で入力してください。");
		return false;
	}else if(!id1.match(/[a-zA-Z0-9]{6,32}/)){
		alert("パスワードは6～32文字の英数半角で入力してください。");
		return false;
	}else if(id1!=document.input1.elements[2].value) {
		alert("パスワードが一致しません。");
		return false;
	}
}
// 入力データの削除確認
function fnc_del(id) {
	var res = confirm("入力した全決算データを削除します。\nよろしいですか？");
  if(res==true){
		var n = (id==1) ? 8 : 9;
		window.open("./top" + n + ".html", "_self");
	}else {
		return;
  }
}
// データ取得失敗
function NotFile(id, sid, jk) {
	sid = (sid) ? "'" + sid + "'" : 0;
	var text = (jk) ? "保存できませんでした。直前に入力したデータを呼び出す場合は、<a href=\"#toptitle\" onclick=\"fnc_tmpLoad(" + sid + ");\" onkeypress=\"fnc_tmpLoad(" + sid + ");\">ここをクリックしてください</a>" : "取得できませんでした";
	$(id).innerHTML = "<p class=\"stitle\">（※データを" + text + "）</p>";
}
// document.getElementById
function $(tagId) {
	return document.getElementById(tagId);
}
// http://allabout.co.jp/internet/javascript/closeup/CU20050515A/
// XMLHttpRequestオブジェクト
function createXMLHttpRequest(){
	if(window.ActiveXObject){
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e2) {
				return null;
			}
		}
	}else if(window.XMLHttpRequest) {
		return new XMLHttpRequest();
	}else {
		return null;
	}
}
