// Prevent errors if firebug not installed - remove from production
if (window.console === undefined)
{
	window.console = {log: function(){}};
}

/**
 * Global Variables
 */
isAnimating = false;


/**
 * Event binding/initial setup
 */
	$(document).ready(function()
	{
		//Cufon font replacement
		
		$('.feature_nav li').not('.selected').find('.color').css({opacity: 0});
		$('.feature_wrapper li').not('.active').css({opacity: 0});
		$('.feature_nav a').click(swapMainFeature);
		$('.feature_nav a').hover(function() {
			$(this).parents('li').find('.color').animate({opacity: 1});
		}, function() {
			if(!$(this).parents('li').hasClass('selected'))
			{
				$(this).parents('li').find('.color').animate({opacity: 0});
			}
		});
		
		$('.more p').animate({opacity: 0});
		$('.expand_person').click(expandPerson);
		
		$('.lightbox_link').lightbox();
		
		$('.faqs_questions li a').click(scrollFaqs);
		$('.faqs_answers .back_top').click(scrollTop);
		
		
		$('#contact_next').one('click', validateStepOne);
		$('input[type=checkbox]').checkbox();
		$('select.dropdown').dropdown({
			width: 216
		});
	});


Cufon.replace('blockquote p', {fontWeight: 300, hover: true}); //NORMAL
Cufon.replace('h1, h3, th, h4, a.more, .sub_nav li a, .link, #pricing th strong', {fontWeight: 600, hover: true}); //BOLD	
/**
 * Event handlers
 */
 
function swapMainFeature(event)
{
	if(isAnimating || $(this).parent("li").hasClass('selected'))
	{
		return false;
	}
	isAnimating = true;
	
	var index = $(".feature_nav li").index($(this).parent("li"));
	
	$(".feature_nav li.selected").removeClass('selected').find('.color').animate({opacity: 0});
	$(this).parents('li').addClass('selected').find('.color').animate({opacity: 1});
	
	$(".feature_wrapper li.active").removeClass('active').animate({opacity: 0}, {complete: function() {
		$(".feature_wrapper li:eq(" + index + ")").addClass('active').animate({opacity: 1}, {complete: function() {
			isAnimating = false;
		}});
	}});	
	
	return false;
}

function expandPerson(event)
{
	if(isAnimating)
	{
		return false;
	}
	isAnimating = true;
	
	var parent = $(event.target).parents('li');
	
	$('.more.open').removeClass('open').animate({height: '0px'}).find('p').animate({opacity: 0});
	$('.expand_person.all').fadeIn();
	
	
	if(parent.find('.more').innerHeight() == 0)
	{
		var newHeight = parent.find('.more p').innerHeight();
		parent.find('.more').addClass('open').animate({height: newHeight + 'px' }).find('p').animate({opacity: 1}, {complete: function() {
			isAnimating = false;
		}});
		parent.find('.expand_person.all').fadeOut();
	}
	else
	{
		parent.find('.more').removeClass('open').animate({height: '0px'}).find('p').animate({opacity: 0}, {complete: function() {
			isAnimating = false;
		}});
	}
	
	return false;
}


function scrollFaqs(event)
{
	var anchor = $(event.target).parents('li').find('a').attr('href');
	anchor = anchor.substr(1, anchor.length);
	$(document).scrollTo( $('a[name=' + anchor + ']'), 500 );
	return false;
}
function scrollTop(event)
{
	$(document).scrollTo( $('a[name=top]'), 500 );
	return false;
}




// CONTACT FORM

