// JavaScript Document

// Some seriously nasty code... has to be a better way to do this... [Chris Mc, 2009 10 28]

var dN = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
var mN = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
var fr = 0;
var oT = "dN[tS().getDay()]+', '+tS().getDate()+' '+mN[tS().getMonth()]+', '+y4(tS().getYear())";
//var oT = dN[tS().getDay()] +', '+ tS().getDate() + dE(tS().getDate()) +' '+ mN[tS().getMonth()] +' '+ y4(tS().getYear()) +'<br>'+ lZ(tS().getHours()) +':'+ lZ(tS().getMinutes()) +':'+ lZ(tS().getSeconds())";
function tS(){ x=new Date(tN().getUTCFullYear(),tN().getUTCMonth(),tN().getUTCDate(),tN().getUTCHours(),tN().getUTCMinutes(),tN().getUTCSeconds()); x.setTime(x.getTime()+dS()+36000000); return x; }
function tN(){ return new Date(); }
function dS(){ return ( (tN().getTime() > fD(0,8,1,-1).getTime()) && (tN().getTime() < fD(0,2,3,-1).getTime())) ? 3600000 : 0; }
function fD(d,m,h,p){ var week = (p<0) ? 7*(p+1) : 7*(p-1); var nm = (p<0) ? m+1 : m; var x = new Date(tN().getUTCFullYear(), nm, 1, h, 0, 0); var dOff = 0; if (p<0) { x.setTime(x.getTime()-86400000);  } if (x.getDay()!=d){ dOff = (x.getDay()<d) ? (d-x.getDay()) : 0-(x.getDay()-d); if (p < 0 && dOff > 0){ week-=7; } if (p > 0 && dOff < 0){ week+=7; } x.setTime(x.getTime() + ((dOff+week)*86400000)); } return x; }
function lZ(x){ return (x>9)?x:'0'+x; }
function dE(x){ if(x==1 || x==21 || x==31) { return 'st'; } if(x==2 || x==22) { return 'nd'; } if(x==3 || x==23) { return 'rd'; } return 'th'; }
function y4(x){ return (x<500)?x+1900:x; }
function tV(h){ return (h<13)?'am':'pm'; }
function dT(){ e = document.getElementById('myDateTime'); e.innerHTML = eval(oT); setTimeout('dT()', 1000); }
dT();
