var c_offset = 5;

decryptCharcode = function(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);
}

decryptString = function(enc, offset) {
	var dec = "";
    var len = enc.length;
    for(var i=0; i < len; i++) {
    	var n = enc.charCodeAt(i);
        if(n >= 0x2B && n <= 0x39) {
        	dec += decryptCharcode(n, 0x2B, 0x39, offset); // 0-9 . , - + / : 
        } else if(n >= 0x40 && n <= 0x5A) {
            dec += decryptCharcode(n, 0x40, 0x5A, offset); // A-Z @ 
        } else if(n >= 0x61 && n <= 0x7A) {
            dec += decryptCharcode(n, 0x61, 0x7A, offset); // a-z
        } else {
            dec += enc.charAt(i);
        }
    }
    return dec;
}
 
decryptMailto = function(enc) {
	var dec = decryptString(enc, c_offset);
    location.href = "mailto:" + dec;
};

decryptMailLinkText = function(el, enc) {
	var dec = decryptString(enc, c_offset);
    el.innerHTML = dec;
}
