<!--
/*
Live Date Script- ｩ Dynamic Drive (www.dynamicdrive.com)　For full source code, installation instructions, 100's more DHTML scripts, and Terms Of Use,　visit http://www.dynamicdrive.com
var dayarray=new Array("日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")
var montharray=new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月")
*/

var dayarray=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
var Mdays = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31);
var montharray=new Array("00","01","02","03","04","05","06","07","08","09","10","11","12")

function timecolor(hrs) {
    var colr="";
    var daytms="#FF0033";
    var evntms="#0066FF";
    var ngttms="#000000";
    var mrntms="#FF9966";
    if      (hrs>=0  && hrs<7 ) colr=ngttms
    else if (hrs>=7  && hrs<9 ) colr=mrntms
    else if (hrs>=9  && hrs<17) colr=daytms
    else if (hrs>=17 && hrs<20) colr=evntms
    else if (hrs>=20 && hrs<24) colr=ngttms;
    return (colr);
}

function numf(num,fig) {
    var i,lng;
	lng = num.length;
	for (i=lng; i< fig; i++) {
        num=" "+num;
	}
    return (num);
}

//($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + $day) %7
function getwday(yy,mm,dd) {
    var wday;
    if(mm<3) {
        yy-=1;
        mm+=12;
    }
    wday= (yy + Math.floor(yy/4) - Math.floor(yy/100) + Math.floor(yy/400) + Math.floor((13*mm +8)/5) + dd) % 7;
    return(wday);
}

function GetMonthDays(yy,mm) {
	Mdays[2] = 28;	// 閏年の処理開始
	if ((yy % 4) == 0) Mdays[2] = 29;
	if ((yy % 100) == 0) Mdays[2] = 28;
	if ((yy % 400) == 0) Mdays[2] = 29;	// 閏年の処理終了
	return Mdays[mm];
}

function fast_sun(yy,mm) {
    var xday;
    var fst=getwday(yy,mm,1);
    if      (fst==0) xday=1;
    else if (fst>=1) xday=8-fst;
//	if (xday<=9) xday="0"+xday;
    return(xday);
}

function last_sun(yy,mm) {
    var xday;
    var fst=getwday(yy,mm,1);
    if      (fst<=4) xday=29-fst;
    else if (fst>=5) xday=36-fst;
    return(xday);
}

function next_day(yy,mm,dd) {
    var xday,endm;
    xday=dd+1;
    endm=GetMonthDays(yy,mm);
    if (xday>endm) xday=1;
    return(xday);
}

function prev_day(yy,mm,dd) {
    var xday,endm;
    xday=dd-1;
    if (xday==0) {
        if (mm==1) {
            mm=12;
            yy-=1;
        }
        else mm-=1;
        xday=GetMonthDays(yy,mm);
    }
    return(xday);
}

// Sydney:"Spring ahead, fall back"（春は時計を進め、秋は遅らせる）
function syd_dltime (yy,mm,dd,hh) {
    var ajst=SydStd=SydEnd=0;
    hh+=1;
	if (hh>23) {hh-=24; dd=next_day(yy,mm,dd);}

    // Sydney Sammer Time Start Last Sunday of Oct.
    if (mm <= 3) SydStd=last_sun(yy-1,10)
    else         SydStd=last_sun(yy,10);
    // Sydney Sammer Time End Last Sunday of Mar.
    if(mm<=3) SydEnd=last_sun(yy,3)
    else      SydEnd=last_sun(yy+1,3);

    if      ((mm<=2 ) || (mm>=11)    ) ajst=1
    else if ((mm==10) && (dd> SydStd)) ajst=1
    else if ((mm==10) && (dd==SydStd) && (hh>1)) ajst=1
    else if ((mm== 3) && (dd< SydEnd)) ajst=1
    else if ((mm== 3) && (dd==SydEnd) && (hh>2)) ajst=1
    else ajst=0;
    return(ajst);
}

// London:"Spring ahead, fall back"（春は時計を進め、秋は遅らせる）
function ldn_dltime (yy,mm,dd,hh) {
    var ajst=LdnStd=LdnEnd=0;
    hh-=9;  // nine hours differences
	if (hh<0) {hh+=24; dd=prev_day(yy,mm,dd);}

    // London Sammer Time Start Last Sunday of Mar.
    LdnStd=last_sun(yy,3);
    // London Sammer Time End Last Sunday of Oct. 1:00am
    LdnEnd=last_sun(yy,10);

    if      ((mm>=4 ) && (mm<=9 )    ) ajst=1
    else if ((mm==3 ) && (dd> LdnStd)) ajst=1
    else if ((mm==3 ) && (dd==LdnStd) && (hh>1)) ajst=1
    else if ((mm==10) && (dd< LdnEnd)) ajst=1
    else if ((mm==10) && (dd==LdnEnd) && (hh>2)) ajst=1
    else ajst=0;
    return(ajst);
}

