// function writeLocalDate:
//   Outputs GMT timestamp in client's local time
// Requires:
//   gmdate: Unix timestamp in GMT, multiplied by 1000
//           (because JS uses microseconds)
// Returns:
//   nothing (writes directly to screen)

function writeLocalDate(gmdate) {

// Set full month and day name arrays
fullmonth = new Array("January", "February", "March", "April",
  "May", "June", "July", "August",
  "September", "October", "November", "December");
fullday = new Array("Sunday", "Monday", "Tuesday",
  "Wednesday", "Thursday", "Friday", "Saturday");

// Set ampm to "" for 24-hour format clock
ampm="am";

// Get client's timezone offset
localtz = new Date().getTimezoneOffset();
locdate = new Date(gmdate - (localtz * 60 * 1000));
locday = locdate.getDate();

// Uncomment to add leading zero to day
//if(locday < 10) {
//   locday = "0" + locday
//}

month = locdate.getMonth();
   locmonth = fullmonth[month];
weekday = locdate.getDay();
   locweekday = fullday[weekday];
locyear = locdate.getYear();
if(locyear < 1900) {
   locyear += 1900;
}
lochour = locdate.getHours();

// Comment out following two IF statements for 24-hour format clock
if(lochour >= 12) {
   lochour -= 12;
   ampm = "pm"
}

if(lochour == 0) {
   lochour = 12
}

// Uncomment to add leading zero to hours
//if(lochour < 10) {
//   lochour = "0" + lochour
//}

locmin = locdate.getMinutes();

// Add leading zero to minutes
if(locmin < 10) {
   locmin = "0" + locmin
}

document.write(locweekday + ", " + locday + " " + locmonth);
document.write(" " + locyear + ", " + lochour + ":" + locmin + ampm + " (Your local time)");
}
