  // decrypt helper function
function decryptCharcode(n,start,end,offset) {
	n = n + offset;
	if (offset > 0 && n > end)	{
		n = start + (n - end - 1);
	} else if (offset < 0 && n < start)	{
		n = end - (start - n - 1);
	}
	return String.fromCharCode(n);
}
  // decrypt string
function decryptString(enc,offset) {
	var dec = "";
	var len = enc.length;
	for(var i=0; i < len; i++)	{
		var n = enc.charCodeAt(i);
		if (n >= 48 && n <= 57)	{  // 0-9
			dec += decryptCharcode(n,48,57,offset);
		} else if (n >= 65 && n <= 90)	{ //A..Z
			dec += decryptCharcode(n,65,90,offset);
		} else if (n >= 97 && n <= 122)	{
			dec += decryptCharcode(n,97,122,offset);	// a-z
		} else {
			dec += enc.charAt(i);
		}
	}
	return dec;
}
  // decrypt spam-protected emails
function linkTo_UnCryptMailto(s)	{
	location.href = decryptString(s,-1);
}
