//update history
// 04.12.08		add		Seychelles
// 05.01.28		add		Egypt
//				add		text link to /worldclock/
// 05.04.06		add		Bahrain, Qatar, San Marino, Monaco
// 05.05.19		change	Israel DST, Monglia DST, ウルグアイ型
// 05.05.19		add		パラグアイ型
// 05.06.02		add		Luxembourg
// 05.07.29		add		Macedonia, Bulgaria, Romania, Slovenia, Cyprus

function checkTimeZone(x){

	checkCountry = x;

	if (checkCountry == "Antigua"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Argentina"){
		zone = -3;
		dstFlag = 0;
	}
	else if (checkCountry == "Aruba"){
		zone = -4;
		dstFlag = 0;
	}
/*	else if (checkCountry == "ASEAN"){
		zone = 0;
		dstFlag = 0;
	} */
	else if (checkCountry == "Australia"){
		zone = 10;
		dstFlag = 4;
	}
	else if (checkCountry == "Austria"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Bahamas"){
		zone = -5;
		dstFlag = 1;
	}
	else if (checkCountry == "Bangladesh"){
		zone = 6;
		dstFlag = 0;
	}
	else if (checkCountry == "Barbados"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Belgium"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Bermuda"){
		zone = -4;
		dstFlag = 1;
	}
	else if (checkCountry == "Bolivia"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Brazil"){
		zone = -3;
		dstFlag = 5;
	}
	else if (checkCountry == "BurkinaFaso"){
		zone = 0;
		dstFlag = 0;
	}
	else if (checkCountry == "Canada"){
		zone = -5;
		dstFlag = 1;
	}
	else if (checkCountry == "Chile"){
		zone = -4;
		dstFlag = 9;
	}
	else if (checkCountry == "China"){
		zone = 8;
		dstFlag = 0;
	}
	else if (checkCountry == "Colombia"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "CostaRica"){
		zone = -6;
		dstFlag = 0;
	}
	else if (checkCountry == "Croatia"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Curacao"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "CzechRepublic"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Denmark"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Dominican"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Ecuador"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "Elsalvador"){
		zone = -6;
		dstFlag = 0;
	}
	else if (checkCountry == "Estonia"){
		zone = 2;
		dstFlag = 2;
	}
/*	else if (checkCountry == "EU"){
		zone = 0;
		dstFlag = 0;
	} */
	else if (checkCountry == "Finland"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "France"){
		zone = 1;
		dstFlag = 1;
	}
	else if (checkCountry == "Germany"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "GrandCayman"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "Greece"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Grenada"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Guam"){
		zone = 10;
		dstFlag = 0;
	}
	else if (checkCountry == "Guatemala"){
		zone = -6;
		dstFlag = 0;
	}
	else if (checkCountry == "Guyana"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Haiti"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "Honduras"){
		zone = -6;
		dstFlag = 0;
	}
	else if (checkCountry == "HongKong"){
		zone = 8;
		dstFlag = 0;
	}
	else if (checkCountry == "Hungary"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Iceland"){
		zone = 0;
		dstFlag = 0;
	}
	else if (checkCountry == "India"){
		zone = 5.5;
		dstFlag = 0;
	}
	else if (checkCountry == "Indonesia"){
		zone = 7;
		dstFlag = 0;
	}
	else if (checkCountry == "Iran"){
		zone = 3.5;
		dstFlag = 12;
	}
	else if (checkCountry == "Ireland"){
		zone = 0;
		dstFlag = 2;
	}
	else if (checkCountry == "Israel"){
		zone = 2;
		dstFlag = 13;
	}
	else if (checkCountry == "Italy"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Jamaica"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "Japan"){
		zone = 9;
		dstFlag = 0;
	}
	else if (checkCountry == "Korea"){
		zone = 9;
		dstFlag = 0;
	}
	else if (checkCountry == "Latvia"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Lithuania"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Malaysia"){
		zone = 8;
		dstFlag = 0;
	}
	else if (checkCountry == "Mauritius"){
		zone = 4;
		dstFlag = 0;
	}
	else if (checkCountry == "Mexico"){
		zone = -6;
		dstFlag = 1;
	}
	else if (checkCountry == "Morocco"){
		zone = 0;
		dstFlag = 0;
	}
	else if (checkCountry == "Nepal"){
		zone = 5.75;
		dstFlag = 0;
	}
	else if (checkCountry == "Netherlands"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "NewZealand"){
		zone = 12;
		dstFlag = 8;
	}
	else if (checkCountry == "Nicaragua"){
		zone = -6;
		dstFlag = 0;
	}
	else if (checkCountry == "Nigeria"){
		zone = 1;
		dstFlag = 0;
	}
	else if (checkCountry == "Norway"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Pakistan"){
		zone = 5;
		dstFlag = 0;
	}
	else if (checkCountry == "Panama"){
		zone = 5;
		dstFlag = 0;
	}
	else if (checkCountry == "Paraguay"){
		zone = -4;
		dstFlag = 19;
	}
	else if (checkCountry == "Peru"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "Philippines"){
		zone = 8;
		dstFlag = 0;
	}
	else if (checkCountry == "Poland"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Portugal"){
		zone = 0;
		dstFlag = 2;
	}
	else if (checkCountry == "PuertoRico"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Russia"){
		zone = 3;
		dstFlag = 2;
	}
	else if (checkCountry == "Saipan"){
		zone = 10;
		dstFlag = 0;
	}
	else if (checkCountry == "Singapore"){
		zone = 8;
		dstFlag = 0;
	}
	else if (checkCountry == "Slovakia"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "SouthAfrica"){
		zone = 2;
		dstFlag = 0;
	}
	else if (checkCountry == "Spain"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "SriLanka"){
		zone = 6;
		dstFlag = 0;
	}
	else if (checkCountry == "StKitts"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "StLucia"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "StMaarten"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Suriname"){
		zone = -3;
		dstFlag = 0;
	}
	else if (checkCountry == "Sweden"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Switzerland"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Syria"){
		zone = 2;
		dstFlag = 7;
	}
	else if (checkCountry == "Taiwan"){
		zone = 8;
		dstFlag = 0;
	}
	else if (checkCountry == "Thailand"){
		zone = 7;
		dstFlag = 0;
	}
	else if (checkCountry == "Trinidad"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Turkey"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "UAE"){
		zone = 4;
		dstFlag = 0;
	}
	else if (checkCountry == "UK"){
		zone = 0;
		dstFlag = 2;
	}
	else if (checkCountry == "USA"){
		zone = -5;
		dstFlag = 1;
	}
	else if (checkCountry == "Ukraine"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Uruguay"){
		zone = -3;
		dstFlag = 27;
	}
	else if (checkCountry == "Venezuela"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Vietnam"){
		zone = 7;
		dstFlag = 0;
	}
	else if (checkCountry == "NY"){
		zone = -5;
		dstFlag = 1;
	}
	else if (checkCountry == "LA"){
		zone = -8;
		dstFlag = 1;
	}
	else if (checkCountry == "EDT"){
		zone = -5;
		dstFlag = 1;
	}
	else if (checkCountry == "PDT"){
		zone = -8;
		dstFlag = 1;
	}
	else if (checkCountry == "CDT"){
		zone = -6;
		dstFlag = 1;
	}
	else if (checkCountry == "EST"){
		zone = -5;
		dstFlag = 0;
	}
	else if (checkCountry == "Brazil2"){
		zone = -4;
		dstFlag = 0;
	}
	else if (checkCountry == "Seychelles"){
		zone = 4;
		dstFlag = 0;
	}
	else if (checkCountry == "Egypt"){
		zone = 2;
		dstFlag = 6;
	}
	else if (checkCountry == "Bahrain"){
		zone = 3;
		dstFlag = 0;
	}
	else if (checkCountry == "Qatar"){
		zone = 3;
		dstFlag = 0;
	}
	else if (checkCountry == "SanMarino"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Monaco"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Luxembourg"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Macedonia"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Bulgaria"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Romania"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Slovenia"){
		zone = 1;
		dstFlag = 2;
	}
	else if (checkCountry == "Cyprus"){
		zone = 2;
		dstFlag = 2;
	}
	else if (checkCountry == "Local"){
		zone = 0;
		dstFlag = 0;
	}
}

