function age(content) {
	var value;
	var d = new Date();
	var serverTimezoneOffset = 0 * 3600;
	content = (d.getTime()/1000) - content - serverTimezoneOffset + (d.getTimezoneOffset() * 60)
	if(content < 0) {
		return "0 seconds";
	} else if (content == 1) {
		value = 1;
		return value.toFixed(0) + " second";
	} else if (content < 55) {
		value = content;
		return value.toFixed(0) + " seconds";
	} else if (content < 65) {
		value = 1;
		return value.toFixed(0) + " minute";
	} else if (content < 100) {
		value = content;
		return value.toFixed(0) + " seconds";
	} else if (content < 60*55) {
		value = content / (60);
		return value.toFixed(0) + " minutes";
	} else if (content < 60*65) {
		value = 1;
		return value.toFixed(0) + " hour";
	} else if (content < 60*91) {
		value = content / (60);
		return value.toFixed(0) + " minutes";
	} else if (content < 60*60*23) {
		value = content / (60*60);
		return value.toFixed(0) + " hours";
	} else if (content < 60*60*25) {
		value = 1;
		return value.toFixed(0) + " day";
	} else if (content < 60*60*47) {
		value = content / (60*60);
		return value.toFixed(0) + " hours";
	} else if (content < 60*60*24*6) {
		value = content / (60*60*24);
		return value.toFixed(0) + " days";
	} else if (content < 60*60*24*8) {
		value = 1;
		return value.toFixed(0) + " week";
	} else if (content < 60*60*24*13) {
		value = content / (60*60*24);
		return value.toFixed(0) + " days";
	} else if (content < 60*60*24*15) {
		return "a fortnight";
	} else if (content < 60*60*24*7*4) {
		value = content / (60*60*24*7);
		return value.toFixed(0) + " weeks";
	} else if (content < 60*60*24*7*5) {
		value = 1;
		return value.toFixed(0) + " month";
	} else if (content < 60*60*24*7*8) {
		value = content / (60*60*24*7);
		return value.toFixed(0) + " weeks";
	} else if (content < 60*60*24*7*52) {
		value = content / (60*60*24*30);
		return value.toFixed(0) + " months";
	} else if (content < 60*60*24*7*55) {
		value = 1;
		return value.toFixed(0) + " year";
	} else if (content < 60*60*24*12*19) {
		value = content / (60*60*24*30);
		return value.toFixed(0) + " months";
	} else if (content < 60*60*24*365*27) {
		value = content / (60*60*24*365);
		return value.toFixed(0) + " years";
	} else if (content < 60*60*24*365*95) {
		value = content / (60*60*24*365*10);
		return value.toFixed(0) + " decades";
	} else if (content < 60*60*24*365*105) {
		value = 1;
		return value.toFixed(0) + " century";
	} else if (content < 60*60*24*365*995) {
		value = content / (60*60*24*365*100);
		return value.toFixed(0) + " centuries";
	} else if (content < 60*60*24*365*1005) {
		value = 1;
		return value.toFixed(0) + " millennium";
	} else if (content < 60*60*24*365*9995) {
		value = content / (60*60*24*365*1000);
		return value.toFixed(0) + " millennia";
	} else {
		return content.toString() + " seconds";
	}
}

function showAge() {
	var headers = document.getElementsByTagName("h2");
	for (i = 0; headers.length > i; ++i) {
		if (headers[i].title) {
			headers[i].title = age(headers[i].title)+" ago";
			var span = headers[i].getElementsByTagName("span");
			for (j = 0; span.length > j; ++j) {
				if(span[j].className) {
					if(span[j].className == "ago") {
						var text = document.createTextNode("["+headers[i].title+"]");
						span[j].appendChild(text);
					}
				}
			}
		}
	}
}

addEvent(window, "load", showAge);

function addEvent(elm, evType, fn, useCapture) {
	// addEvent and removeEvent
	// cross-browser event handling for IE5+,  NS6 and Mozilla
	// By Scott Andrew
  if(elm.addEventListener){
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent){
    var r = elm.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
}
function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be removed");
  }
}
