/* ------------------------------
 conf
------------------------------ */
// load files
var LDJSF = [
	{'src': 'prototype.js', 'charset': 'ISO-8859-1'},
	{'src': 'rollover.js', 'charset': 'UTF-8'},
	{'src': 'tab.js', 'charset': 'UTF-8'},
	{'src': 'zip2address.js', 'charset': 'UTF-8'},
	{'src': 'heightLine.js', 'charset': 'UTF-8'},
	{'src': 'flashObject.js', 'charset': 'ISO-8859-1'},
	{'src': 'xc.js', 'charset': 'ISO-8859-1'}
];


/* ------------------------------
 not modify here.
------------------------------ */
var scTag = document.getElementsByTagName('script');
var jsDir = '';
var len = scTag.length;
for(var i = 0; i < len; i++){
	var s = scTag[i];
	if(s.src && s.src.indexOf('common.js') != -1){
		jsDir = s.src.substring(0,s.src.indexOf('common.js'));
	}
}

len = LDJSF.length;
for(var i = 0; i < len; i++){
	document.write('<script type="text/javascript" src="' + jsDir + LDJSF[i].src + '" charset="' + LDJSF[i].charset + '"></script>');
}

function openWindow(URL,Winname,intW,intH){
	if(navigator.appVersion.indexOf("Windows") > -1) intW = parseInt(intW) + 16;
	newwin = window.open(URL,Winname,"width=" + intW + ",height=" + intH + ",scrollbars=yes,resizable=yes,toolbar=yes,location=no,directories=no,status=no,menubar=yes");
	newwin.focus();
}

var win;
var win2;
function initWindow(){
    win = new xWindow(
                      'win', // target name
                      738, 485, // size: width, height
                      (screen.width-900)/2, (screen.height-650)/2-40, // position: left, top
                      0, // location field
                      0, // menubar
                      0, // resizable
                      0, // scrollbars
                      0, // statusbar
                      0  // toolbar
                      ); 
    win2 = new xWindow(
                      'win2', // target name
                      790, 554, // size: width, height
                      (screen.width-792)/2, (screen.height-554)/2-40, // position: left, top
                      0, // location field
                      0, // menubar
                      0, // resizable
                      0, // scrollbars
                      0, // statusbar
                      0  // toolbar
                      ); 
}


/*
	link area
*/
function clickArea(tagName, className) {
	var els = document.getElementsByTagName(tagName);
	for (var i = 0; i < els.length; i++) if (els[i].className.indexOf(className)>=0) {
		els[i].onmouseover=function() {
			this.className+=" blockhover";
			window.status = this.getElementsByTagName("a")[0].href;
			return true;
		}
		els[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" blockhover\\b"), "");
			window.status = "";
			return true;
		}
		els[i].onclick = function () {location.href = this.getElementsByTagName("a")[0].href}
	}
}

function clickArea2(tagName, className) {
	var els = document.getElementsByTagName(tagName);
	for (var i = 0; i < els.length; i++) if (els[i].className.indexOf(className)>=0) {
		els[i].onmouseover=function() {
			this.className+=" blockhover2";
			window.status = this.getElementsByTagName("a")[0].href;
			return true;
		}
		els[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" blockhover2\\b"), "");
			window.status = "";
			return true;
		}
		els[i].onclick = function () {location.href = this.getElementsByTagName("a")[0].href}
	}
}


function addFigure(str) {
	var num = new String(str).replace(/,/g, "");
	while(num != (num = num.replace(/^(-?\d+)(\d{3})/, "$1,$2")));
	return num;
}
function zen2hanNum(src) {
	return src.replace(/([０-９])/g,
		function ($0) {
			return String.fromCharCode($0.charCodeAt(0) - 65248);
	});
}
function conversion(f,type){
	var type_list = {
		'bulk': {1:0.264171, 2:0.03532, 3:61.03296, 4:1, 5:1000, 6:1000, 7:0.001},
		'remove': {1:0.000621, 2:1.09361, 3:3.28084, 4:1, 5:100, 6:39.37},
		'area': {1:0.000000386, 2:0.000001, 3:10.7639, 4:1, 5:10000, 6:1550, 7:0.3025},
		'mass': {1:2.20462, 2:35.274, 3:1, 4:1000},
		'dyne': {1:1, 2:0.00980665}
	};
	var list = type_list[type];
	var val = zen2hanNum(f.number.value);
	var unit = f.unit.options[f.unit.selectedIndex].value;
	if(isNaN(val) || list[unit] == 'undefined'){
		alert('数値が不正です');
		document.getElementById('conv').style.display = 'none';
		return;
	}
	
	var base = val/list[unit];
	for(var key in list){
		var elm = document.getElementById('conv'+key);
		elm.innerHTML = addFigure(roundNum(list[key]*base,10));
	}
	document.getElementById('conv').style.display = 'block';
	document.getElementById('about').style.display = 'block';
}

