<!--
///////////////////////////////////////////////////
// 時計 No.4.2 Produced by「CLUB とむやん君」
// URL http://www2s.biglobe.ne.jp/￣club_tom/
// 上の2行は著作権表示ですので消さないで下さい
///////////////////////////////////////////////////

///////////////////////////////////////////////////
// 都市数＆都市名＆時差＆サマータイム設定を書いて下さい。
// cityNaTim42[?]="～" ←都市名
// cityTiTim42[?]="??:??" ←時差(グリニッジ標準時「London」からの時差)
// citySuTim42[?]=* ←サマータイム設定
// サマータイム設定の * 部分は、以下の数値を選んで下さい。
//  0:ヨーロッパ地域(3月の最終日曜日～10月の最終日曜日)
//  1:アメリカ地域(4月の第１日曜日～10月の最終日曜日)
//  2:オセアニア地域(8月の最終日曜日～3月の最終日曜日)
//  3:無し
var cityNuTim42=9;   // 都市数(0から始まります。)
var cityNaTim42=new Array(),cityTiTim42=new Array(),citySuTim42=new Array();
cityNaTim42[0]="Japan",cityTiTim42[0]="9:00",citySuTim42[0]=3;
cityNaTim42[1]="Kamchatsky",cityTiTim42[1]="12:00",citySuTim42[1]=0;
cityNaTim42[2]="Vladivostok",cityTiTim42[2]="10:00",citySuTim42[2]=0;
cityNaTim42[3]="Irkutsk",cityTiTim42[3]="8:00",citySuTim42[3]=0;
cityNaTim42[4]="Novosibirsk",cityTiTim42[4]="6:00",citySuTim42[4]=0;
cityNaTim42[5]="Ekaterinburg",cityTiTim42[5]="5:00",citySuTim42[5]=0;
cityNaTim42[6]="Baku",cityTiTim42[6]="4:00",citySuTim42[6]=0;
cityNaTim42[7]="Moscow",cityTiTim42[7]="3:00",citySuTim42[7]=0;
cityNaTim42[8]="Kiev",cityTiTim42[8]="2:00",citySuTim42[8]=0;
cityNaTim42[9]="London",cityTiTim42[9]="0:00",citySuTim42[9]=0;///////////////////////////////////////////////////
// フォーム中での文字の開始位置＆日付の表示・非表示を書いて下さい。
var mesSpaceTim42="";  // 文字の開始位置
var dateFlagTim42=true;  // 日付の表示・非表示(表示:true、非表示:false)
///////////////////////////////////////////////////

var i,tiOffTim42=false,toCaTim42=new Date();
var suStTim42=new Array(),suEnTim42=new Array();
toCaTim42=toCaTim42.getTimezoneOffset();
if (navigator.userAgent.indexOf("Mac")!=-1 && navigator.appName=="Netscape") {
	if (toCaTim42>720) tiOffTim42=true;
}
suStTim42[0]=getSumTim42(2,"la"),suEnTim42[0]=getSumTim42(9,"la");
suStTim42[1]=getSumTim42(3,"fi"),suEnTim42[1]=getSumTim42(9,"la");
suStTim42[2]=getSumTim42(7,"la"),suEnTim42[2]=getSumTim42(2,"la");

// サマータイムの期間をゲットする部分です。
function getSumTim42(m,flag) {
	var i,d,to=new Date();
	to.setMonth(m);
	if (flag=="fi") {
		for (i=1;i<=7;i++) {
			to.setDate(i);
			if (to.getDay()==0) d=i;
		}
	}
	else if (flag=="la") {
		for (i=31;i>=25;i--) {
			to.setDate(i);
			if (to.getDay()==0) d=i;
		}
	}
	return d;
}

// サマータイムの期間かどうか判断する部分です。
function calSumTim42(m,d,flag) {
	if (flag==0) {
		if (m==3 && d>=suStTim42[0] || m>=4 && m<=9 || m==10 && d<=suEnTim42[0]) return true;
	}
	else if (flag==1) {
		if (m==4 && d>=suStTim42[1] || m>=5 && m<=9 || m==10 && d<=suEnTim42[1]) return true;
	}
	else if (flag==2) {
		if (m==8 && d>=suStTim42[2] || m>=9 || m<=2 || m==3 && d<=suEnTim42[2]) return true;
	}
	return false;
}

// ローカル時からグリニッジ標準時を算出する部分です。
function getGMTTim42(obj) {
	var gm,n;
	gm=obj.toGMTString();
	n=gm.indexOf("UTC");
	if (n==-1) n=gm.indexOf("GMT");
	gm=gm.substring(0,n-1);
	return gm;
}

// 時計を動かしている部分です。
function worldTimeTim42() {
	var i,n,today,todayGMT,hDif,mDif;
	var mo,da,ho,mi,se,sumStr,str,strD="";
	today=new Date();
	todayGMT=getGMTTim42(today);
	for (i=0;i<=cityNuTim42;i++) {
		sumStr="";
		today=new Date(todayGMT);
		n=cityTiTim42[i].indexOf(":");
		hDif=eval(cityTiTim42[i].substring(0,n));
		mDif=eval(cityTiTim42[i].substring(n+1,cityTiTim42[i].length));
		today.setHours(today.getHours()+hDif);
		today.setMinutes(today.getMinutes()+mDif);
		if (tiOffTim42) today.setDate(today.getDate()-1);
		mo=today.getMonth()+1;
		da=today.getDate();
		if (calSumTim42(mo,da,citySuTim42[i])) {
			today.setHours(today.getHours()+1);
			mo=today.getMonth()+1;
			da=today.getDate();
			sumStr="s";
		}
		if (dateFlagTim42) strD=" ["+da+"."+mo+"]";
		ho=today.getHours();
		mi=today.getMinutes();
		se=today.getSeconds();
		if(ho<10) ho="0"+ho;
		if(mi<10) mi="0"+mi;
		if(se<10) se="0"+se;
		str=mesSpaceTim42+ho+":"+mi+"."+se+sumStr+strD;
		document.forms["foTime"].elements["country"+i].value=str;
	}
	setTimeout("worldTimeTim42()",1000);
}



function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


//-->