//--------------------------
// main
//--------------------------
nowyear = new Date();
year = nowyear.getYear(); if (year < 2000) { year += 1900; }
offset = nowyear.getTimezoneOffset() / 60; //GMTからの時差(単位:時)

//夏時間の開始終了日計算
sun4_1 = calcDst(year,4,1,0);   // 4月第1日曜日(米国型開始,中央南半球型終了)
sun3_e = calcDst(year,3,5,0);   // 3月最終日曜日(欧州型開始,オーストラリア型終了,タスマニア型終了)
sun10_e= calcDst(year,10,5,0);  //10月最終日曜日(米国型終了,欧州型終了,オーストラリア型開始)
sat3_e = calcDst(year,3,5,6);   // 3月最終土曜日(NIS型開始)
sat10_e= calcDst(year,10,5,6);  //10月最終土曜日(NIS型終了)
sun10_3= calcDst(year,11,2,-1);  //日付指定11月2日火曜日(ブラジル型開始)
sun2_3 = calcDst(year,2,3,0);   // 2月第3日曜日(ブラジル型終了)
thu4_e = calcDst(year,4,5,4);   // 4月最終木曜日(エジプト型開始)
thu9_e = calcDst(year,9,5,4);   // 9月最終木曜日(エジプト型終了)
y_4_1  = calcDst(year,4,1,-1);  //日付指定(イラク型開始)
y_10_1 = calcDst(year,10,1,-1); //日付指定(イラク型終了)
sun10_1= calcDst(year,10,1,0);  //10月第1日曜日(タスマニア型開始,ニュージーランド型開始)
sun3_3 = calcDst(year,3,3,0);   // 3月第3日曜日(ニュージーランド型終了)
sun10_2= calcDst(year,10,2,0);  //10月第2日曜日(チリ型開始)
sun3_2 = calcDst(year,3,2,0);   // 3月第2日曜日(チリ型終了)
y_3_26 = calcDst(year,3,26,-1); //日付指定(モンゴル型開始)
y_9_24= calcDst(year,9,24,-1);//日付指定(モンゴル型終了)
y_4_15 = calcDst(year,4,15,-1); //日付指定(パレスチナ型開始)
y_10_14= calcDst(year,10,14,-1);//日付指定(パレスチナ型終了)
y_3_20 = calcDst(year,3,20,-1); //日付指定(イラン型開始)
y_9_20 = calcDst(year,9,20,-1); //日付指定(イラン型終了)
y_4_1  = calcDst(year,4,1,-1);  //日付指定(イスラエル型開始)
y_10_9 = calcDst(year,10,9,-1); //日付指定(イスラエル型終了)
y_3_24 = calcDst(year,3,24,-1); //日付指定(ヨルダン型開始)
y_10_21= calcDst(year,10,21,-1);//日付指定(ヨルダン型終了)
y_3_31 = calcDst(year,3,31,-1); //日付指定(シリア型開始)
y_9_30 = calcDst(year,9,30,-1); //日付指定(シリア型終了)
sun9_1 = calcDst(year,9,1,0);   // 9月第1日曜日(中央南半球型開始,フォークランド型開始)
sun9_3 = calcDst(year,9,3,0);   // 9月第3日曜日(ウルグアイ型終了)
sun4_3 = calcDst(year,4,3,0);   // 4月第3日曜日(フォークランド型終了)　変更2005.05.19
y_10_17= calcDst(year,10,17,-1);//日付指定(パラグァイ型開始)　追加2005.05.19
y_4_4 = calcDst(year,4,4,-1);   //日付指定(パラグァイ型終了)　追加2005.05.19


