/*
	functions.dom.js
	JQuery / DOM Interaction Functions
	Created: Sept. 20, 2008
	Creator: Matt Kircher
*/

/* GENERAL */
function setupPage(){
	translateEmails();		//changes unlinked email address to usable ones (spam protection)
	
	//Cufon
	Cufon.replace('.cufon, #functional-nav a, #footer-nav a', { hover:'true' });
	Cufon.replace(':header, .balloon, #module-date-time b, #module-group-pricing b, #module-pricing b, #copyright');
	
	//corners
	if(!$.browser.msie){
		$('#content, .yellow_box, .module').corners('10px transparent');
	}
	
	//heights / grids / clearfix
	$('.grid2, .grid2_offset_left, .grid2_offset_right, .grid3').addClass('clearfix').equalHeights();
	$('.button').parent().addClass('clearfix');
	
	//navigation
	$('#main-nav ul, #footer-nav ul').find('li:last').addClass('end_nav');
	
	//proximity
	$('p, ul, ol, blockquote').find(' + :header').prev().css({ marginBottom:'20px' });
}

//makes email tags invisible to spiders / spammers
function translateEmails(){
	$('span.email, address.email').each(function(){
		var spt = $(this);
		var at = / at /;
		var dot = / dot /g;		
		
		//EXAMPLE: <span class="email" title="link title | email address | email subject"> link content </span>		
		
		var inner_content = $(spt).html();						//inner HTML of span tag
		var t = $(spt).attr('title');						//email, link options from title attribute
		
		var title = t.substring(0, t.indexOf('|'));				//title for the link
		t = t.substring(t.indexOf('|')+1);
		
		var addr = t.substring(0, t.indexOf('|'));				//email address from id attribute
		addr = addr.replace(at,"@").replace(dot,".");				//replace words with chars
		
		var subject = t.substring(t.indexOf('|')+1);				//subject for email, if needed
		var fulladdr = ($.trim(subject) != "")?addr+'?subject='+subject:addr;	//full address formed with subject, if needed
		
		inner_content = ($.trim(inner_content) == "" || $.trim(inner_content) == "&nbsp;")?addr:inner_content;
		
		$(spt).after('<a href="mailto:'+fulladdr+'" title="'+title+'">'+ inner_content +'</a>')
		.hover(function(){window.status="Send an email!";}, function(){window.status="";});
		$(spt).remove();
	});
}


/* INITIALIZATION */
$(document).ready(function(){
	setupPage();
});