var panelIndex = 1;
function nextContactTab(event)
{
	$('.contact_tabs').find('li.selected').removeClass('selected').next().addClass('selected');
	$('.contact_panel.active').removeClass('active').next().addClass('active');
		
	panelIndex ++;
	if(panelIndex == 3)
	{
		$('#contact_next').one('click', submitContactForm).find('span').html('Send');
		$('.contact_form').find('p').html('Please review your information you are about to send to us.');
	
		var html = '<div class="review">';
		html += '<p>Name: <span>' + $('.contact_panel input[name=contact_name]').val() + '</span></p>';
		html += '<p>Title: <span>' + $('.contact_panel input[name=contact_title]').val() + '</span></p>';
		html += '<p>Organization: <span>' + $('.contact_panel input[name=contact_org]').val() + '</span></p>';
		html += '<p>Email: <span>' + $('.contact_panel input[name=contact_email]').val() + '</span></p>';
		html += '<p>Phone: <span>' + $('.contact_panel input[name=contact_phone]').val() + '</span></p>';
		
		var help = $('.help').find('input[type=checkbox]:checked');
		if(help.length)
		{
			html += '<p>I will need help with the following: </p><ul>';
			help.each(function() {
				html += '<li>' + $(this).next('span').html() + '</li>';
			});
			html += '</ul>';
		}
		
		html += '<p>Time Frame: <span>' + $('.contact_panel select[name=contact_timeframe]').val() + '</span></p>';
		html += '<p>Budget: <span>' + $('.contact_panel select[name=contact_budget]').val() + '</span></p>';
		if($('.contact_panel textarea[name=contact_notes]').val() != '')
		{
			html += '<p>Aditional Notes: <span>' + $('.contact_panel textarea[name=contact_notes]').val() + '</span></p>';
		}
		html += '</div>';
			
		$('#contact_panel_03').html(html);
	}
}

function submitContactForm(event)
{
	var formSrc = $('.contact_form').find('form').attr('action');	
	var formData = 'name=' + $('.contact_panel input[name=contact_name]').val();
	formData += '&title=' + $('.contact_panel input[name=contact_title]').val();
	formData += '&org=' + $('.contact_panel input[name=contact_org]').val();
	formData += '&email=' + $('.contact_panel input[name=contact_email]').val();
	formData += '&phone=' + $('.contact_panel input[name=contact_phone]').val();

	var help = $('.help').find('input[type=checkbox]:checked');
	if(help.length)
	{
		formData += '&help=';
		help.each(function() {
			formData += $(this).next('span').html() + ', ';
		});
		formData = formData.substring(0, formData.length - 2);
	}
		
	formData += '&timeFrame=' + $('.contact_panel select[name=contact_timeframe]').val();
	formData += '&budget=' + $('.contact_panel select[name=contact_budget]').val();
	if($('.contact_panel textarea[name=contact_notes]').val() != '')
	{
		formData += '&notes=' + $('.contact_panel textarea[name=contact_notes]').val();
	}

	$('#contact_next').fadeOut('fast', function() {
		$.ajax({
			type: "POST",
			url: formSrc,
			data: formData,
			success: function(data) {		
				$('.contact_tabs').find('li.selected').removeClass('selected').next().addClass('selected');
				$('.contact_panel.active').removeClass('active').next().addClass('active');
				$('.contact_form').find('p').html('Some one from our company will be in touch with you soon!');
			},
			error: function(data) {
				//console.log('error sending: ' + data);
			}
		});
	});
	return false;
}

function validateStepOne(event) {
	var allGood = true;
	
	$('.contact_panel.active input').each(function() {
		if($(this).val() == '')
		{
			allGood = false;
			showError($(this));
		}
		else if($(this).hasClass('email'))
		{
			if(!checkEmail($(this).val()))
			{
				allGood = false;
				showError($(this));
			}
			else
			{
				clearError($(this));
			}
		}
		else
		{
			clearError($(this));
		}
	});
	
	if(allGood)
	{
		nextContactTab(event);
		$('#contact_next').one('click', validateStepTwo);
	}
	else
	{
		$('#contact_next').one('click', validateStepOne);
	}
	
	return false;
}

function validateStepTwo(event) {
	var allGood = true;
	
	$('.contact_panel.active select').each(function() {
		if($(this).val() == '')
		{
			allGood = false;
			showError($(this));
		}
		else
		{
			clearError($(this));
		}
	});
	
	if(allGood)
	{
		nextContactTab(event);
	}
	else
	{
		$('#contact_next').one('click', validateStepTwo);
	}
	
	return false;
}

function checkEmail(email) {
	var filter = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	if (filter.test(email)) {
		return true;
	}
	else
	{
		return false;
	}
}

function showError(el)
{
	el.addClass('error').prev('label').addClass('error');
}

function clearError(el)
{
	el.removeClass('error').prev('label').removeClass('error');
}


/**
 * Callbacks
 */



/**
 * General functions
 */
 