// NewYork:"Spring ahead, fall back"（春は時計を進め、秋は遅らせる）
function nyk_dltime (yy,mm,dd,hh) {
    var ajst=NykStd=NykEnd=0;

    hh=hh-14;
	if (hh<0) {hh+=24; dd=prev_day(yy,mm,dd);}

    // NewYork ST Start First Sun of Apr.
    NykStd=fast_sun(yy,4);
    // NewYork ST Sammer Time End Last Sunday of Oct. 2:00am
    NykEnd=last_sun(yy,10);

    if      ((mm>=5 ) && (mm<=9 )    ) ajst=1
    else if ((mm==4 ) && (dd> NykStd)) ajst=1
    else if ((mm==4 ) && (dd==NykStd) && (hh>2)) ajst=1
    else if ((mm==10) && (dd< NykEnd)) ajst=1
    else if ((mm==10) && (dd==NykEnd) && (hh>3)) ajst=1
    else ajst=0;
    return(ajst);
}

// LosAngeles:"Spring ahead, fall back"（春は時計を進め、秋は遅らせる）
function los_dltime (yy,mm,dd,hh) {
    var ajst=LosStd=LosEnd=0;

    hh=hh-17;
	if (hh<0) {hh+=24; dd=prev_day(yy,mm,dd);}

    // LosAngels ST Start First Sun of Apr.
    LosStd=fast_sun(yy,4);
    // LosAngels ST Sammer Time End Last Sunday of Oct. 2:00am
    LosEnd=last_sun(yy,10);

    if      ((mm>=5 ) && (mm<=9 )    ) ajst=1
    else if ((mm==4 ) && (dd> LosStd)) ajst=1
    else if ((mm==4 ) && (dd==LosStd) && (hh>2)) ajst=1
    else if ((mm==10) && (dd< LosEnd)) ajst=1
    else if ((mm==10) && (dd==LosEnd) && (hh>3)) ajst=1
    else ajst=0;
    return(ajst);
}

