function localTime() {

  var dst = 1;           // set to 1 for daylight savings time, this field needs to be updated as you go on and off daylight saving time

  var gmt = new Date;
  var lsm = new Date;
  var lso = new Date;
  lsm.setMonth(2); // March
  lsm.setDate(31);
  var day = lsm.getDay();// day of week of 31st
  lsm.setDate(31-day); // last Sunday
  lso.setMonth(9); // October
  lso.setDate(31);
  day = lso.getDay();
  lso.setDate(31-day);
  if (gmt < lsm || gmt >= lso) dst = 1;

  var mtz = 10;          // set to your local timezone (hours ahead of UTC, negative if behind)
  var stdz = 'AEST';     // standard time indicator
  var dayz = 'ADST';     // daylight saving time indicator

  var dayname = new Array ('Saturday','Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday');
  var now = new Date;
  var dayofweek = now.getUTCDay() + 1;
  var minute = (now.getUTCHours() * 60) + now.getUTCMinutes() + (mtz * 60);

  if (dst) {minute += 60;}
  if (minute > 1440) {minute -= 1440; dayofweek++;}
  if (minute < 0) {minute += 1440; dayofweek--;}

  var hour = Math.floor(minute / 60);
  minute = minute - (hour * 60);
  if (hour > 11) {ampm = 'PM'; hour -= 12;} else {ampm = 'AM'}

  if (hour == 0) {hour = 12;} 
  if (minute < 10) {pad = ':0';} else {pad = ':';}

  if (dst) {
    document.getElementById('localTime').innerHTML= hour + pad + minute + ' ' + ampm + ' (' + dayz + ') on ' + dayname[dayofweek];
  } 
  else {
    document.getElementById('localTime').innerHTML= hour + pad + minute + ' ' + ampm + ' (' + stdz + ') on ' + dayname[dayofweek];
  }

setTimeout("localTime()", 10000);
}
