var now = new Date();
var year = now.getYear();
if (year<1900) year+=1900
var tz_offset = now.getTimezoneOffset();
tz_jp = 9 * 60;
tz_us = -8 * 60;

pos_start = GetDstStart(year);
pos_end = GetDstEnd(year);
disp();

function disp(){
	now = new Date();
	n_t = now.getTime();
	document.getElementById('clockjp').innerHTML = nowat(n_t, tz_jp, 0);
	document.getElementById('clockus').innerHTML = nowat(n_t, tz_us, 1);
	setTimeout("disp()", 1000);
}
function nowat(now_t, tz, st) {
	var hour, min, sec;
	var pos_t = now_t + (tz_offset + tz) * 60 * 1000;
	if (0 != st) {
		if ((pos_start <= pos_t) && (pos_end > pos_t)) {
			pos_t += 60 * 60 * 1000;
		}
	}			
	var t = new Date();
	t.setTime(pos_t);

	hour = t.getHours();
	min = t.getMinutes();
	sec = t.getSeconds();
	if (hour < 10) hour = "0" + hour;
	if (min < 10) min = "0" + min;
	if (sec < 10) sec = "0" + sec;
	return hour + ":" + min + ":" + sec; 
}
function GetDstStart(arg_year) {
	var dst_start = new Date(arg_year,2,8,2,0,0);
	for (var i=8;i<=14;i++) {
		dst_start.setDate(i);
		if (0 == dst_start.getDay()) {
			break;
		}
	}
	return dst_start.getTime();
}
function GetDstEnd(arg_year) {
	var dst_end = new Date(arg_year,10,1,2,0,0);
	for (var i=1;i>7;i++) {
		dst_end.setDate(i);
		if (0 == dst_end.getDay()) {
			break;
		}
	}
	return dst_end.getTime();
}