function getthedate(){
    var jst = new Date();
	var year=jst.getYear();
	if (year < 1000) year+=1900;
	var month=jst.getMonth()+1;
	var dayw=jst.getDay();
	var daym=jst.getDate();
	var hours=jst.getHours();
	var minutes=jst.getMinutes();
	var seconds=jst.getSeconds();
    var tcolor;
    var timdif;
	var adjust=0;
    var gmt_day,ldn_day,nyk_day,los_day,syd_day;
    var gmt_hrs,ldn_hrs,nyk_hrs,los_hrs,syd_hrs;
    var gmt_day,ldn_day,nyk_day,los_day,syd_day;
	gmt_hrs=hours-9;
	if (gmt_hrs<0) gmt_hrs+=24;
    var tky_tky="  00";
    var tky_gmt="  -9";
    var gmt_gmt="00";
    var gmt_tky="+9";
    var tky_syd=1;
    var tky_ldn=-9;
    var tky_nyk=-14;
    var tky_los=-17;
    var gmt_syd=10;
    var gmt_ldn=0;
    var gmt_nyk=-5;
    var gmt_los=-8;

    // オーストラリアの夏時間チェック
    adjust= syd_dltime(year,month,daym,hours);
    gmt_syd+=adjust;  //+10,+11
    tky_syd+=adjust;
    syd_hrs=gmt_hrs+gmt_syd;
    if (syd_hrs >23) syd_hrs-= 24;

    // 英国の夏時間チェック
    adjust= ldn_dltime(year,month,daym,hours);
    gmt_ldn+=adjust;  //+0,+1
    tky_ldn+=adjust;
    ldn_hrs=gmt_hrs+gmt_ldn;
    if (ldn_hrs >23) ldn_hrs-= 24;
    gmt_ldn="+"+gmt_ldn;

    // 米国・ニューヨークの夏時間チェック
    adjust= nyk_dltime(year,month,daym,hours);
    gmt_nyk+=adjust;  //-5,-4
    tky_nyk+=adjust;
    nyk_hrs=gmt_hrs+gmt_nyk;
    if (nyk_hrs <0) nyk_hrs+= 24;

    // 米国・ロスアンジェルスの夏時間チェック
    adjust= los_dltime(year,month,daym,hours);
    gmt_los+=adjust;  //-8,-7
    tky_los+=adjust;
    los_hrs=gmt_hrs+gmt_los;
    if (los_hrs <0) los_hrs+= 24;

    // 曜日チェック
    gmt_day=ldn_day=nyk_day=los_day=syd_day=dayw;
    if (syd_hrs<hours) syd_day+=1;
    if (syd_day>6    ) syd_day=0;
    if (gmt_hrs>hours) gmt_day-=1;
    if (gmt_day<0) gmt_day=6;
    if (ldn_hrs>hours) ldn_day-=1;
    if (ldn_day<0) ldn_day=6;
    if (nyk_hrs>hours) nyk_day-=1;
    if (nyk_day<0) nyk_day=6;
    if (los_hrs>hours) los_day-=1;
    if (los_day<0) los_day=6;

    // 桁数調整
	if (daym<10) daym="0"+daym;
	if (minutes<=9) minutes="0"+minutes;
	if (seconds<=9) seconds="0"+seconds;
	if (hours<=9) hours="0"+hours;
	if (syd_hrs<=9) syd_hrs="0"+syd_hrs;
	if (gmt_hrs<=9) gmt_hrs="0"+gmt_hrs;
	if (ldn_hrs<=9) ldn_hrs="0"+ldn_hrs;
	if (nyk_hrs<=9) nyk_hrs="0"+nyk_hrs;
	if (los_hrs<=9) los_hrs="0"+los_hrs;
	tky_ldn=numf(tky_ldn,3);

	// change font size here
	var lcl_date="<small><font color='FFFFFF' face='MSP Gothic'><b> "+year+"/"+montharray[month]+"/"+daym+" "+dayarray[dayw]+"</b></font></small>";
	if      (document.all) document.all.LocalDate.innerHTML=lcl_date
	else if (document.getElementById) document.getElementById("LocalDate").innerHTML=lcl_date
	else     document.write(lcl_date);

    tcolor= timecolor(syd_hrs);
//    timdif= " <small>"+gmt_syd+","+tky_syd+"</small>";
    timdif= "<small> ("+dayarray[syd_day]+")</small>";
	var syd_time="<small><font color="+tcolor+" face='MSP Gothic'><b> "+syd_hrs+":"+minutes+":"+seconds+"</b></font></small>"+timdif;
	if (document.all) document.all.sydTime.innerHTML=syd_time
	else if (document.getElementById) document.getElementById("sydTime").innerHTML=syd_time
	else document.write(syd_time);

    tcolor= timecolor(hours);
//    timdif= " <small>"+gmt_tky+", "+tky_tky+"</small>";
    timdif= "<small> ("+dayarray[dayw]+")</small>";
	var lcl_time="<small><font color="+tcolor+" face='MSP Gothic'><b> "+hours+":"+minutes+":"+seconds+"</b></font></small>"+timdif;
	if      (document.all) document.all.LocalTime.innerHTML=lcl_time
	else if (document.getElementById) document.getElementById("LocalTime").innerHTML=lcl_time
	else     document.write(lcl_time);

    tcolor= timecolor(gmt_hrs);
//    timdif= " <small>"+gmt_gmt+", "+tky_gmt+"</small>";
    timdif= "<small> ("+dayarray[gmt_day]+")</small>";
	var gmt_time="<small><font color="+tcolor+" face='MSP Gothic'><b> "+gmt_hrs+":"+minutes+":"+seconds+"</b></font></small>" +timdif;
	if      (document.all) document.all.gmtTime.innerHTML=gmt_time
	else if (document.getElementById) document.getElementById("gmtTime").innerHTML=gmt_time
	else     document.write(gmt_time);

    tcolor= timecolor(ldn_hrs);
//    timdif= " <small>"+gmt_ldn+", "+tky_ldn+"</small>";
    timdif= "<small> ("+dayarray[ldn_day]+")</small>";
	var ldn_time="<small><font color="+tcolor+" face='MSP Gothic'><b> "+ldn_hrs+":"+minutes+":"+seconds+"</b></font></small>"+timdif;
	if      (document.all) document.all.ldnTime.innerHTML=ldn_time
	else if (document.getElementById) document.getElementById("ldnTime").innerHTML=ldn_time
	else     document.write(ldn_time);

    tcolor= timecolor(nyk_hrs);
//    timdif= " <small>"+gmt_nyk+","+tky_nyk+"</small>";
    timdif= "<small> ("+dayarray[nyk_day]+")</small>";
	var nyk_time="<small><font color="+tcolor+" face='MSP Gothic'><b> "+nyk_hrs+":"+minutes+":"+seconds+"</b></font></small>"+timdif;
	if      (document.all) document.all.nykTime.innerHTML=nyk_time
	else if (document.getElementById) document.getElementById("nykTime").innerHTML=nyk_time
	else     document.write(nyk_time);

    tcolor= timecolor(los_hrs);
//    timdif= " <small>"+gmt_los+","+tky_los+"</small>";
    timdif= "<small> ("+dayarray[los_day]+")</small>";
	var los_time="<small><font color="+tcolor+" face='MSP Gothic'><b> "+los_hrs+":"+minutes+":"+seconds+"</b></font></small>"+timdif;
	if (document.all) document.all.losTime.innerHTML=los_time
	else if (document.getElementById) document.getElementById("losTime").innerHTML=los_time
	else document.write(los_time);
}

