init();

/********************************** BEGIN EMAIL OBFUSCATION ****************************************/
var rot13map;
var s;
function rot13init()
{
	var map = new Array();
	var s   = 'abcdefghijklmnopqrstuvwxyz';
	
	for (i = 0; i < s.length; i++)  map[s.charAt(i)] 			   = s.charAt((i+13)%26);
	for (i = 0; i < s.length; i++)  map[s.charAt(i).toUpperCase()] = s.charAt((i+13)%26).toUpperCase();
	return map;
}

function rot13(a)
{
	if (!rot13map) rot13map = rot13init();
	s = '';
	for (i = 0; i < a.length; i++)
	{
		var b  = a.charAt(i);
		s	  += (b >= 'A' && b <= 'Z' || b >= 'a' && b <= 'z' ? rot13map[b] : b);
	}
	
	s = s.replace(/-/g, '.');
	return s.replace('+', '@');
}


function decodeEmail(anchor) 
{
	var href = anchor.getAttribute('href');
	if(href.indexOf('mailto:') != 0)
	{
		var address = href.replace(/.*contact\//i, '');
		address = rot13(address);
		if (href != address) anchor.setAttribute('href','mailto:' + address);
	}
}

function ie_rot13()
{
	var links = document.getElementsByName('email');
	for (var l = 0 ; l < links.length ; l++) // Loop through the anchors
	{
  		links[l].onclick = function() { decodeEmail(this); } // Encode links when clicked
	}
}
/********************************** END EMAIL OBFUSCATION ****************************************/


/********************************** BEGIN EFFECTS ****************************************/
// COOKIES: 1 = hidden

function init()
{
	var el_letters 	   = document.getElementById('effects_letters');
	var el_departments = document.getElementById('effects_departments');
	var el_show        = document.getElementById('show');
	
	if(readCookie('returning') != 1)
	{
		new Effect.Shake(el_show);
		createCookie('returning', 1, 1);
	}
	
	el_letters.style.display 	 = (readCookie('letters') != 1) 	? '' : 'none';
	el_departments.style.display = (readCookie('departments') != 1) ? 'none' : '';
	
	setToggleLinks();
}

function toggleLetters()
{
	var el_letters = document.getElementById('effects_letters');
	
	if(el_letters.style.display == 'none') // SHOW
	{	
		new Effect.BlindDown(el_letters);
		eraseCookie('letters');
	}
	else // HIDE
	{
		new Effect.DropOut(el_letters);
		createCookie('letters', 1, 2);
	}
	
	setToggleLinks();
}

function toggleDepartments()
{
	var el_departments = document.getElementById('effects_departments');
	
	if(el_departments.style.display == 'none') // SHOW
	{	
		new Effect.BlindDown(el_departments);
		eraseCookie('departments');
	}
	else 									  // HIDE
	{
		new Effect.DropOut(el_departments);
		createCookie('departments', 1, 2);
	}
	
	setToggleLinks();
}

function setToggleLinks()
{
	var html = 'Sort: ';
	
	if(readCookie('letters') == 1) 	   html = html + '<a href="javascript:toggleLetters();">Show Letters</a> | ';
	else				  	  		   html = html + '<a href="javascript:toggleLetters();">Hide Letters</a> | ';

	if(readCookie('departments') == 1) html = html + '<a href="javascript:toggleDepartments();">Show Departments</a>';
	else				  	  		   html = html + '<a href="javascript:toggleDepartments();">Hide Departments</a>';

	document.getElementById('show').innerHTML = html;
}

function exitEffect()
{
	//new Effect.SlideDown(document.getElementById('letters'));
}

function toggleDiv(divID) { 
	div = document.getElementById(divID);
	div.style.display = (div.style.display == 'none') ? '' : 'none';
}

function checkAlpha(input)
{
	var noalpha = /^[a-z]*$/;
	if (!noalpha.test(input.value)) 
	{
		alert("Special characters, numbers, and capitals are not allowed");
		input.value = input.value.substring(0, (input.value.length - 1));			
		return false; 
	}
	else document.getElementById('preview').innerHTML = input.value;
}
/********************************** END EFFECTS ****************************************/

/********************************** BEGIN COOKIE HANDLERS ****************************************/
function createCookie(name,value,days) 
{
	if (days) 
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) 
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) 
{
	createCookie(name, '', -1);
}
/********************************** END COOKIE HANDLERS ****************************************/