//時刻表示と更新
//--------------------------
// サブルーチン
//--------------------------
// その都市の夏時間対応ローカル時刻計算
// 引数　 .... PC時刻（内部表現、単位:ミリ秒）　pctime
// 　　　 .... 時刻を求める都市のタイムゾーン（単位:時）　tzone
// 　　　 .... 夏時間処理フラグ：無(0),米国型(1),欧州型(2),NIS型(3)等　dstFlag
// 戻り値 .... 夏時間対応ローカル時刻（日時表現）
//--------------------------
function calcTime(a_pctime,b_zone,c_dstFlag,txtType) {

  //ローカル時刻の計算
  twntime = a_pctime + (b_zone + offset) * 3600000; //単位ミリ秒
  //夏時間の処理
  mark = ""; //DSTマーク表示用
  if (c_dstFlag == 1) {        //米国型
    if ((sun4_1<=twntime) && (sun10_e>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 2) { //欧州型
    if ((sun3_e<=twntime) && (sun10_e>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 3) { //NIS型
    if ((sat3_e<=twntime) && (sat10_e>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 4) { //オーストラリア型
    if ((sun10_e<=twntime) || (sun3_e>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 5) { //ブラジル型
    if ((sun10_3<=twntime) || (sun2_3>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 6) { //エジプト型
    if ((thu4_e<=twntime) && (thu9_e>twntime))  { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 7) { //イラク型
    if ((y_4_1<=twntime) && (y_10_1>twntime))   { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 8) { //ニュージーランド型
    if ((sun10_1<=twntime) || (sun3_3>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 9) { //チリ型
    if ((sun10_2<=twntime) || (sun3_2>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 10) { //モンゴル型
    if ((y_3_26<=twntime) && (y_9_24>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 11) { //パレスチナ型
    if ((y_4_15<=twntime) && (y_10_14>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 12) { //イラン型
    if ((y_3_20<=twntime) && (y_9_20>twntime))  { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 13) { //イスラエル型
    if ((y_4_1<=twntime) && (y_10_9>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 14) { //ヨルダン型
    if ((y_3_24<=twntime) && (y_10_21>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 15) { //シリア型
    if ((y_3_31<=twntime) && (y_9_30>twntime))  { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 16) { //中央南半球型
    if ((sun10_3<=twntime) || (sun4_1>twntime))  { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 17) { //フォークランド型
    if ((sun9_1<=twntime) || (sun4_3>twntime))  { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 18) { //タスマニア型
    if ((sun10_1<=twntime) || (sun3_e>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 19) { //パラグァイ型　追加2005.05.19
    if ((y_10_17<=twntime) || (y_4_4>twntime)) { twntime+= 3600000; mark="*";}
  } else if (c_dstFlag == 27) { //ウルグアイ型　変更2005.05.19
    if ((sun9_3<=twntime) || (sun4_1>twntime))  { twntime+= 3600000; mark="*";}
  }
  
  //夏時間対応ローカル時刻を内部表現から日時表現に変換し戻り値にセット
  calcnow = new Date();
  calcnow.setTime(twntime);
  nowmonth = calcnow.getMonth();
    if(nowmonth == 0){ nowmonth = "Jan";}	
    else if(nowmonth == 1){ nowmonth = "Feb";}
    else if(nowmonth == 2){ nowmonth = "Mar";}
    else if(nowmonth == 3){ nowmonth = "Apr";}
	else if(nowmonth == 4){ nowmonth = "May";}
	else if(nowmonth == 5){ nowmonth = "Jun";}
	else if(nowmonth == 6){ nowmonth = "Jul";}
    else if(nowmonth == 7){ nowmonth = "Aug";}
    else if(nowmonth == 8){ nowmonth = "Sep";}
    else if(nowmonth == 9){ nowmonth = "Oct";}
	else if(nowmonth == 10){ nowmonth = "Nov";}
	else if(nowmonth == 11){ nowmonth = "Dec";}
	
  nowdate = calcnow.getDate();
  nowday = calcnow.getDay();
  	if(nowday == 0){ nowday = "Sun";}	
    else if(nowday == 1){ nowday = "Mon";}
    else if(nowday == 2){ nowday = "Tue";}
    else if(nowday == 3){ nowday = "Wed";}
	else if(nowday == 4){ nowday = "Thu";}
	else if(nowday == 5){ nowday = "Fri";}
	else if(nowday == 6){ nowday = "Sat";}

  nowhour = calcnow.getHours();   if (nowhour < 10) { nowhour = "0" + nowhour; }
  nowmin  = calcnow.getMinutes(); if (nowmin  < 10) { nowmin = "0" + nowmin; }
  nowsec  = calcnow.getSeconds(); if (nowsec  < 10) { nowsec = "0" + nowsec; }
  
	if(b_zone >= 0){
		plusminus = "+";
	}
	else{
		plusminus = "";
	}
	
	nowoffset = b_zone;
	if(mark == "*"){
		nowoffset += 1;
	}
	
  Utcnow = new Date();
  Utcyear = Utcnow.getUTCFullYear();
  Utcmonth = Utcnow.getUTCMonth();
    if(Utcmonth == 0){ Utcmonth = "Jan";}	
    else if(Utcmonth == 1){ Utcmonth = "Feb";}
    else if(Utcmonth == 2){ Utcmonth = "Mar";}
    else if(Utcmonth == 3){ Utcmonth = "Apr";}
	else if(Utcmonth == 4){ Utcmonth = "May";}
	else if(Utcmonth == 5){ Utcmonth = "Jun";}
	else if(Utcmonth == 6){ Utcmonth = "Jul";}
    else if(Utcmonth == 7){ Utcmonth = "Aug";}
    else if(Utcmonth == 8){ Utcmonth = "Sep";}
    else if(Utcmonth == 9){ Utcmonth = "Oct";}
	else if(Utcmonth == 10){ Utcmonth = "Nov";}
	else if(Utcmonth == 11){ Utcmonth = "Dec";}

  Utcdate = Utcnow.getUTCDate();
  Utcday = Utcnow.getDay();
  	if(Utcday == 0){ Utcday = "Sun";}	
    else if(Utcday == 1){ Utcday = "Mon";}
    else if(Utcday == 2){ Utcday = "Tue";}
    else if(Utcday == 3){ Utcday = "Wed";}
	else if(Utcday == 4){ Utcday = "Tur";}
	else if(Utcday == 5){ Utcday = "Fri";}
	else if(Utcday == 6){ Utcday = "Sat";}

  Utchour = Utcnow.getUTCHours();   if (Utchour < 10) { Utchour = "0" + Utchour; }
  Utcmin  = Utcnow.getUTCMinutes(); if (Utcmin  < 10) { Utcmin = "0" + Utcmin; }
  Utcsec  = Utcnow.getUTCSeconds(); if (Utcsec  < 10) { Utcsec = "0" + Utcsec; }
  mis=((nowhour>=12) && (nowsec>=0)) ? "PM" : "AM"
	if (nowhour>12) {
		nowhour=eval(nowhour-12)
		} else {
		nowhour=nowhour
		}

  if(txtType == "separate"){
	  return "<font style='font-size:9px;font-family: Verdana;color:#ffffff;'>" + nowhour + ":" + nowmin + ":" + nowsec + " " + mis + "</font>" + "<font style='font-size:9px;font-family: Verdana;color:#ffffff;'>" +  mark + "</font>&nbsp;" + "<font style='font-size:9px;font-family: Verdana;color:#ffffff;'>" + nowday + ", "  + nowmonth + " " + nowdate + ", "  + year + "</font><br>";
  }
  else if(txtType == "top"){
	  return "<font style='font-size:12px;font-family: Verdana;color:#FFFFFF;font-weight: bold;'>" + nowhour + ":" + nowmin + ":" + nowsec + "</font>" + "<font color='#FFFFFF' class='s'>" +  mark + "</font><br>" + "<font color='#BBBBBB' class='ss'>" + nowday + ", "  + nowmonth + " " + nowdate + ", "  + year + "</font><br>";
  }
}

function writeDate(){
  document.write("<font class='s'>" + "UTC/GMT Offset " + "(" + plusminus + nowoffset + mark + ")"  + "</font>");

	if(mark == "*"){
		document.write("<br>");
  		document.write("<font class='ss' color='#999999'>" + "'*' means the place is observing DST" + "</font>");
	}
  document.write("<br>");
  document.write("<font class='ss' color='#999999'>[ <a href='/varsha/'>Nepal's Time</a> ]</font>");
}


function updateClock(i) {
  localCountry = i;
  now = new Date();
  pctime = now.getTime(); //PC時刻（内部表現）

  checkTimeZone(localCountry);
  zone1 = zone;
  dstFlag1 = dstFlag;
  timetext1 = calcTime(pctime,zone1,dstFlag1,"separate");
  
  clockPoint = document.getElementById("clock");
  clockPoint.innerHTML = timetext1;

  //1秒毎に時刻更新
  setTimeout("updateClock(localCountry)", 999);
}

function updateClock2(i) {
  localCountry2 = i;
  now = new Date();
  pctime2 = now.getTime(); //PC時刻（内部表現）

  checkTimeZone(localCountry2);
  zone2 = zone;
  dstFlag2 = dstFlag;
  timetext2 = calcTime(pctime2,zone2,dstFlag2,"separate");
  
  clockPoint2 = document.getElementById("clock2");
  clockPoint2.innerHTML = timetext2;
 
  //1秒毎に時刻更新
  setTimeout("updateClock2(localCountry2)", 999);
}

function updateClock3(i) {
  localCountry3 = i;
  now = new Date();
  pctime3 = now.getTime(); //PC時刻（内部表現）

  checkTimeZone(localCountry3);
  zone3 = zone;
  dstFlag3 = dstFlag;
  timetext3 = calcTime(pctime3,zone3,dstFlag3,"separate");
  
  clockPoint3 = document.getElementById("clock3");
  clockPoint3.innerHTML = timetext3;
 
  //1秒毎に時刻更新
  setTimeout("updateClock3(localCountry3)", 999);
}

function updateClock4(i) {
  localCountry4 = i;
  now = new Date();
  pctime4 = now.getTime(); //PC時刻（内部表現）

  checkTimeZone(localCountry4);
  zone4 = zone;
  dstFlag4 = dstFlag;
  timetext4 = calcTime(pctime4,zone4,dstFlag4,"separate");
  
  clockPoint4 = document.getElementById("clock4");
  clockPoint4.innerHTML = timetext4;
 
  //1秒毎に時刻更新
  setTimeout("updateClock4(localCountry4)", 999);
}

localCountryArray = new Array();
zoneArray = new Array();
dstFlagArray = new Array();
timetextArray = new Array();
clockPointArray = new Array();
clockCount = 0;


function setClockMulti(i,j) {
  localCountryArray[j] = i;
  checkTimeZone(localCountryArray[j]);
  zoneArray[j] = zone;
  dstFlagArray[j] = dstFlag;
 
  now = new Date();
  pctime = now.getTime(); //PC時刻（内部表現）

  timetextArray[j] = calcTime(pctime,zoneArray[j],dstFlagArray[j],"top");

  clockCount += 1;
  
}

function updateClockMulti() {
  now = new Date();
  pctime = now.getTime(); //PC時刻（内部表現）

  for(x=1; x<=clockCount;x++){
	timetextArray[x] = calcTime(pctime,zoneArray[x],dstFlagArray[x],"top");
  
	clockPointArray[x] = document.getElementById("clock" + x);
	clockPointArray[x].innerHTML = timetextArray[x];

  }
  //1秒毎に時刻更新
  setTimeout("updateClockMulti()", 999);
}


function calcDst(year,month,num,wno) {
 //パラメータ判定
 if (wno < 0) { //日時指定の場合
  //指定年月日の午前2時の時刻を求め内部表現に変換し戻り値にセット
  dstime = new Date(year,month-1,num,2,0,0);
  return dstime.getTime();
 } else { //第何曜日指定（最終曜日は5）の場合

  //ツェラーの公式よりその年月の1日の曜日を計算
  if (month <= 2) { zyear = year - 1; zmonth = month + 12; }
  else { zyear = year; zmonth = month; }  //1月,2月は前年の13月,14月とする
  wday = (zyear + Math.floor(zyear/4) - Math.floor(zyear/100)
       + Math.floor(zyear/400) + Math.floor((13*zmonth + 8)/5) + 1) % 7;

  //最終曜日指定の場合第5曜日有無の判定
  if (num == 5) {
    if (month == 2) {
      if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
                    { leap = 1; } else { leap = 0; } //閏年判定
      if (leap == 0 || wno != wday) { num -= 1; } //閏年は29日のみ第5曜日
    } else if (month== 4 || month== 6 || month== 9 || month== 11) { //30日月
      if (wno <= 1) { if( (wno+1) <= wday && wday < (wno+6) ) { num -= 1; } }
               else { if( (wno+1) <= wday || wday < (wno-1) ) { num -= 1; } }
    } else { //31日月
      if (wno <= 2) { if( (wno+1) <= wday && wday < (wno+5) ) { num -= 1; } }
               else { if( (wno+1) <= wday || wday < (wno-2) ) { num -= 1; } }
    }
  }
  //第(num)wno曜日は何日かの計算
  if (wday <= wno) { dstime = (num-1) * 7 + ((wno+1) - wday); }
              else { dstime = num * 7 - (wday - (wno+1)); }

  //算出した年月日の午前2時の時刻を求め内部表現に変換し戻り値にセット
  dstime = new Date(year,month-1,dstime,2,0,0);
  return dstime.getTime();
 }
}


<!--
/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Ryan Provost :: http://rynprov.100free.com */

function clock(divid) {
  //if (!document.layers && !document.all) return;
  var hex = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
  var ticktock = new Date();
  var month = ticktock.getMonth()+1;
  var date = ticktock.getDate();
  var day = ticktock.getDay();
  var year = ticktock.getFullYear();
  var utime = ticktock.getTime();
  var hours = ticktock.getHours();
  var minutes = ticktock.getMinutes();
  var seconds = ticktock.getSeconds();

  

  var milliseconds = (utime*1000).toString().substring(10,13);
  var apm = "am";
  var totalseconds = (hours * 3600 + minutes * 60 + seconds + milliseconds / 1000);
  var gotime = utime/864 + 50000;
  var umt1 = gotime.toString().substring(5,7);
  var umt2 = gotime.toString().substring(7,10);

  with (Math) {
    var hextime = floor(totalseconds / 1.318359375);
    var hex1 = floor(hextime / 4096);
    hextime -= 4096 * hex1;
    var hex2 = floor(hextime / 256);
    hextime -= 256 * hex2;
    var hex3 = floor(hextime / 16);
    hextime -= 16 * hex3;
    var hex4 = hextime;
  }

  if (day==0)day="Sun";
  if (day==1)day="Mon";
  if (day==2)day="Tue";
  if (day==3)day="Wed";
  if (day==4)day="Thu";
  if (day==5)day="Fri";
  if (day==6)day="Sat";

   if (month==1) mnth="Jan";
   if (month==2) mnth="Feb";
   if (month==3) mnth="Mar";
   if (month==4) mnth="Apr";
   if (month==5) mnth="May";
   if (month==6) mnth="Jun";
   if (month==7) mnth="Jul";
   if (month==8) mnth="Aug";
   if (month==9) mnth="Sep";
   if (month==10) mnth="Oct";
   if (month==11) mnth="Nov";
   if (month==12) mnth="Dec";
  
  if (month <= 9) month = "0" + month;
  if (date <= 9) date = "0" + date;
  if (hours > 11) apm = "pm";
  if (hours > 12) hours = hours - 12;
  if (hours == 0) hours = 12;
  //if (hours <= 9) hours = "0" + hours;
  if (minutes <= 9) minutes = "0" + minutes;
  if (seconds <= 9) seconds = "0" + seconds;

  
  var localValue = hours + ":" + minutes + ":" + seconds + " " + apm + " " + day + ", " + mnth + " " + date + ", " + year ;
 
  document.getElementById(divid).innerHTML = localValue;
 
 
  setTimeout("clock('"+divid+"')", 999);
}
-->