if (!document.all&&!document.getElementById)
getthedate()

function goforit(){
	if (document.all||document.getElementById)
	setInterval("getthedate()",1000)
}

// 英米の夏時間表示機能追加
function dstime(wd,year,month,daym,hours){
	var LdnStd, LdnEnd, NykStd, NykEnd, SydStd, SydEnd, DstUkb, DstUsa, DstAus;
    var DifAus=DifUsa=DifUkb=0;
    var NykSClose,NykDClose;

    // AUS 豪州の夏時間チェック
    if(month<4) SydStd= last_sun(year-1,10)
    else        SydStd= last_sun(year,10);
    if(month<4) SydEnd= last_sun(year,3)
    else        SydEnd= last_sun(year+1,3);
    DstAus ="10/"+SydStd+" <=> "+"03/"+SydEnd;
    DifAus= syd_dltime(year,month,daym,hours);

    // UKB 英国の夏時間チェック
    LdnStd=last_sun(year,3);
    LdnEnd=last_sun(year,10);
    DstUkb ="03/"+LdnStd+" <=> "+"10/"+LdnEnd;
    DifUkb= ldn_dltime(year,month,daym,hours);

    // USA 米国の夏時間チェック
    NykStd=fast_sun(year,4);
    NykEnd=last_sun(year,10);
    DstUsa ="04/0"+NykStd+" <=> "+"10/"+NykEnd;
    DifUsa= nyk_dltime(year,month,daym,hours);

    if (DifUsa) NykSClose="[Tokyo] 07:00"
    else        NykSClose="<B>[Tokyo] 07:00</B>";
    if (DifUsa) NykDClose="<B>[Tokyo] 06:00</B>"
    else        NykDClose="[Tokyo] 06:00";

	wd.document.writeln('<table width="180" border="1" cellspacing="1" cellpadding="1" bordercolor="#0000CC">');
	wd.document.writeln('<tr bordercolor="#0000ff" align="center" bgcolor="#3333ff"><td colspan="2" height=20><font color=#ffffff><b>DayLightSaving [+1:00]</b></font></td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">SYD<b> +'+DifAus+'</b></td><td width="119" align="center" height="20">'+DstAus+'</td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">LDN<b> +'+DifUkb+'</b></td><td width="119" align="center" height="20">'+DstUkb+'</td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">NYK<b> +'+DifUsa+'</b></td><td width="119" align="center" height="20">'+DstUsa+'</td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF" align="center" valign="middle"><td colspan="2" height="20">Spring ahead, fall back</td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF" align="center" bgcolor="#3333FF"><td colspan="2"><font color="#FFFFFF" size="2"><b>NewYork Close 17:00</b></font></td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">Standard</td><td width="119" align="center" height="20">'+NykSClose+'</td></tr>');
	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">Summer  </td><td width="119" align="center" height="20">'+NykDClose+'</td></tr>');
//	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">Standard</td><td width="119" align="center" height="20">[Tokyo] 07:00</td></tr>');
//	wd.document.writeln('<tr bordercolor="#0000FF"><td width="46" height="20">Summer  </td><td width="119" align="center" height="20">[Tokyo] 06:00</td></tr>');
	wd.document.writeln('</table>');
}
// -->
