
/* - minerva.js - */
function updateElementSet() {
	
	var memberType = document.getElementById("memberTypeSelectionList").value;
	
	document.getElementById("memberType").value = memberType;
	
	if (memberType == "current_member") {
		document.getElementById("schoolAndThesis").style.display="none";
		document.getElementById("currentEmployment").style.display="block";
		document.getElementById("supervisedTheses").style.display="block";
	} else if (memberType == "former_member") {
		document.getElementById("schoolAndThesis").style.display="none";
		document.getElementById("currentEmployment").style.display="block";
		document.getElementById("supervisedTheses").style.display="block";
	} else if (memberType == "current_student") {
		document.getElementById("schoolAndThesis").style.display="block";
		document.getElementById("currentEmployment").style.display="none";
		document.getElementById("supervisedTheses").style.display="none";
	} else if (memberType == "former_student") {
		document.getElementById("schoolAndThesis").style.display="block";
		document.getElementById("currentEmployment").style.display="block";
		document.getElementById("supervisedTheses").style.display="none";
	}
}

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);
}

function decryptString(enc,offset)	{
	var dec = "";
	var len = enc.length;
	for(var i=0; i < len; i++)	{
		var n = enc.charCodeAt(i);
		if (n >= 0x2B && n <= 0x3A)	{
			dec += decryptCharcode(n,0x2B,0x3A,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;
}

function decMlto(s)	{
	location.href = decryptString(s,1);
}

function encryptCharcode(n,start,end,offset)	{
	n = n - offset;
	if (offset > 0 && n < start)	{
		n = end - (start - n - 1);
	} else if (offset < 0 && n > end)	{
		n = start + (n - end - 1);
	}
	return String.fromCharCode(n);
}

function encryptString(enc,offset)	{
	var dec = "";
	var len = enc.length;
	for(var i=0; i < len; i++)	{
		var n = enc.charCodeAt(i);
		if (n >= 0x2B && n <= 0x3A)	{
			dec += encryptCharcode(n,0x2B,0x3A,offset);	// 0-9 . , - + / :
		} else if (n >= 0x40 && n <= 0x5A)	{
			dec += encryptCharcode(n,0x40,0x5A,offset);	// A-Z @
		} else if (n >= 0x61 && n <= 0x7A)	{
			dec += encryptCharcode(n,0x61,0x7A,offset);	// a-z
		} else {
			dec += enc.charAt(i);
		}
	}
	return dec;
}

function scrumbleChar(c) {
    var n = c.charCodeAt(0);
    c = '&#' + String(n) + ';';
    return c
}

function scrumbleEmail(email) {
	var scrumbledEmail = "";
	var len = email.length;
	for(var i=0; i < len; i++)	{
		var c = email.charAt(i);
		if ((c == '@') || (c == '.') || (c == '-') || (c == '_')) {
			scrumbledEmail += '<samp>' + scrumbleChar(c) + '</samp>';
		}
        else {
            scrumbledEmail += scrumbleChar(c);
		}
	}
	return scrumbledEmail;
}

function encryptEmail() {
	mailto = "mailto:" + document.getElementById("email").value;
	encryptedMailto = encryptString(mailto, 1);
	email = '<a href="javascript:decMlto(\'' + encryptedMailto + '\');">\n' + scrumbleEmail(document.getElementById("email").value) + '\n</a>';
	document.getElementById("encryptedEmail").innerHTML = email;
}
