﻿var days = new Array("Sun", "Mon","Tues","Wed","Thurs","Fri","Sat");
var months = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var sydOffsetHours = -8;

function isDaylightSavings(now)
{
    return (now > Date.UTC(2008,3,5,2,0,0) && now < Date.UTC(2008,11,5,2,0,0))
        || (now > Date.UTC(2009,3,4,2,0,0) && now < Date.UTC(2009,11,1,2,0,0))
        || (now > Date.UTC(2010,3,14,2,0,0) && now < Date.UTC(2010,11,7,2,0,0))
	|| (now > Date.UTC(2011,3,13,2,0,0) && now < Date.UTC(2011,11,6,2,0,0));
}

function refreshClock()
{
    var now = new Date();
    now.setUTCHours(now.getUTCHours() + sydOffsetHours);
    if (isDaylightSavings(now))
    {
        now.setUTCHours(now.getUTCHours()+1);
    }
    document.getElementById("jsclockplaceholder").innerHTML = days[now.getUTCDay()] + ' ' + now.getUTCDate() + ' ' + months[now.getUTCMonth()] + ' ' + now.getUTCFullYear() + ' ' + (now.getUTCHours() > 12 ? now.getUTCHours() - 12 : now.getUTCHours()) + ':' + (now.getUTCMinutes() < 10 ? '0' + now.getUTCMinutes().toString() : now.getUTCMinutes()) + ':' + (now.getUTCSeconds() < 10 ? '0' + now.getUTCSeconds().toString() : now.getUTCSeconds()) + ' ' + (now.getUTCHours() >= 12 ? 'P.M.' : 'A.M.');
}

setInterval(refreshClock, 1000);


