function timephrase(timestamp) {

var thentime = new Date(timestamp*1000);
var nowtime = new Date();

var jan1 = new Date(nowtime.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
var june1 = new Date(nowtime.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
var temp = jan1.toGMTString();
var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
temp = june1.toGMTString();
var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
var dst;
if (std_time_offset == daylight_time_offset) {
dst = "0"; // daylight savings time is NOT observed
} else {
// positive is southern, negative is northern hemisphere
var hemisphere = std_time_offset - daylight_time_offset;
if (hemisphere >= 0)
std_time_offset = daylight_time_offset;
dst = "1"; // daylight savings time is observed
}

if(dst == 0) {
offset = std_time_offset*60*1000;
} else if(dst == 1) {
offset = daylight_time_offset*60*1000;
}

var thentimestamp = thentime.getTime() + offset;
var nowtimestamp = nowtime.getTime() + offset;

var daynames = new Array('Sunday', 'Monday', 'Tuesday',
'Wednesday', 'Thursday', 'Friday', 'Saturday');
var monthnames = new Array('January', 'February', 'March', 
'April', 'May', 'June', 'July', 'August', 'September', 
'October', 'November', 'December');
var day = daynames[thentime.getDay()];
var date = thentime.getDate();
var month = monthnames[thentime.getMonth()];
var year = thentime.getFullYear();
var hour = thentime.getHours();
var minute = thentime.getMinutes();
if(hour < 12) { ampm = "am"; } else { ampm = "pm"; }
if(hour == 0) { hour = 12; }
if(hour > 12) { hour = hour - 12; }
if(minute < 10) { minute = "0" + minute; }

var timedifference = Math.round((nowtimestamp - thentimestamp)/1000);

if(timedifference == 1) {
document.write("about a second ago");
} else if(timedifference < 60) {
document.write(timedifference+" seconds ago");
} else if(timedifference < 120) {
document.write("about a minute ago");
} else if(timedifference < 3600) {
var minutes = Math.round(timedifference/60);
document.write(minutes+" minutes ago");
} else if(timedifference < 7200) {
document.write("about an hour ago");
} else if(timedifference < 86400) {
var hours = Math.round(timedifference/3600);
document.write(hours+" hours ago");
} else if(timedifference < 172800) {
document.write("Yesterday at "+hour+":"+minute+" "+ampm);
} else if(timedifference < 604800) {
document.write(day+" at "+hour+":"+minute+" "+ampm);
} else {
document.write(month+" "+date+" at "+hour+":"+minute+" "+ampm);
}

}