function roundNum(num,keta){
	var chKeta = Math.pow(10,keta);
	var tmp_num = num*chKeta;
	var tmp_result = Math.round(tmp_num);
	var result = tmp_result/chKeta;
	return result;
}

function era2cal(f){
	var type = f.type.options[f.type.selectedIndex].value;
	var yy = zen2hanNum(f.yy_j.value);
	if(isNaN(type) || isNaN(yy) || yy < 1){
		document.getElementById('conv').style.display = 'none';
		alert('日付が不正です');
		return;
	}
	convDates(eval(zen2hanNum(f.yy_j.value))+eval(f.type.options[f.type.selectedIndex].value),zen2hanNum(f.mm_j.value),zen2hanNum(f.dd_j.value));
}
function cal2era(f){
	convDates(zen2hanNum(f.yy.value), zen2hanNum(f.mm.value), zen2hanNum(f.dd.value));
}
function convDates(yy,mm,dd){
	var err = false;
	var era = '';
	if(!check_date(yy, mm, dd)){
		err = true;
	}else{
		date = new Date(yy, mm, dd);
		t_min = new Date(1912, 7, 30);
		t_max = new Date(1926, 12, 25);
		s_min = new Date(1926, 12, 25);
		s_max = new Date(1989, 1, 8);
		h_min = new Date(1989, 1, 8);
		if(isNaN(date) || date.getTime() < t_min.getTime()){
			err = true;
		}else{
			if(t_min.getTime() <= date.getTime() && date.getTime() < t_max.getTime()){
				era = '大正';
				yy_j = yy-1911;
			}else if(s_min.getTime() <= date.getTime() && date.getTime() < s_max.getTime()){
				era = '昭和';
				yy_j = yy-1925;
			}else if(h_min.getTime() <= date.getTime()){
				era = '平成';
				yy_j = yy-1988;
			}
		}
	}
	if(err){
		document.getElementById('conv').style.display = 'none';
		alert('日付が不正です');
		return;
	}
	var elm = document.getElementById('cal');
	elm.innerHTML = '<span id="cal">'+yy+'年'+mm+'月'+dd+'日'+'</span>';
	elm = document.getElementById('era');
	elm.innerHTML = '<span id="era">'+era+yy_j+'年'+mm+'月'+dd+'日'+'</span>';
	document.getElementById('conv').style.display = 'block';
	document.getElementById('about').style.display = 'block';
}
//日付チェック
function check_date(y,m,d){
	f=0; //閏年フラグ
	if((y == '')||(m == '')||(d == '')){
		return false;
	}
	if((isNaN(y))||(isNaN(m))||(isNaN(d))){
		return false;
	}
	if((y - Math.floor(y) != 0)||(m - Math.floor(m) != 0)||(d - Math.floor(d) != 0)){
		return false;
	}
	if((y < 0)||(m < 0)||(d < 0)){
		return false;
	}
	if(m > 12 || d > 31){
		return false;
	}
	//2月
	if(m == 2){
		if(y % 4 == 0){
			if((y % 100) == 0 && (y % 400 != 0)){
				if(d > 28){
					return false;
				}
			}else{
			//閏年
				f=1
				if(d > 29){
					return false;
				}
			}
		}else if(d > 28){
			return false;
		}
	}
	//４月or6月or9月or11月
	if(m == 4 || m == 6 || m == 9 || m == 11){
		if(d == 31){
			return false;
		}
	}
	return true;
}

// 表示→非表示、非表示→表示 
function execute() { 
	var item = $('questionnaire'); 
	if(item != null){
		Element.toggle(item);
	}
} 

window.onload = function() {
	clickArea("li", "blocklink");
	clickArea("div", "blocklink");
	clickArea2("li", "blocklink2");
	clickArea2("div", "blocklink2");
	initWindow();
	execute();
}


