<!--- This is the world clocks section --->

// Time Values...

var Mill, Sec, Min, Hour, Day;

Mill = 1;
Sec  = Mill * 1000;
Min  = Sec * 60;
Hour = Min * 60;
Day  = Hour * 24;

// DST starts 1st SUn in April and ends last sun in Oct.
// This will work until 2004... after that, add some more dates.
// Do note! Time zone changes for DST is different in different parts of the world.  These are based on US TZ Changes only.

var StartDST = new Array(4);
var EndDST = new Array(4);

// StartDST[0] = Date.UTC(2004, 03, 07, 02, 00);	EndDST[0] = Date.UTC(2004, 09, 31, 02, 00);
// StartDST[1] = Date.UTC(2005, 03, 06, 02, 00);	EndDST[1] = Date.UTC(2005, 09, 30, 02, 00);
// StartDST[2] = Date.UTC(2006, 03, 05, 02, 00);	EndDST[2] = Date.UTC(2006, 09, 29, 02, 00);
// StartDST[3] = Date.UTC(2007, 03, 04, 02, 00);	EndDST[3] = Date.UTC(2007, 09, 28, 02, 00);

function DSTTime(rawtime, ff) {
  var tztime;
  var i;
  var dst;

  dst = 0;

  tztime = rawtime + ( ff * Hour );
  for ( i = 0 ; i < 4 ; i++ )
  {
    if ( ( tztime >= StartDST[i] ) && ( tztime <= EndDST[i] ) )
      dst = 1;
  }

  if ( dst )
    rawtime += Hour;

  return STDTime(rawtime, ff);
}


function STDTime(rawtime, ff)
{
  var hours, minutes, seconds;
  var hr, mn, sc;

  rawtime = ( rawtime + ( ff * Hour ) ) % Day;
  hr = Math.floor( rawtime / Hour ) % Day;
  rawtime -= hr * Hour;
  mn = Math.floor( rawtime / Min  ) % Hour;
  rawtime -= mn * Min;
  sc = Math.floor( rawtime / Sec  ) % Min;

  if ( hr < 10 )
    hours = "0" + hr;
  else
    hours = hr;

  if ( mn < 10 )
    minutes = "0" + mn;
  else
    minutes = mn;

  if (sc < 10 )
    seconds = "0" + sc;
  else
    seconds = sc;

  return hours + ":" + minutes + ":" + seconds;
}


function tick() {

  var today;
  var currtime;

  today = new Date;
  currtime = today.getTime();

  var Zulu=document.getElementById('Zulu');
  Zulu.innerHTML	= STDTime(currtime, 0);

  var East=document.getElementById('East');
  East.innerHTML	= DSTTime(currtime, -4);

  var Central=document.getElementById('Central');
  Central.innerHTML	= DSTTime(currtime, -5);

  var West=document.getElementById('West');
  West.innerHTML	= DSTTime(currtime, -7);

  var Alaska=document.getElementById('Alaska');
  Alaska.innerHTML	= DSTTime(currtime, -9);

  var Hawaii=document.getElementById('Hawaii');
  Hawaii.innerHTML	= STDTime(currtime, -10);

  var Guam=document.getElementById('Guam');
  Guam.innerHTML	= STDTime(currtime, 10);

  var Japan=document.getElementById('Japan');
  Japan.innerHTML	= STDTime(currtime, 9);

  var Diego=document.getElementById('Diego');
  Diego.innerHTML	= STDTime(currtime, 6);

  var UAE=document.getElementById('UAE');
  UAE.innerHTML		= STDTime(currtime, 4);

  window.setTimeout("tick();", 300);
}

window.onload = tick;

<!--- End of world clocks section --->
