function calc(param) {
	var seg = new Array(4000,3000,2500,2000,1800,1600,1400,1200,1000,900,800,700,600,500,400,300,200,100);
	var dx  = new Array(3404390,2145408,1864179,2129503,779419,1275496,1346347,1586118,2017296,1246754,1230889,1297353,1615917,1484108,1719512,1893896,1754531,2272139,4102741);

	var total = 35165997;

	var value = 0;
	var ratio, i;
	var table;
	var msg = '';
	var msg_tail = '';
	var data = -1;

	if (param) {
		data = parseInt(z2h_word(param));
		if (isNaN(data)) {
			data = -1;
		}
	}

	if (data >= 0) {
		value = tmp__calc(data, seg, dx);
		if (value > 0) {
			ratio = (Math.round((value * 10000) / total )) / 100;
			msg_tail = "くらいです。";
			msg = "<strong>上から" + ratio + "％</strong><br>くらいじゃないでしょうか。";
		} else if (value == 0) {
			ratio = 9.68;
			value = dx[0];
			msg_tail = "以上です。";
			msg = "<strong>上から" + ratio + "％以内</strong>です。<br>4,000万円以上はデータ不足により計測不能です。";
		} else { // if (value == -1) {
			value = 31063256;
			ratio = 100 - 11.67;
			msg_tail = "以下です。";
			msg = "<strong>下から11.67％以内</strong>です。<br>100万円未満はデータ不足により計測不能です。";
		}

		value = "<strong>" + addcomma(value) + "</strong>";

	} else {
		msg = "<strong>　</strong><br><br>";
		value = "<strong> </strong>何";
		msg_tail = "でしょう？";
	}


	var mydoc = document
	var className=(typeof ScriptEngine=='function')?'className':'class';

	document.getElementById("div").innerHTML='';
	document.getElementById("rank").innerHTML = value;
	document.getElementById("rank_bottom").innerHTML = addcomma(total).toString();
	document.getElementById("rank_tail").innerHTML = msg_tail;
	document.getElementById("msg").innerHTML = msg;

	table = tmp__ruler(mydoc, ratio);
	document.getElementById("div").insertBefore(table, null);
}

