jQuery(document).ready(function() { init(); });

var longAddresses = new Boolean();
var emailLink_minWidth = new Number();
var emailLink_maxWidth = 430;
	
function setLongAddresses(value) {
	longAddresses = value;
}
function getLongAddresses() {
	return longAddresses;
}

function init() {
	setEmailLink_minWidth();
	jQuery('.emailLink').each( function() { addEllipses(this,".emailLinkAddress"); addAnimation(this); });
}

function setEmailLink_minWidth() {
	emailLink_minWidth = jQuery('#emailList a').width();
}

function addEllipses(element,linkClass) {
	if(jQuery(element).children(linkClass).children("span").width() > 190) {
		jQuery(element).append("<span class='ellipses'>...</span>");
		setLongAddresses(true);
	}
}

function addAnimation(element) {		
	// no matter what, we've got JS enabled, so go ahead and remove the non-js class
	jQuery(element).removeClass('noJS');
	
	// Set the animation ONLY if there are adresses too long for the container
	if(getLongAddresses() == true) {
		jQuery(element).hoverIntent(
			function() { tweenOut(this, emailLink_maxWidth) },
			function() { tweenIn(this, emailLink_minWidth) }
		);
	}
}

function tweenOut(element, w) {
	jQuery(element).find('span.ellipses').hide();
	jQuery(element).animate({ width: w + "px" }, 300);
}

function tweenIn(element, w) {
	jQuery(element).find('span.ellipses').fadeIn(800);
	jQuery(element).animate({ width: w + "px" }, 300);
}