function getAdr(ppcname, ppchost, lbl) {
	if (lbl)
		return "<a href=" + "mail" + "to:" + ppcname + "&#64;" + ppchost + ">" + lbl + "</a>"; 
	else
		return "<a href=" + "mail" + "to:" + ppcname + "&#64;" + ppchost + ">" + ppcname + "&#64;" + ppchost + "</a>"; 
}

function unescapeHTML(html) {
   var htmlNode = document.createElement("DIV");
   htmlNode.innerHTML = html;
   if(htmlNode.innerText)
      return htmlNode.innerText; // IE
   return htmlNode.textContent; // FF
}

const TC_MIN = 60;
const TC_HOUR = TC_MIN * 60;
const TC_DAY = TC_HOUR * 24;
const TC_WEEK = TC_DAY * 7;

function toPostString(time, curTime, from)
{
	if (time <= 0)
		return "";
	var today = new Date();
	//var curTime = today.getTime() / 1000;
	var diff = curTime - time;
	var postDate = new Date();
	postDate.setTime(time);
	diff /= 1000;
	
	var h = parseInt(diff / TC_HOUR);
	var m = parseInt(diff / TC_MIN);
	var d = parseInt(diff / TC_DAY);
	var ret;
	
	if (diff < 60)
	{
		if (diff == 1)
			ret = TXT_INFO_UPDATED_SEC + "";
		else
			ret = TXT_INFO_UPDATED_SECS + "";
		ret = ret.replace("{SECS}", parseInt(diff));
	}
	else if (m < 60)
	{
		if (m == 1)
			ret = TXT_INFO_UPDATED_MIN + "";
		else
			ret = TXT_INFO_UPDATED_MINS + "";
		ret = ret.replace("{MINS}", m);
	}
	else if (h < 24 && today.getDate() == postDate.getDate())
	{
		if (h == 1)
			ret = TXT_INFO_UPDATED_HOUR + "";
		else
			ret = TXT_INFO_UPDATED_HOURS + "";
		ret = ret.replace("{HOURS}", h);
	}
	else if (d == 1)
	{
		ret = TXT_INFO_UPDATED_YESTERDAY;
	}
	else if (d < 7 + today.getDay())
	{
		var pd = postDate.getDay();
		var td = today.getDay();
		// If it's the current week or the last previous saturday use 'on', otherwise use 'last'.
		if (d <= td || (pd == 6 && d < 6))
		{
			ret = TXT_INFO_UPDATED_ON_WEEKDAY + "";
		}
		else
		{
			ret = TXT_INFO_UPDATED_LAST_WEEKDAY + "";
		}

		ret = ret.replace("{WEEK_DAY}", TXT_INFO_WEEK_DAYS[pd]);
	}
	else
	{
		ret = TXT_INFO_UPDATED_DAYS + "";
		ret = ret.replace("{DAYS}", parseInt(diff / TC_DAY));
	}

	ret = ret.replace("{FROM}", from);
	return ret;
}

const TXT_INFO_UPDATED_SEC = "updated {SECS} seconds ago from {FROM}";
const TXT_INFO_UPDATED_SECS = "updated {SECS} seconds ago from {FROM}";
const TXT_INFO_UPDATED_MIN = "updated {MINS} minute ago from {FROM}";
const TXT_INFO_UPDATED_MINS = "updated {MINS} minutes ago from {FROM}";
const TXT_INFO_UPDATED_HOUR = "updated {HOURS} hour ago from {FROM}";
const TXT_INFO_UPDATED_HOURS = "updated {HOURS} hours ago from {FROM}";
const TXT_INFO_UPDATED_DAYS = "updated {DAYS} days ago from {FROM}";
const TXT_INFO_UPDATED_ON_WEEKDAY = "updated on {WEEK_DAY} from {FROM}";
const TXT_INFO_UPDATED_LAST_WEEKDAY = "updated last {WEEK_DAY} from {FROM}";
const TXT_INFO_UPDATED_YESTERDAY = "updated yesterday from {FROM}";
const TXT_INFO_WEEK_DAYS = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];

if ( window.addEventListener ) {
	var konami = [38,38,40,40,37,39,37,39,66,65];
	var kkeys = [];
	var idx = 0;
	var reset = false;
	window.addEventListener("keydown", function(e) {

		kkeys.push(e.keyCode);
		if (idx < konami.length && kkeys[idx] == konami[idx]) {
			if (idx == konami.length - 1 && kkeys.toString().indexOf(konami) >= 0) {
				window.location = "http://iphone.ustwo.co.uk/peekaboo/";
				reset = true;
			}
		} else {
			reset = true;
		}
		idx++;
		if (reset) {
			kkeys = [];
			idx = 0;
			reset = false;
		}
	}, true);
}

/*

if ( window.addEventListener ) {
	var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
	window.addEventListener("keydown", function(e) {
		
		kkeys.push(e.keyCod );
		if (kkeys.toString().indexOf(konami) >= 0) {
			window.location = "http://iphone.ustwo.co.uk/peekaboo/";
			kkeys = [];
		}
	}, true);
}
*/